Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

In paniel fan ekstra ark foar it kontrolearjen en ûndersiikjen fan flaters yn applikaasjes en yntegraasjeoplossingen op it InterSystems IRIS-gegevensplatfoarm, it Ensemble-yntegraasjeplatfoarm en de Caché DBMS, as it ferhaal fan in oare fyts.

Yn dit artikel wol ik prate oer de applikaasje dy't ik, tegearre mei standert administraasje-ark, elke dei brûke om applikaasjes en yntegraasjeoplossingen op it InterSystems IRIS-platfoarm te kontrolearjen en flaters te finen as se foarkomme.
De oplossing omfettet it besjen en bewurkjen fan globale arrays, it útfieren fan queries (ynklusyf JDBC / ODBC), it ferstjoeren fan sykresultaten fia e-post as zipped XLS-bestannen. Besjoch klasseobjekten mei de mooglikheid om te bewurkjen. Ferskate ienfâldige grafiken foar systeemprotokollen.

Dit is in CSP-applikaasje basearre op jQuery-UI, chart.js, jsgrid.js
As jo ​​​​ynteressearre binne, sjoch dan hjirûnder en yn repository.

It begon allegear mei it bestudearjen fan 'e fraach hoe't jo wizigingen kinne oanmelde foar objekten yn InterSystems IRIS, Ensemble en de Caché DBMS.

Nei it lêzen poerbêst artikel oer dit, Ik forke ûntwerp. en begûn it te foltôgjen foar syn behoeften.

De resultearjende oplossing wurdt útfierd as in paniel subklasse fan % CSP.Util.Pane, dat hat in haad kommando finster en in Run knop, plus kommando ferfining ynstellings.

As jo ​​"?" wy krije in koarte beskriuwing fan dizze kommando's:

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Globals

Myn meast foarkommende kommando is om de globale te besjen. As regel is dit in protokol wrâldwiid by it debuggen fan jo eigen of in oar syn projekt. Jo kinne it yn omkearde folchoarder besjen, lykas troch in filter oan te passen op sawol de keppeling as de gegevens. Fûne knopen kinne wurde bewurke en wiske:

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Jo kinne de hiele globale wiskje troch minus ^logMSW- yn te fieren yn it kommando efter de namme.
Mar op dizze manier kinne jo allinich globalen wiskje begjinnend mei ^log (protokolglobalen), d.w.s. In beheining tsjin tafallich wiskjen is ynfierd.

As jo ​​​​"*" nei de namme ynfiere, krije jo in list mei globalen mei ekstra skaaimerken. De twadde "*" sil in nij fjild "Allokearre MB" tafoegje, en in oare asterisk sil "Gebrûkte MB" wêze. fan grutte globalen.

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Fanút dizze tabel kinne jo aktive keppelings folgje om de globale sels te besjen of it op 'e standert wize te besjen/bewurkjen fan it behearsportaal troch te klikken op R of W yn it tastimmingsfjild.

Fersiken

It konvertearjen fan in rapport nei Excel-formaat

De twadde meast brûkte funksje is query-útfiering. Om dit te dwaan, fier de sql-ferklearring as kommando yn.

It wichtichste ding dat genôch wie foar my yn it standert System Management Portal wie it útfieren fan queries op JDBC / ODBC-boarnen konfigureare yn 'e DBMS en it útfieren fan de resultaten yn XLS-formaat, argivearjen en ferstjoeren fan it bestân fia e-post. Om dit te dwaan, yn myn ark, foardat jo it kommando útfiere, moatte jo it karfakje "Download nei Excel-bestân" ynskeakelje.

Dizze funksje besparret my in protte tiid yn myn deistige routine, en ik yntegrearje mei súkses klearmakke modules yn nije applikaasjes en yntegraasjeoplossingen.

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Mar om dit te dwaan, moatte jo earst it paad konfigurearje foar it meitsjen fan bestannen op 'e tsjinner en de bewiisbrieven fan' e brûker en e-posttsjinner dêrfoar moatte jo de knopen fan 'e globale programmaynstellingen bewurkje ^%App.Setting .

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Bewarje rapporten wrâldwiid

Hiel faak is it nedich om de resultaten fan rapportútfiering wrâldwiid op te slaan. Om dit te dwaan brûke ik de folgjende prosedueres:

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

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

Foar SQL-útdrukkingen:
##class(App.sys).SaveSQL

Foar Query:
##class(App.sys).SaveQuery

Bygelyks, as yn it paniel it kommando
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Litte wy it resultaat fan it fersyk foar tellen fan lisinsjegebrûk bewarje yn 'e ^GN-array, en jo kinne sjen wat yn it paniel bewarre is mei it kommando: result ^GN("%SYSTEM.License:Counts",0)

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Augmented funksjonaliteit modules

En de twadde ferbettering, dy't myn wurk sterk ferienfâldige en automatisearre, is de ymplemintaasje fan 'e mooglikheid om spesjaal skreaune modules út te fieren by it generearjen fan elke query-rigel. Op dizze manier kin ik yn ien pas nije funksjonaliteit yn it rapport bouwe, bygelyks aktive keppelings foar ekstra operaasjes op gegevens.

Foarbyld 1: Wurkje mei de App.Parameter-klasse

Meitsje in parameter mei de "Tabelnavigator"

Bewurkje in parameter fia "Opsjes"

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Foarbyld 2: Besjoch de globale fia de "Skiednis" keppeling

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Charts

Ynspirearre troch it artikel [9] en om de groei fan databases te visualisearjen, waard in side makke dy't in moanlikse grafyk toant fan databasegrutte makke út it iris.log-bestân (cconsole.log) mei "útwreidzje" records retrospektyf fan 'e hjoeddeiske dei.

As foarbyld is ek in evenemintgrafyk makke yn InterSystems IRIS, dy't ek wurdt generearre út it protokolbestân:

Oanfoljende arkbalke foar ûntwikkelders op InterSystems IRIS

Links nei materialen:

[1] logging subsysteem yn Kasha
[2] Instant pap - CRUD dwaan yn Caché mei jqGrid
[3] Alternative SQL-managers foar de Caché DBMS
[4] Foarbylden fan it generearjen en ferstjoeren fan e-post mei de Caché DBMS
[5] Cache + jQuery. Snelle start
[6] Applikaasje ynset
[7] UDL-stipe
[8] Globals besjen yn it Caché Management Portal
[9] Prometheus mei Cache
[10] Lokalisaasje yn 'e Caché DBMS

Mei tank oan de auteurs fan dizze en oare artikels dy't my holpen hawwe dit ark te meitsjen.

PS Dit projekt is yn ûntwikkeling en in protte ideeën binne noch net útfierd. Yn de heine takomst plan ik te dwaan:

1. Applikaasje sjabloan op it ramt uikit
2. Auto-dokumintaasje fan koade opmaak Doxegen mei yntegraasje yn CStudio

Boarne: www.habr.com

Add a comment