O SDK Nativo para Python da InterSystems é uma interface leve de APIs do InterSystems IRIS que antes estavam disponíveis somente por ObjectScript.

Estou especialmente interessado na capacidade de chamar métodos ObjectScript ou class methods, para ser preciso. Funciona muito bem, mas, por padrão, as chamadas só são compatíveis com argumentos escalares: strings, booleanos, inteiros e floats.

No entanto, se você quiser:
- Transmitir ou retornar estruturas, como dicionários ou listas
- Transmitir ou retornar streams

Você precisará escrever glue code ou usar este projeto (instalação com pip install edpy). O pacote edpy fornece uma simples assinatura:

call(iris, class_name, method_name, args)

que permite chamar qualquer método ObjectScript e receber resultados de volta.

1 0
0 36

A interoperabilidade é cada vez mais importante atualmente. O InterSystems IRIS 2022.1 tem uma nova API de mensagens para a comunicação com plataformas de streaming de eventos, como Kafka, AWS SQS/SNS, JMS e RabbitMQ.

Este artigo mostra como você pode se conectar ao Kafka e AWS SQS com facilidade.
Começamos com uma breve discussão dos conceitos e termos básicos das plataformas de streaming de eventos.

0 0
0 57

O AtScale extrai dados da base IRIS.

O produto AtScale forma um cubo OLAP virtual na camada intermediária, que pode ser acessado pelos aplicativos externos usando a linguagem padrão SQL e MDX (Expressões Multidimensionais). A solução inclui três componentes principais.

1 0
0 54

Recentemente comecei a estudar interoperabilidade e achei a documentação oficial muito útil para entender como funciona, mas ainda tive dificuldade para implementar sozinha. Com ajuda dos meus colegas de trabalho, consegui criar uma Demo de um sistema e aprender na prática. Por isso, decidi escrever esse post para ajudar outros a "colocar a mão na massa" e passar adiante a ajuda que tive.

5 0
1 66

Neste artigo, estarei ensinando como desenvolver uma production que acessa e retorna dados de um banco de dados externos.

Estarei usando o MySQL neste exemplo, porém a forma de conexão será a mesma para os demais bancos.

Farei a comunicação via REST e estarei utilizando o Postman para testar a produção de interoperabilidade.

1. INTRODUÇÃO:

3 1
0 141
Artigo
· Set. 2, 2022 1min de leitura
Definindo Business Operation

Para definir uma classe Business Operation, ela deve extender de "Ens.BusinessOperation" ou alguma subclasse dessa. Além disso, deve ser definido os parâmetros ADAPTER e INVOCATION (O qual deve especificar um dos valores: "Queue" ou "InProc"). Após isso, defina um bloco XDATA para mapear as mensagens recebidas para os respectivos métodos, como no exemplo abaixo:

Exemplo:

1 0
0 99
Artigo
· Ago. 11, 2022 12min de leitura
ECP com Docker

Olá, comunidade,

Este é o terceiro artigo da série sobre a inicialização de instâncias da IRIS com Docker. Desta vez, focaremos no Enterprise Cache Protocol (ECP).

De maneira bastante simplificada, o ECP permite configurar algumas instâncias da IRIS como servidores de aplicação e outras como servidores de dados. As informações técnicas detalhadas podem ser encontradas na documentação oficial.

O objetivo deste artigo é descrever o seguinte:

1 0
0 50

Depois deste GitHub, vamos ver como o protocolo FIX pode ser facilmente implementado usando a IRIS e o Python.

Se você não tem muito tempo, foque na seção Envie uma Cotação antes do Pedido no final, que explica em alguns minutos como enviar uma Solicitação de Cotação seguido por uma Solicitação de Pedido, além de mostrar o resultado do servidor em menos de cinco cliques.

0 0
0 102

De tempos em tempos recebemos a pergunta do título deste artigo no suporte, em situações onde algo ou alguém está utilizando mais licenças do que o esperado, e precisamos então identificar o quê.

Temos dois cenários. O primeiro cenário ocorre quando percebemos que as licenças acabaram através de uma aplicação que não funciona ou quando tentamos conectar ao terminal e recebemos a "graciosa" mensagem: <LICENSE LIMIT EXCEEDED>

1 0
0 71
Artigo
· Abr. 21, 2022 2min de leitura
Globals - Comparar Embedded Python e ObjectScript

