问答题
阅读以下关于企业应用集成的叙述,在回答问题1至问题3。
某软件公司承担了某大型企业应用系统集成任务,该企业随着信息化的进展,积累了许多异构的遗产信息系统,这些系统分别采用J2EE、.NET等技术进行开发,分布在不同的地理位置,采用不同的协议进行数据传输。企业要求集成后的系统能够实现功能整合,并在组织现有功能的基础上提供增值服务。为了按时完成任务,选择合适的企业应用集成方法和架构非常重要。项目组在讨论方案时,提出了两种集成思路。
(1)刘工建议采用传统的应用集成方法,将应用集成分为多个层次,并采用消息代理中间件连接遗产系统。
(2)王工建议采用基于SOA的方法进行应用集成,将现有遗产系统采用Web Service的方式进行包装,暴露统一格式的接口,并采用企业服务总线(ESB)进行连接。
项目组仔细分析比较了两种方案的优点和不足后,认为刘工和王工的建议都合理,但是结合当前项目的实际情况,最后决定采用王工的建议。
问答题
【问题1】
请分析比较两种方案优点和不足,完成表1-1中的空白部分。
{{B}} 表1-1{{/B}}
【正确答案】
【答案解析】(1)将现有系统看作抽象的服务的提供者,集成方法统一明确; (2)不同层次的集成方法关注点不同,功能组合方面能力较弱; (3)一般为中心辐射型(hub-and-spoke),系统之间的耦合度较高; (4)集成系统具有模块化,松耦合的特点,可扩展性较好。 试题一 [分析] 本题考查的是面向服务架构在应用集成方面的应用,应用集成本身属于比较传统的题目,但是SOA的思想和概念相对较新。 [问题1] 该问题考查的是在进行企业应用集成时,采用传统的多层划分、基于中间件集成方式和与基于SOA的集成方式的特点比较,主要强调基于SOA思想在应用集成中的优势。需要注意的是,如果企业只是进行小规模或较浅层次的“战术”级应用集成,采用传统的集成方式即可较好的完成任务,但是如果企业想从集成系统的灵活性和可扩展角度考虑,能够持续地集成已有信息系统,并进行“战略”意义上的长远规划,那么面向服务的架构无疑是一种更加优越的方法。采用SOA的思想进行应用集成,企业现有的应用系统都可以看作广义上的服务提供者,因此(1)处应该填写“将现有系统看作抽象的服务的提供者,集成方法统一明确”,这个答案要强调两点:一是服务提供者,二是集成方式统一;传统的应用集成方式往往采用分层的方式对待整个集成活动,因此在(2)处应该填写“不同层次的集成方法关注点不同,功能组合方面能力较弱”:对于(3),传统的集成方式大多会采用中心辐射型的集成架构,系统的耦合程度较高;对于(4),由于在面向服务的体系结构中,服务是统一的抽象模块,因此集成系统具有模块化、松耦合的特点,可扩展性较强。
问答题
【问题2】
针对该企业的集成实际情况,请用200字以内的文字叙述王工建议中企业服务总线 (ESB)应该具有的基本功能。
【正确答案】
【答案解析】针对该企业的集成实际情况,ESB的基本核心功能包括: (1)提供位置透明性的路由和寻址服务: (2)控制服务寻址和命名的管理功能: (3)至少一种形式的消息传递范型(例如,请求/响应、发布/订阅等); (4)支持至少一种可以广泛使用的传输协议和协议转换; (5)支持服务提供的多种集成方式。比如Java 2连接器、Web服务、异步通信、适配器等。 [分析] 该问题主要考查企业服务总线(ESB)在说明部分描述的集成条件下的作用。说明部分已经很清楚地描述了某企业应用集成的现状,主要有以下三点:①信息系统的开发平台不同;②地理位置不同,数据传输协议不同;⑧强调功能组合与服务组合功能增值。从这三点考虑,不难给出企业服务总线针对这三个问题对应的基本核心功能:提供位置透明性的路由和寻址服务(对应②):控制服务寻址和命名管理(对应③);消息传递范型(对应②):传输协议转换(对应②);多种平台下多种集成方式的支持(对应①)。
问答题
【问题3】
王工的方案拟采用Web Service作为基于SOA集成方法的实现技术。请根据该系统的实际情况,用300字以内的文字说明系统应该分为哪几个层次,并简要说明每个层次的功能和相关标准。
【正确答案】
【答案解析】在采用Web Service作为SOA的实现技术日才,该系统应该至少分为6个层次:底层传输层、服务通信协议层、服务描述层、服务层、业务流程层和服务注册层。 (1)底层传输层主要负责消息的传输机制,HTTP、JMS和SMTP都可以作为Web Service的消息传输协议,其中HTTP使用最广。 (2)服务通信协议层的主要功能是描述并定义服务之间进行消息传递所需的技术标准,常用的标准是SOAP协议,还有新出现的REST协议。 (3)服务描述层主要以一种统一的方式描述服务的接口与消息交换方式,相关的标准是WSDL。 (4)服务层的主要功能是将遗产系统进行包装,并通过发布的WSDL接口描述被定位和调用。 (5)业务流程层的主要功能是支持服务发现、服务调用和点到点的服务调用,并将业务流程从Web Service的底层调用抽象出来。相关的标准是WS-BPEL (BPEL4WS)。 (6)服务注册层的主要功能是使服务提供者能够通过WSDL发布服务定义,并支持服务请求者查找所需的服务信息。相关的标准是UDD1。 [分析] 该问题比较简单,主要考查当采用Web Services作为实现SOA思想的具体技术时,目前比较主流的分层方式,如图1-1所示。 从图中可以看出,从功能角度考虑,整个服务栈可以分为6个部分,分别是: (1)底层传输层(Transport)。主要负责消息的传输机制,HTTP、JMS和SMTP都可以作为Web Service的消息传输协议,其中HTTP使用最广。 (2)服务通信协议层(Service Communication Protocol)。主要功能是描述并定义服务之间进行消息传递所需的技术标准,常用的标准是SOAP协议,还有新出现的REST协议。 (3)服务描述层(Service Description)。主要以一种统一的方式描述服务的接口与消息交换方式,相关的标准是WSDL。 (4)服务层(Service)。主要功能是将遗产系统进行包装,并通过发布的WSDL接口描述被定位和调用。 (5)业务流程层(Business Process)。主要功能是支持服务发现、服务调用和点到点的服务凋用,并将业务流程从Web Service的底层调用抽象出来。相关的标准是WS-BPEL (BPEL4WS)。 (6)服务注册层(Service Registry)。主要功能是使服务提供者能够通过WSDL发布服务定义,并支持服务请求者查找所需的服务信息。相关的标准是UDDI。