[WebService]之代码优先方法与契约优先方法
什么是 web 服务?
web 服务是对应用程序功能的网络访问接口,它是使用标准 Internet 技术构建的。
我们目前看到的部署在 Internet 上的 web 服务都是 HTML 网站。其中,应用程序服务,即发布、管理、查找、检索内容的机制,是通过使用标准协议和数据格式访问的:HTTP 和 HTML。接受此标准的客户端应用程序(web 浏览器)能与应用程序交互,执行如订购图书、发送贺卡及阅读新闻的任务。由于基于标准的接口提供抽象机制,因此应用程序服务是否用 Java 编写以及浏览器是否用 C++ 编写,或者应用程序部署在 Unix 系统而浏览器部署在 Windows 系统上,这些都没有关系。Web 服务具有与平台无关的跨平台互操作性。互操作性是实现 web 服务的主要获益。分别基于 Java 和 Microsoft Windows 的解决方案通常很难集成,但应用程序与客户端之间的 web 服务层可大大消除其隔阂。
web 服务的好处
作为大众熟知的开放技术标准,web 服务可提供以下众多好处:
- 增加供应商之间的竞争,从而降低产品成本。
- 简化产品之间的转换,从而降低培训成本。
- 提升各阵营产品互操作的能力,从而降低维护成本。
- 能够更广泛地采用标准,使得标准可以延用更久。供应商和用户的广泛使用实现更高的接受度。
组织如何转向 web 服务
组织转向 Web 服务有三种主要方式。如下所述:
- 从头开始创建一个新的 web 服务(契约优先):开发人员创建服务的功能,并准备好描述服务的文档。
- 通过一个 web 服务来公开现有的功能(代码优先):此时,服务的功能已经有了。只需要实现服务描述。
- 对来自其他供应商或业务合作伙伴的 web 服务进行集成(中间相遇):有些情况下,在一个服务的基础上实现新服务比从头构建服务更加可行。在这些情况下,这些组织需要集成其他组织或业务合作伙伴的 Web 服务。
Web 服务概念的真正运用表现在第二个和第三个方法中,将我们引向可用于现有应用程序的其他 Web 服务和应用程序。
代码优先方法与契约优先方法
代码优先(自下而上)方法能让您通过公开现有应用程序来重用已有的投资。Credit Card System 是一个具有久经考验的商业价值的应用程序。竞争压力是转向 Credit Card System,以将其中的业务功能(如信用卡号验证)公开为 web 服务。实现类已经存在,需要做的就是创建 WSDL 并将类公开为 web 服务。
契约优先(自上而下)方法通常也称为 “纯方法”,这是从头构建新的 web 服务的正确方法。此方法首先是通过定义操作消息及类似信息构建 WSDL(契约)。然后构建端点接口,最后是实现类。
SOA(service-oriented architecture)
服务类型
- 基于实体的服务(如:用户实体User)
- 基于功能的服务(如:天气预报、邮件)
- 基于流程的服务(流程:业务流程)
- 业务流程 (BPM) ERP 不同业务系统之间的流程
- 工作流程(JBPM) 同一系统内
[WebService]之代码优先方法与契约优先方法的更多相关文章
- 根据wsdl文件,soupUI生成webservice客户端代码
根据wsdl文件,soupUI生成webservice客户端代码 功能介绍: 对于面向WebServie接口开发时,当我们已经获取到WSDL文件后,可以使用soapUI工具生成对应的客户端和服务端代码 ...
- 用JDK自带的工具生成客户端调用Webservice的代码
JAVA下客户端调用Webservice代码简直是让人心生畏惧,今日尝试,做记录如下,参考网上的众多解决方案,下面这种方式是比较简单的. 在jdk的bin目录下有一个wsimport.exe的工具,使 ...
- 用MyEclipse自带工具生成WebService客户端代码
本文章主要是介绍如何利用已经发布了的Webservice的wsdl来自动生成java的客户端代码.注意:本方法需要你采用的java版本是1.5或者以上的版本,采用MyEclipse来自动生成代码. w ...
- Eclipse 生成WebService客户端代码
1. 打开Eclipse,新建一个普通的Javaproject,然后在新建的项目上右键点击项目,New---->other---->Web Services -------->Web ...
- 根据wsdl文件生成WebService客户端代码
有时候在项目中,一个项目可能有好几个公司在做.系统之间难免会出现互相调用接口的现象,这时候有一种办法就是使用webService.本篇文章将介绍如何将对接系统提供的WebService接口,根据对方提 ...
- 使用wsimport命令生成webService客户端代码实例
wsimport简介 在JDK的bin文件夹中,有一个wsimport.exe工具,可依据wsdl文件生成相应的类文件,将生存在本地这些类文件拷贝到需要使用的项目中,就可以像调用本地的类一样调用web ...
- C#中的Webservice实例代码(vs2013)
2.1首先创建一个最基本的web service服务端,顾名思义就是提供服务,这儿实现一个简单的加法计算. 首先,vs2013--文件---新建项目---Asp.net 空Web 应用程序 (V ...
- soupUI生成webservice客户端代码
在Apache网站下载axis2软件包,同时本机安装soapUI工具.例如,当前我使用的axis2版本为axis2-1.4-bin.zip,soapUI版本为3.6. Apache Axis下载地址: ...
- 利用CXF生成webservice客户端代码
一.CXF环境的配置 1.下载CXF的zip包. 2.解压.例如:D:\ITSoft\webserviceClientUtils\cxf\apache-cxf-2.7.17 3.配置环境变量:新建变量 ...
随机推荐
- 利用SOLR搭建企业搜索平台 之——MultiCore
Solr Multicore 是 solr 1.3 的新特性.其目是一个solr实例,可以有多个搜索应用. 下面着手来将solr给出的一个example跑出来.这篇文章是基于<利用SOLR搭建企 ...
- Python Mongo操作
# -*- coding: utf-8 -*- ''' Python Mongo操作Demo Done: ''' from pymongo import MongoClient conn = None ...
- js中的json对象详细介绍
JSON一种简单的数据格式,比xml更轻巧,在JavaScript中处理JSON数据不需要任何特殊的API或工具包,下面为大家详细介绍下js中的json对象, 1.JSON(JavaScript Ob ...
- CSS之弧形阴影
简述 网页上经常会出现一些弧形的阴影效果,看起来很漂亮,下面我们来讲述下如何用CSS来实现一个弧形阴影. 简述 阴影 效果 注释 标题 效果 源码 合并 效果 源码 阴影 效果 首先实现一个简单的阴影 ...
- Spring 实践 -IoC
Spring 实践 标签: Java与设计模式 Spring简介 Spring是分层的JavaSE/EE Full-Stack轻量级开源框架.以IoC(Inverse of Control 控制反转) ...
- js中encode、decode的应用说明
escape 方法 返回一个可在所有计算机上读取的编码 String 对象. function escape(charString : String) : String 参数 charString 必 ...
- BZOJ 1176 MOKIA
cdq分治. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm ...
- BZOJ 1555 KD之死
贪心,按t+w排序维护不一定放到拖车上的大根堆. #include<iostream> #include<cstdio> #include<cstring> #in ...
- python练习程序(c100经典例11)
题目: 古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? a=1;b=1 print a,b, for i ...
- (转)python 优先队列
#!/usr/bin/python from Queue import Queue from Queue import PriorityQueue a1='a1' a2='a2' a3='a3' a4 ...