[WebService]之代码优先方法与契约优先方法

什么是 web 服务?

web 服务是对应用程序功能的网络访问接口,它是使用标准 Internet 技术构建的。

我们目前看到的部署在 Internet 上的 web 服务都是 HTML 网站。其中,应用程序服务,即发布、管理、查找、检索内容的机制,是通过使用标准协议和数据格式访问的:HTTP 和 HTML。接受此标准的客户端应用程序(web 浏览器)能与应用程序交互,执行如订购图书、发送贺卡及阅读新闻的任务。由于基于标准的接口提供抽象机制,因此应用程序服务是否用 Java 编写以及浏览器是否用 C++ 编写,或者应用程序部署在 Unix 系统而浏览器部署在 Windows 系统上,这些都没有关系。Web 服务具有与平台无关的跨平台互操作性。互操作性是实现 web 服务的主要获益。分别基于 Java 和 Microsoft Windows 的解决方案通常很难集成,但应用程序与客户端之间的 web 服务层可大大消除其隔阂。

web 服务的好处

作为大众熟知的开放技术标准,web 服务可提供以下众多好处:

  • 增加供应商之间的竞争,从而降低产品成本。
  • 简化产品之间的转换,从而降低培训成本。
  • 提升各阵营产品互操作的能力,从而降低维护成本。
  • 能够更广泛地采用标准,使得标准可以延用更久。供应商和用户的广泛使用实现更高的接受度。

组织如何转向 web 服务

组织转向 Web 服务有三种主要方式。如下所述:

  1. 从头开始创建一个新的 web 服务(契约优先):开发人员创建服务的功能,并准备好描述服务的文档。
  2. 通过一个 web 服务来公开现有的功能(代码优先):此时,服务的功能已经有了。只需要实现服务描述。
  3. 对来自其他供应商或业务合作伙伴的 web 服务进行集成(中间相遇):有些情况下,在一个服务的基础上实现新服务比从头构建服务更加可行。在这些情况下,这些组织需要集成其他组织或业务合作伙伴的 Web 服务。

Web 服务概念的真正运用表现在第二个和第三个方法中,将我们引向可用于现有应用程序的其他 Web 服务和应用程序。

代码优先方法与契约优先方法

代码优先(自下而上)方法能让您通过公开现有应用程序来重用已有的投资。Credit Card System 是一个具有久经考验的商业价值的应用程序。竞争压力是转向 Credit Card System,以将其中的业务功能(如信用卡号验证)公开为 web 服务。实现类已经存在,需要做的就是创建 WSDL 并将类公开为 web 服务。

契约优先(自上而下)方法通常也称为 “纯方法”,这是从头构建新的 web 服务的正确方法。此方法首先是通过定义操作消息及类似信息构建 WSDL(契约)。然后构建端点接口,最后是实现类。

SOA(service-oriented architecture)

服务类型

  • 基于实体的服务(如:用户实体User)
  • 基于功能的服务(如:天气预报、邮件)
  • 基于流程的服务(流程:业务流程)
  • 业务流程 (BPM) ERP  不同业务系统之间的流程
  • 工作流程(JBPM)        同一系统内
时间: 2024-11-11 16:01:34

[WebService]之代码优先方法与契约优先方法的相关文章

Java工程使用axis的stub生成webservice客户端代码

Axis2提供了一个wsdl2java.bat命令可以根据WSDL文件自动产生调用WebService的代码. wsdl2java.bat命令可以在<Axis2安装目录>/bin目录中找到. 在使用wsdl2java.bat命令之前需要设置AXIS2_HOME环境变量,该变量值是<Axis2安装目录>.在Windows控制台输出如下的命令行来生成调用WebService的代码: %AXIS2_HOME%\bin\wsdl2java -uri [wsdl]  -p client -s

用MyEclipse自带工具生成WebService客户端代码

本文章主要是介绍如何利用已经发布了的Webservice的wsdl来自动生成java的客户端代码.注意:本方法需要你采用的java版本是1.5或者以上的版本,采用MyEclipse来自动生成代码. wsdl:Web Services Description Language,网络服务描述语言,是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问. 对于已经发布了的Webservice,我们可以获得其wsdl,如访问:http://www.ayandy.com/S

C#中的Webservice实例代码(vs2013)

1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术.是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册. XML:(Extensible Markup Language)扩展型可标记语言.面向短期的临时数据处理.面向万维网络,是Soap的基础. Soap:(Simple Object A

用JDK自带的工具生成客户端调用Webservice的代码

JAVA下客户端调用Webservice代码简直是让人心生畏惧,今日尝试,做记录如下,参考网上的众多解决方案,下面这种方式是比较简单的. 在jdk的bin目录下有一个wsimport.exe的工具,使用该工具可以根据wsdl地址生成java的客户端代码. 常用命令如下: "D:\Program Files\Java\jdk1.8.0_05\bin\wsimport.exe" -keep -d d:\ -s d:\src -p com.map -verbose http://192.16

【webservice】生成axis2的webservice客户端代码

axis2版本:axis2-1.5.4 webservice服务端,部署好以后,会生成对应的wsdl文件.开放出来的url.wsdl是由axis工具生成的,其实就是个"说明如何与Web服务通信的XML",所以,这个wsdl用于生成该webservice服务端的调用类,可以理解为客户端生成类. 前面有尝试过用axis2工具生成axis1的wsdl,不成功,原因是axis1遵循的soap协议,和axis2遵循的soap协议是不同的(版本上),故败.为什么还会有axis1呢?可能是人家部署好

axis2生成webservice客户端代码--commond

1. 下载axis2版本http://axis.apache.org/axis2/java/core/download.html 2.下载完成后解压,打开命令行,进入bin目录下,执行命令: ${installdir}>WSDL2Java -uri http://10.176.133.7:9080/zhptkzb/services/CarrySLPOS.jws?wsdl -p com.pcm.framework.utils -d adb -s 生成的代码则存储在bin\src下: Note:生成

Eclipse Maven生成WebService客户端代码及测试

条件: 1. Eclipse安装Axis2插件 2. 导入Web Service相关包 创建Maven项目 导入axis2相关jar包 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 

JDK1.6 自动生成WebService客户端代码

到需要生成客户端代码的项目根目录下执行 wsimport -keep  http://localhost:8080/HelloService?wsdl 命令即可 http://localhost:8080/HelloService是服务端地址

开发webservice的方式

    什么是 web 服务? web 服务是对应用程序功能的网络访问接口,它是使用标准 Internet 技术构建的. 我们目前看到的部署在 Internet 上的 web 服务都是 HTML 网站.其中,应用程序服务,即发布.管理.查找.检索内容的机制,是通过使用标准协议和数据格式访问的:HTTP 和 HTML.接受此标准的客户端应用程序(web 浏览器)能与应用程序交互,执行如订购图书.发送贺卡及阅读新闻的任务.由于基于标准的接口提供抽象机制,因此应用程序服务是否用 Java 编写以及浏览