资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,面向服务的架构(SOA),什么是SOA,为什么要使用SOA,SOA工作原理,构建SOA,SOA的应用,目录,什么是SOA,面向服务的体系结构(Service-Oriented Architecture,,SOA)是一个组件模型。,组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来;,接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和 编程语言;,构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。,Web service平台是一套标准,它定义了应用程序如何,在Web上实现互操作性。你可以用任何你喜欢的语言,,在任何你喜欢的平台上写Web service ,只要我们可以通,过Web service标准对这些服务进行查询和访问。,Web service是技术规范,SOA是设计原则。从本质上,讲,SOA是一种架构模式,而web service是利用一组标准,实现的服务。Web service是实现SOA的方式之一。用web,service实现SOA的好处是:可以实现一个中立平台,来获,取服务,获取更好的通用性。,Web Services的目标是即时装配、松散耦合以及自动,集成。,Web service,为什么要使用SOA,传统的架构,软件包是被编写为独立的(self-contained),软件,即在一个完整的软件包中将许多应用程序功能整合在,一起。实现整合应用程序功能的代码通常与功能本身的代码,混合在一起。我们将这种方式称作软件设计“单一应用程序,“。与此密切相关的是,更改一部分代码将对使用该代码的代,码具有重大影响,这会造成系统的复杂性,并增加维护系统,的成本。而且还使重新使用应用程序功能变得较困难,因为,这些功能不是为了重新使用而打的包。,缺点:代码冗余 不能重用 紧耦合 成本高,SOA旨在将单个应用程序功能彼此分开,以便这些,功能可以单独用作单个的应用程序功能或“组件”。这,些组件可以用于在企业内部创建各种其他的应用程序,,或者如有需要,对外向合作伙伴公开,以便用于合作伙,伴的应用程序。,SOA优点:代码重用 松耦合 平台独立 语言无关,为什么要使用SOA,商品消费软件服务,SOA工作流程,SOA架构中有三种角色:,服务提供者:发布自己的服务,并且对服务请求进行响应。,服务注册中心:注册已经发布的web service,对其进行分类,并提供搜索服务。,服务请求者:利用服务中心查找所需要的服务,然后使用该服务。,SOA角色,SOA操操作作,SOA的的三三种种操操作作:,发,布,布,操,操,作,作,:,:,为,为,了,了,使,使,服,服,务,务,可,可,访,访,问,问,,,,,需,需,要,要,发,发,布,布,服,服,务,务,描,描,述,述,以,以,使,使,服,服,务,务,使,使,用,用,者,者,可,可,以,以,发,发,现,现,它,它,。,。,查,找,找,操,操,作,作,:,:,服,服,务,务,请,请,求,求,者,者,定,定,位,位,服,服,务,务,,,,,方,方,法,法,是,是,查,查,询,询,服,服,务,务,注,注,册,册,中,中,心,心,来,来,找,找,到,到,满,满,足,足,其,其,标,标,准,准,的,的,服,服,务,务,。,。,绑,定,定,操,操,作,作,:,:,在,在,检,检,索,索,到,到,服,服,务,务,描,描,述,述,之,之,后,后,,,,,服,服,务,务,使,使,用,用,者,者,继,继,续,续,根,根,据,据,服,服,务,务,描,描,述,述,中,中,的,的,信,信,息,息,来,来,调,调,用,用,服,服,务,务,。,。,SOAP:简简单单对对象象访访问问协协议议(SimpleObjectAccessProtocol),WSDL:Web服服务务描描述述语语言言WSDL(WebServicesDescription,Language),UUDI:统统一一描描述述、发发现现和和集集成成(UniversalDescription,DiscoveryandIntegration),WSDL用用来来描描述述服服务务;UDDI用用来来注注册册和和查查找找服服务务;而而,SOAP,作作为为传传输输层层,用用来来在在消消费费者者和和服服务务提提供供者者之之间间传传送送,消息息。一一个个消消费费者者可可以以在在UDDI注注册册表表(registry)查查找找服服,务,取取得得服服务务的的WSDL描描述述,然然后后通通过过SOAP来来调调用用服服务务。,SOA的的相相关关标标准准WSDL、UUDI、SOAP,一个个SOA系系统统要要具具有有以以下下六六大大关关键键要要素素基基础础设设,施、已已有有资资源源、企企业业服服务务、流流程程模模型型、服服务务展展现现和和系系统统,工具具(包包括括开开发发、测测试试和和管管理理工工具具等等)。因因此此,在在基基础础,设施施和和已已有有资资源源都都已已具具备备的的基基础础上上,开开发发和和构构建建一一个个,SOA系系统统要要包包括括以以下下几几方方面面的的工工作作:,首先先需需要要设设计计开开发发出出符符合合标标准准的的服服务务,这这是是整整个个SOA系系统统最最核核心心的的要要素素。,基于于标标准准服服务务,借借助助流流程程编编排排工工具具和和建建模模工工具具,组组织织构构造造流流程程,生生成成流流程程模模型型,更更好好地地满满足足业业务务需需求求。,实际际构构建建和和开开发发SOA系系统统,具具体体包包括括服服务务和和应应用用程程序序的的开开发发,数数据据的的访访问问、处处理理和和管管理理,及及对对服服务务各各种种形形式式的的展展现现等等。,如何何构构建建SOA,假设设股股票票行行业业存存在在以以下下6个个服服务务:,Country(),输入入参参数数:国国家家编编码码。输输出出项项:国国家家名名称称和和其其他他信信息息。,YellowPages(),输入入参参数数:公公司司名名称称;输输出出项项:企企业业代代码码,所所在在国国家家等等其其他他信信息息。,NewYorkStock(),输入入参参数数:公公司司代代码码,时时间间;输输出出项项:该该公公司司在在纽纽约约的的股股票票价价格格,(美美元元)。,LondonStock(),输入入参参数数:公公司司代代码码,时时间间;输输出出项项:该该公公司司在在伦伦敦敦的的股股票票价价格格。,USToRMB(),输入入参参数数:美美元元价价格格,时时间间;输输出出项项:对对应应的的人人民民币币价价格格。,UKToRMB(),输入入参参数数:英英镑镑价价格格,时时间间;输输出出项项:对对应应的的人人民民币币价价格格。,使用SOA进行行服务组组合实例例,用户想通通过“跨跨国公司司名称”和“时时间”找找出该,跨国公司司在纽约约的股票票折合成成人民币币的价格格以,及该公司司所在国国家的信信息。,分析:,输入参数数:跨国国公司的的名称、时间,如何实现现对给定定服务的的组合,找出满满足用户户的信,息?,使用SOA进行行服务组组合实例例,使用SOA进行行服务组组合实例例,查询过程程流程图图,在石油企企业内部部,有许许多不同同的网站站,进入入每个网网,站,都需需要身份份验证,不仅浪浪费时间间而且容容易遗忘忘代,码 ,另另外,网网站维护护人员对对各种服服务需要要建立相相应的用用,户认证与与信息管管理系统统,分布布于个服服务器中中的用户户数据,不仅浪费费维护人人员的时时间,而而且过于于分散的的用户数数据不,利于统计计和管理理。用户户的需求求和管理理要求促促使用户户趋于,统一,产产生了统统一者认认证。,统一认证证的实现现是基于于SOA的架构构。,SOA应应用统一认认证,从中可以以看出使使用SOA的优优点:将将身份验验证这一一功能模模块发布布成一种种服务,其他的的软件可可以通过过UUDI查找找该服务务,然后后将该服服务与服服务的实实现进行行绑定。,SOA应应用统一认认证,SOA应应用HOTI架构构图,HOTI 应用架架构流向向图,登录服务务的实现现,Service端(服服务提供供者):编写服服务的实实,AuthorityBLH,它实实现了BaseBLH,该服服务的每每一种操操作在该该类中都都有一个个对应的的方法,针对不不同的操操作名称称,调用用相应的的方法。它是一一个业务务逻辑处处理,与与数据层层通信,完成相相应的数数据操作作。,Servicemanager服务务的注册册与管理理。服务务的实现现完成以以后,要要为服务务定义服服务名和和操作名名。例如如登录组组件的serviceName=,Auhtority_Mgr,operationName=,“query_AuthoritysWithUserID”,。然后向向ServiceManager进进行注册册。每一一种服务务都对应应一个业业务逻辑辑处理XXXBLH。,HOTI的服务务调用,客户端(服务请请求者):当用用户点击击登录时时,想要要调用sevice端端的服务务。必须须在配置置文件中中给出服服务的名名称和操操作名称称。,。Soap代理根根据用户户的请求求,将请请求的消消息转换换成soap消消息格式式,创建建连接,与服务务端进行行通信。,Service端的soap引擎监监听到请请求,从从soap消息息中取出出服务名名和操作作名。通通过servicemanager找到该该服务对对应的业业务逻辑辑处理XXXBLH,然后执执行该业业务逻辑辑,将返返回的结结果封装装成soap消消息,返返回客户户端。,HOTI的服务务调用,HOTI的服务务调用流流程,HOTI的服务务调用,服务调用用配置,HOTI的服务务调用,控制转发发,服务端根根据发布布服务的的操作类类型来执执行相应应的业务务操作。,HOTI的服务务调用,HOTI的服务务调用,身份验证证的业务务逻辑,具体业务务操作的的实现代代码,HOTI的服务务调用,HOTI的服务务调用,数据访问问接口,Thanks!,演讲完毕毕,谢谢谢观看!,
展开阅读全文