体系结构概念验证主要从任务:现有资产分析中获取输入,并考虑活动:执行服务规范所定义的概念:服务组合。
此外,当处理现有应用程序时,需检查并考虑以下事项:
-
异常处理:需要了解异常处理目前是如何运作的。在批处理过程中,如果发生异常,程序会异常终止(不正常地终止)并产生核心转储。 程序员需要查看核心转储并确定应采取的措施。
这可能是不可接受的。但应当确定需要采取的措施,例如,如何与异常处理框架集成。
-
进程和数据分发:需要检查执行数据和进程的位置。在某台机器上执行的 CICS 应用程序可能会向其他机器发送请求(在 CICS 中也称为函数输送)或远程调用其他机器上的数据。我们可能希望直接转到(JDBC 到
DB)正在运行进程或数据的远程机器上,而不是使用从 JDBC 到 DB 的连接器。
-
数据可用性:如果我们在 VSAM 中具有客户文件,而假设该 VSAM 需要 4 小时的维护窗口,那么我们无法支持 24 小时(7天)的客户服务。因此我们需要考虑一个新的存储解决方案。
-
授权/认证:许多旧应用程序在应用程序代码中具有授权和认证机制。 这将要求将用户访问管理迁移到最佳实践支持的联合管理环境中。
-
登台延迟:通常批处理程序每天夜里运行一次。如果需要更频繁地运行此程序,则必须修改调度程序以更改频率。
以上列表难免有所遗漏,此处仅作指导信息之用。
示例
在“租汽”示例中,服务的实现将需要考虑以下需求:
-
远程客户机/服务器、工作站应用程序和大型机 IMS 应用程序之间的无缝接口。
-
从远程应用程序方面消除“屏幕抓取”。这是为了消除仅由于向屏幕添加了一条消息或屏幕上的字段改变了位置而需要更改远程应用程序过程的情况。
-
支持 IMS 应用程序的输入和输出消息,这些消息是预定义的且具有固定的格式。
-
与消息格式编排有关的处理对 IMS 应用程序透明,这样可以大大地减少开发和测试新的远程应用程序所需的时间。
-
及时支持远程系统的 IMS 应用程序功能部件和新数据字段,即减少用于增强现有系统的时间。
这些技术可行性决策和考虑事项的元素反过来与体系结构的功能和操作方面均相关。 为了满足以上需求,使用了下列方法:
-
通过消息代理/集成代理程序来处理与 IMS 应用程序往来的消息格式编排。消息代理执行以下功能:
-
将入站消息的格式重新编排为大型机 IMS 应用程序可接受的预定义格式(从 XML 到固定长度格式)。
-
将大型机 IMS 输出消息的格式重新编排为 IMF 关键字格式(从固定长度格式到 XML),以便由原来的发送应用程序处理。
-
对入站消息进行询问以确定它是否为 IMF 格式(通过检查数据有效内容之前的消息头)。 此消息头以位置格式表示,包含 IMF 进行正确处理所需的一些关键信息。
-
根据消息头和 IMS 事务代码的内容来执行路由和变换。此 IMS 事务代码是在 IMS 大型机系统内执行相应事务所必需的。
-
IMS-MQ 桥接充当消息代理和 IMS 系统之间的同步管道。
消息/集成代理的使用极大地减少或消除了需要定制每个 IMS 应用程序才能处理来自不同远程系统的事务请求的情况。 由于大多数与消息格式编排有关的处理对 IMS 应用程序透明,因此大大地减少了开发和测试新的远程应用程序所需的时间。 此外,新的
IMS 应用程序功能部件和新的数据字段及时地可用于远程系统,从而减少了用于增强现有系统的时间。 这使应用程序间的耦合变得松散(这是 SOA 的核心原则之一)。
|