SOA和Web Service简介
面向服务的架构(SOA):
- 是有利于在不同应用程序间实现松散耦合集成的软件架构。
- 提供在软件及其网络组件中进行更改的灵活性。
- 提供可重用性。
- 是用于实现定义良好的业务功能的以业务为中心的IT 架构方法。
SOA 包括最大化松散耦合和可重用性的实体。这些实体是:
- 服务提供商:向客户或服务使用者提供服务。
- 服务注册表:使服务提供商能够在因特网上发布和查找服务。
- 服务使用者:访问由服务提供商所提供的服务的桌面、Web 或移动应用程序。
SOA 提供以下功能:
- 可发现和动态绑定
- 支持互操作性
- 松散耦合
- 位置透明
Web服务(Web Service)
Web Service是面向服务架构的一种实现形式,是使您能够轻松有效地构建现有Web 应用程序的技术。
它能够以一种与平台无关的方式在不同系统之间进行交互,允许应用程序之间跨平台通信。使应用程序能够使用其他应用程序的功能。
Web 服务提供以下功能:
- 支持数据交换:Web 服务使用XML 数据格式进行信息交换。
- 支持文档交换:Web 服务支持大型非XML 文档的交换,例如PDF 文件、视频文件或图像文件。
- 支持同步和异步客户端:Web 服务支持与客户端进行同步和异步通信。
Web 服务提供以下优点:
- 支持应用程序和数据集成
- 多样性
- 代码可重用性
- 节约成本
Web服务应用编程接口(API)
使用Java Web Service Developer Pack (JWSDP) 工具包来开发Web服务,使开发人员能够使用Java 构建、测试和部署XML 应用程序、Web应用程序和Web 服务。使您能够在Java 应用程序中使用最新的XML 和Web 服务技术。
此工具包为Web 服务提供了以下API:
- 用于XML Web 服务的Java API (JAX-WS)
- 用于XML 处理的Java API (JAXP)
- 用于XML 绑定的Java 架构(JAXB)
- SOAP with Attachments API for Java (SAAJ)
- 用于XML 注册表的Java API (JAXR)
Web服务的类型:
基于XML 的Web 服务
RESTfulWeb 服务
我们常用的是基于XML的Web服务,其功能有:
互操作性、动态集成、行业标准、安全性
基于XML的Web服务包括以下组件:
WSDL
用于描述基于XML的Web服务Web 服务
UDDI
Web 服务提供者需要在一个由统一描述、发现和集成(UDDI) 目录表示的中心位置发布其Web 服务。
SOAP
用于在使用者和Web 服务之间交换消息。
定义用于以XML 格式交换Web 服务消息的标准。
通过将XML 消息嵌入SOAP 信封来在Web 服务之间交换XML 消息。
Web 服务可使用以下两种方法来创建:
-
从上到下的方法:
创建服务描述文件(WSDL);
创建Web 服务和构架Java 类; 从下到上的方法:
创建Java 类;
创建WSDL 文件;
重新生成WSDL 文件(如果业务对象更改);
两种创建方法任选其一