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

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
0
0 74
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:

0
0 95
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.

1
0 131
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 115
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 148
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 71
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.
  • similar a ClassMethodValue e ClassMethodVoid
2
0 78
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 74

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. 

0
0 85
InterSystems Oficial Danusa Calixto · Ago. 14, 2023

InterSystems Kubernetes Operator (IKO) 3.6 agora está disponível. O IKO 3.6 adiciona novas funcionalidades significativas junto com inúmeras correções de bugs. Os destaques incluem:

0
0 56
Artigo Danusa Calixto · Ago. 14, 2023 1m read

Olá Desenvolvedores! 

Sabemos que você entrou na Comunidade para se conectar com outras pessoas e fazer contatos ou para compartilhar seu conhecimento e fazer perguntas. Para tornar mais fácil para todos aprenderem um pouco mais uns sobre os outros, gostaríamos de pedir que preencham sua biografia e adicionem um pouco de informação sobre vocês.

0
0 63
Artigo Danusa Calixto · Ago. 11, 2023 12m read

Divertido ou não — quão sério é isso?

Os modelos de linguagem grande estão causando alguns fenômenos nos últimos meses. É claro que eu também estava testando o ChatGPT no final de semana passado, para sondar se ele poderia ser um complemento para alguns chatbots de IA "tradicionais" baseados em BERT que eu estava inventando, ou simplesmente os eliminaria. 

0
0 118
Artigo Danusa Calixto · Ago. 8, 2023 11m read

Prefácio

O InterSystems IRIS a partir da versão 2022.2 inclui uma funcionalidade reformulada para JSON web tokens (JWTs). Antes localizada no pacote da classe %OAuth2, a classe JWT, junto com as outras classes da Web JSON (JWCs), agora está em %Net.JSON. Essa migração ocorreu para modularizar as JWCs. Antes, eles estavam estreitamente ligados à implementação do framework OAuth 2.0. Agora, eles podem ser mantidos e usados separadamente.

Observação: para a compatibilidade com as versões anteriores, as classes ainda existem no pacote %OAuth2, mas a codebase agora usa %Net.JSON.

0
0 87
Artigo Danusa Calixto · Ago. 8, 2023 4m read

Com o InterSystems IRIS 2022.2, apresentamos o armazenamento colunar como uma nova opção para a persistência das suas tabelas SQL do IRIS que pode otimizar suas consultas analíticas por ordem de magnitude. O recurso está marcado como experimental em 2022.2 e 2022.3, mas se tornará um recurso de produção totalmente compatível no próximo lançamento de 2023.1. 

A documentação do produto e este vídeo introdutório já descrevem as diferenças entre o armazenamento em linhas, que ainda é o padrão no IRIS e é usado pela nossa base de clientes, e o armazenamento de tabela colunar, além de fornecer orientações de alta qualidade para a escolha do layout de armazenamento adequado para seu caso de uso. Neste artigo, vamos falar sobre esse tema e compartilhar algumas recomendações com base nos princípios de modelagem do setor, testes internos e feedback dos participantes do Programa de Acesso Antecipado. 

0
0 81
Artigo Danusa Calixto · Ago. 7, 2023 1m read

InterSystems FAQ

Se o valor de uma variável local é um OREF ou não, pode ser determinado usando $IsObject(). Seja v a variável que você deseja verificar,

$IsObject(v)=1// v is an OREF$IsObject(v)=0// v is not an OREF$IsObject(v)=-1// v is an OREF but does not point to a valid object

Observe que $IsObject(v) dará um erro UNDEFINED se v for indefinido.

Para evitar erros UNDEFINED, é recomendado o uso do $Get assim:

$IsObject($Get(v))
0
0 108
Artigo Danusa Calixto · Ago. 7, 2023 1m read

InterSystems FAQ 

Você pode definir páginas de erro individuais para as seguintes mensagens de erro/respostas de sistema do Web Gateway:   

  • erro de servidor 
  • servidor ocupado
  • servidor indisponível
  • tempo limite do servidor
  • conexão fechada

As configurações são feitas na tela de Gerenciamento do Web Gateway ([Management Portal] > [System Administration] > [Configuration] > [Web Gateway Management] > [Configuration] > [Default Parameters]).

Na seção Página de Erro do menu de Parâmetros Padrão, defina o nome do arquivo da página html a ser exibida ou o caminho (URL) para a qual redirecionar quando ocorrer um erro.  

  

0
0 65
Artigo Cristiano Silva · Ago. 7, 2023 2m read

Transformações DTL e chamadas GetValueAt/SetValueAt em mensagens HL7 truncarão todos os campos com mais de 32 K. Para evitar isso, os métodos GetFieldStreamRaw e StoreFieldStreamRaw devem ser utilizados ao lidar com campos que possam ser maiores que 32K. OBX:5 é um exemplo frequente. Esses métodos têm algumas sutilezas e devem ser usados com cuidado.

0
0 69
InterSystems Oficial Danusa Calixto · Ago. 3, 2023

A InterSystems corrigiu 2 defeitos.

O primeiro defeito pode fazer com que um servidor de aplicativos ECP trave. Este defeito é relevante apenas para processadores ARM e IBM Power; está presente nas versões 2022.1.2 e 2022.1.3 do InterSystems IRIS®, InterSystems IRIS for Health™ e HealthShare® Health Connect. A correção é identificada como DP-423661. O defeito é corrigido em todas as versões futuras.
 

0
0 99
Artigo Cristiano Silva · Jul. 31, 2023 2m read

Ao criar Business Hosts personalizados, muitas vezes é necessário adicionar propriedades à classe para configurações adicionais que serão usadas na inicialização ou operação do host. O próprio nome da propriedade nem sempre é muito descritivo, por isso é uma vantagem ter uma exibição de legenda personalizada com o campo.

No Ensemble, era bastante simples:

TEST> Set^CacheMsg("EnsColumns","pt-br","<propriedade>") = "<legenda>"

Mas envolve um pouco mais de esforço no IRIS...

0
0 56
Anúncio Danusa Calixto · Jul. 28, 2023

Olá Desenvolvedores!

Temos o prazer em convidá-los para o concurso dedicado às suas idéias brilhantes relacionadas às tecnologias InterSystems: 

🎁 2º Idea-A-Thon da InterSystems 🎁

Poste uma idéia de acordo com tema deste Idea-A-Thon entre 01 e 21 de Agosto e receba um prêmio garantido

Tanto os funcionários da InterSystems quanto os membros da comunidade estão convidados a participar!

0
0 101
Anúncio Danusa Calixto · Jul. 20, 2023

Olá Comunidade! 

O Global Summit 2023 em Hollywood acabou de terminar, mas as palestras já estão disponíveis para aqueles que as perderam enquanto estavam no local ou que não puderam comparecer a este evento presencial por algum motivo ou outro (ou apenas para aqueles que desejam refrescar sua memória e ouvi-los novamente).

InterSystems 30th Global Summit Welcomes Virtual Participants to Experience  Innovation at its Best!

Divirta-se assistindo todas as palestras dos três dias do Global Summit 2023 através desta lista de reprodução do YouTube:

0
0 49