事件驱动交互模式的一个主要优点就是保证应用之间的松耦合。只要接入ESB中,每个应用都不用了解如何与其他的应用进行交互这些细节,ESB负责处理所有的协议、数据格式和不同的交互模式。事件驱动的架构只有在一定条件下才能有效地工作。ESB必须具有可靠和高可用的异步消息传递能力。在一个同步的点对点的集成项目中,如果一个应用没有收到一个请求的响应,它会发出错误的信息,同时再次尝试发出请求。但是在异步的情况下,应用向ESB发出一个请求以后就不再关心是否会有响应,直到一个新的请求到达,通知这个应用完成下一个处理。
ESB的优势在于,它的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。
3 SOA平台核心功能与技术特点
现有企业的解决方案大部分基于交易中间件和消息中间件,较好地满足了应用系统在性能、服务质量和安全性等几个方面的需求。但SOA环境中,应用组件之间应该形成一种松耦合关系,要让一个应用软件的组件,很容易去跟属于不同应用的软件组件进行对话,如何确保这些迥然不同,但又相互连接的系统的效率、可靠性、可控性和安全性,是SOA需要面对的问题。
3.1 功能
目前SOA平台解决方案通常包括以下功能:
企业服务总线ESB
ESB提供业务对象传递转换等重要功能,完成企业信息共享和交换。充当“缓冲器”的ESB负责在诸多服务之间转换业务逻辑和数据格式,ESB与服务逻辑相分离,使不同的应用程序可以同时使用同一服务,不需要在应用程序或者数据发生变化时,改动服务代码。
使服务作为企业的资源得到统一的管理、访问和共享利用。ESB的标准性使各个组件可以以插件的模式随需配置,ESB像血液一样把养分输送到身体的各个需要的角落。
适配器体系Adapter
Adapter可以在几乎不更改原应用代码的情况下,以无缝方式使企业已有的系统具有全新的服务接口,实现对于各种数据源、信息源、以及各种应用系统的衔接。
Adapter定义了是一组规范,它描述了利用ESB将各应用加以连通的基本接口,简化和统一了ESB与应用程序间的交互方式。利用Adapter,应用程序编程人员可以一致地访问和操纵来自异构系统的消息,包括关系数据库、XML数据源、Web服务和企业信息系统。
以Adapter连接不同服务,形成可重用的业务对象,可以更方便的利用SOA架构进行整合和组装,能真正给实施SOA带来落地和实践的可能。
流程设计工具
通过全流程的编排和开发,细到代码逻辑、粗到构件业务组装逻辑、再到跨部门和跨企业的服务集成逻辑,都在统一的流程开发和管理之下。它像大脑神经一样控制着我们业务的流程运行,把各种业务逻辑和资源访问统一控制起来,统一指挥起来。
以服务为基本元素,提供业务流程的设计组装功能,提供技术基础,实现流程管理与事务管理功能,帮助企业快速根据已有应用形成新功能,适应市场的快速变化。