.png)
Então, se você está acompanhando do post anterior ou entrando agora, vamos passar para o mundo dos aplicativos eBPF e dar uma olhada no Parca, que se baseia em nossa breve investigação de gargalos de desempenho usando eBPF, mas coloca um aplicativo incrível no topo do seu cluster para monitorar todas as suas cargas de trabalho iris, continuamente, em todo o cluster!
.png)
Perfilamento Contínuo com Parca, Cargas de Trabalho IRIS em Todo o Cluster
– 5 novos anúncios
– 2 novas perguntas
✓ 2 novos membros ingressaram em Setembro
✓ 1,173 postagens publicadas ao todo
✓ 591 membros ingressaram ao todo
.png)
Eu estive na Cloud Native Security Con em Seattle com total intenção de entrar no dia de OTEL, então lendo o assunto de segurança aplicada a fluxos de trabalho Cloud Native nos dias seguintes até CTF como um exercício profissional. Isso foi felizmente finalizado por um novo entendimento de eBPF, que tem minhas telas, carreira, fluxos de trabalho e atitude com muita necessidade de uma melhoria com novas abordagens para resolver problemas de fluxo de trabalho.
Então, consegui chegar à festa do eBPF e desde então tenho participado de clínica após clínica sobre o assunto. Aqui, gostaria de "desempacotar" o eBPF como uma solução técnica, mapeada diretamente para o que fazemos na prática (mesmo que esteja um pouco fora), e passar pelo eBPF através da minha experimentação em suporte a cargas de trabalho InterSystems IRIS, particularmente no Kubernetes, mas não necessariamente vazio em cargas de trabalho autônomas.
.png)
Passos eBee com eBPF e fluxos de trabalho InterSystems IRIS
Tem um jeito fácil de adicionar um certificado (CA - certificate authority) às suas configurações no InterSystems IRIS 2019.1 (e 2018.1.2) no Windows e Mac. Você pode pedir para o IRIS usar a loja de certificados do sistema operacional usando:
%OSCertificateStore
no campo "File containing Trusted Certificate Authority X.509 certificate(s)". Aqui está uma imagem de como fazer isso no portal:

E aqui está um link para a documentação que descreve isto. Está na lista de opções abaixo de "File containing trusted Certificate Authority certificate(s)".
Isso é tudo que você precisa fazer!
Baseado num ótimo exemplo e workshop construído por @Luis Angel Pérez Ramos (veja artigos relacionados e o Open Exchange app relacionado), que incluiu um container local InterSystems for Health (e setup desejado), essa amostra apresentada aqui, adaptada do workshop para usar o InterSystems Cloud FHIR Server, e suas definições relacionadas.

Na sessão anterior, exploramos o processo de instalação e começamos a escrever o IRIS em Python nativo. Agora procederemos a examinar a global percorrida e interatuar com os objetos da classe IRIS
get: esta função se utiliza para obter valores do nó percorrido
def traversal_firstlevel_subscript():
"""
^mygbl(235)="test66,62" and ^mygbl(912)="test118,78"
"""
for i in irispy.node('^mygbl'):
print(i, gbl_node.get(i,''))
node e items: percorrido de um só nível com node e obtenção dos valores da mesma maeira que $Order(^mygbl(subscript), direction, data).
Talvez você saiba que você pode pesquisar por postagens na CD por Tags
inicinando na borda esquerda acima
e .png)
Para comçar isso está ótimo. Porém, baseado em alguns feedbacks locais, algumas melhorias poderiam tornar mais útil. O SELECT funciona IF TAGS CONTAIN %tag. Isso enche você de vários resultados frequentemente muito mais úteis. As sugestões para as extensões:
- ... IF TAGS CONTAINS ONLY %tag // para uma Tag específica
- ... IF TAGS CONTAIN (%tag1,%tag2,%tag3,...) // várias tags específicas
- ... IF TAGS NOT CONTAIN (%tag4,%tag5) // excluir conteúdo não
Ao compilar minha classe Utils.Persistence.Menu no Studio ele apresenta a seguinte mensagem
ERROR #5356: Compiled storage class '%Storage.SQL doesnot exist
ERROR #5030: An error occurred while compiling class 'Utils.Persistence.Menu'
essa classe foi alterada no IRIS 2024 e após essa alteração começou a apresentar esse erro no CACHE 2018
no IRIS ela compila sem erros.
Alguém sabe como resolver?
Rubrica InterSystems FAQ
No SQL, dados NULL e a string vazia ('') são dados diferentes. O método para definir e checar cada uma é como se segue
(1) dado NULL
[SQL]
insert into test(a) values(NULL)
select * from test where a IS NULL[InterSystems ObjectScript]
set x=##class(User.test).%New()
set x.a=""(2) String Vazia ('')
[SQL]
insert into test(a) values('')
select * from test where a = ''[InterSystems ObjectScript]
set x=##class(User.test).%New()
set x.a=$C(0)Para mais informações, por favor veja os seguintes documentos:
Nós concluímos essa série de artigos SMART On FHIR com Auth0 e InterSystems FHIR Repository revisando nossa aplicação desenvolvida em Angular 16.
No último artigo nós apresentamos a arquitetura do nosso projeto SMART On FHIR, então agora é o momento de colocar a mão na massa e começar a configurar os elementos que vamos precisar.
Vamos começar com Auth0.
Configuração AUTH0
Vamos começar criando uma conta Auth0 com um email válido. Uma vez registrada, vamos criar nossa primeira aplicação e faremos isso do menu a esquerda:

