Barre d'outils de développement supplémentaire sur InterSystems IRIS

Un panel d'outils complémentaires pour surveiller et investiguer les erreurs dans les applications et solutions d'intégration sur la plateforme de données InterSystems IRIS, la plateforme d'intégration Ensemble et le SGBD Caché, ou l'histoire d'un autre vélo.

Dans cet article, je souhaite parler de l'application que, avec les outils d'administration standards, j'utilise quotidiennement pour surveiller les applications et les solutions d'intégration sur la plateforme InterSystems IRIS et trouver les erreurs lorsqu'elles se produisent.
La solution comprend l'affichage et la modification de tableaux globaux, l'exécution de requêtes (y compris JDBC/ODBC) et l'envoi des résultats de recherche par courrier électronique sous forme de fichiers XLS compressés. Affichez les objets de classe avec la possibilité de les modifier. Plusieurs graphiques simples pour les protocoles système.

Il s'agit d'une application CSP basée sur jQuery-UI, graphique.js, jsgrid.js
Si vous êtes intéressé, veuillez voir ci-dessous et dans dépôt.

Tout a commencé par l'étude de la question de savoir comment enregistrer les modifications apportées aux objets dans InterSystems IRIS, Ensemble et le SGBD Caché.

Après avoir lu excellent article à ce sujet, j'ai fourchu projet. et commença à le terminer pour ses besoins.

La solution résultante est implémentée en tant que sous-classe de panneau de %CSP.Util.Pane, qui possède une fenêtre de commande principale et un bouton Exécuter, ainsi que des paramètres de raffinement des commandes.

Quand vous entrez "?" nous obtenons une brève description de ces commandes :

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Mondiales

Ma commande la plus courante consiste à afficher le fichier global. En règle générale, il s'agit d'un protocole global lors du débogage de votre propre projet ou de celui de quelqu'un d'autre. Vous pouvez l'afficher dans l'ordre inverse, ainsi qu'en appliquant un filtre à la fois au lien et aux données. Les nœuds trouvés peuvent être modifiés et supprimés :

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Vous pouvez supprimer l'intégralité du global en entrant moins ^logMSW- dans la commande après le nom.
Mais de cette façon, vous ne pouvez supprimer que les globaux commençant par ^log (globaux de protocole), c'est-à-dire Une restriction contre la suppression accidentelle a été mise en place.

Si vous entrez « * » après le nom, vous obtiendrez une liste de globales avec des caractéristiques supplémentaires. Le deuxième "*" ajoutera un nouveau champ "Mo alloués", et un autre astérisque sera "Mo utilisés". Cette combinaison de deux rapports et la division en "astérisques" ont pour but de diviser le rapport souvent long en blocs occupés. des grandes planètes.

Barre d'outils de développement supplémentaire sur InterSystems IRIS

À partir de ce tableau, vous pouvez suivre les liens actifs pour afficher le global lui-même ou pour le visualiser/modifier de la manière standard depuis le portail de gestion en cliquant sur R ou W dans le champ Autorisation.

demandes

Conversion d'un rapport au format Excel

La deuxième fonction la plus fréquemment utilisée est l’exécution de requêtes. Pour ce faire, entrez l'instruction sql sous forme de commande.

La principale chose qui me suffisait dans le portail de gestion de système standard était d'exécuter des requêtes sur les sources JDBC/ODBC configurées dans le SGBD et d'afficher les résultats au format XLS, d'archiver et d'envoyer le fichier par e-mail. Pour ce faire, dans mon outil, avant d'exécuter la commande, vous devez cocher la case « Télécharger dans un fichier Excel ».

Cette fonctionnalité me fait gagner beaucoup de temps dans ma routine quotidienne et j'intègre avec succès des modules prêts à l'emploi dans de nouvelles applications et solutions d'intégration.

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Mais pour ce faire, vous devez d'abord configurer le chemin de création de fichiers sur le serveur et les informations d'identification de l'utilisateur et du serveur de messagerie ; pour cela, vous devez à votre tour modifier les nœuds des paramètres globaux du programme ^%App.Setting .

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Enregistrement des rapports à l'échelle mondiale

Très souvent, il est nécessaire de sauvegarder globalement les résultats de l’exécution du rapport. Pour ce faire, j'utilise les procédures suivantes :

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

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

Pour les expressions SQL :
##class(App.sys).SaveSQL

Pour la requête :
##class(App.sys).SaveQuery

Par exemple, si dans le panneau la commande
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Enregistrons le résultat de la demande de comptage d'utilisation de licence dans le tableau ^GN, et vous pourrez voir ce qui a été enregistré dans le panneau avec la commande : result ^GN("%SYSTEM.License:Counts",0)

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Modules de fonctionnalités augmentées

Et la deuxième amélioration, qui a grandement simplifié et automatisé mon travail, est la mise en œuvre de la possibilité d'exécuter des modules spécialement écrits lors de la génération de chaque ligne de requête. De cette façon, je peux créer de nouvelles fonctionnalités dans le rapport à la volée en un seul passage, par exemple des liens actifs pour des opérations supplémentaires sur les données.

Exemple 1 : Travailler avec la classe App.Parameter

Créer un paramètre à l'aide du « Table Navigator »

Modifier un paramètre via « Options »

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Exemple 2 : Visualisation du global via le lien « Historique »

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Graphiques

Inspirée de l'article [9] et pour visualiser la croissance des bases de données, une page a été créée qui affiche un graphique mensuel des tailles de bases de données créées à partir du fichier iris.log (cconsole.log) en utilisant les enregistrements « Développer » rétrospectivement à partir de la journée en cours.

A titre d'exemple, un graphe d'événements a également été créé dans InterSystems IRIS, qui est également généré à partir du fichier de protocole :

Barre d'outils de développement supplémentaire sur InterSystems IRIS

Liens vers des matériaux:

sous-système de journalisation à Kasha
Porridge instantané - faire du CRUD dans Caché en utilisant jqGrid
Gestionnaires SQL alternatifs pour le SGBD Caché
Exemples de génération et d'envoi d'Email à l'aide du SGBD Caché
Cache + jQuery. Départ rapide
Déploiement d'applications
Prise en charge du code UDL
Affichage des valeurs globales dans le portail de gestion Caché
Prométhée avec cache
Localisation dans le SGBD Caché

Merci aux auteurs de ces articles et d'autres qui m'ont aidé à créer cet outil.

PS Ce projet est en développement et de nombreuses idées n'ont pas encore été mises en œuvre. Dans un futur proche, j'ai l'intention de faire :

1. Modèle de candidature sur le framework uikit
2. Documentation automatique du format de code Doxegen avec intégration dans CStudio

Source: habr.com

Ajouter un commentaire