Pesquisar

Resumo
· Set. 15

【週間ダイジェスト】 9/08 ~ 9/14 の開発者コミュニティへの投稿

Anúncio
· Set. 14

JediSoft IRISsync® - Synchronize Smarter, Manage Faster!

We are excited to announce the general availability of JediSoft IRISsync®, our new synchronization and comparison solution built on InterSystems IRIS technology.  IRISsync makes it easy to synchronize and compare IRIS instances.

IRISsync was voted runner-up in the "Most Likely to Use" category at InterSystems READY 2025 Demos and Drinks.

A huge thanks to everyone who supported us — we’re thrilled to see IRISsync resonating with the InterSystems user community!

IRISsync provides clear visibility into differences between environments. It is fast, reliable, and designed for both test and production use. Features include copying user accounts & security roles from one server to another, synchronizing global & routine mappings, and updating your IRIS license on multiple servers simultaneously, just to mention a few.

Benefits

  • Ensure consistency between mirrored or clustered IRIS environments.
  • Save time by automating configuration comparisons and updates.
  • Improve reliability in critical healthcare and enterprise systems by reducing misconfigurations.
  • Supports compliance by providing audit-friendly synchronization and monitoring tools.

Key Features

  • Multi-Server Support
    Manage and synchronize settings across multiple servers, either mirrored or not. The server panel allows easy selection of IRIS instances or server families for cross-environment comparison.
  • Configuration Comparison & Synchronization
    Compare configuration settings across multiple IRIS servers with fine-tuned filters. IRISsync highlights differences, missing items, read-only properties, and updates, helping you as an administrator to quickly identify and resolve inconsistencies.
  • Granular Filters
    Skip or ignore selected parameters such as dates, passwords, host names or system resources to focus only on meaningful configuration changes.
  • Change Management
    Review differences and apply updates selectively. IRISsync provides detailed counts of different, missing, read-only, updated, and accepted configuration items.
  • Error Logging & Diagnostics
    Built-in messaging tracks retrieval times, communication issues, and synchronization errors, providing clear visibility into server health and update processes.
  • Flexible Interface
    A modern, tabbed user interface with multiple display modes offers a customizable and efficient workflow.

Find out more at: www.jedisoft-us.com/jedisoft-irissync/

Discussão (0)3
Entre ou crie uma conta para continuar
Pergunta
· Set. 13

Ensemble query

Hi Team,

I've basic learning in Ensemble. I want to create a code as per following request. Please help in clearing following questions

We have a business process-AA. In this business process, we have onRequest method, here after performing some logic, I have to call a method ProcessAAlogic. 

In ProcessAAlogic method, after initial processing, we have to call a business operation BB asynchronously (which will give a flag "AACompleted" having value 1 or 0) in pResponse object.
Now based on this AACompleted flag, I have to call other methods which are part of onRequest method  i.e.,GoAheadtoCC and GoAheadtoDD.

Question-1-how to call a business operation asynhronously and get the response?
Question-2-Assuming AACompleted flag is part of pResponse, then how to write the code to get its value and store the same in newvariable AACompletedfromPresponse.
Question-3-Assuming we fetch the variable AACompletedfromPresponse, then how code flow goes back to on Request method ?

Class AA as Ens.BusinesProcess {

Method on Request (pRequest as ClassA, pResponse as Ens.Response) as %status
{
    // After performing some logic
     Set tSC=..ProcessAAlogic()
   
     If  AACompletedfromPresponse {
    Set tSC=..GoAheadtoCC(AACompletedfromPresponse)
     }
    Else {
    Set tSC=..GoAheadtoDD(AACompletedfromPresponse)
    }

     
}

Method ProcessAAlogic () as %status {

    //after Intial processing 
    Set tSC = ..SendCallAsync("BB", pRequest)

    Set AACompletedfromPresponse=AACompleted (variable from pResponse)
}

}

2 Comments
Discussão (2)2
Entre ou crie uma conta para continuar
Artigo
· Set. 13 4min de leitura

Plug-N-Play on Pattern Match WorkBench

Plug-N-Play on Pattern Match WorkBench

Article to announce pre-built pattern expressions are available from demo application.

AI deducing patterns require ten and more sample values to get warmed up.

The entry of a single value for a pattern has therefore been repurposed for retrieving pre-built patterns.

Example: Email address

