文章目录
- 第十二章 Productions最佳实践 - 命名约定
- 命名约定
- 业务服务
- 路由进程
- 路由规则集
- 业务操作
- 数据转换
- 自定义架构类别
第十二章 Productions最佳实践 - 命名约定
命名约定
本主题解释命名约定的重要性并提供示例。
通常,将逐步开发产品,一次开发一个界面。有一种“随心所欲”命名项目的诱惑,并允许命名约定随着项目的进行而逐渐增长。 建议不要采用这种渐进的命名约定方法。
请记住,一个完整的 HIS
系统可能涉及数百个接口。一旦包含所有这些接口,预计管理路由生产的任务。每个组件的名称应清楚地标识其用途。这样,开发人员和系统管理员可以轻松地根据功能预测组件的名称。
建议在项目开始时建立一套完整的命名约定,然后坚持使用。这减少了为了更正名称而回溯到您的生产配置的需要。
任何按功能明确标识组件的约定都可以。以下是几位 客户成功使用的一整套命名约定:
- 有关配置项名称的规则,请参阅配置产品中的“配置名称”。
- 列出将组装以创建名称的各个段。这些可能包括:
- 关键词
From for incoming
To for outgoing
Router for routing
Rules for rule sets
- 基本架构类别编号 —
2.1、2.2、2.3、2.3.1、2.4、2.5、2.5.1、2.6、2.7 或 2.7.1
— 用于架构
- 每个应用程序的简称
- 标识一般消息结构类(
ADT
、ORM
等)的关键字 - 完整的消息结构名称(
ADT_A01
、ADT_A04
、ORM_O01
等)
- 关键词
- 保持名称的每个部分简短(
3-6
个字符) - 请记住名称区分大小写
对于生产的每个元素,从定义的片段中组合一个名称:
- 业务服务:
FromSourceAppName
- 业务操作:
ToTargetAppName
- 路由进程:
SourceAppNameRouter
- 路由规则集:
SourceAppNameRules
- 数据转换:
SourceAppNameSourceMessageTypeToTargetAppNameTargetMessageType
- 自定义架构类别:
SourceAppNameBaseSchemaNumber
对于更复杂的设计:
- 业务服务:
FromSourceAppNameMessageTypes
- 业务操作:
ToTargetAppNameMessageTypes
- 路由进程:
SourceAppNameMessageTypesRouter
- 路由规则集:
SourceAppNameMessageTypesRules
以下主题提供了这些命名约定的解释和示例。
业务服务
Convention
Examples
FromERChart, FromFineOR, FromDeskAdm
Variation
如果决定组织一个接口,以便一个应用程序通过多个业务服务将消息发送到 IRIS
,还包括一个关键字,用于对通过每个业务服务的消息类型进行分类。典型的 MessageTypes
关键字使用消息结构的前三个字母。在这种情况下,业务服务名称的约定是 FromSourceAppNameMessageTypes
。
路由进程
Convention
Examples
ERChartRouter, FineORRouter, DeskAdmRouter
如果决定组织一个接口,以便一个应用程序通过多个业务服务将消息发送到 IRIS
,还包括一个关键字,用于对通过每个业务服务传递到其路由进程的消息类型进行分类。在这种情况下,路由进程名称的格式如下
Variation
Examples
ERChartADTRouter, ERChartORMRouter, ERChartOtherRouter
路由规则集
Convention
每个路由进程都有一个关联的规则集,其规则确定消息目的地。这些规则根据消息类型、消息内容、一天中的时间或其他因素将消息定向到数据转换或业务操作。命名每个规则集以匹配其路由过程。也就是说,对于每个 SourceAppNameRouter
,调用规则集 SourceAppNameRules
。对于每个 SourceAppNameMessageTypesRouter
,调用规则集 SourceAppNameMessageTypesRules
。
Examples
DeskAdmRules
DeskAdmORMRules
业务操作
Convention
ToImagit, ToFineOR, ToPindex
Variation
如果决定组织一个接口,以便一个应用程序通过多个业务操作从 IRIS
接收消息,还包括一个关键字,用于对通过每个业务操作的消息类型进行分类。
数据转换
请记住,SourceMessageType
和 TargetMessageType
可能具有相同的名称,但在不同的模式类别中表示相同的消息结构。
自定义架构类别
ApplicationName BaseSchemaNumber
ApplicationName
可以表示发送应用程序或接收应用程序。