Artigo Julio Esquerdo · Nov. 21, 2025 1m read

InterSystems IRIS - Shells

Olá,

Quando abrimos um terminal no IRIS estamos entrando no ambiente ObjectScript. Nele podemos executar comandos do IRIS, tais como:

Ou seja, o comando ObjectScript é executado no shell corrente. Mas é sempre bom lembrar que o IRIS tem outros shells:

  • SQL
  • Python
  • TSQL
  • MDX

Uma questão bem interessante são os atalhos. Podemos acessar estes shells pelas suas chamadas ou através de atalhos, conforme a tabela abaixo:




Shell

Chamada

Atalho

SQL

Do $SYSTEM.SQL.Shell()

:sql

Python

Do $SYSTEM.Python.Shell

:py

TSQL

Do $SYSTEM.

1
1 62
Artigo Julio Esquerdo · Jun. 7, 2025 18m read

Olá,

Neste artigo vamos ver o uso do python como linguagem de programação no InterSystems Iris. Para tal vamos usar como referência a versão Community 2025.1 que está disponível para ser baixada em https://download.intersystems.com mediante o login no ambiente. Para maiores informações sobre o download e instalação do Iris veja o link da comunidade https://community.intersystems.com/post/how-download-and-install-intersystems-iris

Uma vez instalado o íris agora precisamos ter o python disponível no nosso ambiente. Temos vários tutoriais explicando a instalação e configuração do python no Iris.

0
0 70
Artigo Julio Esquerdo · Fev. 18, 2025 34m read

API REST com Swagger no InterSystems IRIS

Olá,

O protocolo HTTP permite a obtenção de recursos, como documentos HTML. É a base de qualquer troca de dados na Web e um protocolo cliente-servidor, o que significa que as requisições são iniciadas pelo destinatário, geralmente um navegador da Web.

As API REST se beneficiam deste protocolo para trocar mensagens entre cliente e servidor. Isso torna as APIs REST rápidas, leves e flexíveis. As API REST utilizam os verbos HTTP GET, POST, PUT, DELETE e outros para indicar as ações que desejam realizar.

0
0 80
Artigo Julio Esquerdo · Fev. 14, 2025 5m read

HTTP e HTTPS com API REST

Olá,

O protocolo HTTP permite a obtenção de recursos, como documentos HTML. É a base de qualquer troca de dados na Web e um protocolo cliente-servidor, o que significa que as requisições são iniciadas pelo destinatário, geralmente um navegador da Web.

As API REST se beneficiam deste protocolo para trocar mensagens entre cliente e servidor. Isso torna as APIs REST rápidas, leves e flexíveis. As API REST utilizam os verbos HTTP GET, POST, PUT, DELETE e outros para indicar as ações que desejam realizar.

0
0 115
Artigo Julio Esquerdo · Fev. 12, 2025 5m read

Utilizando Flask, API REST e IAM com o InterSystems IRIS

Parte 3 – IAM

O InterSystems API Manager (IAM) é um componente que permite monitorar, controlar e gerir o tráfego de APIs baseadas em HTTP. Ele também atua como uma API gateway entre aplicações e servidores InterSystems IRIS. 

O documento publicado em https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=PAGE_apimgr traz as informações sobre o produto.

Já o documento https://docs.intersystems.com/components/csp/docbook/DocBook.UI.Page.cls?KEY=CIAM3.

0
0 52
Artigo Julio Esquerdo · Fev. 12, 2025 6m read

Utilizando Flask, API REST e IAM com o InterSystems IRIS

Parte 2 – Aplicativo Flask

Flask é um microframework de desenvolvimento web escrito em Python. Ele é conhecido por ser simples, flexível e permitir o desenvolvimento rápido de aplicações. 

A instalação do Flask é muito simples. Depois de ter o python instalado corretamente no seu sistema operacional precisamos instalar a biblioteca flask com o comando pip. Para o consumo de API REST é aconselhado o uso da biblioteca requests. O link a seguir traz um guia para a instalação do flask: https://flask.palletsprojects.

0
0 51
Artigo Julio Esquerdo · Fev. 12, 2025 10m read

Utilizando Flask, API REST e IAM com o InterSystems IRIS

Parte 1 – API REST

Olá,

Neste artigo vamos ver a implementação de uma API REST para realizar a manutenção de um CRUD, utilizando o Flask e o IAM.

Nesta primeira parte do artigo vamos ver a construção e publicação da API REST no Iris.

Primeiro, vamos criar a nossa classe persistente para armazenar os dados. Para isso vamos para o Iris e criamos nossa classe:

Class ERP.Cliente Extends (%Persistent, %Populate, %XML.Adaptor)

