A InterSystems decidiu interromper o desenvolvimento da tecnologia InterSystems IRIS Natural Language Processing, anteriormente conhecida como iKnow, e rotulá-la como obsoleta a partir da versão 2023.3 do InterSystems IRIS. A InterSystems continuará a apoiar os clientes existentes que utilizam a tecnologia, mas não recomenda iniciar novos projetos de desenvolvimento fora dos casos de uso de exploração de texto principal para os quais foi originalmente projetada.
Olá Desenvolvedor!
No próximo dia 9 de Novembro, às 10h, você é o convidado do nosso InterSystems Tech Café – a primeira edição deste evento virtual que, todos os meses, vai conectar você aos nossos Technical Specialists para solucionar dúvidas técnicas sobre a implantação da tecnologia InterSystems, além de trazer novidades que vão te deixar sempre atualizado!
Acesse o link e faça já sua inscrição!
Aproveite e encaminhe também suas dúvidas!
Clique aqui e envie agora mesmo suas dúvidas aos nossos profissionais.
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)
.
Olá Comunidade!
Sejam bem-vindos a 8ª edição do boletim de notícias do InterSystems Ideas ! Aqui está o vocês podem esperar dele:
✓ Novo vídeo descrevendo todas as páginas do Portal de Ideias
✓ Ideias implementadas desde o boletim de notícias anterior
⏯ Assista ao vídeo: Junte-se ao Hall da Fama
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
Hey guys
Is there any application or tool in the cache that can create a list of globals to be exported?
however,
Grateful
davidson
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.
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 = ##classOlá,
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.
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á!
Olá, comunidade,
No antigo anterior, aprendemos sobre os tópicos listados abaixo:
-
O que é o Docker?
-
Alguns dos benefícios do Docker
-
Como o Docker funciona?
-
Imagem do Docker
-
Contêiner Docker
-
Repositório de imagens do Docker
-
Repositório de imagens do Docker da InterSystems
-
Instalação do Docker
-
Comandos básicos do Docker
-
Execução do IRIS Community Edition usando o Docker
-
GUI do Docker Desktop
Neste artigo, vamos abordar os seguintes tópicos:
-
Uso do arquivo do Docker Compose (um arquivo YAML)
-
Uso do Docker file (usado para criar uma imagem do Docker)
-
Uso do volume do Docker
Vamos começar.
Olá Comunidade!
Nosso 2º InterSystems Idea-A-Thon chegou ao fim e resultou em 29 ideias brilhantes dedicadas ao tópico do concurso:
💡 Execute soluções de forma rápida, segura e ecológica com InterSystems IRIS 💡
Obrigada a todos por suas ideias, comentários e votos!
E agora é hora de anunciar os vencedores ...
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?
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.
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?
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).
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.
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.
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.
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 + 23
É bastante fácil avaliar e imprimir valores sem querer
>>> iris.
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 (".
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.
Argumentos 2
package com.madu.argumentos;
public class Argumentos2 {
public static void main(String[] args){
System.out.println("Olá Mundo " + args[0]);
}
}
Argumentos 1
package com.madu.argumentos;
classe pública Argumentos1 {
public static void main(String[] args) {
System.out.println("Voce digitou " + args[0]);
}
}
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.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.
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.
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.
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.
Em meus artigos anteriores, descrevi minha Extensão de Linha de Comando para NativeAPI.
É claro que isso também está disponível para qualquer outro pacote NativeAPI.
Portanto, criei este exemplo em Python como uma demonstração.