Paste an sample value for example an email address in description and press "Pattern from Description".

The sample is tested against available built-in patterns and any matching patterns and descriptions are displayed.

Patterns can also be retrieved by Keyword. For example: "email".

Keywords for English, French, Spanish and Portuguese are supported depending on the selected interface language mode.

Fallback simple format

In case where an unmatched sample is provided for single entry, the behavior is to create a simple format pattern based on input:

Available Patterns today

Network and Messaging

Keyword Description Example
email Email address info@genput.com
fqdn Fully qualified domain name  www.genput.com
http An HTTP(S) web address with FQDN, ipv4, ipv6<br/>with optional interface name, port number, query string and anchor label https://www.genput.com/app/page.cls?a=1&b=2#anchor3
ipv4 IP Version 4 address 208.130.29.0
ipv4 cidr IPV4 with Classless Inter-Domain Routing 208.130.29.0/24
ipv6 IP Version 6 address 3007:0ad3::ed00:17:4371
ipv6 cidr IPV6 with Classless Inter-Domain Routing 3007:0ad3::ed00:17:4371/24

 Storage

Keyword Description Example
archive files Files with known archive extension test_file.zip
data files Match files with known data extensions test_file.csv
document files Match files with known document extensions test_file.pdf
fileshare Directory/ Fileshare for Windows / Unix

\\hostname\user\docs\Letter.txt

smb://hostname/directorypath/resource

image files Match files with known image extensions test_file.png
test_file.jpeg
sound files Match files with known sound extensions test_file.wav
web files Files with known web extensions test_file.html
test_file.js

Security

Keyword Description Example
user principal name Logon name username@domain.com
down-level logon Logon name domain.com\username

Clinical

Keyword Description Example
reference range lab reference range 135-145 mmol/L
100-132 mg/dL
0.25-0.75 μkat/L
< 100 mg/dL

Date time formats

Keyword Description Example
leap year Leap years from 1840 2000
CCYYMMDD Date format 20250911
CCYY/MM/DD Date format 2025/09/11
CCYY-MM-DD Date format 2025-09-11
MMDDCCYY Date format 09112025
MM/DD/CCYY Date format 09/11/2025
MM-DD-CCYY Date format 09-11-2025
DDMMCCYY Date format 11092025
DD/MM/CCYY Date format 11/09/2025
DD-MM-CCYY Date format 11-09-2025
HHMM 12 Time format 1256 AM
HHMM 24 Time format 1256
HH:MM 12 Time format 12:56 AM
HH:MM 24 Time format 12:56
HHMMSS 12 Time format 12:56:56 AM
HHMMSS 24 Time format 12:56:56
HH:MM:SS 12 Time format 12:56:56 AM
HH:MM:SS 24 Time format 12:56:56
CCYYMMDDHHMM Datetime format 202509111256
CCYYMMDDHHMMSS Datetime format 20250911125656
CCYY/MM/DD HH:MM 12 Datetime format 2025/09/11 12:56 AM
CCYY/MM/DD HH:MM 24 Datetime format 2025/09/11 12:56
CCYY-MM-DD HH:MM 12 Datetime format 2025-09-11 12:56 AM
CCYY-MM-DD HH:MM 24 Datetime format 2025-09-11 12:56
CCYY/MM/DD HH:MM:SS 12 Datetime format 2025/09/11 12:56:56 AM
CCYY/MM/DD HH:MM:SS 24 Datetime format 2025/09/11 12:56:56
CCYY-MM-DD HH:MM:SS 12 Datetime format 2025-09-11 12:56:56 AM
CCYY-MM-DD HH:MM:SS 24 Datetime format 2025-09-11 12:56:56
MM/DD/CCYY HH:MM:SS 12 Datetime format 09/11/2025 12:56:56 AM
MM/DD/CCYY HH:MM:SS 24 Datetime format 09/11/2025 12:56:56
MM-DD-CCYY HH:MM:SS 12 Datetime format 09-11-2025 12:56:56 AM
MM-DD-CCYY HH:MM:SS 24 Datetime format 09-11-2025 12:56:56
DD/MM/CCYY HH:MM:SS 12 Datetime format 11/09/2025 12:56:56 AM
DD/MM/CCYY HH:MM:SS 24 Datetime format 11/09/2025 12:56:56
DD-MM-CCYY HH:MM:SS 12 Datetime format 11-09-2025 12:56:56 AM
DD-MM-CCYY HH:MM:SS 24 Datetime format 11-09-2025 12:56:56

