1.面向服务的体系结构技术
面向服务的体系结构是一个组件模型,它将应用程序的不同功能单元(称为服务)通过彼此之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,独立于实现服务的硬件平台、操作系统和编程语言。接口允许服务以一种统一和通用的方式进行交互。在企业集成方面,面向服务的体系结构定义了一个粗粒度的、事件驱动的模型,把信息系统的核心分割为一系列粗粒度的组件,这些组件通过业务进行逻辑连接,以事件驱动的方式进行协作,向客户提供服务。
在SOA架构中,业务协同映射为相关服务间的互动编排,基于上下文的过滤和路由可以根据服务的执行结果和事件状态,智能地执行这些互动编排,完成业务协同。
(1)XML信息表示和转换能力。XML提供了强大的信息表示和转换能力,一方面,可以将其他格式(如结构文件和关系数据)转换为XML格式进行处理和向前转发;另一方面,可以根据需要将XML转换为其他格式。
(2)支持标准接口。企业服务总线(Enterprise Service Bus,ESB)广泛采用“业界标准”,支持Web服务接口、JMS接口、JCA(Java Commector Architecture)接口、JDBC(Java Data Base Connectivity)接口、COM和NET接口等,现在企业里一般都部署了许多中间件,但是中间件(如Message-Oriented Middleware,MOM)一旦被企业部署,就很难被替代和升级。ESB需要改变当前的业务模式,桥接多个MOM,桥接异步(如消息机制)和同步(Remote Procedure Call,RPC)域,因此,ESB是支持和集成已经存在的任何东西,而不是去替代它。
(3)分布式的操作和管理。随着软件普及到现代业务的方方面面,交互的频率也不断提高,以前集中的方法[如中心辐射体系结构(hub-and-spoke architecture)]不容易维护和中断成本高的缺点变得突出。现代的业务需要没有失败节点的分布式网络,这就需要优化网络通信,在有失败节点的情况下,提供可选择的路径;同时,还要平衡处理负载,以减少对网络带宽的利用。
(4)ESB的体系结构。ESB的体系结构大致分3层:
①企业服务层,包括Web服务、数据库应用、遗留系统、J2EE和NET等应用。ESB将所有这些都视为服务。
②适配器层,包括各类适配器。
③核心层,包括ESB的核心部分以及相应的管理服务。(www.daowen.com)
在ESB的体系结构中,各个部分的作用如下:
①适配器:它将从Web服务、数据库应用、遗留系统、J2EE和NET等应用中传递过来的消息转换成ESB能够识别的信息表示方式,使信息具有统一的表示方式,以事件驱动的形式对服务目录进行查询,使Web服务、数据库应用、遗留系统、J2EE和NET等应用能够与ESB进行交互操作。
ESB支持标准接口,因此,这些适配器具有通用性,不再为单个的企业集成商私有。通过这些适配器,服务能实现与ESB的交互。
②ESB:这是整个体系结构的核心部分,通过适配器的转换,消息具有了统一的表示,这些可靠、异步、安全的消息通过JMS服务器对服务目录进行查询。
③服务目录:采用UDDI实现,其提供服务的注册、更新、删除等机制。通过查询服务目录和JMS消息访问服务目录获取服务的路径,实现服务之间的相互通信和协作。如果服务的两端交互频繁,可以对其中的一方或者两方进行扩张和性能的优化,实现二者间的对等通信,而不用再通过第三方。这一切并不改变服务的性质,可以实现服务路径的透明化。
④生命周期管理:实现对服务全生命周期的管理。
⑤安全管理:实现对ESB安全方面的管理,对授权用户和非授权用户实行认证机制,保证ESB处于安全的环境中,保证传输到ESB中的消息是安全和可靠的,从而保证正确的过滤和路由。
⑥配置管理:ESB的内部改变可以通过配置管理来体现其变化,硬件管理和软件管理等可以通过配置管理来实现对ESB的动态管理。例如,若要添加或者取消一个服务,可以通过配置管理来实行动态的添加和注销机制,从而实现服务模型的动态管理和监控。
⑦策略管理:监控和管理服务的状态,避免一些服务处于忙碌状态,而其他具有同样作用的服务处于闲置状态;对获取服务的规则进行动态管理以实现网络优化,降低网络带宽的利用率,提高边缘资源的利用率;同时,尽量保证在有失败节点的情况下,提供一个可选路径。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。