Pergunta Igor Lampa · Out. 10, 2023

Estou utilizando JDBC para conexão da aplicação JAVA com o IRIS versão Community, porém está ocorrendo o seguinte erro:

Caused by: java.sql.SQLException: [InterSystems IRIS JDBC] Communication link failure: Acesso Negado
    at com.intersystems.jdbc.IRISConnection.connect(IRISConnection.java:751)
    at com.intersystems.jdbc.IRISConnection.<init>(IRISConnection.java:165)
    at com.intersystems.jdbc.IRISDriver.connect(IRISDriver.java:58)
    .

3
0 244
Pergunta Edmara Francisco · Out. 2, 2023

Olá,

Preciso garantir que a tarefa criada/agendada, por usuário do sistema, seja criada no banco de rotinas e não remotamente no ECP que ele está conectado. Como garantir a criação/agendamento dessa tarefa?

Aqui tem uma sugestão de criar a rotina nos dois ambientes:  https://openexchange.intersystems.com/package/Background-Jobs-ECP

Existe outra opção?

Desde já agradeço,

Edmara

1
0 160
Pergunta Igor Lampa · Set. 26, 2023

Olá,

Preciso renomear uma tabela e ao executar o seguinte comando:

ALTER TABLE old_name RENAME new_name;


O nome da tabela está ficando com o nome em UPPERCASE, por exemplo NEW_NAME, mas na verdade eu preciso que ela fique como new_name, em lower case mesmo, conforme ficou o nome definido no comando de rename.

 

Poderiam me auxiliar a deixar o novo nome da tabela como lowercase?

 

Desde já muito obrigado.

4
0 133
Artigo Heloisa Paiva · Mar. 17, 2023 2m read

Por que decidi escrever isso

No meu último artigo, falei sobre devolver valores com Python. Mas a devolução é muito simples, o que pode complicá-la é o que vou falar hoje: onde é tratado o valor.
 

Objeto Python em IRIS

Seguindo o exemplo do último artigo, temos o método:

Class python.returnTest [ Abstract ]
{

ClassMethod returnSomething(pValue... As %String) As %Integer [ Language = python ]
{
	return pValue
}

}

 

Assim, temos devolvido um objeto de Python, que para IRIS é a classe %SYS.Python. Então, por ejemplo, se chamo o método com dois valores, tenho:
 

Set returnValue = ##class(pytho
2
0 91
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 190
Artigo Danusa Calixto · Set. 19, 2023 7m read

Ao começar a desenvolver com o IRIS, temos um kit de distribuição ou, no caso do Docker, extraímos a imagem do Docker e, geralmente, precisamos inicializá-lo e configurar o ambiente de desenvolvimento. Talvez seja necessário criar bancos de dados, namespaces, ativar/desativar serviços e criar recursos. Com frequência, precisamos importar código e dados na instância do IRIS e executar código personalizado para inicializar a solução.

Há vários modelos no Open Exchange onde sugerimos como inicializar o REST, Interoperability, Analytics, Fullstack e vários outros modelos com ObjectScript. E se só quisermos usar o Python para configurar o ambiente de desenvolvimento para o projeto do Embedded Python com o IRIS?

Então, a versão recente do modelo do Embedded Python é o boilerplate de python puro que pode ser um ponto de partida para os desenvolvedores que criam projetos em python, sem precisar usar e aprender o ObjectScript. Este artigo demonstra como esse modelo pode ser usado para inicializar o IRIS. Vamos lá!

0
0 75
Artigo Danusa Calixto · Set. 16, 2023 9m read

Olá, comunidade,

No antigo anterior, aprendemos sobre os tópicos listados abaixo:

  1. O que é o Docker?
  2. Alguns dos benefícios do Docker
  3. Como o Docker funciona?
  4. Imagem do Docker
  5. Contêiner Docker
  6. Repositório de imagens do Docker
  7. Repositório de imagens do Docker da InterSystems
  8. Instalação do Docker
  9. Comandos básicos do Docker
  10. Execução do IRIS Community Edition usando o Docker
  11. GUI do Docker Desktop

