لوحة من الأدوات الإضافية للمطور على InterSystems IRIS

لوحة من الأدوات الإضافية لرصد والتحقق من أخطاء التطبيقات وحلول التكامل على منصة بيانات InterSystems IRIS ، ومنصة تكامل Ensemble و Caché DBMS ، أو تاريخ دراجة أخرى.

في هذه المقالة ، أود أن أتحدث عن تطبيق ، إلى جانب الأدوات الإدارية القياسية ، استخدم يوميًا لمراقبة التطبيقات وحلول التكامل على النظام الأساسي InterSystems IRIS وللعثور على الأخطاء عند حدوثها.
يتضمن الحل عرض وتحرير المصفوفات العالمية وتنفيذ الاستعلامات (بما في ذلك JDBC / ODBC) وإرسال نتائج بحث البريد الإلكتروني في شكل ملفات XLS المؤرشفة. عرض كائنات الفصل مع القدرة على التحرير. بعض الرسوم البيانية البسيطة لبروتوكولات النظام.

هذا هو تطبيق CSP يعتمد على jQuery-UI ، chart.js ، jsgrid.js
إذا كانت مهتمة ، فأنا أطلب قطع ومستودع .

بدأ كل شيء بدراسة كيفية تسجيل تغييرات الكائنات في InterSystems IRIS و Ensemble و Caché DBMS.

بعد قراءة مقال رائع حول هذا الموضوع ، قمت بتشكيل المشروع . وبدأ في الانتهاء منه لاحتياجاته.

والنتيجة هي الحل الذي يتم تطبيقه على هيئة لوحة من فئة فرعية٪ CSP.Util.Pane ، حيث توجد نافذة رئيسية للأوامر وزر تشغيل ، بالإضافة إلى إعدادات لتحسين الأوامر.

عند الدخول "؟" نحصل على وصف موجز لهذه الأوامر:



Globals

فريقي الأكثر تكرارًا يشاهد العرض العالمي. عادةً ما يكون هذا هو البروتوكول العام عند تصحيح أخطاء مشروعك أو مشروع شخص آخر. يمكن عرضها بالترتيب العكسي ، وكذلك عن طريق تصفية كل من الرابط والبيانات. يمكن العثور على العقد التي تم تعديلها وحذفها:



يمكنك حذف العمومي بأكمله عن طريق كتابة الأمر بعد الاسم ناقص ^ logMSW-
لكن يمكن فقط حذف globals التي تبدأ بـ ^ log (globals protocol) بهذه الطريقة ، أي القيود المطبقة ضد الحذف العرضي.

إذا قمت بإدخال "*" بعد الاسم ، فسوف نحصل على قائمة بالعالمية ذات الخصائص الإضافية. سيضيف الثاني "*" - حقلًا جديدًا "Allocated MB" ، ونجمة أخرى - "MB مستعملة" ، ويتم هذا المزيج من تقريرين والفصل إلى "نجوم" لتقسيم التقرير الذي تم تكوينه في كثير من الأحيان حول الكتل المشغولة بالعالم الكبير.



من هذه اللوحة ، يمكنك النقر فوق الارتباطات النشطة لعرض العموم نفسه أو عرضها / تحريرها بطريقة قياسية من بوابة الإدارة من خلال النقر في حقل الأذونات على R أو W.

استفسارات

تحويل التقرير إلى تنسيق Excel

الوظيفة الثانية ، من حيث تواتر الاستخدام ، هي تنفيذ الاستعلام. للقيام بذلك ، ندخل عبارة sql كأمر.

كان الشيء الرئيسي الذي كان كافياً بالنسبة لي في بوابة إدارة النظام القياسية هو تنفيذ الاستعلامات على مصادر JDBC / ODBC التي تم تكوينها في DBMS وإخراج النتائج بتنسيق XLS وأرشفة الملف وإرساله إلى البريد الإلكتروني. للقيام بذلك ، في أداتي ، قبل تنفيذ الأمر ، أحتاج إلى تمكين مربع الاختيار "تحميل إلى ملف Excel".

توفر هذه الميزة لي الكثير من الوقت في الروتين اليومي ، وأنا بنجاح دمج الوحدات الجاهزة في التطبيقات الجديدة وحلول التكامل.



ولكن لهذا ، فأنت بحاجة أولاً إلى تكوين المسار لإنشاء ملفات على الخادم وبيانات اعتماد المستخدم وخادم البريد ، ولهذا ، تحتاج بدورها إلى تحرير العقد من الإعدادات العامة ^ ^ App.Setting.



حفظ التقارير على مستوى العالم

في كثير من الأحيان يكون مطلوبًا حفظ نتائج تنفيذ التقرير في العمومية. للقيام بذلك ، أطبق الإجراء:
ل JDBC:## فئة (App.sys) .SqlToDSN
لـ ODBC:## فئة (App.sys) .SaveGateway
لبيانات SQL:## فئة (App.sys) .SaveSQL
للاستعلام:## فئة (App.sys) .SaveQuery

على سبيل المثال ، إذا كان الأمر في اللوحة
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
احفظ نتيجة طلب حساب استخدام التراخيص في صفيف ^ GN ، ويمكنك رؤية ما تم حفظه في اللوحة باستخدام الأمر: result ^GN("%SYSTEM.License:Counts",0)



وحدات الوظيفة المعززة

والتحسين الثاني ، الذي سهّل عملي بشكل كبير وأتمتة ، هو تطبيق القدرة على تنفيذ وحدات مكتوبة خصيصًا أثناء تشكيل كل سطر استعلام. وبالتالي ، أثناء التنقل ، يمكنني دفعة واحدة في وظيفة جديدة في التقرير ، على سبيل المثال ، الارتباطات النشطة لعمليات إضافية على البيانات.

مثال 1: العمل مع App.Parameter Class

قم بإنشاء معلمة من خلال Table Navigator

تحرير المعلمة عبر "المعلمات"



مثال 2: عرض العالمية من خلال رابط "التاريخ"



الرسوم البيانية

أعجبت المقالة [9] وتصور نمو قواعد البيانات ، تم إنشاء صفحة تعرض رسم بياني شهري لأحجام قاعدة البيانات التي تم إنشاؤها باستخدام ملف iris.log (cconsole.log) من سجلات "Expand" بأثر رجعي من اليوم الحالي.

على سبيل المثال ، تم إنشاء جدول أحداث في InterSystems IRIS ، والذي تم تكوينه أيضًا بواسطة ملف البروتوكول:



روابط للمواد:

[1] النظام الفرعي للتسجيل في كاس
[2] لحظة عصيدة - صنع CRUD في Caché مع jqGrid
[3] مدراء SQL بديلون لـ Caché DBMS
[4] أمثلة على إنشاء وإرسال البريد الإلكتروني باستخدام Caché DBMS
[5] ذاكرة التخزين المؤقت + مسج. بداية سريعة
[6] نشر التطبيق
[7] دعم UDL
[8] عرض الكريات في بوابة إدارة قاعدة بيانات Caché
[9] بروميثيوس مع Caché
[10] الترجمة في Caché DBMS

أشكر مؤلفي هذه المقالات وغيرها التي ساعدتني في إنشاء هذه الأداة.

ملاحظة: هذا المشروع قيد التطوير والعديد من الأفكار لم يتم تنفيذها بعد. في المستقبل القريب ، أعتزم القيام بما يلي:

1. قالب التطبيق على إطار uikit
2. رمز التوثيق التلقائي بتنسيق Doxegen مع الاندماج في CStudio

Source: https://habr.com/ru/post/ar436042/


All Articles