Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Un panel de ferramentas adicionais para supervisar e investigar erros en aplicacións e solucións de integración na plataforma de datos InterSystems IRIS, a plataforma de integración Ensemble e o DBMS Caché, ou a historia doutra bicicleta.

Neste artigo quero falar da aplicación que, xunto coas ferramentas de administración estándar, utilizo a diario para supervisar aplicacións e solucións de integración na plataforma InterSystems IRIS e atopar erros cando se producen.
A solución inclúe ver e editar matrices globais, realizar consultas (incluíndo JDBC/ODBC), enviar resultados de busca por correo electrónico como ficheiros XLS comprimidos. Ver obxectos de clase coa posibilidade de editar. Varios gráficos sinxelos para protocolos do sistema.

Esta é unha aplicación CSP baseada en jQuery-UI, gráfico.js, jsgrid.js
Se estás interesado, consulta a continuación e en repositorio.

Todo comezou co estudo da cuestión de como rexistrar os cambios en obxectos en InterSystems IRIS, Ensemble e o DBMS Caché.

Despois de ler excelente artigo sobre isto, bifurqueime proxecto. e comezou a rematalo para as súas necesidades.

A solución resultante está implementada como unha subclase do panel de %CSP.Util.Pane, que ten unha xanela de comandos principal e un botón Executar, ademais de configuracións de refinamento de comandos.

Cando introduces "?" obtemos unha breve descrición destes comandos:

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Globals

O meu comando máis común é ver o global. Como regra xeral, este é un protocolo global ao depurar o proxecto propio ou alleo. Podes visualizalo en orde inversa, así como aplicando un filtro tanto á ligazón como aos datos. Os nós atopados pódense editar e eliminar:

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Podes eliminar todo o global introducindo menos ^logMSW- no comando despois do nome.
Pero deste xeito só podes eliminar globais que comezan por ^log (globais de protocolo), é dicir. Implementouse unha restrición contra a eliminación accidental.

Se introduces "*" despois do nome, obterás unha lista de globais con características adicionais. O segundo "*" engadirá un novo campo "MB asignado" e outro asterisco será "MB usado". Esta combinación de dous informes e a división en "asteriscos" realízase para dividir o informe de longa duración en bloques ocupados. dos grandes globais.

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Desde esta táboa podes seguir as ligazóns activas para ver o propio global ou para velo/editar de xeito estándar desde o portal de xestión facendo clic en R ou W no campo Permiso.

Solicitudes

Converter un informe a formato Excel

A segunda función máis utilizada é a execución de consultas. Para facelo, introduza a instrución sql como comando.

O principal que me abondou no Portal de Xestión do Sistema estándar foi executar consultas en fontes JDBC/ODBC configuradas no DBMS e emitir os resultados en formato XLS, arquivar e enviar o ficheiro por correo electrónico. Para iso, na miña ferramenta, antes de executar o comando, cómpre activar a caixa de verificación "Descargar no ficheiro de Excel".

Esta función aforrame moito tempo na miña rutina diaria e integro con éxito módulos preparados en novas aplicacións e solucións de integración.

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Pero para iso, primeiro cómpre configurar o camiño para crear ficheiros no servidor e as credenciais do usuario e do servidor de correo; para iso, á súa vez, cómpre editar os nodos da configuración global do programa ^%App.Setting .

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Gardando informes a nivel global

Moitas veces é necesario gardar globalmente os resultados da execución do informe. Para iso uso os seguintes procedementos:

Para JDBC:
##class(App.sys).SqlToDSN

Para ODBC:
##class(App.sys).SaveGateway

Para expresións SQL:
##class(App.sys).SaveSQL

Para consulta:
##class(App.sys).SaveQuery

Por exemplo, se no panel o comando
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Imos gardar o resultado da solicitude de reconto de uso da licenza na matriz ^GN, e podes ver o que se gardou no panel co comando: result ^GN("%SYSTEM.License:Counts",0)

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Módulos de funcionalidades aumentadas

E a segunda mellora, que simplificou e automatizou moito o meu traballo, é a implementación da capacidade de executar módulos especialmente escritos ao xerar cada liña de consulta. Deste xeito, podo incorporar novas funcionalidades ao informe nun só paso, por exemplo, ligazóns activas para operacións adicionais sobre datos.

Exemplo 1: traballar coa clase App.Parameter

Crea un parámetro usando o "Navegador de táboas"

Edite un parámetro a través de "Opcións"

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Exemplo 2: ver o global a través da ligazón "Historial".

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Gráficos

Inspirado no artigo [9] e para visualizar o crecemento das bases de datos, creouse unha páxina que mostra unha gráfica mensual dos tamaños das bases de datos creada a partir do ficheiro iris.log (cconsole.log) utilizando rexistros “Expand” retrospectivamente do día actual.

Como exemplo, tamén se creou un gráfico de eventos en InterSystems IRIS, que tamén se xera a partir do ficheiro de protocolo:

Barra de ferramentas adicional para desenvolvedores en InterSystems IRIS

Ligazóns a materiais:

[1] subsistema de rexistro en Kasha
[2] Gachas instantáneas: facendo CRUD en Caché usando jqGrid
[3] Xestores SQL alternativos para o DBMS Caché
[4] Exemplos de xeración e envío de correo electrónico mediante o DBMS Caché
[5] Caché + jQuery. Inicio rápido
[6] Implementación de aplicacións
[7] Soporte UDL
[8] Visualización de globais no Portal de xestión de Caché
[9] Prometeo con caché
[10] Localización no DBMS Caché

Grazas aos autores destes e outros artigos que me axudaron a crear esta ferramenta.

PD Este proxecto estase a desenvolver e moitas ideas aínda non foron implementadas. Nun futuro próximo penso facer:

1. Modelo de aplicación no marco uikit
2. Documentación automática do formato de código Doxegen con integración en CStudio

Fonte: www.habr.com

Engadir un comentario