Neste artigo, vamos abordar os seguintes tópicos:

  1. Uso do arquivo do Docker Compose (um arquivo YAML)
  2. Uso do Docker file (usado para criar uma imagem do Docker)
  3. Uso do volume do Docker

Vamos começar.

0
0 460
Artigo Danusa Calixto · Set. 4, 2023 10m read

 

 

Olá, comunidade!

 

Vocês já precisaram conectar o IRIS a um sistema SAP?

Tive que enfrentar o desafio de conectar o InterSystems IRIS ao SAP e, novamente, verifiquei o trabalho de concessão feito pela InterSystems relacionado à possibilidade de executar código nativo em Python dentro do IRIS.

 

Esse recurso facilitou muito a integração graças à biblioteca pyrfc.

 

Com essa biblioteca, consegui fazer chamadas a uma RFC (Chamada de Função Remota) do SAP a partir de uma classe do IRIS, além de receber dados do banco de dados do SAP. 

 

Mas o que é uma RFC?

0
0 140
Artigo Danusa Calixto · Set. 4, 2023 8m read

Neste tutorial, quero falar sobre consultas de classe. Para ser mais precisa, sobre as consultas baseadas em código escrito pelo usuário:

Muitas pessoas ignoram esse tipo de consulta só porque não estão confortáveis em escrever uma grande quantidade de código ObjectScript para os métodos ou não veem como podem usá-lo nos apps relacionais. No entanto, para ser sincera, para mim — é uma das criações mais legais para o modelo relacional no IRIS! Ele deixa você expor as informações que quiser (não se limita a tabelas do seu banco de dados) como um conjunto de resultados para um cliente.

0
0 100
Artigo Danusa Calixto · Set. 1, 2023 12m read

Uma tarefa "grande" ou "pequena" para o ChatGPT?

Eu testei o modelo de programação do GPT da OpenAI há algumas semanas, para ver se ele consegue, por exemplo, fazer algumas transformações de mensagens entre protocolos de saúde. Ele "consegue", em um nível aparentemente razoável. 

Já faz quase 3 semanas, o que é um tempo bastante longo para o ChatGPT, então me pergunto com que rapidez ele cresce e se poderia fazer alguns jobs de engenharia de integração para nós. Por exemplo, ele consegue criar uma ferramenta DTL de COS da InterSystems para transformar o HL7 em uma mensagem FHIR?

0
0 119
Artigo Danusa Calixto · Set. 1, 2023 11m read

Neste artigo, vamos analisar as complexidades da configuração de tabelas e gráficos para melhorar a legibilidade dos dados.

O Logi oferece um conjunto rico de ferramentas de visualização de dados. Você pode encontrar de tudo, desde uma ampla variedade de modelos de gráficos até estilos CSS personalizados. Entender a variedade de configurações e opções pode ser bastante difícil. Primeiro, vamos criar um gráfico e uma tabela com as configurações padrão e dar um visual apresentável a eles usando o InterSystems Reports (com tecnologia do Logi Report).

0
0 154
Artigo Danusa Calixto · Set. 1, 2023 5m read

Olá, comunidade!

Com certeza, todos vocês já ouviram algo sobre a Salesforce – a empresa e seu software. Neste artigo, vamos nos concentrar na conectividade com o software CRM – Salesforce CRM. De uma forma muito genérica, o Salesforce CRM tem a capacidade de gerenciar as interações com os clientes de uma organização por meio de vários métodos, como telefonemas, consultas por e-mail, comunidades, mídias e redes sociais. Diz-se que o Salesforce lida com todos os relacionamentos com os clientes - com foco nos processos de vendas, suporte e marketing. Este serviço/software está disponível na nuvem.

Como seria bom se pudéssemos nos conectar ao Salesforce a partir do nosso ambiente InterSystems IRIS ou qualquer outro produto InterSystems.

0
0 593
Artigo Danusa Calixto · Set. 1, 2023 9m read

Neste artigo, vamos explorar o uso de parâmetros, fórmulas e rótulos no Logi Report Designer (antigo Logi JReport Designer). Para que servem e como criá-los?

