文章
Jeff Liu · 一月 8, 2021 阅读大约需 5 分钟

ObjectScript类浏览器 - 以UML类图方式浏览ObjectScript类

你好!

本文简单介绍一款工具,帮您理解InterSystems产品(从IRISCachéEnsemble以及HealthShare)中的类及其结构。

简言之,它将类或整个包可视化,显示类之间的关系,并向开发人员和团队领导提供各种信息,而无需到 Studio 中检查代码。

 

如果您正在学习InterSystems产品,经常查看项目,或只对InterSystems技术解决方案中的新内容感兴趣,欢迎阅读ObjectScript类浏览器概述!

 

InterSystems 产品简介

 

IRIS(之前称为Caché) 是一个多模型DBMS。您可以使用SQL查询来访问它,也可以通过各种编程语言可用的接口与存储的对象和过程进行交互。但最多的还是使用DBMS原生内置语言--ObjectScript (COS) 开发应用程序。

 

Caché支持DBMS级别的类。有两种主要的类类型:Persistent(可以存储在数据库中)和 Registered(不存储在数据库中,扮演程序和处理程序的角色)。还有几种特殊的类类型:Serial(可集成到持久类中用于创建复杂数据类型(如:地址)的类),DataType(用于创建用户定义的数据类型)、IndexView Stream

 

进入类浏览器

Caché类浏览器是一个工具,它将Caché类的结构可视化为图表,显示类之间的依赖关系和所有相关信息,包括各种类元素的方法代码、查询、xData块、注释、文档和关键字。

 

功能

 

类浏览器使用扩展版UML类图进行可视化,因为Caché有一组很重要但不被标准UML支持的附加实体:查询、xData块、方法和属性的大量关键字(如SystemZenMethodHiddenProcedureBlock等)、父子关系和一多关系、类类型等。

 

Caché 类浏览器(1.14.3版)允许您执行以下操作:

  • 显示包、类图或整个包的层次结构;
  • 编辑图表显示后的外观;
  • 保存类图的当前图像;
  • 保存一个图表的当前外观,并在将来恢复;
  • 按图表或类树中显示的任何关键字搜索;
  • 使用工具提示获得关于类、其属性、方法、参数、查询和xData块的完整信息;
  • 查看方法、查询或xData块的代码;
  • 启用或禁用任何图表元素的显示,包括图形图标。

 

为了更好理解下文内容,先看下类浏览器的如何对类进行可视化的。举个例子,让我们显示来自“samples”命名空间的“cinema”包:

 

 

详细信息和功能概述

左侧边栏包含一个包树。将鼠标指针放在包名称上,然后单击出现在其右侧的按钮以显示整个包。在包树中选择类,将其与其链接的类一起呈现。

 

类浏览器可以显示类之间的几种依赖关系类型:

 

 

1.   继承。以白色实心箭头显示,箭头指向继承的类;

2.   类之间的“关联”或关系。如果其中一个类的字段包含另一个类的类型,图表构建器将把它显示为关联关系;

3.   父子关系和一多关系:维护数据完整性的规则。

如果将鼠标指针指向该关系,则创建该关系的属性将高亮显示:

注意,类浏览器不会更深入,也不会为当前包之外的类绘制依赖关系。它将只显示当前包中的类,如果需要限制类浏览器查找类的深度,请使用“依赖级别”设置:

 

类本身显示为一个矩形,分为六个部分:

1.   类名:将鼠标指针指向类名,可以了解它是何时创建和修改的,查看注释以及所有分配给这个类的关键字。双击类头将打开其文档;

2.   类参数:所有带类型、关键字和注释的赋值参数。斜体的参数以及任何属性都有工具提示并且可以悬停;

3.   类属性与参数类似;

4.   方法:点击任何方法都可以查看其源代码。COS 语法将被高亮显示;

5.   查询:与方法类似--点击可以查看源代码;

6.   xData块:主要包含XML数据的块。点击将显示块中格式化的源代码。

默认每个类都显示有许多图形图标。点击屏幕右上角的“帮助”按钮,了解每个图标的含义。如果您需要默认显示更严格或更包容的 UML 类图,以及任何类的任何部分,可以在设置部分禁用。

如果关系图太大,而且您也不太熟悉,可以使用快速图表搜索功能。包含您输入的关键字的任何部分的类将被高亮显示。要跳转到下一个匹配项,只需按 Enter 键或再次单击搜索按钮:

 

最后,在完成了图表编辑,去掉所有不必要关系,并将元素安放好,实现期望的外观之后,可以点击左下角的下载按钮来保存:

激活固定按钮  时,元素在当前类(或包)组的图表上的位置将被固定。例如,如果您选择A类和B类,然后用固定按钮保存视图,则再次选择A类和B类时将看到完全相同的视图,即使在重新启动浏览器或机器之后也不会变化。但是如果您只选择A类,布局将是默认的。

安装

要安装Caché类浏览器,只需将最新版本xml包导入到任何命名空间中。导入后就能看到名为hostname/ClassExplorer/(末尾的斜杠不能丢)的新web应用程序。

详细安装说明

1.   下载最新版Caché类浏览器压缩包;

2.   提取名为Cache/CacheClassExplorer-vX.X.X.xmlXML文件;

3.   使用以下方法之一将包导入任何命名空间:

1.   只需将XML文件拖到Studio上;

2.   使用系统管理门户:系统资源管理器 -> -> 导入,并指定本地文件路径;

3.   使用terminal命令:

do ##class(%Installer.Installer).InstallFromCommandLine(“Path/Installer.cls.xml”);

4.   读取导入日志--如果顺利安装,就可以通过 http://hostname/ClassExplorer/ 打开 web 应用程序。如果出了问题,请检查以下内容:

1.   是否有足够权限将类导入该命名空间;

2.   web应用程序用户是否有足够权限访问不同的命名空间;

3.   如果出现错误404,只需检查是否在 URL 末尾添加了斜杠。

附加截图

[截图 1] DSVRDemo 包,鼠标指针悬停在一个类名上。

 

[截图 2] DataMining 包,在图表中搜索“TreeInput”关键字。

 

[截图 3] JavaDemo.JavaListSample 类中的方法代码视图。

 

[截图 4] 查看 ClassExplorer.Router 类中的 Xdata 块内容。

 

您可以尝试在标准SAMPLES命名空间中使用类浏览器:演示。这个项目的评测视频

 

欢迎任何反馈、建议和意见--提交到这里或GitHub仓库。希望对您有用!

00
2 0 0 32
Log in or sign up to continue