0 Seguidores · 9 Postagens

NET Framework (pronunciado dot net) é um framework de software desenvolvido pela Microsoft que funciona principalmente no Microsoft Windows.

Site oficial.

Suporte.NET na Plataforma de Dados InterSystems.

Artigo Danusa Calixto · Fev. 9, 2024 3m read

O InterSystems IRIS oferece um ambiente completo de desenvolvimento para a criação de aplicativos sofisticados com uso intensivo de dados e análises que conectam silos de dados e aplicativos. O InterSystems IRIS oferece suporte ao desenvolvimento de aplicativos do lado do servidor com Python e InterSystems ObjectScript.

O InterSystems IRIS fornece suporte ao desenvolvimento de aplicativos do lado do servidor com Python e InterSystems ObjectScript. O InterSystems IRIS também oferece suporte ao desenvolvimento do lado do cliente usando muitas tecnologias de desenvolvimento populares, incluindo Java, C#/.NET, Node.js, Python e ObjectScript.

O objetivo deste artigo será focar no desenvolvimento do lado do cliente usando um ambiente de desenvolvimento popular, o .NET.

O ADO.NET Managed Provider, SDK NET Native, API XEP e Entity Framework Provider são um conjunto de APIs poderosas que se combinam para cobrir todos os aspectos do desenvolvimento da plataforma de dados InterSystems IRIS do lado do cliente, aproveitando o framework .NET.

ADO.NET Managed Provider

O ADO.NET Managed Provider é a implementação da InterSystems para a interface de acesso aos dados ADO.NET, que ativa a conexão ao IRIS do seu aplicativo .NET, permitindo o uso de consultas SQL para acessar dados. As outras três APIs usam esse protocolo de conexão subjacente.

SDK .NET Native

O SDK .NET Native SDK fornecerá acesso direto a objetos do InterSystems IRIS, globais e funcionalidade ObjectScript, como executar classes e rotinas. O acesso direto a globais, a estrutura de armazenamento fundamental para dados no IRIS, pode acelerar a recuperação de dados para seu aplicativo .NET.

API XEP

A API XEP facilitará o acesso de alta velocidade a objetos da InterSystems. Isso é muito útil ao trabalhar com objetos de alta taxa de transferência e média a baixa complexidade.

Entity Framework Provider e Mapeamento Objeto-Relacional (MOR)

O Entity Framework Provider é a implementação da InterSystems do Entity Framework, o mapeamento objeto-relacional para ADO.NET.

  • O que é o Mapeamento Objeto-Relacional ou MOR?
    • Uma técnica que permite consultar e manipular dados de um banco de dados usando um paradigma orientado por objetos. Essas técnicas costumam ser implementadas como bibliotecas, como a biblioteca SQLAlchemy para Python.
    • Se você não souber qual é a biblioteca equivalente que implementa o MOR no IRIS, não deveria mesmo saber. O IRIS pode ser tratado como um banco de dados relacional (é possível usar consultas SQL para consultar dados armazenados no IRIS), então não é preciso uma biblioteca que implemente técnicas de MOR quando o MOR está integrado à própria plataforma.

Os desenvolvedores .NET podem usar qualquer uma dessas APIs sozinha ou em conjunto se fizerem com que o arquivo assembly InterSystems.Data.IRISClient.dll seja referenciado no projeto .NET. Cada API tem seus benefícios e desvantagens, mas o uso calculado dos recursos de cada uma proporciona uma abordagem equilibrada de desenvolvimento na plataforma de dados InterSystems IRIS com o Framework .NET.

0
0 79
Artigo Henrique Dias · Jun. 10, 2023 9m read

20 anos. 

Agora em 2023 eu completo 20 anos trabalhando com tecnologia, desenvolvendo sistemas, implementando, criando novas soluções e posso afirmar que trabalhar com tecnologia InterSystems fez e faz parte da minha vida. Afinal, foram 18 anos trabalhando todos os dias com essa tecnologia.