{

Property nome As %String;

Property idade As %Integer;

}

Pronto.

0
0 64
Artigo Julio Esquerdo · Fev. 11, 2025 8m read

Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris

Parte 3 – REST e Interoperabilidade

Agora que finalizamos a configuração do Gateway SQL e conseguimos acessar os dados do banco externo via python, e montamos nossa base vetorizada, podemos realizar algumas consultas. Para isso nessa parte do artigo vamos utilizar uma aplicação que desenvolvida com CSP, HTML e Javascript que acessará uma integração no Iris, que então realiza a pesquisa por similaridade dos dados, faz o envio para a LLM e por fim devolve o SQL gerado.

0
0 68
Artigo Julio Esquerdo · Fev. 11, 2025 7m read

Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris

Parte 2 – Python e Vector Search

Uma vez que temos acesso aos dados da nossa tabela externa podemos utilizar tudo que o Iris tem de excelente com estes dados. Vamos, por exemplo, ler os dados da nossa tabela externa e gerar uma regressão polinomial com eles.

Para mais informações sobre o uso do python com o Iris veja a documentação disponível em https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?

0
0 55
Artigo Julio Esquerdo · Fev. 11, 2025 4m read

Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris

Parte 1 – Gateway SQL

Olá,

Neste artigo vamos ver o uso do Gateway SQL no Iris. O Gateway SQL permite que o Iris tenha acesso a tabelas de outros bancos (externos) via ODBC ou JDBC. Podemos acessar Tabelas ou Visões de diversos bancos, como Oracle, PostgreSQL, SQL Server, MySQL e outros.

Do ponto de vista de uso é como se a tabela estivesse local na nossa instância Iris, porém o armazenamento é realizado em um local externo.

0
0 81
Artigo Julio Esquerdo · jan 9, 2025 14m read

Usando o Python no InterSystems IRIS – Calculando uma Regressão Logística Binária

Olá,

Neste artigo vamos ver como usar o python para calcular uma regressão logística binária no Iris.

A regressão logística é um método estatístico utilizado para modelar e prever a probabilidade de um evento ocorrer, sendo particularmente útil quando a variável dependente (ou de saída) é categórica. A forma mais comum é a regressão logística binária, onde o objetivo é prever entre duas classes, como "sim/não", "0/1" ou "positivo/negativo".

0
0 60
Artigo Julio Esquerdo · Nov. 28, 2024 20m read

Usando o Python no InterSystems IRIS – Montando o Relatório de Análise Exploratória de Dados

Olá,

Neste artigo vamos ver como usar o python para realizar a análise exploratória de dados (Exploratory Data Analysis - EDA) em um dataframe.

EDA é uma etapa importante no ciclo de análise de dados, É quando você examina os dados para entender suas características e padrões.

0
0 105
Artigo Julio Esquerdo · Nov. 26, 2024 13m read

Usando o Python no InterSystems IRIS – Calculando uma Regressão Polinomial

Olá,

Neste artigo vamos ver como usar o python para calcular uma regressão polinomial no Iris.

A regressão polinomial é um modelo estatístico que é uma extensão da regressão linear. Ela é útil quando a relação entre as variáveis independente e dependente não é linear, sendo melhor definida como curva.

A regressão polinomial nos dá como resposta informações que podem ajudar a entender o modelo, assim como a regressão linear: coeficientes, o R2 e o intercepto.

0
0 164
Artigo Julio Esquerdo · Nov. 16, 2024 11m read

Usando o Python no InterSystems IRIS – Calculando uma Regressão Linear Simples

Olá,

Neste artigo vamos ver como usar o python para calcular uma regressão linear simples no Iris.

A regressão linear simples é um modelo estatístico que tem como objetivo apontar como será o comportamento de uma variável dependente (y) em relação a uma variável independente (x), ou seja, a regressão linear simples é uma maneira de verificar a relação entre duas variáveis.

1
0 158
Artigo Julio Esquerdo · Nov. 8, 2024 4m read

Usando o Python no InterSystems IRIS

Vamos neste breve artigo ver como podemos utilizar o python como linguagem de programação dentro o InterSystems IRIS. Para o nosso exemplo vamos criar um método que exporta os dados de uma tabela do IRIS para um arquivo no formato XLS (MS-Excel). Para isso vamos utilizar a biblioteca pandas do python.

Primeiro, vamos ver a nossa tabela.:

Class Demo.

1
0 119
Artigo Julio Esquerdo · Nov. 1, 2024 13m read

Projeto 8 – REST Outbound Adapter

Olá. Vamos montar nossa próxima integração utilizando o adaptador SOAP Inbound Adapter chamando um BP que chamará um BO que utilizará o REST Outbound Adapter.

