欢迎来到天天文库
浏览记录
ID:27722005
大小:835.00 KB
页数:30页
时间:2018-12-04
《面向服务的架构(soa)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向服务的架构(SOA)什么是SOA为什么要使用SOASOA工作原理构建SOASOA的应用目录什么是SOA面向服务的体系结构(Service-OrientedArchitecture,SOA)是一个组件模型。组件模型它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来;接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言;构建在各种这样的系统中的服务可以一种统一和通用的方式进行交互。Webservice平台是一套标准,它定义了应用程序如何在W
2、eb上实现互操作性。你可以用任何你喜欢的语言,在任何你喜欢的平台上写Webservice,只要我们可以通过Webservice标准对这些服务进行查询和访问。Webservice是技术规范,SOA是设计原则。从本质上讲,SOA是一种架构模式,而webservice是利用一组标准实现的服务。Webservice是实现SOA的方式之一。用webservice实现SOA的好处是:可以实现一个中立平台,来获取服务,获取更好的通用性。WebServices的目标是即时装配、松散耦合以及自动集成。Webservic
3、e为什么要使用SOA传统的架构,软件包是被编写为独立的(self-contained)软件,即在一个完整的软件包中将许多应用程序功能整合在一起。实现整合应用程序功能的代码通常与功能本身的代码混合在一起。我们将这种方式称作软件设计“单一应用程序“。与此密切相关的是,更改一部分代码将对使用该代码的代码具有重大影响,这会造成系统的复杂性,并增加维护系统的成本。而且还使重新使用应用程序功能变得较困难,因为这些功能不是为了重新使用而打的包。缺点:代码冗余不能重用紧耦合成本高SOA旨在将单个应用程序功能彼此分开,
4、以便这些功能可以单独用作单个的应用程序功能或“组件”。这些组件可以用于在企业内部创建各种其他的应用程序,或者如有需要,对外向合作伙伴公开,以便用于合作伙伴的应用程序。SOA优点:代码重用松耦合平台独立语言无关为什么要使用SOA商品消费——软件服务SOA工作流程SOA架构中有三种角色:服务提供者:发布自己的服务,并且对服务请求进行响应。服务注册中心:注册已经发布的webservice,对其进行分类,并提供搜索服务。服务请求者:利用服务中心查找所需要的服务,然后使用该服务。SOA角色SOA操作SOA的三种
5、操作:发布操作:为了使服务可访问,需要发布服务描述以使服务使用者可以发现它。查找操作:服务请求者定位服务,方法是查询服务注册中心来找到满足其标准的服务。绑定操作:在检索到服务描述之后,服务使用者继续根据服务描述中的信息来调用服务。SOAP:简单对象访问协议(SimpleObjectAccessProtocol)WSDL:Web服务描述语言WSDL(WebServicesDescriptionLanguage)UUDI:统一描述、发现和集成(UniversalDescription,Discoverya
6、ndIntegration)WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,作为传输层,用来在消费者和服务提供者之间传送消息。一个消费者可以在UDDI注册表(registry)查找服务,取得服务的WSDL描述,然后通过SOAP来调用服务。SOA的相关标准——WSDL、UUDI、SOAP一个SOA系统要具有以下六大关键要素——基础设施、已有资源、企业服务、流程模型、服务展现和系统工具(包括开发、测试和管理工具等)。因此,在基础设施和已有资源都已具备的基础上,开发和构建一个SOA系统要包括以
7、下几方面的工作:首先需要设计开发出符合标准的服务,这是整个SOA系统最核心的要素。基于标准服务,借助流程编排工具和建模工具,组织构造流程,生成流程模型,更好地满足业务需求。实际构建和开发SOA系统,具体包括服务和应用程序的开发,数据的访问、处理和管理,及对服务各种形式的展现等。如何构建SOA假设股票行业存在以下6个服务:Country()输入参数:国家编码。输出项:国家名称和其他信息。YellowPages()输入参数:公司名称;输出项:企业代码,所在国家等其他信息。NewYorkStock()输入参
8、数:公司代码,时间;输出项:该公司在纽约的股票价格(美元)。LondonStock()输入参数:公司代码,时间;输出项:该公司在伦敦的股票价格。USToRMB()输入参数:美元价格,时间;输出项:对应的人民币价格。UKToRMB()输入参数:英镑价格,时间;输出项:对应的人民币价格。使用SOA进行服务组合实例用户想通过“跨国公司名称”和“时间”找出该跨国公司在纽约的股票折合成人民币的价格以及该公司所在国家的信息。分析:输入参数:跨国公司的名称、时间如何实
此文档下载收益归作者所有