开发者学堂课程【高校精品课-长安大学 -基于混合式教学的云计算课程建设:2.5服务层】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1073/detail/15470
2.5 服务层
内容介绍:
一、服务层概况
二、服务目录
三、服务门户
一、服务层概况
服务层是云服务参考模型的第四层,也是最上面一层。服务层部署在资源管控层次上,在服务层自下而上依次为基础架构服务层 IaaS ,平台服务层 PaaS 、软件服务层 SaaS,云服务商可以提供这三种服务中的一种或者多种供云使用者访问。使用者通过该层与云资源交互并使用云资源。服务层在该层运行的实体包括服务目录`自助服务门户和服务流程编排组件。服务层的主要功能主要包括:将有关云服务的信息存储在服务目录中并将他们提供给使用者;允许使用者通过自助服务门户访问和管理云服务;提供用来执行自动化任务的工作流;与各种实体交互以调用资源调配任务。
二、服务目录
服务目录是一个服务菜单,其中列出了服务、服务属性、服务级别承诺、服务资源调配条款和条件以及服务价格。
云服务提供商在目录中定义、发布和管理服务产品列表,使用者可以查看服务目录以了解有哪些云服务可用,可用云服务的功能与价格以及特定于使用者的服务价值。另外服务目录还允许使用者以自助方式从目录请求或订购服务,服务目录是有关提供商向使用者提供信息的集中来源,他是 IT 组织或服务供应商从传统的 IT 功能交付方法成功转型到交付 IT 所必须的。他既不向使用者提供无限数量的服务产品又不允许使用者为服务任意选择资源,相反,他向使用者提供一组有限的标准化服务产品。这些产品是基于提供商的专业支持、技术、个人技能和市场需求定义的。
通过在服务目录中提供一组经过仔细挑选和标准化的服务,提供商可以优化其基础架构和个人需求并确保实现一致的服务质量、服务资源调配时间和使用者满意度。服务目录包括各种用来定义服务的元素:服务类别、服务名称、服务描述、特性和选项、服务和支持期望、价格、资源调配时间范围和与服务相关的参考文档。
服务是使用分层结构定义的,那么服务目录将每个分层结构归类到特定的服务类别。这就会为使用者提供有关所提供的服务类型的一个清晰了解。服务名称就是服务的适当名称,使用者通过它来了解有哪些服务产品可供使用。服务描述是使用者通过服务描述来了解服务的定义、服务支持的业务流程以及服务向使用者提供的价值。特性和选项是一个包含各种特性的列表,概括了云服务的特征。它可以提供可供选择的选项列表。例如针对 PaaS 服务类型的操作系统列表。他还可以提供每个选项的基础描述,比如软件的版本,而且它还可以阐明计费和政策,包括在订阅期结束之前服务停用对服务造成的影响。服务和支持期望可以描述云服务的质量,如性能和可用性,他还描述与服务相关联的技术支持参数,如支持保持可用的小时数、价格服务目录指示服务的价格,包括不同特性的价格列表。资源调配时间范围设置云服务提供商交付服务实例的预期所需的时间段。还有与服务相关的参考文档,例如:SAL,规范表。
三、服务门户
1、云服务的常见服务访问协议
云服务通常是使用服务门户是云的接入点而且通常是在外部。通过它可以访问服务目录,他便于进行自助式资源调配并对云界面进行持续性访问。云管理员还可以通过访问服务门户来管理云基础架构以及云服务的生命周期。云服务门户托管在一个或多个计算系统上。服务门户是使用专门的开发工具来创建的,门户软件使得提供商能够设计和发布服务门户。用户包括云管理员或者使用者可以使用云服务的 URL 登录门户。客户端应用程序使用标准的服务访问协议访问云服务。
Web 服务允许客户端应用程序向 Web 服务器请求数据和计算,还允许服务提供方返回响应。客户端应用程序可以是 Web 浏览器,Web 的应用程序或云平台上部署的服务应用程序。Web 服务浏览器允许这些客户端应用程序与云基础架构中 Web 服务器进行通信。Web 服务器通过使用标准的 Web 协议(通常为HTTP)来提供云的界面。Web 服务提供了一种在运行各个平台上不同软件之间交互操作的标准方式,那这就允许不同的应用程序通过 Web 服务进行通信并消除了对特定编程语言的依赖性。云计算环境中的 Web 服务主要是基于简单对象访问协议(SOAP)和表述性状态转移(REST)。
2、对象访问协议(SOAP)
SOAP 是用来在应用程序之间交换结构化信息(消息)的协议。它提供一个消息传递框架。该框架允许应用程序通过网络在所实施的 Web 服务中来回传递消息。SOAP使用可扩展标记语言 XML 对通常使用的 HTTP 传输的消息设置格式。SOAP 遵循 HTTP 请求和响应 HTTP 响应消息模型。他以HTTP请求的形式提供 SOAP 请求并以HTTP 的响应模式提供 SOAP 响应。SOAP 指定 HTTP 标头与 XML 文件的绑定以便一个系统中的计算程序可以调用另一个计算系统中的应用程序并通过 HTTP 传递其消息。他还指定被调用的应用程序可以通过 HTTP 返回响应。由于 SOAP 与平台和语言无关,因此不同的操作系统上运行而且用不同技术编程语言开发的程序可以使用 SOAP 进行相互通信。
SOAP 消息的元素包括 Envelope 元素/Header元素/Body 元素和Fault 元素。Envelodp 元素是一个必需元素,他是 SOAP 元素的根元素,他将 XML 文档定义为 SOAP 消息。Header 元素是一个可选元素,它包含可能对 SOAP 接收方有用的消息。例如 Header 元素可用于为指定身份认证消息,同样,它可用于为使用付费的消息指定账号。如果存在 Header 元素,则它必须是 Envelope 元素的第一个子元素。Body 元素是一个必需的元素,包含面向消息的最终接收方的信息,这个信息可以是请求/响应。SOAP 的最终接收方会分析请求和响应确定是要调用操作还是获取此请求的消息。Fault 元素是一个可选元素,包含错误代码和错误消息。如果存在 Fault 元素,则它必须显示为Body 元素的子元素。
3、表述性状态转移(REST)
客户端服务器软件体系结构样式,如超文本音频/视频和头像。在 REST 中定义的体系结构和原理用于开发 Web 服务。基于 REST 的 Web 服务称为 RESTful Web 服务。利用现有的协议 HTTP 来实施。实施RESTful Web 服务时需要遵循四个基本的设计原理:使用 URI 标识资源/使用标准的 HTTP 方法/使用资源表示形式操纵资源和无状态交互。
使用 URI 标识资源,在REST 的体系架构中,由 Web 服务使用的所有对象都被视为资源而且按其 UPI 进行唯一标识。URI 是一串字符,它提供用来标识资源的 Web 地址。为了进行简化和便于使用者使用,URI 通常具有类似于目录的结构。下面有一个示例:
在示例中可以看到订阅的 ID 和服务名称就是一个参数。他们订阅 Web 服务器用来查找和匹配资源级的搜索标准。我们几乎可以使用无限多的 URI 来访问最精细的粒度级别的资源。
REST 使用标准的 HTTP 方法。REST 样式强调服务请求方的应用程序与提供提供方的程序的交互的数量有限的方法。RESTful Web 服务允许使用一组简单的完善定义的 HTTP 方法来操纵资源。这些方法通常是 PUT /GET /POST 和 DELETE。PUT 创建新资源,DELETE 可以删除资源。GET 可以用来检索某个资源的当前状态,而 POST 可以将一个新状态传输到资源上。下面有一个例子
用户可以通过服务请求方针对 URI 发出一个 GET 请求来获取信息。
4、使用资源表示形式操纵资源
资源表示形式反映在应用程序请求资源时资源的当前状态。例如当 Web 浏览器获取或显示构成超文本标记语言的Web 资源页时要获取该资源的当前状态的表示形式。从这个角度来讲,资源表示形式只是一个时间点的快照。服务请求方通过使用该资源的表示形式对资源执行操作。标识资源中有足够的信息来操纵资源。资源与其表示形式的分离可以方便内容通过各种形式来进行访问,例如 HTML /XML/纯文本和 JSON X形式等。 通过 GET 方法,通过 URI 请求服务供应商通过 GET 以 XML 的形式响应服务请求方。使用这些标准的格式就可以允许 RESTful Web 服务由运行于不同平台上而且可以使用不同语言编写的应用程序。
5、无状态交互 HTTP
请求内生成响应所必需的的全部数据,就无需在不同的请求之间在服务提供商相应的安排,也无需在处理请求时检索状态。无状态性改善了 Web 的服务性能,因为他将应用程序的维护责任卸载到请求应用程序那里,从而降低了服务器端对资源的利用。下面的示例显示了有状态服务和无状态服务的一个区别。
在这个示例中,应用程序需要检索下一个 Web 页的内容。对于有状态的服务,应用程序在请求下一页时会假设 Web 服务在浏览表示形式时跟踪了应用程序离开时的位置。那么 Web 服务器就要储存上一页的变量以便针对下一页的请求作出响应。对于无状态的服务,应用程序在请求当中直接包含了这个页码,可以直接检索 Web 页所需要的内容。