旧资产的SOA集成:四个典型案例
在各种技术期刊上,许多IT分析师都说过SOA并不是一种产品或方案,而是一个旅程。如果SOA是一个旅程,那么旧SOA资产的现代化则是一个"整理备用衣服"的旅程。这是因为旧SOA资产的现代化旅程可能会经历意想不到的曲折和艰辛,你会遇到业务目标、关键人员和技术发生变动的情况。
我们将分析我们所遇到的一系列常见的旧SOA资产现代化的实例来为你提供经验。在每一个实例的最后我们还会提供一个实际有效的设计方案。
案例一:企业信息集成(EII)
也称为数据集成、文件共享、信息共享。
问题
我们当前用于信息集成的主机设备已经很脆弱,并且价格昂贵、难以维护。
典型的问题包括没有统一的工作流程、缺乏数据质量、数据剖析能力低下、各数据专线都使用特定的传输逻辑、没有实时监控的能力、并且无法迅速地添加新数据传送专线。
背景
需要与公司内外部的新系统和其它主机系统上开发的新系统共享数据。
几乎所有的主机系统都有数据传送专线来传入或传出数据。这些数据专线通常都由一个每日进行一次批处理的工作流程管理系统控制。
动力
以前应用和企业是各自独立的。现在应用与企业之间产生了对信息共享的巨大需求。
解决方案
架构概述
旧资产的SOA集成的目标并不是分解当前的业务过程和旧系统。我们之所以保留了数据专线也是出于这个考虑。要想对数据专线做出哪怕很小的改动也是不可能的,因为:
· 如果涉及第三方团队,或者甚至是只牵涉到企业内部不受你控制的一个团队,完成这项工作也要花费数月的时间。
· 即使是内部数据专线也影响着源系统、当前的过程和目标系统,以至即使是很小的一个改动也会产生连锁反应,使这项工作花费数月时间。
当前的数据专线将继续保留。图表显示了诸如Legacy Adapters和Oracle Messaging等技术,业务过程发生变化时可以对其进行调整。
· Oracle ESB—Oracle ESB将使用文件或FTP适配器读取平面文件,然后将平面文件转换为普通(标准)XML文件格式。消息将根据源或数据专线发送到相应的Orcale BPEL过程。
· Oracle BPEL—这里是接收我们前面讨论的工作流与处理过程的地方:
Oracle BPEL将调用Java或Web服务过程进行所有的验证处理。验证过程可能会调用Oracle数据库并根据数据库里的数据验证信息。
验证之后即进行特定文件格式的处理,也就是将“业务规则”应用到输入数据文件。这个业务处理过程将调用Oracle业务规则引擎。
常规错误处理--验证和/或业务规则处理错误将被发送到错误处理路由。结果填充到BPEL工作表,然后工作人员便可以更正问题文件或记录。
数据持久性Web服务--数据将储存在Oracle数据库、IMS数据库、和/或Oracle电子商务套件中。