O BO que vamos construir irá chamar o nosso BS que montamos no artigo https://pt.community.intersystems.com/post/desenvolvendo-integra%C3%A7%C3%B5es-com-o-intersystems-iris-aplica%C3%A7%C3%A3o-rest mas, importante, note que poderíamos chamar qualquer serviço interno no nosso integrador ou outra instância IRIS, ou externo em qualquer outro sistema com esse adaptador.

0
0 85
Artigo Julio Esquerdo · Out. 24, 2024 14m read

Projeto 7 – SQL Outbound Adapter

Vamos montar nossa próxima integração utilizando o adaptador SQL Onbound Adapter. Vamos criar um BS que utilizará o SOAP Inbound Adapter, que vai chamar dois BPs que por sua vez chamarão um BO que utilizará o SQL Outbound Adapter. Nosso BS terá duas capacidades: incluir e consultar. Cada capacidade chamará um BP diferente, porém os dois BPs chamarão o mesmo BO, que também terá duas capacidades. Cada capacidade será chamada de acordo com a mensagem recebida.

Vamos começar verificando a tabela que será acessada. Vamos cria-la utilizando o modelo abaixo:

Class ws.

0
0 106
Artigo Julio Esquerdo · Out. 23, 2024 3m read

CALL no Business Process

Montando as integrações para esta série de postagens, vi que precisava me aprofundar um pouco mais na questão do componente CALL do BP. Assim montei este novo documento mostrando algumas informações importantes deste componente.

O componente CALL é utilizado para chamar ou um BP ou um BO de maneira síncrona (o componente aguarda o retorno da chamada realizada) ou assíncrona (a chamada é feita mas o componente não aguarda o retorno, sendo verificado se houve resposta em uma etapa mais a frente por um componente SYNC).

0
0 85
Artigo Julio Esquerdo · Out. 23, 2024 9m read

Projeto 6 – Chamada Assíncrona no BP

Vamos montar nossa próxima integração utilizando o adaptador SOAP Inbound Adapter chamando um BP que vai orquestrar chamadas a dois BOs em modo assíncrono.

Vamos começar criando as mensagens de Request e Response do nosso serviço:

Class ws.credito.msg.Request Extends Ens.Request
{
Property cpf As %String(PATTERN = "1N.N");
}

