本文概述
- Web服务体系结构中的角色
- Web服务体系结构中的操作
- Web服务的工件
- Web服务实施生命周期
- Web服务堆栈或Web服务协议堆栈
Web服务的体系结构在三个角色之间进行交互:服务提供者, 服务请求者和服务注册表。交互涉及三个操作:发布, 查找和绑定。这些操作和角色对Web服务工件起作用。 Web服务工件是Web服务软件模块及其描述。
服务提供商托管一个与网络相关的模块(Web服务)。它定义了Web服务的服务描述, 并将其发布到服务请求者或服务注册表。这些服务请求者使用查找操作从本地或从服务注册表中检索服务描述。它使用服务描述与服务提供者绑定并通过Web服务实现调用。
下图说明了操作, 角色及其交互。
文章图片
Web服务体系结构中的角色 Web服务体系结构中有三个角色:
- 服务提供者
- 服务请求者
- 服务注册
从体系结构的角度来看, 它是承载服务的平台。
服务请求者
服务请求者是正在寻找并调用或启动与服务的交互的应用程序。浏览器扮演请求者的角色, 由消费者或没有用户界面的程序驱动。
服务注册
服务请求者在开发过程中找到服务并获取服务的绑定信息。
Web服务体系结构中的操作 微服务中发生的三种行为:
- 发布服务描述(发布)
- 查找服务描述(查找)
- 根据服务描述调用服务(绑定)
查找:在查找操作中, 服务请求者直接检索服务描述。它可以涉及服务请求者的两个不同生命周期阶段:
- 在设计时, 需要检索服务的接口描述以进行程序开发。
- 并且, 在运行时检索服务的绑定和位置描述以进行调用。
Web服务的工件 Web服务有两个工件:
- 服务
- 服务注册
服务描述:服务描述包括服务的接口和实现的细节。它包括其数据类型, 操作, 绑定信息和网络位置。它还可以对其他元数据进行分类, 以实现服务请求者的发现和利用。可以将其发布到服务请求者或服务注册表。
Web服务实施生命周期 Web服务实现生命周期是指从需求到开发的Web服务开发阶段。实现生命周期包括以下阶段:
- 需求阶段
- 分析阶段
- 设计阶段
- 编码阶段
- 测试阶段
- 部署阶段
文章图片
需求阶段
需求阶段的目标是了解业务需求并将其转换为Web服务需求。需求分析师应该进行需求启发(这是从用户, 客户和其他利益相关者那里研究和发现系统需求的实践)。分析人员应将这些要求解释, 合并并传达给开发团队。应将需求分组在一个集中的存储库中, 在其中可以查看它们, 对其进行优先级排序和挖掘以获取交互式功能。
分析阶段
分析阶段的目的是完善Web服务并将其转换为技术开发团队可以理解的概念模型。它还定义了高级结构并标识了Web服务接口协定。
设计阶段
在此阶段, 完成了Web服务的详细设计。设计人员定义在分析阶段已确定的Web服务接口协定。定义的Web服务接口协定标识元素和相应的数据类型以及Web服务与客户端之间的交互方式。
编码阶段
编码和调试阶段与其他基于软件组件的编码和调试阶段非常相似。主要区别在于创建其他Web服务接口包装程序, 生成WSDL和客户端存根。
测试阶段
在此阶段, 测试人员将在平台和客户端程序之间执行互操作性测试。要进行的测试是确保Web服务可以承受最大的负载和压力。 Web服务应用程序的概要分析和SOAP消息检查之类的其他任务也应在测试阶段执行。
部署阶段
部署阶段的目的是确保Web服务已在分布式系统中正确部署。它在测试阶段之后执行。部署程序的主要任务是确保已正确配置和管理Web服务。在此阶段中还完成了其他可选任务, 例如使用UDDI注册中心指定和注册Web服务。
Web服务堆栈或Web服务协议堆栈 要执行三种操作:以互操作的方式发布, 查找和绑定, 必须有一个Web服务堆栈。 Web服务堆栈在每个级别都包含标准。
文章图片
在上图中, 最顶层位于较低层提供的功能之上。三个垂直塔代表在堆栈的每个级别上应用的要求。右侧的文本表示适用于该堆栈层的技术。 Web服务协议栈通常会堆叠四个协议:
- 运输协议
- 通讯协议
- 描述协议
- 发现协议
(XML)消息传递协议:它负责以通用XML格式编码消息, 以便他们可以在网络连接的任一端理解。 SOAP是选择的XML消息传递协议, 因为它支持三种操作:发布, 查找和绑定操作。
(服务)描述协议:用于描述特定Web服务的公共接口。 WSDL是基于XML的服务描述的标准。 WSDL描述了服务交互的接口和机制。该描述对于指定业务上下文, 服务质量以及服务到服务的关系是必需的。
(服务)发现协议:它是公用注册表中的集中式服务, 因此网络Web服务可以发布其位置和描述。它使发现网络上可用的服务变得容易。
堆栈的前三层需要提供或使用任何Web服务。最简单的堆栈由用于网络层的HTTP, 用于基于XML的消息传递的SOAP协议和用于服务描述层的WSDL组成。这三层提供了互操作性, 并使Web服务可以控制现有的Internet基础结构。它降低了进入全球环境的成本。
【Web服务架构详解图解】堆栈的底部三层标识用于合规性和互操作性的技术, 接下来的两层(服务发布和服务发现)可以使用一系列解决方案来实现。
推荐阅读
- SAP ABAP, Fiori, Android和Hybris里的异步操作
- SOAP和RESTful Web服务之间的区别
- Web服务的特征
- Redis与其他键值存储区有什么不同()
- Redis与Memcached有什么区别(答案在这里。。。)
- Redis事务处理实例详解
- Redis教程介绍
- Android Studio 之 Toast
- Android 9.0版本及以上开发时遇到的一些版本问题