面向服务的开放式平台架构(3)
时间:2017-02-18 09:52 来源:毕业论文 作者:毕业论文 点击:次
2. 面向服务体系结构(SOA) 2.1. SOA 的定义[22] 面向服务体系结构(Service-Oriented Architecture,SOA)将系统中的不同功 能模块以服务的形式发布,这些服务之间通过中立的且定义良好的契约进行交互。服 务契约独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的 系统中的服务可以以一种统一和通用的方式进行交互。 这种具有中立的接口定义(没有强制绑定到特定的实现上)的特征称为服务之间 的松耦合。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应 用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。而另一方 面,紧耦合意着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因 而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。 对松耦合的系统的需要来源于业务应用程序需要根据业务的需要变得更加灵活, 以适应不断变化的环境,比如经常改变的政策、业务级别、业务重点、合作伙伴关系、 行业地位以及其他与业务有关的因素,这些因素甚至会影响业务的性质。我们称能够 灵活地适应环境变化的业务为按需业务,在按需业务中,一旦需要,就可以对完成或 执行任务的方式进行必要的更改。 2.2. SOA 的特征[22] 松散耦合 服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者 不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等等。 明确定义的接口 服务交互必须是明确定义的。Web 服务描述语言(Web Services Description Language,WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节。WSDL 不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序 设计语言编写的。 无状态的服务设计 服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个 请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时,它 们可以定义成通用业务流程、函数和 数据模型。 基于开放标准 当前 SOA的实现形式是Web服务,基于的是公开的 W3C及其他公认标准.采用第 一代Web服务定义的SOAP、 WSDL和UDDI以及第二代Web服务定义的WS-*来实现SOA。 2.3. 关键技术 SOAP 简单对象访问协议(SOAP)是一种轻量的、简单的、基于 XML 的协议,它被设 计成在 WEB 上交换结构化的信息。 SOAP 可以和现存的许多因特网协议结合使用, 包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协 议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。 WSDL WSDL 是描述 XML Web 服务的标准 XML 格式,WSDL 由 Ariba、Intel、IBM 和微软 等开发商提出。它用一种和具体语言无关的抽象方式定义了给定 Web服务收发的有关 操作和消息。就其定义来说,你还不能把 WSDL 当作一种对象接口定义语言,例如, CORBA或COM等应用程序体系结构就会用到对象接口定义语言。 WSDL保持协议中立, 但它确实内建了绑定 SOAP的支持,从而同 SOAP建立了不可分割的联系。 3. 开放平台 3.1. 简介[23] 在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去, 供第三方开发者使用,这种行为就叫做Open API,提供开放API 的平台本身就被称为 (责任编辑:qin) |