Comecei a trabalhar com o Caché 4, lá atrás em 2003, vivenciei as mudanças para o Caché 5, Caché e Ensemble 2008, 2010, 2012, 2014, 2017, 2018 e até finalmente chegarmos no InterSystems IRIS. 

4
0 205
Artigo Miqueias Santos · Jun. 10, 2023 6m read

Olá!

Eu estava querendo dedicar algum tempo para implementar alguma DLL ou algo que eu pudesse usar do Caché e finalmente tive uma pequena ideia, se você está interessado em poder produzir mensagens que são enviadas para o Kafka rapidamente, você é no lugar certo ;-)

Antes de lhe entregar a ficha com o que vamos ver, vou fazer um resumo para que você decida se tem interesse em ler o artigo.

Neste artigo vamos focar "apenas" na parte de produzir mensagens e enviá-las para Kafka:

Como funciona?

Utilizo uma DLL .Net (Netframework 4.5) que fiz (está dentro da pasta dll do repositório)

0
0 275
Pergunta Jackson Linzmaier · jan 5, 2023

Estou tendo problemas ao usar ADO.Net para conectar-se ao InterSystems Instance. Estou usando a biblioteca InterSystems.Data.IRISClient.ADO e tentando configurar uma conexão com o código abaixo:

IRISConnection IRISConnect = new IRISConnection(); IRISConnect.ConnectionString = "Server = " + host + "; Port = " + port + "; Namespace = " + Namespace + "; Password = " + password + "; User ID = " + username;

IRISConnect.Open();

Isso está resultando com que o Intersystems não responda e em uma exceção do InterSystems.Data.IRISClient.IRISException.

0
0 89
Artigo Bob Kuszewski · Maio 20, 2021 5m read

Migrando do Java Business Host para o PEX

Com o lançamento do PEX a partir do InterSystems IRIS 2020.1 e InterSystems IRIS for Health 2020.1, nossos clientes tem agora uma melhor forma de utilizar Java nas Produções de interoperabilidade que através da utilização do Java Business Host. O PEX (Production EXtension) disponibiliza um conjunto completo de APIs para criar componentes de interoperabilidade e está disponível tanto em Java quanto em .NET. O Java Business Host foi descontinuado e será aposentado em versões futuras.

Vantagens do PEX

  • Permite que desenvolvedores criem qualquer componente da Produção de interoperabilidade em Java ou em .NET
  • Estruturas de mensagens mais complexas podem ser enviadas através dos componentes
  • Configurações simplificadas
  • Fluxo de trabalho simplificado , sem utilização de ObjectScript.

O resto deste artigo está focado em como realizar a migração de código existente do Java Business Host para o PEX.

Visão Geral

As classes e interfaces utilizadas pelo PEX são diferentes das do Java Business Host (JBH). Nós iremos disponibilizar uma visão geral das diferenças neste artigo mas a documentação completa te dará maior profundidade sobre o assunto.

Convertendo um Business Service do Java Business Host para o PEX

Para criar um Business Service PEX você precisará implementar a com.intersystems.enslib.pex.BusinessService ao invés da com.intersystems.gateway.bh.BusinessService.

O padrão de design utilizado pelo PEX para Business Service mudou de um onde era esperado que o serviço iniciasse o processo de produção de mensagens para o padrão onde o serviço implementa uma função que é invocada periodicamente para produzir mensagens.

No JBH, seu código seria algo como isso

  @Override
  public boolean OnInit(Production p) throws Exception {
    production = p;

    if (messageThread == null) {
      Messager messager = new Messager();
      messageThread = new Thread(messager);
      messageThread.start();
    }
  
    return true;
  }

No PEX, você precisa apenas implementas três funções

  public void OnInit() throws Exception {
    // Inicialização
    return;
  }

  public Object OnProcessInput(Object messageInput) throws Exception {
    // Aqui é onde você invoca a SendMessage() ou SendMessageAsync()

    return null;
  }

  public void OnTearDown() throws Exception {
    // Desligar
    return;
  }

