Panèl Zouti Devlopè sou InterSystems IRIS

Yon panèl zouti adisyonèl pou kontwole ak envestige erè nan aplikasyon ak solisyon entegrasyon sou platfòm done InterSystems IRIS, platfòm entegrasyon Ensemble ak DBMS Caché, oswa istwa yon lòt bisiklèt.

Nan atik sa a mwen vle pale sou aplikasyon an ke, ansanm ak zouti administrasyon estanda, mwen itilize chak jou pou kontwole aplikasyon ak solisyon entegrasyon sou platfòm InterSystems IRIS la epi jwenn erè lè yo rive.
Solisyon an gen ladan gade ak koreksyon etalaj mondyal, kouri demann (ki gen ladan JDBC / ODBC), voye rezilta rechèch pa imel kòm dosye XLS zip. Gade objè klas yo ak abilite pou edite. Plizyè graf senp pou pwotokòl sistèm.

Sa a se yon aplikasyon CSP ki baze sou jQuery-UI, chart.js, jsgrid.js
Si w enterese, tanpri gade anba a ak nan depo.

Tout bagay te kòmanse ak etidye kesyon ki jan yo konekte chanjman nan objè nan InterSystems IRIS, Ensemble ak DBMS Caché.

Apre lekti ekselan atik sou sa, mwen fouchèt pwojè. epi li te kòmanse fini li pou bezwen li yo.

Solisyon ki kapab lakòz la aplike kòm yon sous-klas panèl %CSP.Util.Pane, ki gen yon fenèt kòmand prensipal ak yon bouton Kouri, plis anviwònman rafineman lòd.

Lè ou antre "?" nou jwenn yon deskripsyon tou kout sou kòmandman sa yo:

Panèl Zouti Devlopè sou InterSystems IRIS

Globals

Kòmandman ki pi komen mwen an se gade mondyal la. Kòm yon règ, sa a se yon pwotokòl mondyal lè debogaj pwòp ou a oswa pwojè yon lòt moun. Ou ka wè li nan lòd ranvèse, osi byen ke lè w aplike yon filtè nan tou de lyen an ak done yo. Nœuds jwenn yo ka modifye ak efase:

Panèl Zouti Devlopè sou InterSystems IRIS

Ou ka efase tout global la lè w antre mwens ^logMSW- nan kòmandman an apre non an.
Men, fason sa a ou ka sèlman efase global kòmanse ak ^ log (global pwotokòl), i.e. Yo te aplike yon restriksyon kont sipresyon aksidan.

Si ou antre "*" apre non an, w ap jwenn yon lis global ak karakteristik adisyonèl. Dezyèm "*" a pral ajoute yon nouvo jaden "Alocated MB", epi yon lòt asteris yo pral "Itilize MB". Konbinezon sa a de rapò ak divizyon an "asterisk" se fè pou divize rapò a souvan fòme nan blòk okipe. nan gwo mondyal yo.

Panèl Zouti Devlopè sou InterSystems IRIS

Soti nan tablo sa a ou ka swiv lyen aktif pou wè global la li menm oswa pou w wè/editye li nan fason nòmal nan pòtal jesyon an lè w klike sou R oswa W nan jaden Pèmisyon an.

Demann

Konvèti yon rapò nan fòma Excel

Dezyèm fonksyon ki pi souvan itilize se ekzekisyon demann. Pou fè sa, antre nan deklarasyon sql kòm yon lòd.

Bagay pwensipal lan ki te ase pou mwen nan Portal Sistèm Jesyon estanda a te egzekite demann sou sous JDBC / ODBC configuré nan DBMS la ak pwodiksyon rezilta yo nan fòma XLS, achiv ak voye fichye a pa imel. Pou fè sa, nan zouti mwen an, anvan ou egzekite lòd la, ou bezwen aktive kaz "Telechaje nan dosye Excel".

Karakteristik sa a sove m anpil tan nan woutin chak jou mwen, epi mwen avèk siksè entegre modil pare yo nan nouvo aplikasyon ak solisyon entegrasyon.

Panèl Zouti Devlopè sou InterSystems IRIS

Men, pou fè sa, ou premye bezwen konfigirasyon chemen an pou kreye dosye sou sèvè a ak kalifikasyon yo nan itilizatè a ak sèvè lapòs, pou sa a, nan vire, ou bezwen modifye nœuds yo nan anviwònman yo pwogram mondyal ^%App.Setting .

Panèl Zouti Devlopè sou InterSystems IRIS

Ekonomize rapò globalman

Trè souvan li nesesè pou konsève pou rezilta yo nan ekzekisyon rapò globalman. Pou fè sa, mwen itilize pwosedi sa yo:

Pou JDBC:
##klas(App.sys).SqlToDSN

Pou ODBC:
##klas(App.sys).SaveGateway

Pou ekspresyon SQL:
##klas(App.sys).SaveSQL

Pou demann:
##klas(App.sys).SaveQuery

Pou egzanp, si nan panèl la lòd la
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Ann sove rezilta demann konte itilizasyon lisans lan nan etalaj ^GN, epi ou ka wè sa ki te sove nan panèl la ak kòmandman an: result ^GN("%SYSTEM.License:Counts",0)

Panèl Zouti Devlopè sou InterSystems IRIS

Modil fonksyonalite ogmante

Ak dezyèm amelyorasyon, ki anpil senplifye ak otomatik travay mwen an, se te aplikasyon an nan kapasite nan egzekite modil ekri espesyalman lè jenere chak liy demann. Nan fason sa a, mwen ka bati nouvo fonksyonalite nan rapò a sou vole nan yon sèl pas, pou egzanp, lyen aktif pou operasyon adisyonèl sou done.

Egzanp 1: Travay ak klas App.Parameter la

Kreye yon paramèt lè l sèvi avèk "Table Navigator"

Edit yon paramèt atravè "Opsyon"

Panèl Zouti Devlopè sou InterSystems IRIS

Egzanp 2: Wè global la atravè lyen "Istwa".

Panèl Zouti Devlopè sou InterSystems IRIS

Tablo

Enspire pa atik la [9] ak vizyalize kwasans baz done yo, yo te kreye yon paj ki montre yon graf chak mwa nan gwosè baz done ki te kreye nan dosye iris.log la (cconsole.log) lè l sèvi avèk dosye "Expand" retrospectiveman nan jou aktyèl la.

Kòm yon egzanp, yo te kreye yon graf evènman tou nan InterSystems IRIS, ki pwodui tou nan dosye pwotokòl la:

Panèl Zouti Devlopè sou InterSystems IRIS

Lyen materyèl:

[1] sou-sistèm antre nan Kasha
[2] Labouyl Instant - fè CRUD nan Caché lè l sèvi avèk jqGrid
[3] Manadjè SQL altènatif pou DBMS Caché
[4] Egzanp pou jenere ak voye Imèl lè l sèvi avèk DBMS Caché
[5] Cache + jQuery. Vit kòmanse
[6] Deplwaman aplikasyon
[7] UDL sipò
[8] Wè global nan Pòtal Jesyon Caché
[9] Prometheus ak Cache
[10] Lokalizasyon nan DBMS Caché

Mèsi a otè sa yo ak lòt atik ki te ede m kreye zouti sa a.

PS Pwojè sa a ap devlope e anpil lide poko aplike. Nan fiti prè mwen planifye fè:

1. Modèl aplikasyon sou fondasyon an uikit
2. Oto-dokimantasyon nan fòma kòd Doxegen ak entegrasyon nan CStudio

Sous: www.habr.com

Add nouvo kòmantè