Usando a funcionalidade básica do InterSystems Reports Designer, os parâmetros, as fórmulas e os rótulos, você pode melhorar significativamente os detalhes e o conteúdo informativo do relatório gerado. Além disso, essas ferramentas permitem a automação de alguns dos processos, o que acelera e facilita bastante a criação de relatórios.

Vamos analisar cada ferramenta separadamente.

Os parâmetros são variáveis individualmente configuráveis.

0
0 152
Artigo Danusa Calixto · Set. 1, 2023 3m read

Olá, desenvolvedores. No momento, estou realizando uma demonstração sobre o desenvolvimento de uma IU front-end fazendo análise de dados e configurando um teste de desempenho com grandes objetos de dados. Portanto, o uso do utilitário Populate pode me ajudar a gerar automaticamente alguns dados de amostra com que eu possa brincar.

Neste post, gostaria de compartilhar minha experiência ao usar o utilitário Populate, incluindo o parâmetro POPSPEC.

0
0 118
Artigo Danusa Calixto · Set. 1, 2023 2m read

Peço desculpas se isso for óbvio para programadores Python, mas, para aqueles que estão saindo do ObjectScript, esta pode ser uma dica útil.

O cenário é o desenvolvimento de alguns comandos do Embedded Python.

Testando se a funcionalidade está sendo confirmada pelo shell:

$SYSTEM.Python.Shell()
 
Python 3.9.5 (default, Mar 14 2023, 06:58:44) [MSC v.1927 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>>

Quando o Python avalia uma expressão no shell, ele imprime o resultado da expressão no terminal.

>>> 1 + 2

3

É bastante fácil avaliar e imprimir valores sem querer

>>> iris.
0
0 47
Artigo Danusa Calixto · Set. 1, 2023 4m read

Visão geral

Com o cross-skilling do objectScript do IRIS para o Python, ficam claras algumas diferenças fascinantes na sintaxe.

Uma dessas áreas é como o Python retorna Tuplas de um método com desempacotamento automático.

Efetivamente, isso se apresenta como um método que retorna vários valores. Que invenção incrível :)

out1, out2 = some_function(in1, in2)

O ObjectScript tem uma abordagem diferente com o ByRef e os parâmetros de saída.

Do ##class(some_class).SomeMethod(.inAndOut1, in2, .out2)

Onde:

  • inAndOut1 é o ByRef
  • out2 é a saída

