Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Một nhóm các công cụ bổ sung để theo dõi và điều tra lỗi trong các ứng dụng và giải pháp tích hợp trên nền tảng dữ liệu InterSystems IRIS, nền tảng tích hợp Ensemble và Cache DBMS hoặc câu chuyện về một chiếc xe đạp khác.

Trong bài viết này, tôi muốn nói về ứng dụng mà cùng với các công cụ quản trị tiêu chuẩn tôi sử dụng hàng ngày để giám sát các ứng dụng và giải pháp tích hợp trên nền tảng InterSystems IRIS và tìm ra lỗi khi chúng xảy ra.
Giải pháp bao gồm xem và chỉnh sửa mảng chung, chạy truy vấn (bao gồm JDBC/ODBC), gửi kết quả tìm kiếm qua email dưới dạng tệp XLS được nén. Xem các đối tượng lớp có khả năng chỉnh sửa. Một số đồ thị đơn giản cho các giao thức hệ thống.

Đây là một ứng dụng CSP dựa trên giao diện người dùng jQuery, biểu đồ.js, jsgrid.js
Nếu bạn quan tâm, vui lòng xem bên dưới và trong kho.

Tất cả bắt đầu bằng việc nghiên cứu câu hỏi về cách ghi nhật ký các thay đổi đối với các đối tượng trong InterSystems IRIS, Ensemble và Cache DBMS.

Sau khi đọc bài viết xuất sắc về điều này, tôi đã rẽ nhánh dự án. và bắt đầu hoàn thiện nó theo nhu cầu của mình.

Giải pháp kết quả được triển khai dưới dạng lớp con bảng điều khiển của %CSP.Util.Pane, có cửa sổ lệnh chính và nút Chạy, cùng với các cài đặt tinh chỉnh lệnh.

Khi bạn nhập "?" chúng tôi nhận được một mô tả ngắn gọn về các lệnh này:

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Quả cầu

Lệnh phổ biến nhất của tôi là xem toàn cầu. Theo quy định, đây là giao thức toàn cầu khi gỡ lỗi dự án của riêng bạn hoặc của người khác. Bạn có thể xem nó theo thứ tự ngược lại cũng như bằng cách áp dụng bộ lọc cho cả liên kết và dữ liệu. Các nút tìm thấy có thể được chỉnh sửa và xóa:

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Bạn có thể xóa toàn bộ toàn cầu bằng cách nhập dấu trừ ^logMSW- vào lệnh sau tên.
Nhưng theo cách này, bạn chỉ có thể xóa các hình cầu bắt đầu bằng ^log (các giao thức toàn cầu), tức là. Một hạn chế chống lại việc vô tình xóa đã được thực hiện.

Nếu bạn nhập “*” sau tên, bạn sẽ nhận được danh sách toàn cầu với các đặc điểm bổ sung. Dấu “*” thứ hai sẽ thêm trường mới “MB được phân bổ” và một dấu hoa thị khác sẽ là “MB đã sử dụng”. Sự kết hợp giữa hai báo cáo và phân chia thành “dấu hoa thị” này được thực hiện để chia báo cáo thường có dạng dài thành các khối bị chiếm dụng của các tập đoàn toàn cầu lớn.

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Từ bảng này, bạn có thể đi theo các liên kết hiện hoạt để xem toàn cầu hoặc xem/chỉnh sửa nó theo cách tiêu chuẩn từ cổng quản lý bằng cách nhấp vào R hoặc W trong trường Quyền.

yêu cầu

Chuyển đổi báo cáo sang định dạng Excel

Chức năng được sử dụng thường xuyên thứ hai là thực hiện truy vấn. Để thực hiện việc này, hãy nhập câu lệnh sql dưới dạng lệnh.

Đối với tôi, điều chính là đủ trong Cổng quản lý hệ thống tiêu chuẩn là thực thi các truy vấn trên các nguồn JDBC/ODBC được định cấu hình trong DBMS và xuất kết quả ở định dạng XLS, lưu trữ và gửi tệp qua email. Để thực hiện việc này, trong công cụ của tôi, trước khi thực hiện lệnh, bạn cần bật hộp kiểm “Tải xuống tệp Excel”.

