Olá Comunidade,
Aproveite o novo vídeo no InterSystems Developers YouTube:
⏯ Leveraging Automation Tools for Deploying InterSystems IRIS Applications @ Global Summit 2024
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,
Aproveite o novo vídeo no InterSystems Developers YouTube:
⏯ Leveraging Automation Tools for Deploying InterSystems IRIS Applications @ Global Summit 2024
Olá! Eu expandi meu repositório de demonstração, andreas5588/demo-dbs-iris,para facilitar o teste dos recursosFOREIGN SERVER e FOREIGN TABLE no IRIS.
Para alcançar isso, criei um namespace chamado FEDERATION. A ideia é a seguinte:
O Script: .png)
O IRIS não suporta a execução de instruções SQL que combinam tabelas de diferentes namespaces.
Quando você implanta código de um repositório, a deleção de classes (arquivos) pode não ser refletida pelo seu sistema CICD.
Aqui está um simples código para automaticamente deletar todas as classes em um pacote específico que não foi importado; Ele pode ser facilmente ajustado para uma variedade de tarefas adjuntas:
set packages = "USER.*,MyCustomPackage.*"
set dir = "C:\InterSystems\src\"
set sc = $SYSTEM.OBJ.LoadDir(dir,"ck", .err, 1, .loaded)
set sc = $SYSTEM.OBJ.Delete(packages _ ",'" _ $LTS($LI($LFS(loaded_",",".cls,"), 1, *-1), ",'"),, .err2)O primeiro comando compila classes e também retorna uma lista de classes carregadas. O segundo comando deleta todas as classes de pacotes específicos, com exceção às classes carregadas anteriormente a ele.
Existe uma forma de saber quais as globais que são acessadas, gravadas, excluídas por uma rotina?
Através do studio sei que é possível trocar a cor das globais.
Gostaria de saber se temos um método ou global onde elas ficam gravadas.
Usando o Python no InterSystems IRIS – Calculando uma Regressão Logística Binária
Olá,
Neste artigo vamos ver como usar o python para calcular uma regressão logística binária no Iris.
A regressão logística é um método estatístico utilizado para modelar e prever a probabilidade de um evento ocorrer, sendo particularmente útil quando a variável dependente (ou de saída) é categórica. A forma mais comum é a regressão logística binária, onde o objetivo é prever entre duas classes, como "sim/não", "0/1" ou "positivo/negativo".
Se você quer descobrir qual exatamente é a versão da sua imagem (e desde o mais recente esquema de tagging de imagens você não pode mais confiar na tag da imagem; e assumindo que você não quer realmente rodar somente para descobrir) você pode rodar esse comando do docker:
Olá, gostaria de saber se existe uma maneira de desabilitar o modo de transação ao executar o delete de uma tabela com sql
exemplo:
&SQL(DELETE FROM tabela where data>=:dataInicio and data<=:dataFim)
nesse exemplo estou executando o comando
do $system.OBJ.SetTransactionMode(0)
Porém quando executo o DELETE o processo entra em modo de transação.
Para resolver o erro <PROTECT>, remova o atributo somente leitura do banco de dados da biblioteca de todo o sistema (IRISLIB para InterSystems IRIS, CACHELIB para Caché/Ensemble/HealthShare (baseado em Caché))
Quando terminar de importar a rotina, lembre-se de alterá-la novamente para somente leitura.
[Versão 2013.1 e acima]
[Portal de Gerenciamento] > [Administração do Sistema] > [Configuração] > [Configuração do Sistema] > [Banco de Dados Local] Desmarque "Mount read-only" (Montar somente leitura) no link do nome do banco de dados.
.png)
[Versão 2011.
Olá Comunidade,
Já está disponível o video do Webinar realizado no último dia 20 de dezembro com os vencedores do Concurso de Tutoriais Técnicos InterSystems IRIS da Comunidade de Desenvolvedores PT.
Tivemos a oportunidade de fazer um bate-papo descontraído com os vencedores para compartilharem conosco um pouco sobre suas experiencias profissionais com as tecnologias da InterSystems, e como foi a preparação para elaborar os tutoriais participantes do concurso.
Nós estávamos com uma ocorrência em um cliente em que todas as licenças estavam sendo consumidas e a CPU bastane onerada.
Consultávamos no portal de administração, na lista de processos, mas como o problema era intermitente, não conseguiamos identificar o "vilão".
Fizemos um programa simples, que coleta os processos e algumas informações destes, tais como : IP, executável etc., e gravamos em arquivo .csv.
No portal de administração -> Operação do Sistema -> Gerenciador de Tarefas, cadastramos uma nova tarefa que executa este programa a cada 10 minutos.
Eu criei uma classe que gera código para query customizada a partir de uma global qualquer em um determinado namespace, fazendo com que a global responda ao padrão SQL imediatamente.
Veja abaixo tela com exemplo de uma Global.
.png)
Na tela seguinte, como exemplo, executo método passando parâmetros (global e namespace):
Por último, acesso o portal de Administração e executo a query já com a Global respondendo em SQL
Os campos que são exibidos no SQL são correspondentes aos Pieces e níveis da global.
Olá Comunidade!
Realizaremos um Webinar com os vencedores do Concurso de Tutoriais Técnicos InterSystems IRIS da Comunidade de Desenvolvedores PT.

