《面向服务的体系架构SOA》由会员分享,可在线阅读,更多相关《面向服务的体系架构SOA(55页珍藏版)》请在金锄头文库上搜索。
1、服务科学导论面向服务的体系架构,2017年10月21日,吴健,提纲,SOA的造势,美国著名的IT市场研究和顾问咨询公司Gartner 预测,SOA将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架构长达40年的统治地位。,到2008年基于SOA的产品将占领70%的市场份额。 75%的新的企业应用将使用SOA的元素。,http:/,SOA的造势,2006年中国SOA软件与服务市场规模为5千万美元,2010年将达5亿美元,在未来五年将呈现出复合增长率,每年以两位数的速度增长的强劲势头。,全球SOA将连续5年复合增长高达71% 。,http:/www.IDC.com,SOA将为中国的
2、IT市场带来很大变化。它不仅将使中国中间件市场重现生机,而且可以使系统集成商提升效率并克服在许多定制与整合项目中出现的困难,SOA的造势,ZapThink公司预测,预计到2010年,SOA的市场规模将达到980亿美元,年增长率为7%。,WinterGreen调查公司的预测数据表明,SOA引擎及组件的市场在2010年将达到141亿美元。,SOA的造势,SOA将改变整个IT产业的格局,上一个十年,成就了IBM软件集团、微软等当之无愧的软件巨人;面对未来,谁将在软件界称霸,SOA可谓是一个重要的筹码,SOA的概念,SOA的概念,面向服务体系架构SOA将异构平台上应用程序的不同功能组件封装成具有良好定
3、义并且与平台无关的标准服务,使得服务能够被部署、发现和调用,并使服务能够以松散耦合方式进行再组合形成一个新的软件系统。,并非一种具体的技术 并非一种具体的产品,Web Service SOA,一种架构模型 一种软件开发方式,SOA的概念,SOA是,一种分布式的应用架构 ,以服务为最基本的、可重用的单元,以业务流程为核心,是对业务逻辑高层次的、粗粒度的抽象,一般基于某些标准(XMLSOAPWeb ServiceSCASDO)实现异构系统及服务的集成,一种分析、设计、实现企业应用的方法,SOA的概念,可拼接可拆卸可重用标准化的模块,SOA的发展,启动阶段:通常会被大众所冷淡,被夸大阶段:大众给予了
4、过大的期望值,幻灭阶段:发现不是万能的,对其抱失望的态度,启蒙阶段:开始得到应用,积累了应用的经验,生产力平原阶段:在合适的地方,得到了合适的应用,SOA的发展,1996年,Gartner在其研究报告中提出:A service-oriented architecture is a style of multitier computing that helps organizations share logic and data among multiple applications and usage modes.,1996年,Gartner在其研究报告中提出:客户端/服务器的软件设计方法,一
5、项由软件服务和软件服务使用者组成的应用SOA与大多数通用的客户端/服务器模型的不同之处在于它着重强调软件组件的松散耦合,并使用独立的标准接口。,【孕育阶段】20世纪90年代末XML技术的应用,【发轫阶段】20世纪初Web服务技术的兴起,【成长阶段】2005开始标准/平台/工具的出现,SOA的产生背景,面向服务的体系架构SOA,应变,集成,SOA的产生背景集成需求,信息化的推进促成了“信息孤岛”的产生,SOA的产生背景集成需求,“信息孤岛”间的互联互通势在必行,SOA的产生背景集成需求,SOA的产生背景集成需求,SOA的产生背景集成需求,正是在企业应用集成的需求日益旺盛,但现有集成技术无法很好满
6、足现有需求的情况下,随着Web服务技术的兴起和应用,我们迎来了SOA,为彻底解决遗留系统异质异构系统集成带来了福音。,SOA的产生背景应变需求,“变化”成为现代企业的主要特征,随着计算机和网络技术的发展,现代企业正步入企业形态不断变化、企业外延不断扩展、企业环境不断变迁、企业业务不断调整的时代。企业迫切希望具备随需应变的能力,企业在感知变化的第一时间能迅速、敏捷、高效的调整业务应用系统,SOA的产生背景应变需求,SOA的特征,SOA的特征,服务封装(Encapsulation),将服务封装成用于业务流程的可重用组件的应用程序函数。它提供信息或简化业务数据从一个有效的、一致的状态向另一个状态的转
7、变。封装隐藏了复杂性。服务的API保持不变,使得用户远离具体实施上的变更。,服务重用(Reuse),服务的可重用性设计显著地降低了成本。为了实现可重用性,服务只工作在特定处理过程的上下文(context)中,独立于底层实现和客户需求的变更。,服务的互操作(Interoperability),通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通信机制。SOA提供服务的互操作特性更利于其在多个场合被重用。,自治的功能实体(Autonomous),服务是由组件组成的组合模块,是自包含和模块化的。SOA强调提供服务的功能实体的完全独立自主的能力。SOA强调实体自我管理和恢复能力。,SOA的特征
8、,松耦合(Loosly Coupled),服务请求者到服务提供者的绑定与服务之间应该是松耦合的。服务请求者不知道提供者实现的技术细节,比如程序设计语言、部署平台等等。服务请求者往往通过消息调用操作,请求消息和响应,而不是通过使用 API 和文件格式。,位置透明(location transparency),服务是针对业务需求设计的。需要反应需求的变化,即所谓敏捷(agility)设计。实现业务与服务分离,就必须使得服务的设计和部署对用户来说是完全透明的。,明确定义的接口(well defined interface),服务使应用功能得以通过标准化接口提供,并可基于标准化传输方式、采用标准化协议
9、进行调用。,SOA的现状,IBM 于2006年宣布推出 SOA Development (SOAD)策略,基于IBM Rational软件开发平台解决方案,采用领先的方法论、开放的技术,从软件开发、配置阶段做起,帮助行业用户搭建SOA架构,从而提升企业业务灵活性,快速应对市场变化,获得持续业务机会。,IBM有以下产品支持SOA生命周期,SOA的现状,SOA的现状,BEA SOA 360平台旨在提供业界最为统一的SOA(面向服务的架构)平台,帮助用户进行业务转型和优化,改进成本结构、增加新的收入流。BEA SOA 360平台采用了新推出的BEA微服务架构(mSA)。BEA SOA 360平台涵盖
10、BEA的三个产品系列:Tuxedo、WebLogic和AquaLogic,并得到SOA协作工具环境BEA WorkSpace 360的支持。BEA WorkSpace 360作为业界第一个统一的SOA工具,旨在把业务分析师、架构师、开发人员和IT操作专业人士引入到相互协作和交流的共享工作空间中。,BEA在BEA World 2006大会上,正式地发布了BEA SOA 360 平台.,SOA的现状,Oracle在2006年宣布了Oracle SOA Suite的产品,作为Oralce在SOA的解决方案,SOA Suite架构在Oracle Fusion Architecture之上,是一套完整的
11、用于创建、部署和管理SOA服务的服务基础设施组件。Oracle SOA套件支持服务的创建和管理,并可将服务组合为复合应用和业务流程。,SAP于2004年推出NetWeaver平台一个面向服务的应用和集成平台,为SAP的应用提供开发和运行环境,也可以用来和其它应用和系统进行自定义的开发和集成。SAP NetWeaver是使用开放标准和事实上的工业标准进行开发的,可以用Microsoft .NET,Sun Java EE,和IBM WebSphere等这些技术平台进行扩展和互操作。,SOA的现状,微软SOA 的解决方案是微软“软件+服务”的重要组成部分,涉及微软的全线产品。Microsoft通过.
12、NET和BizTalk非常好地实现了SOA的核心企业服务总线(Enterprise Service Bus),通过VSTS与System Center 实现了SOA所需要的开发平台,通过SQL Server实现数据管理与整合,而前端的展现则通过Office及SharePoint得到出色的用户体验。,SOA的现状,2007年,金蝶发布Apusic SOA解决方案,该方案基于金蝶Apusic应用服务器和Apusic消息中间件,包括门户(Portal)/企业服务总线(ESB)、集成组件、开发工具等组成部分。,SOA的现状,TongIntegrator3.0已经是全面符合面向服务的体系架构(SOA)的
13、EAI产品,通过提供一个应用整合框架,用户完全可以基于Tong Integrator平台开发,设计和配置松散耦合、位置透明、协议独立的应用服务。为了推动SOA更快在中国落地,东方通还创造性地推出了面向业务的体系架构BOA(Business Oriented Architecture),SOA的现状,SOA的现状,普元软件(Primeton)是全球领先的SOA中间件基础软件厂商,并且是SOA国际标准SCA/SDO的主要参与制定者,以及电子商务标准的主要制定者OASIS的核心奠基成员。主推SOA应用平台EOS和SOA流程平台BPS。,SOA的现状,SOA的现状,SOA的现状,SOA的现状,SOA的
14、参考模型,参考模型是为了理解某一环境实体间的重要关系而建立的抽象框架,采用支持此环境的统一标准和规范来开发特定的体系架构。SOA参考模型是一个用以指导建立具体SOA的抽象框架,描述了SOA环境中各实体及实体间的关系。通用的参考模型应该与具体标准、技术或其他实现细节无关,只由最小的一组概念、公理和关联组成。,抽象模型,SOA抽象模型是独立于具体技术、标准、执行规范和实现平台的模型,对SOA提供整体框架,提炼SOA的核心内涵。最典型的是OASIS-RM工作组2006年推出的SOA-RM1.0版本,它试图用最一致的标准规范明确定义不同的执行。,层次模型,层次模型指在传统的3层体系结构基础上,依据流程
15、关系建立的分层模型。它不依赖于实现所使用的技术,但已接近了具体实现的架构,具有可操作性,较抽象模型易于理解。IBM以堆栈的形式给出了SOA参考模型。,基于具体应用平台的模型,这类参考模型主要由软件组织和企业推出,用自己开发的应用平台和解决方案为其提供支持。由于各自产品的差异性,它们的模型依赖于特定的技术平台,因此不是理想的SOA通用模型。,SOA的参考模型,参考模型位于抽象级别的顶部,也就是说参考模型提供了SOA实现的抽象基础。每个SOA架构设计者都要考虑参考架构、模式、模型以及由参考架构派生出的概念架构,审慎思考实际环境(需求、动机和目标等)对实现架构的影响,同时利用已有的标准和协议,这样就
16、形成了一个比较完整的SOA设计方法论。总而言之,SOA参考模型使得我们能够系统地考虑SOA架构的实现,并给出最基本的概念和设计模式。,SOA的参考模型,SOA-RM定义了7个核心元素,即:服务、服务描述、服务提供者和服务消费者间的可见性、服务执行上下文、现实世界作用、契约和政策、服务交互,提出了通用于各种执行的公共语义。从这7个抽象实体出发,分别研究它们之间的关系。该模型能够在企业的SOA规划中提供一个具有全局性的整体框架。,SOA的参考模型,服务是允许服务消费者访问服务提供者提供的功能的一种机制。,SOA必须保证进行交互的服务提供者和消费者之间是可见的,服务描述必须包含服务消费者能确定该服务是否适合其需求的信息,服务的交互涉及到服务相关操作的执行。一是通过发送和接收消息完成的,但有时候并没有显示的消息交换,例如可以通过改变共享数据的状态来实现交互,服务消费者调用服务的目的是为了得到某个结果,我们将这个结果称为使用服务的实际效果。实际效果可以是回复给请求的信息或改变服务参与者共享的状态。,