Exact Vs Contains

To match text within larger text body a prefix and suffix may be added to a pattern for example:

.1(.E1P)1"("3N1")"3N1"-"4N1"-"4N.1(1P.E)

Can be used to match the formatted number in:

The user may be contacted via mobile (323)045-5639-4739 for further clarification.

Written as a code example:

USER>set text="The user may be contacted via mobile (323)045-5639-4739 for further clarification."

USER>write text?.1(.E1P)1"("3N1")"3N1"-"4N1"-"4N.1(1P.E)
1
USER>set text="The user may be contacted via mobile4(323)045-5639-47394for further clarification."

USER>write text?.1(.E1P)1"("3N1")"3N1"-"4N1"-"4N.1(1P.E)
0

Feedback

Open to suggestions for other information candidates for patterns.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Set. 12 3min de leitura

Melhorando Consultas lentas de SQL no InterSystems IRIS: Uma Solução Prática

Uma coisa que aprendi ao longo dos anos é que, não importa o quão aprimorada seja a lógica do seu aplicativo, o desempenho do banco de dados acabará por determinar o sucesso ou fracasso da experiência do usuário. Trabalhando com o InterSystems IRIS, recentemente vivenciei isso em primeira mão. Um de nossos clientes estava construindo um painel de relatórios que funcionava perfeitamente durante os testes, mas assim que o conjunto de dados de produção cresceu para milhões, os tempos de resposta ficaram extremamente lentos.

À primeira vista, parecia um problema de hardware. Os servidores estavam sobrecarregados, o uso de memória aumentou e todos estavam convencidos de que precisavam aumentar a infraestrutura. No entanto, uma análise mais aprofundada do IRIS revelou uma história diferente. O verdadeiro problema não era o hardware — eram os planos de execução do SQL.

Aqui está a abordagem prática que adotei, passo a passo:

 

Passo 1: Verificar as Ferramentas de Desempenho SQL

O IRIS vem com um monitor de desempenho SQL muito útil. Executar as consultas problemáticas por meio dele me mostrou exatamente o que estava acontecendo: consultas nas tabelas inteiras em cada solicitação. Assim que vi o plano, ficou claro que o otimizador não tinha as opções certas disponíveis.

Passo 2: Reavaliar a Estratégia de Indexação

Tínhamos índices no lugar, mas não para a forma como as consultas foram realmente escritas. Por exemplo, o painel filtrava intensamente um campo de data, mas não havia um índice nessa coluna. Assim que criei um índice ali, o tempo de execução caiu de segundos para menos de 200 milissegundos. Essa única mudança fez uma diferença drástica.

Passo 3: Reescrever Algumas Consultas

Nem toda correção era sobre índices. Algumas consultas foram estruturadas de maneiras que impediram o otimizador de fazer seu melhor trabalho. Substituir algumas subconsultas por junções e simplificar condições redundantes deu ao IRIS mais flexibilidade para escolher caminhos eficientes. Foram pequenas mudanças no código, mas desbloquearam grandes melhorias.

Passo 4: Testar em Escala, Não Apenas em Ambiente de Desenvolvimento

Uma das armadilhas que vejo com frequência — e na qual eu mesmo caí aqui — é testar apenas com pequenos conjuntos de dados. Uma consulta que funciona rapidamente com 100 linhas pode se comportar de maneira muito diferente com 10 milhões. Após o ajuste, certifiquei-me de fazer testes de estresse nas consultas com volumes de dados semelhantes aos de produção. Isso deu a confiança de que as melhorias se manteriam ao longo do tempo.

---

Ao final desse processo, o painel de controle passou de lento para ágil, sem tocar no hardware. Para mim, a grande lição foi que o InterSystems IRIS já possui as ferramentas que você precisa para diagnosticar e resolver esses gargalos — você só precisa usá-las.

 

Se você está desenvolvendo com o IRIS, meu conselho é simples: inclua o monitoramento de desempenho como parte de seu fluxo de trabalho desde o início. Não espere até que os usuários reclamem. O SQL Performance Monitor, combinado com uma estratégia de indexação cuidadosa e um bom design de consultas, pode economizar horas (e dores de cabeça) mais tarde.

Discussão (0)1
Entre ou crie uma conta para continuar