O ponto à esquerda (".

0
0 75
Artigo Danusa Calixto · Set. 1, 2023 3m read

O InterSystems IRIS 2022.2 tem um SDK Nativo para Python (https://docs.intersystems.com/iris20222/csp/docbook/Doc.View.cls?KEY=PAGE_python_native).

Sabemos como percorrer uma estrutura de dados global usando a função $Order do ObjectScript do IRIS.

SET key=""
   FOR  {
     SET key=$ORDER(^myglobal(key)) 
     QUIT:key=""
     WRITE !,^myglobal(key)
   }

Como fazer o mesmo no Python usando o SDK Nativo do IRIS para Python? Aqui está um exemplo de código:

import iris

args = {'hostname':'127.0.0.1', 'port':51772,
    'namespace':'USER', 'username':'_SYSTEM', 'password':'SYS'
    }

conn = iris.
0
0 98
Artigo Flávio Lúcio Naves Júnior · Ago. 23, 2023 1m read

Pergunta feita várias vezes para InterSystems 

Isso pode ser obtido usando a consulta AllFields query da classe %SYS.ProcessQuery.

Para obter mais detalhes, consulte o documento Process (Job)【IRIS】Process (Job).

Um exemplo de execução no terminal é o seguinte.

USER>set stmt=##class(%SQL.Statement).%New()
USER>set st=stmt.%PrepareClassQuery("%SYS.ProcessQuery","AllFields")
USER>write st   // you can call %Execute() when st = 1
1
USER>set rset=stmt.%Execute()
USER>while rset.%Next() { write rset.%Get("JobNumber"),"-",rset.%Get("Pid"),"-",rset.%Get("OSUserName"),"-",rset.
1
0 132
Artigo Danusa Calixto · Ago. 21, 2023 5m read

WIN SQL é o editor usado pela maioria dos usuários. No entanto, não é possível fazer o download de grandes quantidades de dados usando o winsql . Então, escrevi um tutorial sobre como fazer a conexão com um novo editor baseado em Java chamado Squirrel SQL, que permite fazer o download ou exportar dados facilmente em excel ou qualquer outro formato. Também incluí um programa de conexão JDBC do Java para se conectar com um banco de dados do IRIS, particularmente um servidor de espelhamento/tolerante a falhas.

0
0 117
Artigo Danusa Calixto · Ago. 21, 2023 3m read

Outro dia, vi um artigo sobre o uso do pacote %ZEN ao trabalhar com JSON e decidi escrever um artigo descrevendo uma abordagem mais moderna. Recentemente, houve uma grande mudança no uso de %ZEN.Auxiliary.* para as classes JSON dedicadas. Isso permitiu o trabalho mais orgânico com JSONs.

Portanto, há basicamente 3 classes principais para trabalhar com o JSON:

  • %Library.DynamicObject - oferece uma maneira simples e eficiente de encapsular e trabalhar com documentos JSON padrão. Além disso, há outra possibilidade além de escrever o código habitual para criar a instância de uma classe desta maneira
set obj = ##class(%Library.DynamicObject).%New()

É possível usar a seguinte sintaxe

set obj = {}
  • %Library.DynamicArray - oferece uma maneira simples e eficiente de encapsular e trabalhar com arrays JSON padrão. Com arrays, é possível usar a mesma abordagem com objetos, ou seja, você pode criar uma instância da classe
set array = ##class(%DynamicArray).%New()

Ou fazer isso usando colchetes []

set array = []
  • %JSON.Adaptor é uma maneira de mapear objetos do ObjectScript (registrado, serial ou persistente) para entidades dinâmicas ou texto JSON.
0
1 149
Artigo Danusa Calixto · Ago. 18, 2023 2m read

A InterSystems também lançou o IRIS como implantações em contêineres. Esta postagem demonstra como o InterSystems IRIS e os aplicativos que dependem do IRIS como um back-end podem ser empacotados em uma imagem e executados em outras máquinas em contêineres e como é simples fazer isso.

Um contêiner executa imagens que possuem todos os executáveis, código binário, bibliotecas e arquivos de configuração necessários. E as imagens podem ser movidas de uma máquina para outra, e um repositório de imagens como o Docker Hub pode simplificar esse processo.

0
0 72
Artigo Flávio Lúcio Naves Júnior · Ago. 16, 2023 3m read

Como observado no artigo anterior, a Native API possui algumas limitações.
Portanto, fiz algumas pesquisas sobre uma interface mais semelhante a um terminal que me forneça acesso como um console ou o terminal IRIS para permitir meu $QUERY em um global e outros comandos úteis que não são suportados/mapeados na NativeAPI para ObjectScript.

As ferramentas básicas estão bem preparadas e disponíveis.

  • Connection() cria uma partição totalmente operacional e estável para mim.
  • Function() permite chamar qualquer rotina ou método de que eu preciso.
2
0 80
Artigo Flávio Lúcio Naves Júnior · Ago. 16, 2023 3m read

Esta pergunta originalmente apareceu nos comentários do post: Download globals from a particular server

Este artigo foi inspirado por uma pergunta recente feita por @Evgeny.Shvarov.
Download globals from a particular server
Não se trata de um código de "clique e execute", mas sim de um rascunho que requer ajustes para atender às suas necessidades específicas. Você precisa adicionar.

1
0 77

Olá comunidade, todos bem? Espero que sim!

Estamos com uma vaga para atuar em um dos nossos clientes.

O Cliente busca um profissional com experiência em arquitetura, com perfil total de gestão,
com visão sistêmica da arquitetura, com bons conhecimentos em método ágil, que atue preventivamente. Precisa ter ótima comunicação, navegar bem entre as áreas e que tenha habilidade em resolver problemas.

Vaga híbrida em 2x presencial na Faria Lima - SP, contratação PJ e salário a combinar. 

É impreterível ter um perfil com experiência de gerente. 

Diferencial conhecer:  Tasy e IS. 

E-mail de contato: larissa.

0
0 87