php网站建设的几个流程,wordpress 畅萌,网站开发和软件开发的区别,网站开发教育1. SOA概述 SOA#xff08;Service-Oriented Architecture#xff0c;面向服务的架构#xff09;是一种在计算机环境中设计、开发、部署和管理离散模型的方法。SOA不是一种新鲜事物#xff0c;它是在企业内部IT系统重复构建以及效率低下的背景下提出的。在SOA模型中#x… 1. SOA概述 SOAService-Oriented Architecture面向服务的架构是一种在计算机环境中设计、开发、部署和管理离散模型的方法。SOA不是一种新鲜事物它是在企业内部IT系统重复构建以及效率低下的背景下提出的。在SOA模型中所有的功能都被定义成了独立的服务所有的服务通过服务总线(ESB)或流程管理器来连接。这种松散耦合的结构使得能够以最小的代价整合已经存在的各种异构系统当然由于需要实现对各种异构系统的适配(通常使用ESB来完成不同系统之间的协议转换及数据格式转换)因此其本身也会引入更多的复杂性。 一个典型的SOA结构如下图所示 其中对于其中的单个服务而言其内部结构一般如下 2. SOA设计原则 SOA的设计原则包括 明确的接口定义接口需满足稳定、明确、封装性等要求。自包含与模块化实现服务的功能实体是完全独立自主的独立进行部署、版本控制、自我管理和恢复。粗粒度服务数量不应太多依靠消息交互而不是远程过程调用。松耦合减少各个服务间的相互依赖和影响各个服务的位置、实现技术、当前状态以及私有数据对服务请求者不可见。互操作性、兼容性和策略声明。 3. SOA实现方法 SOA作为一种架构设计的概念和思想需要借助具体的技术和方法来实现。目前SOA的主流实现方法包括Web Service、服务注册表和企业服务总线。 3.1 Web Service 3.2 服务注册表 服务注册表(Service registry)提供一个策略执行点在这个点上服务可以在SOA中注册从而可以被发现和使用。大多数商用服务注册产品支持服务注册、服务位置和服务绑定功能。 3.3 企业服务总线ESB ESB(Enterprise Service Bus)将企业中各个不同的服务连接在一起。因为各个服务是异构的没有统一的标准各个异构系统对外提供的接口是各式各样的SOA使用ESB来屏蔽异构系统对外提供的不同接口以此来达到服务间高效的互联互通。 4. SOA关键技术 与SOA紧密相关的技术主要有UDDI、WSDL、SOAP和REST等这些技术都是以XML为基础发展而来的。 4.1 UDDI UDDIUniversal Description Discovery and Integration统一描述、发现和集成提供了一种服务发布、查找和定位的方法是服务的信息注册规范以便该服务被发现和使用同时它也定义了一种编程接口。该技术规范主要包括数据模型、API和注册服务三部分。 4.2 WSDL WSDLWeb Service Description LanguageWeb服务发现语言是基于XML语法对服务进行描述的语言包括服务实现定义和服务接口定义。服务实现定义描述服务提供者如何实现特定的服务接口包含服务和端口描述。服务接口定义是一种抽象的、可重用的定义行业标准组织可以使用这种抽象的定义来规定一些标准的服务类型服务实现者可以根据这些标准定义来实现具体的服务。 4.3 SOAP SOAPSimple Object Acess Protocol简单对象访问协议定义了服务请求者和服务提供者之间的消息传输规范该协议通过HTTP承载XML格式化的消息。通过SOAP应用程序可以在网络中进行数据交换和远程过程调用(RPC。SOAP主要包括封装、编码规则、RPC表示和绑定四个部分。 4.4 REST RESTRepresentational State Transfer表达性状态转移是一种针对Web服务的设计和开发方式通常使用HTTP、XML、URI和HTML等流行协议或标准可以有效降低开发的复杂性提高系统的可伸缩性。REST对信息的操作基本只支持POST、GET、PUT和DELETE这些操作基于如下的设计理念 网络上的所有事物都被抽象为资源每个资源对应一个唯一的资源标识通过通用的连接件接口对资源进行操作对资源的各种操作不会改变资源标识所有操作都是无状态的。