نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

پانلی از ابزارهای اضافی برای نظارت و بررسی خطاها در برنامه‌ها و راه‌حل‌های یکپارچه‌سازی در پلتفرم داده InterSystems IRIS، پلتفرم یکپارچه‌سازی Ensemble و Cache DBMS یا داستان یک دوچرخه دیگر.

در این مقاله می‌خواهم در مورد برنامه‌ای صحبت کنم که همراه با ابزارهای مدیریت استاندارد، هر روز از آن برای نظارت بر برنامه‌ها و راه‌حل‌های یکپارچه‌سازی در پلتفرم InterSystems IRIS استفاده می‌کنم و هنگام بروز خطاها را پیدا می‌کنم.
این راه حل شامل مشاهده و ویرایش آرایه های جهانی، اجرای پرس و جوها (از جمله JDBC/ODBC)، ارسال نتایج جستجو از طریق ایمیل به عنوان فایل های فشرده XLS است. مشاهده اشیاء کلاس با قابلیت ویرایش. چندین نمودار ساده برای پروتکل های سیستم.

این یک برنامه CSP بر اساس است jQuery-UI, chart.js, jsgrid.js
اگر علاقه مند هستید، لطفا به زیر و در زیر مراجعه کنید مخزن.

همه چیز با مطالعه این سوال شروع شد که چگونه تغییرات را در اشیاء در InterSystems IRIS، Ensemble و Cache DBMS ثبت کنید.

بعد از خواندن مقاله عالی در مورد این، من چنگال پروژه. و شروع به تکمیل آن برای نیازهای خود کرد.

راه حل به دست آمده به عنوان یک زیر کلاس پانل از %CSP.Util.Pane پیاده سازی می شود که دارای یک پنجره دستور اصلی و یک دکمه Run به همراه تنظیمات اصلاح دستور است.

وقتی "؟" را وارد می کنید شرح مختصری از این دستورات دریافت می کنیم:

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

جهانی ها

رایج ترین دستور من مشاهده جهانی است. به عنوان یک قاعده، این یک پروتکل جهانی هنگام اشکال زدایی پروژه خود یا شخص دیگری است. می توانید آن را به ترتیب معکوس و همچنین با اعمال یک فیلتر برای پیوند و داده مشاهده کنید. گره های یافت شده را می توان ویرایش و حذف کرد:

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

با وارد کردن منهای ^logMSW- در دستور بعد از نام، می توانید کل جهانی را حذف کنید.
اما به این ترتیب شما فقط می‌توانید جهانی‌هایی را که با ^log شروع می‌شوند (globals پروتکل) حذف کنید. محدودیتی برای حذف تصادفی اعمال شده است.

اگر "*" را بعد از نام وارد کنید، لیستی از جهانی ها با ویژگی های اضافی دریافت خواهید کرد. "*" دوم یک فیلد جدید "مگابایت اختصاص داده شده" اضافه می کند و ستاره دیگر "مگابایت استفاده شده" خواهد بود. این ترکیب از دو گزارش و تقسیم به "ستاره" برای تقسیم گزارش اغلب طولانی به بلوک های اشغال شده انجام می شود. جهانی های بزرگ

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

از این جدول می توانید پیوندهای فعال را دنبال کنید تا خود جهانی را مشاهده کنید یا با کلیک روی R یا W در قسمت Permission آن را به روش استاندارد از پورتال مدیریت مشاهده/ویرایش کنید.

درخواست ها

تبدیل گزارش به فرمت اکسل

دومین تابع پرکاربرد، اجرای پرس و جو است. برای این کار عبارت sql را به عنوان دستور وارد کنید.

اصلی‌ترین چیزی که در پورتال مدیریت سیستم استاندارد برای من کافی بود، اجرای پرس‌وجوها در منابع JDBC/ODBC پیکربندی شده در DBMS و خروجی‌گیری نتایج در قالب XLS، آرشیو کردن و ارسال فایل از طریق ایمیل بود. برای انجام این کار، در ابزار من، قبل از اجرای دستور، باید کادر "دانلود به فایل اکسل" را فعال کنید.

