Olá Comunidade,
Clique no play e mergulhe em nosso novo vídeo no InterSystems Developers YouTube:
⏯ Adaptive Analytics in Action - Two Customer Use Cases @ Global Summit 2023
InterSystems IRIS é uma plataforma de dados completa
A InterSystems IRIS oferece tudo que você precisa para capturar, compartilhar, entender e agir com base no ativo mais valioso de sua organização - seus dados.
Como uma plataforma completa, a InterSystems IRIS elimina a necessidade de integração de múltiplas tecnologias de desenvolvimento. As aplicações requerem menos código, menos recursos do sistema e menos manutenção.
Olá Comunidade,
Clique no play e mergulhe em nosso novo vídeo no InterSystems Developers YouTube:
⏯ Adaptive Analytics in Action - Two Customer Use Cases @ Global Summit 2023
Com o meu conhecimento básico sobre o contêiner Docker e a API REST, queria tentar usar o InterSystems API Manager pela primeira vez para controlar APIs e microsserviços. Concluí esse curso online usando minha instância IRIS local como host (SO Windows) e o IAM em execução em uma VM Linux (convidado).
Primeiro, quero apresentar o InterSystems API Manager (IAM), explicar as etapas para configurar meu ambiente local e, por último, mostrar os capítulos do curso.
Olá, comunidade
Neste artigo, vou apresentar meu aplicativo IRIS-FlaskBlog.
O IRIS-FlaskBlog é um aplicativo real que usa a funcionalidade de framework da Web Flask, o ORM SQLALchemy e o InterSystems IRIS. O aplicativo contém a inscrição e autenticação de usuários com a ajuda da biblioteca python Flask-Login, uma interface de usuário responsiva para criar e editar posts.
Boa tarde pessoal,
Gostaria de saber se é possível restaurar um backup usando direto um arquivo .DAT, ou se é possível somente restaurar um backup feito com arquivo .cbk?
Att. Flávio.
Olá Desenvolvedores,
Toque para assistir ao novo vídeo no InterSystems Developers YouTube:
⏯ Using InterSystems Reports for Insight @ Global Summit 2023
A InterSystems e a Red Hat estão trabalhando juntas para adicionar alertas específicos do IRIS ao Red Hat Insights.
O Red Hat Insights é um serviço para prever e recomendar correções para riscos de sistema em ambientes Red Hat Enterprise Linux. O Insights é gratuito com quase todas as assinaturas RHEL, OpenShift ou Ansible. Você pode aprender mais sobre o Insights no site da Red Hat.
Recomendação de Troca
A primeira recomendação “Aplicar recomendação de troca para melhor desempenho do InterSystems IRIS” foi ativada.
A InterSystems tomou a decisão de interromper o desenvolvimento do InterSystems Cloud Manager e rotulá-lo como obsoleto a partir do lançamento do InterSystems IRIS 2023.3. A InterSystems continuará a oferecer suporte aos clientes existentes que utilizam a tecnologia, mas ela não é mais recomendada para novas implantações.
Os clientes na nuvem que estão interessados em implantar e gerenciar uma implantação IRIS com muitos sistemas são incentivados a considerar o Kubernetes e o InterSystems Kubernetes Operator, que possui funcionalidade muito semelhante ao ICM.
CentOS não será mais uma plataforma de desenvolvimento suportada a partir do lançamento do InterSystems IRIS 2023.3.
CentOS era uma plataforma de desenvolvimento com suporte para oferecer aos desenvolvedores um equivalente gratuito ao Red Hat Enterprise Linux (RHEL) para desenvolvimento IRIS. Como você provavelmente sabe, a Red Hat fez mudanças significativas no CentOS, que o passaram a ser “upstream” do RHEL.
A InterSystems encerrará o suporte ao uso do sistema de arquivos VxFS com o InterSystems IRIS e o rotulará como obsoleto a partir do lançamento do InterSystems IRIS 2023.3. A InterSystems continuará a oferecer suporte a quaisquer clientes existentes que utilizem a tecnologia, mas ela não é mais recomendada para novas implantações.
O VxFS só tinha suporte no SUSE Linux. Os clientes afetados são incentivados a migrar para o XFS ou outro sistema de arquivos compatível.
Os clientes com dúvidas devem entrar em contato com a equipe de conta ou entrar em contato com @Bob Kuszewski diretamente.
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.
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á,
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.
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.
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(pythoOlá,
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!
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.
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.
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.
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 + 2 3
É bastante fácil avaliar e imprimir valores sem querer
>>> iris.
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:
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.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 maneiraset 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.
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.