Tính năng này giúp tôi tiết kiệm rất nhiều thời gian trong công việc hàng ngày và tôi đã tích hợp thành công các mô-đun tạo sẵn vào các ứng dụng và giải pháp tích hợp mới.

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Nhưng để thực hiện việc này, trước tiên bạn cần định cấu hình đường dẫn tạo tệp trên máy chủ cũng như thông tin đăng nhập của người dùng và máy chủ thư, để làm được điều này, bạn cần chỉnh sửa các nút của cài đặt chương trình chung ^%App.Setting .

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Lưu báo cáo trên toàn cầu

Rất thường xuyên cần phải lưu kết quả thực hiện báo cáo trên toàn cầu. Để làm điều này tôi sử dụng các thủ tục sau:

Đối với JDBC:
##class(App.sys).SqlToDSN

Đối với ODBC:
##class(App.sys).SaveGateway

Đối với biểu thức SQL:
##class(App.sys).SaveSQL

Đối với truy vấn:
##class(App.sys).SaveQuery

Ví dụ: nếu trong bảng lệnh
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
Hãy lưu kết quả của yêu cầu đếm mức sử dụng giấy phép trong mảng ^GN và bạn có thể xem những gì đã được lưu trong bảng bằng lệnh: result ^GN("%SYSTEM.License:Counts",0)

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Các mô-đun chức năng mở rộng

Và cải tiến thứ hai, giúp đơn giản hóa và tự động hóa rất nhiều công việc của tôi, là việc triển khai khả năng thực thi các mô-đun được viết đặc biệt khi tạo từng dòng truy vấn. Bằng cách này, tôi có thể xây dựng chức năng mới vào báo cáo một cách nhanh chóng, chẳng hạn như các liên kết hoạt động cho các thao tác bổ sung trên dữ liệu.

Ví dụ 1: Làm việc với lớp App.Parameter

Tạo một tham số bằng cách sử dụng “Table Navigator”

Chỉnh sửa tham số thông qua “Tùy chọn”

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Ví dụ 2: Xem toàn cầu thông qua liên kết “Lịch sử”

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Đồ thị

Lấy cảm hứng từ bài viết [9] và để trực quan hóa sự phát triển của cơ sở dữ liệu, một trang đã được tạo để hiển thị biểu đồ hàng tháng về kích thước cơ sở dữ liệu được tạo từ tệp iris.log (cconsole.log) bằng cách sử dụng các bản ghi “Mở rộng” kể từ ngày hiện tại.

Ví dụ: một biểu đồ sự kiện cũng đã được tạo trong InterSystems IRIS, biểu đồ này cũng được tạo từ tệp giao thức:

Thanh công cụ bổ sung dành cho nhà phát triển trên InterSystems IRIS

Liên kết đến tài liệu:

[1] hệ thống con ghi nhật ký ở Kasha
[2] Cháo ăn liền - thực hiện CRUD trong Cache bằng jqGrid
[3] Trình quản lý SQL thay thế cho Cache DBMS
[4] Ví dụ về tạo và gửi Email bằng Cache DBMS
[5] Bộ đệm + jQuery. Bắt đầu nhanh
[6] Triển khai ứng dụng
[7] Hỗ trợ UDL
[8] Xem toàn cầu trong Cổng thông tin quản lý bộ đệm
[9] Prometheus với bộ đệm
[10] Bản địa hóa trong Cache DBMS

Cảm ơn tác giả của những bài viết này và những bài viết khác đã giúp tôi tạo ra công cụ này.

PS Dự án này đang phát triển và nhiều ý tưởng vẫn chưa được thực hiện. Sắp tới tôi dự định làm:

1. Mẫu ứng dụng trên framework uikit
2. Tự động ghi lại định dạng mã doxegen với sự tích hợp vào CStudio

Nguồn: www.habr.com

Thêm một lời nhận xét