Teremos a oportunidade de conhecer um pouquinho mais os membros vencedores do concurso que contribuíram, e continuam colaborando, com ótimos tutoriais e conteúdos para a nossa Comunidade.
Dear all, I hope you are well.
We migrated from CACHE 2018 to IRIS 2023.1 on 12/2/2024, and I am having a big problem identifying the client's IP address, because IRIS is getting an IP number with characters as if it were IPV6. Our LINUX support has already made all the configurations requested by Intersystems support, disabled IPv6, and several other configurations, but we have not been successful.
Using the class "##CLASS(%SYS.ProcessQuery).Open($job)", we get the return: "ClientIPAddress = "::ffff:192.168.223.
De acordo com o relatório OWASP Top Ten de 2021, um documento de referência na área de segurança de aplicações web, as injeções SQL ocupam a terceira posição entre os riscos mais críticos. Este relatório, disponível em OWASP Top 10: Injection, destaca a gravidade dessa ameaça e a necessidade de implementar medidas de proteção eficazes.
Uma injeção SQL ocorre quando um atacante malicioso consegue inserir código SQL não autorizado em uma consulta enviada a um banco de dados. Esse código, disfarçado nas entradas do usuário, pode então ser executado pelo banco de dados, causando ações indesejáveis como o roubo de dados confidenciais, a modificação ou a exclusão de informações sensíveis, ou ainda a interrupção do funcionamento da aplicação.
A capacidade de reenviar mensagens sempre foi um dos destaques das nossas funcionalidades de interoperabilidade.
Com a versão 2024.3, que será lançada em breve (já disponível como prévia para desenvolvedores), tornamos esse processo ainda mais simples!
Se vocês gostam de Java e têm um ecossistema Java ativo no trabalho e precisam incorporar IRIS, isso não é um problema. A Gateway de Linguagem Externa de Java fará isso sem complicações, ou quase. Essa gateway serve como ponte entre Java e ObjectScript no IRIS. Vocês podem criar objetos de classes Java no IRIS e chamar seus métodos. Só precisam de um arquivo JAR para fazer isso.

Olá Comunidade!
É com imensa satisfação que anunciamos os vencedores do ✍️ Concurso de Tutoriais Técnicos InterSystems IRIS ✍️.