Em nosso exemplo, a aplicação será do tipo Single Page Web Application, como é uma aplicação desenvolvida em Angular 16. Selecionamos esta opção e clicamos em Create.

Como estou desenvolvendo uma aplicação para auditoria de arquivo fiscal digital, EFD ICMS IPI, optei por armazenar os dados diretamente em globais. Uma vez que os registros do arquivo EFD são formato txt e tem características semelhantes às linhas de registro de global.
Para poder analisar os itens de saída das Notas Fiscais Eletrônicas, fiz a importação também dos dados destes arquivos, e os armazenei em global.
[FAQ] Preguntas frecuentes de InterSystems
O seguinte código baixa https://www.intersystems.com/assets/intersystems-logo.png e salva o arquivo como c:\temp\test.png.
É necessário definir uma configuração SSL chamada SSLTEST antes de executar esse código
ClassMethod download() As %Status
{
Set sc = $$$OK
Set httprequest=##class(%Net.HttpRequest).%New()
set httprequest.Port = 443
set httprequest.Https = 1
set httprequest.SSLConfiguration = "SSLTEST"
Set httprequest.Server="www.intersystems.com"
Do httprequest.Get("/assets/intersystems-logo.Introdução
Eu recentemente participei no "mão na massa" fantasticamente organizado pelo @Patrick Jamieson no qual uma aplicação Angular foi configurada junto com um servidor IRIS FHIR seguindo os protocolos definidos pelo SMART On FHIR e eu o achei muito interessante, então decidi desenvolver a minha própria aplicação Angular e então usar o que aprendi e publicar na comunidade.
SMART On FHIR
Vamos ver o que o Google nos conta sobre o SMART On FHIR:
SMART on FHIR é um padrão de dados que permite que aplicações acessem informação em sistemas de registro eletrônico de saúde (EHR).
Olá comunidade
Nós experimentamos anteriormente o Python embutido em IRIS; no entanto, eu ainda não tive a oportunidade de implementar IRIS usando Python nativo. Nesse artigo, vou percorrer os passos que eu usei para começar a aprender e implementar IRIS dentro da fonte Python. Eu também gostaria de agradecer @Guillaume Rongier e @LuisAngel.PérezRamos pela ajuda resolvendo os problemas que encontrei durante minha recente instalação PIP de IRIS no Python, que eu habilitei para funcionar adequadamente.
Vamos começar a escrever IRIS em Python.
Olá, Comunidade!
É hora do próximo concurso da Comunidade de Desenvolvedores InterSystems!
✍️ Concurso de Tutoriais Técnicos InterSystems IRIS ✍️
Crie um Tutorial** Técnico que possa ser considerado um guia para programadores de InterSystems IRIS de qualquer nível: iniciante/intermediário/sênior, de 14 de outubro a 24 de novembro. O tutorial pode ser no formato de Artigo com textos e imagens e/ou Vídeo demonstrativo.
Aproveite e deixe a sua criatividade fluir! Mostre o quanto pode ser fácil e divertido criar soluções com o InterSystems IRIS.
🎁 Prêmios para todos: Um prêmio especial para cada autor participante do concurso!

Tem dois ótimos artigos WRC de melhores práticas Mensagens Órfãs do Ensemble | Comunidade de Desenvolvedores InterSystems | Melhores
e a postagem sobre a ajuda de eliminação DeleteHelper - Uma classe para ajudar a deletar Classes Persistentes Referenciadas que tratam de registros órfãos e como lidar com eles.
Ola Comunidade,
Aqui esta um resumo dos vídeos da Comunidade de Desenvolvedores no canal InterSystems Developers do YouTube em Agosto de 2024:
Estou animado em compartilhar que a equipe de Learning Services adicionou recentemente novo conteúdo ao nosso InterSystems Reports Learning Path. Esses vídeos mais recentes, criados por nosso parceiro, insightsoftware, fornecem instruções para desenvolver relatórios com o InterSystems Report Designer.
Nesses três vídeos curtos, você aprenderá como:
- Introdução ao Report Designer: Uma orientação que o orienta na criação de um Banded Report.
- Adicionar fórmulas a relatórios: Aprenda a incorporar fórmulas em seus relatórios existentes.
Rubrica InterSystems FAQ
Isso pode ser conseguido usando o procedimento CSV() da classe %SQL.Util.Procedures .
Abaixo está o exemplo de uso do código. (Assumindo que o arquivo test.csv está em c:\temp.)
Set filename="c:\temp\test.csv"
Set result=##class(%SQL.Statement).%ExecDirect(,"call %SQL_Util.CSV(,?,?)",.rowtype,.filename)
Set rset =result.%NextResult()
// To display all results, use do rset.%Display()
While rset.%Next() {
Write "Name:",rset.%GetData(1)," UID:",rset.%GetData(2)," PHONE:",rset.%GetData(3),!
Incluo esse post para ajudar os usuários de WebTerminal que atualizaram à versão IRIS 2024.2 -- (Build 247U) Tue Jul 16 2024 09:52:30 EDT -- liberada recentemente, ou estão considerando fazê-lo.
Essa versão 2024.2 contém uma mudança (DP-432503) que precisa que o usuário através do qual se conecta inicialmente ao Web Gateway (normalmente CSPSystem) deva ter permissões de leitura (READ) sobre a base de dados em que se encontra a classe de dispatching da aplicação web de tipo REST.
Como parte do concurso IRIS Python 2024, meu colega Damir e eu tivemos uma ideia de onstruir uma plataforma chamada ShelterShare para conectar vítimas e voluntários para requisições de abrigo. Para isso, escolhemos Django como uma framework e procedemos para construir a primeira versão ccom 3 docker containers diferentes, django, iris e nginx, que iriam então utilizar o IRIS puramente como uma máquina de base de dados pelo muito bem composto django_iris (cumprimentos ao Dimitry).
Faz bastante tempo desde a última vez que escrevi uma postagem de atualização do IoP.

Então, o que há de novo desde o lançamento da interface de linha de comando IoP?
Dois novos grandes recursos foram adicionados ao IoP:
- Rebranding: o módulo
grongier.pexfoi renomeado paraioppara refletir o novo nome do projeto. - suporte Async: IoP agora suporta funções assíncronas e co-rotinas.
Rebranding
O módulo grongier.pex foi renomeado para iop para refletir o novo nome do projeto.
O módulo grongier.pex ainda está disponível para compatibilidade retroativa, mas será removido no futuro.
– 17 novos anúncios
– 1 nova discussão
✓ 6 novos membros ingressaram em Agosto
✓ 1,150 postagens publicadas ao todo
✓ 586 membros ingressaram ao todo
Rubrica InterSystems FAQ
Os dados dos produtos InterSystems (linha de tabela, instância de objeto) são guardados em variáveis globais.
O tamanho de dados de cada global pode ser obtido clicando nas propriedades da global que você quer ver da página Portal de Adminitração > Sistema > Configuração > Base de dados Local > Globais, então clicando no botão Calcular Tamanho na página de atributos globais que aparece.
Se você encontrou o problema de que nem todas as linhas do seu resultado estão retornando no seu snapshot, você está no lugar certo.
Ao usar snapshots, existe uma informação não trivial de que eles têm um máximo de linhas que vem por padrão como 250.
Para mudar isso é muito simples. Ao invés de enviar o snapshot como referência direto no seu método de execução de query ou procedure, vamos inicializá-lo antes e definir um valor na propriedade MaxRowsToGet.
Set resultSet = ##class(%ListOfObjects).%New()
Set snapshot = ##class(EnsLib.SQL.Snapshot).%New()
Set snapshot.Tenho orgulho de anunciar o novo lançamento de iris-pex-embedded-python (v2.3.1) com uma nova interface de linha de comando.
Essa linha de comando é chamada iop, de Interoperability On Python.
Primeiro, eu gostaria de apresentar em algumas palavras as maiores mudanças no projeto desde a primeira versão.
Um breve histórico do projeto
A versão 1.0 foi uma prova de conceito para mostrar como a framework de interoperabilidade do IRIS pode ser usada com uma abordagem primeiro python enquanto permanece compatível com qualquer código ObjectScript existente.
O que isso significa? Significa que qualquer desenvolvedor python pode usar a framework de interoperabilidade do IRIS sem ter nenhum conhecimento de ObjectScript.
Exemplo:
from grongier.pex import BusinessOperation
class MyBusinessOperation(BusinessOperation):
def on_message(self, request):
self.log.info("Received request")
Incrível, não é?
Olá, Comunidade!
Você está usando ferramentas de IA generativa para desenvolvimento? Deixe que os princípios da InterSystems sejam a sua estrela-guia! 🌟
Are you using generative AI tools for development? Let InterSystems principles be your guiding star! 🌟 Saiba mais sobre a abordagem da empresa:
Usando IA Generativa com Responsabilidade


