预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向服务的架构(SOA)什么是SOA为什么要使用SOASOA工作原理构建SOASOA的应用什么是SOA组件模型Webservice平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice,只要我们可以通过Webservice标准对这些服务进行查询和访问。Webservice是技术规范,SOA是设计原则。从本质上讲,SOA是一种架构模式,而webservice是利用一组标准实现的服务。Webservice是实现SOA的方式之一。用webservice实现SOA的好处是:可以实现一个中立平台,来获取服务,获取更好的通用性。WebServices的目标是即时装配、松散耦合以及自动集成。为什么要使用SOASOA旨在将单个应用程序功能彼此分开,以便这些功能可以单独用作单个的应用程序功能或“组件”。这些组件可以用于在企业内部创建各种其他的应用程序,或者如有需要,对外向合作伙伴公开,以便用于合作伙伴的应用程序。SOA优点:代码重用松耦合平台独立语言无关商品消费——软件服务SOA工作流程SOA架构中有三种角色:服务提供者:发布自己的服务,并且对服务请求进行响应。服务注册中心:注册已经发布的webservice,对其进行分类,并提供搜索服务。服务请求者:利用服务中心查找所需要的服务,然后使用该服务。SOA操作SOAP:简单对象访问协议(SimpleObjectAccessProtocol)WSDL:Web服务描述语言WSDL(WebServicesDescriptionLanguage)UUDI:统一描述、发现和集成(UniversalDescription,DiscoveryandIntegration)WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。一个SOA系统要具有以下六大关键要素——基础设施、已有资源、企业服务、流程模型、服务展现和系统工具(包括开发、测试和管理工具等)。因此,在基础设施和已有资源都已具备的基础上,开发和构建一个SOA系统要包括以下几方面的工作:首先需要设计开发出符合标准的服务,这是整个SOA系统最核心的要素。基于标准服务,借助流程编排工具和建模工具,组织构造流程,生成流程模型,更好地满足业务需求。实际构建和开发SOA系统,具体包括服务和应用程序的开发,数据的访问、处理和管理,及对服务各种形式的展现等。假设股票行业存在以下6个服务:Country()输入参数:国家编码。输出项:国家名称和其他信息。YellowPages()输入参数:公司名称;输出项:企业代码,所在国家等其他信息。NewYorkStock()输入参数:公司代码,时间;输出项:该公司在纽约的股票价格(美元)。LondonStock()输入参数:公司代码,时间;输出项:该公司在伦敦的股票价格。USToRMB()输入参数:美元价格,时间;输出项:对应的人民币价格。UKToRMB()输入参数:英镑价格,时间;输出项:对应的人民币价格。用户想通过“跨国公司名称”和“时间”找出该跨国公司在纽约的股票折合成人民币的价格以及该公司所在国家的信息。分析:输入参数:跨国公司的名称、时间如何实现对给定服务的组合,找出满足用户的信息?使用SOA进行服务组合实例在石油企业内部,有许多不同的网站,进入每个网站,都需要身份验证,不仅浪费时间而且容易遗忘代码,另外,网站维护人员对各种服务需要建立相应的用户认证与信息管理系统,分布于个服务器中的用户数据不仅浪费维护人员的时间,而且过于分散的用户数据不利于统计和管理。用户的需求和管理要求促使用户趋于统一,产生了统一者认证。统一认证的实现是基于SOA的架构。SOA应用——HOTI架构图HOTI——应用架构流向图登录服务的实现Service端(服务提供者):编写服务的实AuthorityBLH,它实现了BaseBLH,该服务的每一种操作在该类中都有一个对应的方法,针对不同的操作名称,调用相应的方法。它是一个业务逻辑处理,与数据层通信,完成相应的数据操作。Servicemanager服务的注册与管理。服务的实现完成以后,要为服务定义服务名和操作名。例如登录组件的serviceName="Auhtority_Mgr"operationName=“query_AuthoritysWithUserID”。然后向ServiceManager进行注册。每一种服务都对应一个业务逻辑处理XXXBLH。客户端(服务请求者):当用户点击登录时,想要调用sevice端的服务。必须在配置文件中给出服务的名称和操作名称。<se