Class ws.credito.msg.Response Extends Ens.Response
{
Property nome As %String;
Property cpf As %String(PATTERN = "1N.

0
0 74
Artigo Julio Esquerdo · Out. 16, 2024 8m read

Projeto 5 – SOAP Outbound Adapter

Vamos montar nossa próxima integração utilizando o adaptador SOAP Outbound Adapter. Este adaptador permite acessar um serviço SOAP externo e consumir este serviço.

No nosso exemplo vamos publicar um serviço SOAP no barramento de integração simulando um serviço externo. Vamos então consumir o WSDL deste serviço criando o BO automaticamente, e depois montaremos os BP e BS da integração.

O primeiro passo é criar um serviço que será consumido. Imagine que este é um serviço externo que você precisa consumir. Vamos então criar um BS que fará este papel para nós.

0
0 92
Artigo Julio Esquerdo · Out. 15, 2024 7m read

Projeto 4 – SQL Inbound Adapter

Vamos montar nossa próxima integração utilizando o adaptador SQL Inbound Adapter. Este adaptador permite acessar uma tabela externa ao IRIS e consumir seus registros.

No nosso exemplo iremos ler uma tabela via SQL externa ao IRIS através de uma conexão ODBC e armazenar as informações desejadas em uma global.

O primeiro passo é criar as mensagens da integração. Vamos criar o Request e o Response que iremos utilizar para trafegar as mensagens pelo barramento:

Class ws.global.msg.incluir.Request Extends Ens.

0
0 103
Artigo Julio Esquerdo · Out. 14, 2024 4m read

Projeto 3 – Requisição REST

Vamos montar nossa próxima integração utilizando uma aplicação REST. Para tal vamos utilizar um BS que chamará o BP do nosso serviço demo (ver Primeira Integração). Vamos reaproveitar o serviço que então poderá ser chamado via SOAP ou REST. Teremos então dois BS que irão chamar o mesmo BP. A imagem abaixo ilustra essa arquitetura:

O primeiro passo vai ser criar um novo BS que não terá nenhum adaptador. Esse BS será chamado pela nossa aplicação REST que veremos mais a frente:

Class ws.rest.bs.Service Extends Ens.

0
0 125
Artigo Julio Esquerdo · Out. 11, 2024 7m read

Projeto 2 - Integração utilizando File Inbound Adapter

Vamos montar nossa próxima integração utilizando o adaptador de arquivos, o File Inbound Adapter. Este adaptador permite monitorar um diretório e buscar arquivos que estejam disponíveis com a máscara informada para o arquivo a ser lido. Após o processamento podemos mover o arquivo para uma outra área ou simplesmente eliminar o arquivo processado, conforme seja mais interessante para seu processo.

O primeiro passo é criar as mensagens da integração.

0
0 125
Artigo Julio Esquerdo · Out. 10, 2024 10m read

Projeto 1 - Integração utilizando SOAP Inbound Adapter

A idéia deste novo conjunto de postagens é apresentar uma série de integrações utilizando o InterSystems IRIS. Vamos ver integrações REST, SOAP, utilizando adaptadores ODBC, Arquivos e outros.

Vamos montar nossa primeira integração completa, passando pelas camadas de BS, BP e BO, e devolvendo a resposta esperada. Vamos montar essa nossa primeira integração utilizando o SOAP como o adaptador de entrada, e como cliente vamos utilizar o SoapUI.

Vamos então começar:

1. SoapUI

Baixe o SoapUI do site de download dele (https://www.soapui.

4
0 189
Artigo Julio Esquerdo · Maio 24, 2024 5m read

Olá,

Neste artigo vamos ver o uso do Prometheus (prometheus.io) para coletar métricas no Iris, de forma a monitorarmos o ambiente.

O link https://cloud.google.com/discover/what-is-prometheus?hl=pt-br apresenta uma descrição bem completa do Prometheus.

O Iris conta com uma api que disponibiliza uma série de informações do ambiente. A documentação completa da api pode ser encontrada no endereço https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_rest

Uma simples chamada a api já nos mostra as informações disponíveis:

Fig.

0
0 161
Artigo Julio Esquerdo · Set. 21, 2023 10m read

Olá,

No post anterior sobre o uso do Grafana com o IRIS (https://pt.community.intersystems.com/post/usando-o-grafana-com-o-iris-…) utilizamos classes para armazenar nossas informações. Porém sabemos que o IRIS tem uma poderosa forma de armazenamento chamada de globais, que é muito utilizada em sistemas legados.

Vamos imaginar que nosso sistema de vendas é desenvolvido utilizando este mecanismo de armazenamento.

0
0 193
Artigo Julio Esquerdo · Out. 23, 2022 6m read

Olá,

Segundo a Wikipedia:

O KNIME é uma plataforma livre e de código aberto de análise de dados, construção de relatórios e integração de dados. O KNIME integra vários componentes para aprendizado de máquina e mineração de dados por meio de seu conceito de pipelining modular.

Uma interface gráfica de usuário e o uso de JDBC permitem a montagem de nós combinando diferentes fontes de dados, incluindo pré-processamento (ETL: Extract, transform, load), para modelagem, análise e visualização de dados sem necessidade (ou com necessidade mínima) de programação.

0
0 232
Artigo Julio Esquerdo · Out. 10, 2022 15m read

Olá,

De acordo com a Wikipédia, o kafka é:

"uma plataforma open-source de processamento de streams desenvolvida pela Apache Software Foundationescrita em Scalae JavaO projeto tem como objetivo fornecer uma  plataforma unificada, de alta capacidade e baixa latência para tratamento de dados em tempo real. Sua camada de armazenamento é, essencialmente, uma "fila de mensagens de publishers/subscribers maciçamente escalável projetada como um log de transações distribuído", tornando-o altamente valioso para infra-estruturas corporativas que processam transmissão de dados.

0
0 588
Artigo Julio Esquerdo · Jun. 27, 2022 9m read

Usando o Grafana com o IRIS através do Infinity DataSource

Grafana é uma aplicação web de análise de código aberto multiplataforma e visualização interativa da web. Ele fornece tabelas, gráficos e alertas para a Web quando conectado a fontes de dados suportadas. É expansível através de um sistema de plug-in. Os usuários finais podem criar painéis de monitoramento complexos usando criadores de consultas interativas, segundo a Wikipédia O Grafana pode ser baixado diretamente do seu site grafana.com.

0
1 532
Artigo Julio Esquerdo · Maio 19, 2022 8m read

O IRIS permite que usemos uma grande variedade de front-ends para o desenvolvimento de aplicações e serviços.

Entre estes, podemos apontar o PHP, que é largamente utilizado em desenvolvimento web e adotado por empresas como o Facebook, Google, Baidu, Wikipedia, Spotify e Uber.

O PHP dispensa apresentações, mas podemos obter mais informações na sua página www.php.net.

Fast CGI permite que os programas sejam executados por um interpretador fora do servidor web, incluindo os benefícios de segurança do modo CGI sem nenhuma das suas ineficiências.

0
0 359