从CICS到SOA的本能进化

传统的CICS

CICS(Customer Information Control System)是主要运行于IBM大机系统上的事务处理和事务管理服务器。以其快速、稳定、高容量的联机事务特性博得了超过90%的财富500强公司的青睐。银行、保险以及政府机构的bank-teller应用、ATM系统、 保险行业应用系统以及工业生产控制系统等背后无一没有CICS的踪迹。另一方面,为了增强市场的动态适应能力、加快运营速度、减少成本,各个行业的企业都在改进他们的业务模式和工作流程来适应这种改变。而IT基础设施与企业业务不相符的现状,极大地催生出了一种新的企业软件设计架构——SOA(面向服务的体系结构)。

从CICS到SOA

在业务创新越来越成为企业核心竞争力的今天,CICS与SOA的结合的确是理所当然。传统支撑IT业务发展的“竖井状”孤岛系统严重缺乏点对点的连接规划,已成为企业业务创新的短板。而以实现IT与业务对齐为目标的SOA就如雪中送炭一样,给企业的业务创新开辟了一条康庄大道。SOA不是某种技术,而是一种架构风格、架构思想。在实施中,要做到从传统的以应用为核心到以服务为核心的转变。

对于Suncorp这样迅速成长的,以兼并和收购扩大公司市场份额为核心,解决方案需要集成来自异构系统和编程模型的业务功能,集成成本持续增长的大型企业来说,采用基于SOA的解决方案是再适合不过的了。

SOA实施关键

SOA实施的关键是应用功能的服务化。将应用中的功能模块抽象成开放、标准、粒度适中的服务,既保留了遗留系统的功能和数据,又促进了现有功能重用、避免重复投资。SOA的核心是面向服务的整合。ESB(企业服务总线)提供的面向消息的处理机制,以及协议、数据格式的广泛转换功能最大限度地提高了SOA的灵活性和扩展性。除此之外,松耦合、基于服务的组合和自动编排也是SOA成败的一些重要原则。松耦合不仅表现在服务本身,还表现在架构层面。服务的松耦合表现在服务的描述与其底层实现技术是分离的。架构的松耦合表现在服务消费者与服务提供者的分离,在服务消费者及提供者之间置入了仲裁模块。服务的组合和编排能够最大限度地重用现有功能,支持业务的创新。偏重于技术层面的服务/消息组合可由ESB提供,而偏业务层面的服务组合和编排可通过BPM组件实现。

提到SOA,不得不说服务虚拟化。ESB在其中担任了中介的作用。服务请求者和提供者通过交换消息进行交互。充当交互中的逻辑中间层的 ESB 提供了请求者和提供者之间松散耦合的互连。ESB 作为逻辑中间层的角色允许截获消息,并在消息在服务请求者和服务提供者之间流动时对消息进行处理。这也是支持事项分离的一方面。 ESB

总结

总的来说,经历了硝烟弥漫、战火纷飞,归于沉静的SOA正在引领企业级应用的大潮流。可以肯定的是,我们不再关心企业级应用系统/平台基于SOA的百分比,而更加在意的是SOA与ROA的选择,虽然它们并不具有严格意义上的排他关系。

Published: August 27 2012

blog comments powered by Disqus