Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Një panel mjetesh shtesë për monitorimin dhe hetimin e gabimeve në aplikacione dhe zgjidhje integruese në platformën e të dhënave InterSystems IRIS, platformën e integrimit të Ansamblit dhe Caché DBMS, ose historinë e një biçiklete tjetër.

Në këtë artikull dua të flas për aplikacionin që, së bashku me mjetet standarde të administrimit, e përdor çdo ditë për të monitoruar aplikacionet dhe zgjidhjet e integrimit në platformën InterSystems IRIS dhe për të gjetur gabime kur ato ndodhin.
Zgjidhja përfshin shikimin dhe redaktimin e grupeve globale, ekzekutimin e pyetjeve (përfshirë JDBC/ODBC), dërgimin e rezultateve të kërkimit me email si skedarë të zip XLS. Shikoni objektet e klasës me aftësinë për të redaktuar. Disa grafikë të thjeshtë për protokollet e sistemit.

Ky është një aplikacion CSP i bazuar në jQuery-UI, grafiku.js, jsgrid.js
Nëse jeni të interesuar, ju lutemi shikoni më poshtë dhe brenda depo.

Gjithçka filloi me studimin e pyetjes se si të regjistroni ndryshimet në objekte në InterSystems IRIS, Ansemble dhe Caché DBMS.

Pas leximit artikull i shkëlqyer për këtë, unë forkova projekt. dhe filloi ta mbaronte për nevojat e tij.

Zgjidhja që rezulton zbatohet si një nënklasë paneli e %CSP.Util.Pane, e cila ka një dritare komanduese kryesore dhe një buton Run, plus cilësimet e përmirësimit të komandës.

Kur futni "?" marrim një përshkrim të shkurtër të këtyre komandave:

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Globalët

Komanda ime më e zakonshme është të shikosh globalin. Si rregull, ky është një protokoll global kur korrigjoni projektin tuaj ose të dikujt tjetër. Mund ta shikoni në rend të kundërt, si dhe duke aplikuar një filtër si në lidhje ashtu edhe në të dhëna. Nyjet e gjetura mund të redaktohen dhe fshihen:

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Mund të fshini të gjithë globalin duke futur minus ^logMSW- në komandën pas emrit.
Por në këtë mënyrë ju mund të fshini vetëm globalet duke filluar me ^log (protocol globals), d.m.th. Është zbatuar një kufizim kundër fshirjes aksidentale.

Nëse futni "*" pas emrit, do të merrni një listë të globalëve me karakteristika shtesë. "*" i dytë do të shtojë një fushë të re "MB të ndara" dhe një yll tjetër do të jetë "MB i përdorur". Ky kombinim i dy raporteve dhe ndarja në "yll" bëhet për të ndarë raportin shpeshherë të formuar në blloqe të zëna. të globalëve të mëdhenj.

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Nga kjo tabelë mund të ndiqni lidhjet aktive për të parë vetë globalin ose për ta parë/redaktuar atë në mënyrë standarde nga portali i menaxhimit duke klikuar R ose W në fushën Permission.

Kërkesat

Konvertimi i një raporti në formatin Excel

Funksioni i dytë më i përdorur është ekzekutimi i pyetjeve. Për ta bërë këtë, futni deklaratën sql si komandë.

Gjëja kryesore që më mjaftonte në Portalin standard të Menaxhimit të Sistemit ishte ekzekutimi i pyetjeve në burimet JDBC/ODBC të konfiguruara në DBMS dhe nxjerrja e rezultateve në formatin XLS, arkivimi dhe dërgimi i skedarit me email. Për ta bërë këtë, në mjetin tim, përpara se të ekzekutoni komandën, duhet të aktivizoni kutinë e kontrollit "Shkarko në skedarin Excel".

Kjo veçori më kursen shumë kohë në rutinën time të përditshme dhe integroj me sukses modulet e gatshme në aplikacione të reja dhe zgjidhje integruese.

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Por për ta bërë këtë, së pari duhet të konfiguroni shtegun për krijimin e skedarëve në server dhe kredencialet e përdoruesit dhe serverit të postës; për këtë, nga ana tjetër, duhet të modifikoni nyjet e cilësimeve të programit global ^%App.Setting .

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Ruajtja e raporteve globalisht

Shumë shpesh është e nevojshme të ruhen rezultatet e ekzekutimit të raportit globalisht. Për ta bërë këtë, unë përdor procedurat e mëposhtme:

Për JDBC:
##class(App.sys).SqlToDSN

Për ODBC:
##class(App.sys).SaveGateway

Për shprehjet SQL:
##class(App.sys).SaveSQL

Për pyetje:
##class(App.sys).SaveQuery

Për shembull, nëse në panel komanda
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Le të ruajmë rezultatin e kërkesës për numërimin e përdorimit të licencës në grupin ^GN dhe mund të shihni se çfarë u ruajt në panel me komandën: result ^GN("%SYSTEM.License:Counts",0)

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Modulet e funksionalitetit të shtuar

Dhe përmirësimi i dytë, i cili thjeshtoi dhe automatizoi shumë punën time, ishte zbatimi i aftësisë për të ekzekutuar module të shkruara posaçërisht gjatë gjenerimit të çdo rreshti të pyetjes. Në këtë mënyrë, unë mund të ndërtoj funksione të reja në raport në fluturim me një kalim, për shembull, lidhje aktive për operacione shtesë mbi të dhënat.

Shembulli 1: Puna me klasën App.Parameter

Krijo një parametër duke përdorur "Table Navigator"

Ndryshoni një parametër përmes "Opsioneve"

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Shembulli 2: Shikimi i globalit nëpërmjet lidhjes "Historia".

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Grafikët

Frymëzuar nga artikulli [9] dhe për të vizualizuar rritjen e bazave të të dhënave, u krijua një faqe që shfaq një grafik mujor të madhësive të bazës së të dhënave të krijuar nga skedari iris.log (cconsole.log) duke përdorur të dhënat "Zgjero" në mënyrë retrospektive nga dita aktuale.

Si shembull, një grafik ngjarjesh është krijuar gjithashtu në InterSystems IRIS, i cili gjithashtu gjenerohet nga skedari i protokollit:

Shiriti shtesë i veglave të zhvilluesve në InterSystems IRIS

Lidhje me materialet:

[1] nënsistemi i prerjeve në Kasha
[2] Qull i menjëhershëm - duke bërë CRUD në Cache duke përdorur jqGrid
[3] Menaxherët alternativë të SQL për Caché DBMS
[4] Shembuj të krijimit dhe dërgimit të Email-it duke përdorur Caché DBMS
[5] Cache + jQuery. Fillimi i shpejtë
[6] Vendosja e aplikacionit
[7] Mbështetje UDL
[8] Shikimi i globaleve në Portalin e Menaxhimit të Cache
[9] Prometeu me Cache
[10] Lokalizimi në DBMS Cache

Faleminderit autorëve të këtyre dhe artikujve të tjerë që më ndihmuan të krijoj këtë mjet.

PS Ky projekt është duke u zhvilluar dhe shumë ide ende nuk janë zbatuar. Në të ardhmen e afërt planifikoj të bëj:

1. Shablloni i aplikimit në kornizë uikit
2. Auto-dokumentim i formatit të kodit Doxegen me integrimin në CStudio

Burimi: www.habr.com

Shto një koment