SOA面向服务架构简介内容目录23SOA架构概述312SOA架构体系SOA实施目标34SOA实例展示第一部分:SOA架构概述SOA概述-”信息孤岛”问题信息化的发展,企业间协同商务和企业信息门户等要求企业的应用系统是一个高度集成和开放的系统。然而大型企业往往拥有着异构系统,导致系统间信息的交互与互操作非常困难,形成了一个个“信息孤岛”,为了实现企业全局的业务过程自动化,需要投入大量的人力和财力来进行系统集成。“信息孤岛”定义所谓“信息孤岛”是指,在一个单位的各个部门之间由于种种原因造成部门与部门之间完全孤立,各种信息(如财务信息、各种计划信息等)无法或者无法顺畅地在部门与部门之间流动。这样就会形成信息孤岛。是重硬轻软,重网络轻数据的表现。SOA概述-”信息孤岛”问题“信息孤岛”类型企业在信息化过程中存在各种类型的信息孤岛。大体可分为数据孤岛、系统孤岛、业务孤岛、管控孤岛四种类型。1、数据孤岛数据孤岛是最普遍的形式,存在于所有需要进行数据共享和交换的系统之间。随着企业计算机技术运用的不断深入,不同软件间,尤其是不同部门间的数据信息不能共享,设计、管理、生产的数据不能进行交流,数据出现脱节,即产生信息孤岛,势必给企业的运用带来信息需要重复多次的输入、信息存在很大的冗余、大量的垃圾信息、信息交流的一致性无法保证等困难。2、系统孤岛系统孤岛指在一定范围内,需要集成的系统之间相互孤立的现象。原先各自为政所实施的局部应用使得各系统之间彼此独立,信息不能共享,成为一个个信息孤岛。有条件的企业投入资金将以前的系统重新升级、设计,在一定范围内实现了信息的共享,业务可以跨部门按照流程顺序执行。经过一段时间后,又有新的系统要上,又发现这些系统所需要的数据不能从现有系统中提取,仍然要从现有系统统计打印出来再输入到新系统中,又出现了信息孤岛。SOA概述-”信息孤岛”问题3、业务孤岛业务孤岛表现为企业业务不能通过网络系统完整、顺利的执行和处理。在企业内部网络系统和网络环境的建设中,以企业发展为目标的信息化要求日益迫切,企业的业务需要在统一的环境下,在部门之间进行处理。企业里经常遇到的头痛问题是“产供销严重脱节”、“财务账与实物账不同步”,其实质就是生成流程、供应流程、销售流程和财务流程都是孤立运行,没有能够形成一个有机的整体。信息孤岛的要害就是割断了本来是密切相连的业务流程,不能满足企业业务处理的需要。4、管控孤岛管控孤岛指智能控制设备和控制系统与管理系统之间脱离的现象,影响控制系统作用的发挥。企业需要向其上级主管部门上报企业的经营情况、接收上级的各种指令和计划,同时管理层也需要通过信息系统了解和掌握现有信息做出明确的决断,然而由于信息孤岛的存在不能满足信息共享需要。信息孤岛的问题已经严重地阻碍了企业信息化建设的整体进程,使企业在进行新一轮投入时,难于决断。SOA概述-”信息孤岛”问题”信息孤岛”问题主要表现第一,信息化发展的阶段性。不论是企业信息化,还是政务信息化,都有一个从初级阶段到中级阶段,再到高级阶段的发展过程。在计算机应用的初级阶段,人们容易从文字处理、报表打印开始使用计算机。进而围绕一项项业务工作,开发或引进一个个应用系统。这些分散开发或引进的应用系统,一般不会统一考虑数据标准或信息共享问题,追求“实用快上”的目标而导致“信息孤岛”的不断产生。“信息孤岛”的产生带有一定的必然性,这并不可怕;可怕的是总停留在初级阶段而不发展,不去解决“信息孤岛”问题,还让新的“信息孤岛”继续出现。第二,认识误区。长期以来,由于信息化教育的深度和广度不够,在企业和政府部门中普遍存在着“重硬轻软,重网络轻数据”的认识误区。他们在设备选型和网络构筑上肯下工夫,肯花大钱,甚至成了“追新族”,使网络设备“换了一茬又一茬”而造成很大的浪费,就是没有用心去进行信息资源的开发与利用,因而导致对“信息孤岛”问题熟视无睹,使其得以长期存在而得不到解决。SOA概述-软件体系发展软件体系结构发展过程SOA概述-企业应用集成EAI(EnterpriseApplicationIntegration)企业应用集成EAI狭义上指企业内部不同应用系统之间的互连,以期通过应用整合实现数据在多个系统之间的同步和共享。EAI广义上它已经被扩展到业务整合(BusinessIntegration)的范畴,业务整合相对EAI来说是一个更宽泛的概念,它将应用整合进一步拓展到业务流程整合的级别。业务整合不仅要提供底层应用支撑系统之间的互连,同时要实现存在于企业内部应用与应用之间,本企业和其他合作伙伴之间的端到端的业务流程的管理,它包括应用整合,B2B整合,自动化业务流程管理,人工流程管理,企业门户以及对所有应用系统和流程的管理和监控等方方面面。SOA概述-企业应用集成EAI企业应用集成的分层EAI技术层次体系应该包括应用接口层,应用整合层,流程整合层和用户交互层四个大的层面。1.应用接口层EAI要解决的问题是独立应用系统之间的连接,传统的应用系统之间的连接方式包括了:CORBA,SOCKET通讯,RMI,RPC,EJB,COM/COM+,HTTP和FTP等,数据库系统之间常见的连接规范包括:ODBC,JDBC。而在EAI的应用接口层,主要是通过适配器技术将原有数据库系统、应用系统和原有网络服务组件封装起来,实现系统之间的互通互联。适配器的引入主要有以下优点:为独立的系统之间提供重用的、统一的接口;支持事务管理、安全性和连接管理与应用系统连接;增加企业数据资源的共享程度;适配器封装了对数据操作的缓冲区,可以提高对数据批处理访问的效率;增强了基于组件或面向对象开发模块的网络应用的功能,这些组件或对象包括:如COM,DCOM或CORBA等。SOA概述-企业应用集成2.应用整合层应用整合层是EAI技术层次体系中的核心层次,该层次是连接业务流程管理层和应用接口层的桥梁。数据信息在业务流程中的流转以及在各个应用系统之间的交互必须建立在数据源和数据目的地都能理解该数据信息的基础之上。在应用整合层我们定义了能为数据产生源、数据处理地、数据投送地都能理解的信息处理规范方式、方法和规则,也就是数据格式定义、数据转换和消息路由。3.流程整合层SOA概述-企业应用集成EAI企业应用集成的分层EAI技术层次体系应该包括应用接口层,应用整合层,流程整合层和用户交互层四个大的层面。EAI企业应用集成主要解决用户界面集成、数据集成、业务流程集成、函数/方法集成,这4种集成方法不能方便、灵活、低代价地实现异构系统的集成,难以快速适应企业现代业务变化的需求。所以企业级应用要求新的软件系统不再是从底层做起,而只是依据企业逻辑需求重新组织己有的数据存储,将现有的数据和事务通过新的渠道,如浏览器或者手持设备呈现给用户。基于面向服务架构(ServiceOrientedArchitecture,SOA)的应用集成开发方案就是企业的首选。SOA概述-EAI是什么?EAI(EnterpriseApplicationIntegration)企业应用集成信息化的发展,企业间协同商务和企业信息门户等要求企业的应用系统是一个高度集成和开放的系统。然而大型企业往往拥有着异构系统,导致系统间信息的交互与互操作非常困难,形成了一个个“信息孤岛”,为了实现企业全局的业务过程自动化,需要投入大量的人力和财力来进行系统集成。EAI企业应用集成主要解决用户界面集成、数据集成、业务流程集成、函数/方法集成,这4种集成方法不能方便、灵活、低代价地实现异构系统的集成,难以快速适应企业现代业务变化的需求。所以企业级应用要求新的软件系统不再是从底层做起,而只是依据企业逻辑需求重新组织己有的数据存储,将现有的数据和事务通过新的渠道,如浏览器或者手持设备呈现给用户。基于面向服务架构(ServiceOrientedArchitecture,SOA)的应用集成开发方案就是企业的首先。SOA概述-SOA是什么?SOA(Service-OrientedArchitecture)面向服务的架构SOA是一种分布式的软件组件模型。整个应用程序被设计和实现为一组相互交互的服务,它使得系统中的某些服务能够充分利用其他的服务同时却无需考虑其物理位置。在该模型中,任何的业务功能被作为提供的一个服务使用。应用程序的不同功能(服务)通过这些服务之间定义良好的接口和契约联系起来,使得构建在系统中的服务可以以一种统一和通用的方法进行调用。这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间的松藕合。松藕合系统的好处有两点:它的灵活性;当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。SOA概述-SOA特征是什么?SOA架构具有以下特征:1.可从企业外部询问。2.随需应变。3.粗粒度的服务接口。4.分级。5.松散耦合。6.可重用的服务。7.标准化的服务接口。8.支持各种消息模式。9.精确定义的服务契约。SOA概述-SOA优势是什么?SOA架构具有以下优势:1.基于SOA架构的信息系统建设投资少、周期短、使用成本低、灵活性高。2.SOA架构更能适应国内企业业务流程和商业模式的快速变化。3.与传统架构的ERP相比,SOA架构更能适应国内企业管理模式,符合现阶段信息化变革的要求。4.SOA架构能够充分得用原有信息资源,保护投资。5.SOA架构可能降低软件系统对硬件资源的依赖程度。6.SOA架构的建设改变了企业信息化推进模式,且有助于建立自己的开发队伍,管理队伍和运维队伍。第二部分:SOA架构体系SOA体系-三大核心部件一、ESB(EnterpriseServiceBus)企业服务总线ESB是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。ESB的五个基本功能:1)服务的MetaData管理:在总线范畴内对服务的注册命名及寻址管理功能。2)传输服务:必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。3)中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。4)多种服务集成方式:如JCA,Web服务,Messaging,Adaptor等.5)服务和事件管理支持:如服务调用的记录、测量和监控数据;提供事件检测、触发和分布功能;SOA体系-三大核心部件二、BPM(BusinessProcessManagement)业务流程管理所谓业务流程管理是指根据业务环境的变化,推进人与人之间、人与系统之间的整合及调整经营方法与解决方案的IT工具。BPM可以使系统更为强壮,通过BPM组件,SOA能够更好地监控它连接的系统。三、Portal门户门户是一个基于WEB的应用程序,它提供个性化、单点登录、不同来源内容整合及存放信息系统的表示层。Portal是低成本的集成技术。如果企业已经有了很多信息系统,Portal可以很容易的将这些系统集成到一起,并以统一界面方式提供给用户。SOA体系-组件模型(1)服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求;(2)服务使用者:服务使用者是一组使用服务提供者所提供的一项或多项服务的组件;(3)服务储备库:服务储备库包含服务的描述,服务提供者在该储备库中注册其服务,而服务使用者访问该储备库已发现的所提供的服务。SOA体系-架构模型SOA体系-具体实现SOA是一种软件架构,而不是局限于某个技术的组合,它超越了技术范围。SOA的关键是“服务”。W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常是使用者的状态发生变化,但也可能是提供者的状态改变,或者双方都产生变化”。服务是网络中可用的软件资源。服务提供者通过标准机制提供服务,使用者通过网络有计划地使用服务。服务储备库发布服务所在位置,并在使用者请求服务时