Agradecemos a todos os participantes por seu empenho e contribuição à nossa comunidade. Temos ótimos novos artigos tutoriais para ler e reproduzir, e assim enriquecer nosso conhecimento e habilidades de desenvolvimento na tecnologia InterSystems IRIS.
Vencedores da Premiação de Especialista
🥇 1º lugar: Utilizando IRIS - Vector Search - Estudo de Caso: Recomendação de Filmes por @Davi Massaru Teixeira Muta
🥈 2º lugar: por @Yuri Marx
🥉 3º lugar: por
Usando o Python no InterSystems IRIS – Montando o Relatório de Análise Exploratória de Dados
Olá,
Neste artigo vamos ver como usar o python para realizar a análise exploratória de dados (Exploratory Data Analysis - EDA) em um dataframe.
EDA é uma etapa importante no ciclo de análise de dados, É quando você examina os dados para entender suas características e padrões.
A versão 2024.3 da plataforma de dados InterSystems IRIS® ,InterSystems IRIS® for HealthTM, and HealthShare® Health Connect já está disponível para o público em geral.
Nesta versão, você pode esperar uma série de atualizações interessantes, incluindo:
Usando o Python no InterSystems IRIS – Calculando uma Regressão Polinomial
Olá,
Neste artigo vamos ver como usar o python para calcular uma regressão polinomial no Iris.
A regressão polinomial é um modelo estatístico que é uma extensão da regressão linear. Ela é útil quando a relação entre as variáveis independente e dependente não é linear, sendo melhor definida como curva.
A regressão polinomial nos dá como resposta informações que podem ajudar a entender o modelo, assim como a regressão linear: coeficientes, o R2 e o intercepto.
Usando o Python no InterSystems IRIS – Calculando uma Regressão Linear Simples
Olá,
Neste artigo vamos ver como usar o python para calcular uma regressão linear simples no Iris.
A regressão linear simples é um modelo estatístico que tem como objetivo apontar como será o comportamento de uma variável dependente (y) em relação a uma variável independente (x), ou seja, a regressão linear simples é uma maneira de verificar a relação entre duas variáveis.
Assista ao vídeo explicativo com conteúdo deste tutorial.
Este artigo explora o potencial do Vector Search do InterSystems IRIS em um estudo de caso para recomendação de filmes.
Serão demonstrados os passos necessários para o armazenamento e a consulta de registros no banco de dados InterSystems IRIS. Abordando a criação da tabela, armazenamento dos registros e a construção de uma aplicação de consulta, onde terá a disponibilização por meio do mais novo recurso WSGI.
Já estamos em 2024, a versão IRIS 2024.1 acabou de ser lançada e todo mundo está falando sobre ela por aqui. Já temos muitos tutoriais sobre busca vetorial e aplicações de chat de inteligência artificial. Hoje quero propor algo diferente. Quero apresentar uma ideia e explorar todos os seus limites, e ao longo do texto farei algumas perguntas sobre a capacidade das ferramentas utilizadas, para que depois possamos compreender não só os resultados das novas funcionalidades, mas também como a máquina as processa.
Projeto 1 - Integração utilizando SOAP Inbound Adapter
A idéia deste novo conjunto de postagens é apresentar uma série de integrações utilizando o InterSystems IRIS. Vamos ver integrações REST, SOAP, utilizando adaptadores ODBC, Arquivos e outros.
Vamos montar nossa primeira integração completa, passando pelas camadas de BS, BP e BO, e devolvendo a resposta esperada. Vamos montar essa nossa primeira integração utilizando o SOAP como o adaptador de entrada, e como cliente vamos utilizar o SoapUI.
Vamos então começar:
1. SoapUI
Baixe o SoapUI do site de download dele (https://www.soapui.org/downloads/soapui/
Isso pode ser obtido com uma query de lista da classe %SYS.Namespace
1. Crie uma rotina assim:
getnsp
set##class2. Rode no seu terminal
O método de executar queries de classe introduzido nesse artigo pode ser aplicado em uma variedade de classes
Você pode ver várias queries de classe na referência de classe. Por exemplo,
Espaço livre na base de dados
Lista de nomes de globais na base de dados
Lista de tamanhos de globais na base de dados
O número máximo de namespaces que se podem criar em uma instância é de 2047. No entanto, para utilizar um grande número de namespaces, é necessário configurar a memória adequadamente.
O número máximo de bases de dados (incluso as bases de dados remotas) que se pode criar em uma instância é de 15.998. Dependendo do tipo de licença, pode haver restrições sobre a quantidade que se pode criar. Para mais detalhes, consulte o seguinte documento.
Bem-vindo à terceira e última publicação de nossos artigos dedicados ao desenvolvimento de aplicações RAG baseadas em modelos LLM. Neste último artigo, veremos, com base em nosso pequeno projeto de exemplo, como podemos encontrar o contexto mais adequado para a pergunta que queremos enviar ao nosso modelo LLM e para isso utilizaremos a funcionalidade de busca vetorial incluída no IRIS.

Um elemento-chave de qualquer aplicação RAG é o mecanismo de busca vetorial, que permite pesquisar dentro de uma tabela com registros desse tipo aqueles mais semelhantes ao vetor de referência.
Continuamos com esta série de artigos sobre LLMs e aplicações RAG e neste artigo discutiremos a parte da caixa vermelha do seguinte diagrama:
.png)
No processo de criação de uma aplicação RAG, escolher um modelo LLM adequado às suas necessidades (treinado no assunto correspondente, custos, velocidade, etc.) é tão importante quanto ter um claro entendimento do contexto que você deseja fornecer. Vamos começar definindo o termo para ficarmos claros sobre o que entendemos por contexto.
Projeto 8 – REST Outbound Adapter
Olá. Vamos montar nossa próxima integração utilizando o adaptador SOAP Inbound Adapter chamando um BP que chamará um BO que utilizará o REST Outbound Adapter.
O BO que vamos construir irá chamar o nosso BS que montamos no artigo https://pt.community.intersystems.com/post/desenvolvendo-integra%C3%A7%C3%B5es-com-o-intersystems-iris-aplica%C3%A7%C3%A3o-rest mas, importante, note que poderíamos chamar qualquer serviço interno no nosso integrador ou outra instância IRIS, ou externo em qualquer outro sistema com esse adaptador.
Você provavelmente já ouviu falar muito sobre LLMs (Large Language Models) e o desenvolvimento associado de aplicações RAG (Retrieval Augmented Generation) no último ano. Bem, nesta série de artigos explicaremos os fundamentos de cada termo usado e veremos como desenvolver uma aplicação RAG simples.
O que é um LLM?
Modelos LLM fazem parte do que conhecemos como IA generativa e sua fundação é a vetorização de enormes quantidades de textos.