试题与答案

阅读以下关于面向服务架构的应用叙述,根据要求回答问题。[说明] 某航空公司的主要业

题型:问答题

题目:

阅读以下关于面向服务架构的应用叙述,根据要求回答问题。
[说明]
某航空公司的主要业务系统(如订票系统、航班调度系统等)始建于20世纪七八十年代,之后随着信息化的进展,陆续积累了许多异构的遗产信息系统。这些系统部分采用了J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。近年来,该公司在企业集成方面也是煞费苦心,已经在几个主要的核心系统之间构建了用于信息集成的信息Hub(Information Hub),其他业务应用之间也有不少点到点的集成。尽管这些企业集成技术在一定程度上增进了系统间的信息共享,但是面对历史异构的遗产信息系统,企业的业务整合、功能整合仍是困难重重,主要表现如下。
(1)由于大部分核心应用构建在主机之上,因此Information Hub是基于主机技术开发,很难被开放系统使用。
(2)Information Hub对事件支持不强,被集成的系统间的事件以点到点流转为主,被集成系统间耦合性强。
(3)牵扯到多个系统间的业务协作以硬编码为主,将业务活动自动化的成本高,周期长,被开发的业务活动模块重用性差。
某软件开发公司承接了该航空公司应用系统集成任务,项目组经过多方讨论和论证之后,决定采用以面向服务为中心的企业集成技术,一步步解决该公司所面临的企业集成问题。

[问题1]
项目组在讨论架构方案时,某位架构师提出采用企业服务总线(ESB)架构模式,通过ESB的事件服务(Event Service)完成订阅发布,使应用程序间的事件集成不再需要原来的点到点方式,从而解耦组件之间的依赖关系,降低软件系统互连的复杂性。结合你的系统架构设计经验,请用400字以内的文字简要说明在ESB环境中组件之间典型的交互过程,以及ESB具有的核心功能。

答案:

参考答案:企业服务总线(Enterprise Service Bus,ESB)是由中间件技术实现的支持面向服务架构(SOA)的基础软件平台,支持异构环境中的服务以基于消息和事件驱动模式的交互,并且具有适当的服务质量和可管理性。ESB技术的基本思想是,提供一种标准的软件底层架构,各种程序组件能够以服务单元的方式“插入”到该平台上运行,并且组件之间能够以标准的消息通信方式来进行交互。
一个在ESB环境中组件之间典型的交互过程是:首先由服务请求者触发一次交互过程,产生一个服务请求消息,并将该消息按照.ESB的要求标准化,然后标准化的消息被发送给服务总线。ESB根据请求消息中的服务名或者接口名进行目的组件查找,将消息转发至目的组件,并最终将处理结果逆向返回给服务请求者。
这种交互过程不再是点对点的直接交互模式,而是由事件驱动的消息交互模式。通过这种方式,ESB最大限度上解耦了组件之间的依赖关系,降低了软件系统互连的复杂性。连接在总线上的组件无须了解其他组件和应用系统的位置及交互协议,只需要向服务总线发出请求,消息即可获得所需服务。服务总线事实上实现了组件和应用系统的位置透明和协议透明。技术人员可以通过开发符合ESB标准的组件(适配器)将外部应用连接至服务总线,实现与其他系统的互操作。同时,ESB以中间件的方式,提供服务容错、负载均衡、QoS保障和可管理功能。
ESB的基本核心功能归纳如下。
(1)提供位置透明性的消息路由和寻址服务。
(2)提供服务注册和命名的管理功能。
(3)支持多种消息传递范型(如请求/响应、发布/订阅等)。
(4)支持多种可以广泛使用的传输协议(即传输协议转换)。
(5)支持多种数据格式及其相互转换(即多种平台下多种集成方式的支持)。
(6)提供日志和监控功能。

试题推荐
微信公众账号搜索答案