Este exemplo demonstra a diferença de quando você acessa globais diretamente do
Embedded Python (ePy) comparado com o ObjectScript nativo (ISOS).

Para tornar este demo operacional, eu inicio 2 jobs em background, que irão escrever
sequencialmente na global dedicada. Um método de controle comum dispara uma execução síncrona.
De forma similar, outro método stop & view irá interromper o fluxo de dados.

2 0
0 81

pandas

Não há dúvidas que as possibilidades são ilimitadas com o que se pode fazer com o IRIS 2021.2 com Embedded Python, desde visão computacional, automações, blockchain e principalmente a inteligência artificial.

Python é umas das linguagens que mais tem crescido nos últimos anos e existe uma infinidade de bibliotecas para facilitar a vida dos desenvolvedores.

24 0
2 184

A partir da versão 2021.2 do InterSystems IRIS é possível desenvolver serviços de backend, de integração e procedures de bancos de dados utilizando Python. A grande vantagem desta possibilidade é a redução na curva de aprendizado e a utilização de programadores especialistas na linguagem de programação que mais cresce no mundo.

8 0
1 118

Function as a service (FaaS) é uma categoria de serviços de computação na nuvem que disponibiliza uma plataforma que permite que os clientes desenvolvam, executem e gerenciem as funcionalidades das aplicações sem que tenham a complexidade de construir e manter a infraestrutura tipicamente associada a se desenvolver e lançar um app. Construir uma aplicação seguindo este modelo é uma das formas de se alcançar uma arquitetura "serverless" e é tipicamente utilizada quando se constroem aplicações baseadas em microsserviços.

Wikipedia

FaaS é uma abordagem extremamente popular para se executar cargas de trabalho na nuvem, permitindo que os desenvolvedores mantenham o foco na escrita de códigos.

Este artigo irá mostrar-lhe como implantar métodos do InterSystems IRIS na forma FaaS.

2 0
0 63

Neste artigo iremos construir uma configuração IRIS de alta disponibilidade utilizando implantações Kubernetes com armazenamento persistente distribuído substituindo o "tradicional" espelhamento IRIS. Esta implantação será capaz de tolerar falhas relacionadas a infraestrutura como falhas em nós, armazenamento e de Zonas de Disponibilidade. A abordagem descrita reduz muito a complexidade da implantação em detrimento um objetivo de tempo de recuperação (RTO) ligeiramente estendido.

2 0
0 170

Olá Comunidade,

Imagine habilitar seu aplicativo para ler texto para seu cliente? Isso agora é possível com o novo recurso IRIS, Embedded Python. Com essa nova funcionalidade, o IRIS pode executar nativamente qualquer biblioteca Python comercial ou de código aberto. gTTS (https://pypi.org/project/gTTS/) é uma biblioteca gratuita que transforma texto em áudio usando o serviço Google Translate.

3 0
0 107

A plataforma de dados InterSystems IRIS © agora apresenta suporte nativo completo para Python, liberando o poder da linguagem de programação mais popular do mundo para criar aplicativos de missão crítica com uso intensivo de dados.

https://www.intersystems.com/news-events/news/news-item/embedded-python-intersystems-iris-data-platform/

Essa decisão estratégica leva em consideração vários fatores:

  • A grande escala no uso de Python dentro das corporações
  • Python passou ser a um padrão de fato para desenvolvimento de modelos de Machine Learning (ML)
  • A grande oferta e demanda de programadores Python.

A seguir iremos explorar esses pontos.

5 0
0 151

Olá desenvolvedores!

Algumas vezes precisamos inserir ou fazer referência aos dados de classes persistentes diretamente através das globais.

E talvez muitos de vocês estejam esperando que a estrutura de dados da global com os registros seja:

^Sample.Person(Id)=$listbuild("",col1,col,2,...,coln).

Este artigo é um aviso que nem sempre isso é verdade. Não espere que sempre seja assim!

1 0
0 62

Olá Desenvolvedores!

Como você provavelmente percebeu, no IRIS 2021 os nomes das globais são randômicos.

E, se você criar classes do IRIS classes com DDL e quiser se certificar qual global foi criada, você provavelmente gostaria de escolher seu nome.

E, de fato, você consegue fazê-lo.

Utilize WITH %CLASSPARAMETER DEFAULTGLOBAL='^GLobalName' na instrução CREATE Table para fazê-lo. Documentação. Veja o exemplo abaixo:

1 0
0 47