این ویژگی باعث صرفه جویی در وقت من در کارهای روزمره می شود و ماژول های آماده را با موفقیت در برنامه های کاربردی جدید و راه حل های یکپارچه سازی ادغام می کنم.

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

اما برای انجام این کار، ابتدا باید مسیر ایجاد فایل‌ها در سرور و اطلاعات کاربری و سرور ایمیل را پیکربندی کنید؛ برای این کار، به نوبه خود، باید گره‌های تنظیمات برنامه جهانی ^%App.Setting را ویرایش کنید. .

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

ذخیره گزارش ها در سطح جهانی

اغلب اوقات لازم است نتایج اجرای گزارش به صورت جهانی ذخیره شود. برای انجام این کار از روش های زیر استفاده می کنم:

برای JDBC:
##class(App.sys).SqlToDSN

برای ODBC:
##class(App.sys).SaveGateway

برای عبارات SQL:
##class(App.sys).SaveSQL

برای پرس و جو:
##class(App.sys).SaveQuery

به عنوان مثال، اگر در پنل دستور
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
بیایید نتیجه درخواست شمارش استفاده از مجوز را در آرایه ^GN ذخیره کنیم و می توانید آنچه را که در پانل ذخیره شده است با دستور زیر مشاهده کنید: result ^GN("%SYSTEM.License:Counts",0)

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

ماژول های قابلیت افزوده

و دومین پیشرفت که کار من را بسیار ساده و خودکار کرد، اجرای توانایی اجرای ماژول های نوشته شده ویژه هنگام تولید هر خط پرس و جو است. به این ترتیب من می توانم عملکرد جدیدی را در گزارش در حال پرواز در یک پاس ایجاد کنم، به عنوان مثال، پیوندهای فعال برای عملیات اضافی روی داده ها.

مثال 1: کار با کلاس App.Parameter

ایجاد یک پارامتر با استفاده از "Table Navigator"

ویرایش یک پارامتر از طریق "گزینه ها"

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

مثال 2: مشاهده جهانی از طریق پیوند "تاریخچه".

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

نمودار

با الهام از مقاله [9] و برای تجسم رشد پایگاه های داده، صفحه ای ایجاد شد که نمودار ماهانه اندازه های پایگاه داده ایجاد شده از فایل iris.log (cconsole.log) را با استفاده از رکوردهای "Expand" به صورت گذشته نگر از روز جاری نمایش می دهد.

به عنوان مثال، یک نمودار رویداد نیز در InterSystems IRIS ایجاد شده است که از فایل پروتکل نیز تولید می شود:

نوار ابزار توسعه دهنده اضافی در InterSystems IRIS

پیوند به مواد:

[1] زیر سیستم ورود به سیستم در کاشا
[2] فرنی فوری - انجام CRUD در کش با استفاده از jqGrid
[3] مدیران SQL جایگزین برای Caché DBMS
[4] نمونه هایی از تولید و ارسال ایمیل با استفاده از Cache DBMS
[5] کش + jQuery. شروع سریع
[6] استقرار برنامه
[7] پشتیبانی از UDL
[8] مشاهده جهانی ها در پورتال مدیریت حافظه پنهان
[9] پرومتئوس با کش
[10] محلی سازی در کش DBMS

با تشکر از نویسندگان این مقالات و مقالات دیگر که به من در ایجاد این ابزار کمک کردند.

PS این پروژه در حال توسعه است و بسیاری از ایده ها هنوز اجرا نشده اند. در آینده نزدیک قصد دارم انجام دهم:

1. الگوی برنامه در چارچوب uikit
2. اسناد خودکار قالب کد داکسجن با ادغام در CStudio

منبع: www.habr.com

اضافه کردن نظر