企业应用集成(Enterprise Application Integration,EAI)是每个企业都必须面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA)的新型企业应用集成技术,强调将企业和组织内部的资源和业务功能暴露为服务,实现资源共享和系统之间的互操作性,并支持快速地将新的应用以服务的形式加入到已有的集成环境中,增强企业IT环境的灵活性。
请围绕“SOA在企业集成架构设计中的应用”论题,依次从以下3个方面进行论述。
(1)概要叙述你参与管理和实施的企业应用集成项目及你在其中所担任的主要工作。
(2)具体论述SOA架构的内容、特点,以及你熟悉的工具和环境对SOA的支持,在应用中重点解决了哪些问题。
(3)通过你的切身实践详细论述SOA在企业应用集成中发挥的作用和优势。
参考答案:
(A)简要介绍你参与管理和实施的大中型企业应用集成项目的基本情况,简要说明自己在该项目中的角色、所承担的主要任务及开展的主要工作。参与设计和实施的系统集成项目应有一定的规模,自己在该项目中担任的主要工作应有一定的分量。
(B)SOA架构。
·SOA架构的内容:SOA架构的基本元素是服务,SOA指定一组实体(服务提供者、服务消费者、服务注册表、服务条款、服务代理和服务契约),这些实体详细说明了如何提供和消费服务。SOA中的服务是自包含、无状态的实体,可以由多个组件组成,通过事先定义的接口响应服务请求,服务本身并不依赖其他函数和过程的状态,而用什么技术来实现服务,也不在其定义中加以限制。SOA本质上是将网络、传输协议和安全细节留给特定的实现来处理。这些服务是可互相操作的、独立的、模块化的、位置明确的、松耦合的,以及可发现的。在SOA架构中有C种角色(参与者),分别是:服务提供者(Service Provider)、服务请求者(Service Consumer)和服务代理者(Service Broker)。服务提供者提供符合契约的服务,并将他们发布到服务代理;服务代理者作为存储库、目录库或票据交换所,产生由服务提供者发布的软件接口;服务请求者(服务使用者,或者终端用户应用程序)发现并调用其他的软件服务来完成业务任务。
·SOA架构的特点:①服务的封装;②服务的重用;③服务的互操作;④服务是自治的功能实体;⑤服务之间的松耦合;⑥服务位置透明性。
·采用的工具或技术:①WebService;②JBEE;③WebSphere、WebLogic;④.NET;⑤CORBA;⑥DCOM;⑦其他中间件技术。
·以JBEE为例子,阐述它对SOA的支持:JBEE平台通过新的JAX-RPCA.AAPI提供了完整的Web服务支持,这种API支持基于Servlet和企业Bean的服务端点。JAX-RPCA.A基于WSDL和SOAP协议提供了与Web服务的互操作性。JBEEA.D平台也支持WebServicesforJBEE规范(JSRIBA),它定义了Web服务的部署需求并利用了JAX-RPC编程模型。
·在应用中重点解决的问题。①服务粒度的控制:SOA系统中服务粒度的控制是一项重要的设计任务。对于暴露在整个系统外部的服务可使用粗粒度的接口,而相对较细粒度的服务接口通常用于企业系统架构的内部。虽然细粒度的接口能够为服务请求者提供更加细化和更多的灵活性,但会使交互模式较难控制,服务的一致性较差。②无状态服务的设计:SOA的服务应该是独立的、自包含的,在实现这些服务的时候不需要前一个请求的状态,也就是说不应该依赖于其他服务的上下文和状态。当某一个服务需要依赖时,可以将其定义为具体的业务流程。
[注意]论及一项即可,解决的问题是管理或工程实施方面的亦可。
(C)结合项目实践经验,阐述SOA在系统集成中发挥的作用和优势所在。
SOA将应用程序的不同功能单元,通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松耦合。松耦合系统的好处有两点:一是它的灵活性;二是当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。
SOA系统原型的一个典型例子是通用对象请求代理体系结构(CORBA),它已经出现很长时间了,其定义的概念与SOA相似。
目前,SOA已经有所不同了,因为它依赖于一些更新的进展。这些进展是以可扩展标记语言(XML)为基础的。通过使用基于XML的语言(也称为Web服务描述语言)来描述接口,服务已经转到更动态且更灵活的接口系统中,比早期CORBA中的接口描述语言(Interfhce Definition Language,IDL)功能强大得多。