Você também precisará alterar como as configurações são utilizadas, mensagens são entregues e onde o registro de log é feito. Falaremos mais sobre estas alterações abaixo.

Convertendo um Business Operation do Java Business Host para PEX

Para criar um Business Operation PEX você precisará implementar a com.intersystems.enslib.pex.BusinessOperation ao invés da com.intersystems.gateway.bh.BusinessOperation.

O padrão de design para os Business Operations é estruturalmente o mesmo entre o JBH e o PEX entretanto os parâmetros para os dois principais pontos de entrada forma alterados.

Mudanças no OnInit()

No PEX o OnInit() não recebe parâmetros.

Mudanças no OnMessage()

No PEX o OnMessage() recebe um Object genérico no lugar da String utilizada no JBH. Isto permite que o criador da produção de interoperabilidade envie qualquer tipo de mensagem desejada.

No JBH sua aplicação ficaria mais ou menos algo assim:

  public boolean OnMessage(String message) throws Exception {
    // Lógica de negócio aqui
    return true;
  }

No PEX o parâmetro é um Objeto Java genérico, que você deve instanciar apropriadamente, que permite que você transmita mensagens mais complexas que apenas strings. Aqui está um exemplo de como extrair uma requisição que é do tipo file stream.

  public Object OnMessage(Object request) throws Exception {
    com.intersystems.jdbc.IRISObject streamContainer = (com.intersystems.jdbc.IRISObject)request;
    com.intersystems.jdbc.IRISObject str = (com.intersystems.jdbc.IRISObject)streamContainer.get("Stream");
    String originalFilename = (String)streamContainer.get("OriginalFilename");

    Long contentSize = (Long)str.get("Size");
    String content = (String)str.invoke("Read", contentSize);

    // Lógica de negócio aqui

    return null;
  }

Você também precisará alterar como as configurações são utilizadas, mensagens são entregues e onde o registro de log é feito. Falaremos mais sobre estas alterações abaixo.

Settings

A declaração das configurações também foi simplificada.

No JBH as configurações era declaradas através da string SETTINGS e recuperada através de código, algo como isso:

  String setting = production.GetSetting("Min");
  if (!setting.isEmpty()) {
    min = Integer.parseInt(setting);
  }

No PEX as configurações são apenas campos de membros públicos, desta forma elas são automaticamente carregadas quando a classe é instanciada.

  public int Min = 0;

Qualquer campo de membro público está disponível para ser atribuído em sua produção de interoperabilidade desde que o campo do membro seja um tipo base Java (String, int, etc.).

Mensagens

O envio de Mensagens no PEX é mais poderoso. No JBH mensagens são enviadas como strings. No PEX as mensagens são enviadas como objetos - tanto IRISObject, para objetos definidos em ObjectScript, ou uma subclasse subclass of com.intersystems.enslib.pex.Message, para classes definidas em Java.

No JBH seu código seria algo assim

  production.SendRequest(value.toString());

No PEX seria algo como isso

  MyExampleMessageClass req = new MyExampleMessageClass("mensagem a ser enviada"); 
  SendRequestAsync(Target, req);

Logging

As funções para registro de Logs são todas similares, apenas nomeadas de forma diferente.

No PEX você registraria uma mensagem informativa através da LOGINFO()

  LOGINFO("mensagem recebida");

Gateway de Objetos

O Java Business Host precisava de seu próprio gateway. Com o PEX você pode utilizar um Java gateway apenas para toda sua necessiade de Java. Ou então usar vários, você escolhe. Aqui você encontra uma boa introdução ao gateway.

Conclusão e Feedback

Se você ainda não experimentou utilizar o PEX, o que falta ? O PEX disponibiliza a habilidade de resolver uma quantidade muito mais ampla de problemas de negócio com menos codificação, além de permitir que agora tudo também seja feito em .NET.

Se você tiver dúvidas ou problemas migrando suas aplicações de JBH para PEX, entre em contato conosco pelo WRC.

0
0 104