web services

Webservice 开发和使用指南
1       核心内容
核心内容包括: axis命令级别的详细解释、axis和spring相互结合开发指南、开发步骤的梳理和解释。本文只提到了Axis2的基本概念,详细知识,可以参见Axis2的相关文档。
 
2.1    主要内容包括
1、关于webservice的基本概念
2、Axis相关概念和命令。
3、开发和测试工具,代码实例。
4、开发客户端和服务器端的开发流程。
5、开发的详细的命令介绍。
6、如何测试的方法。
7、发布的步骤。
8、日志跟踪机制。
9、其他优秀文章。
10、             相关参考资料的介绍。
11、             其他文档的发布路线图。
2.2    本文的特色
1、 有助于理解webservice深层的设计思想。因为没有使用eclipse插件,强迫你每次可以看axis相关的知识,必然对相关的概念、代码的架构设计,可以对自动生成的代码的命名、调用细节,有比较深的理解,例如:Proxy模式的设计。
2、 增强你对工程的管理能力。 当生成代码时,你将每次手工的设置wsdl文件名称、路径名称等等,处处在影响这你。Ant是管理java的强大的工具,应用最广泛。无论多牛的开发图形工具,它的后台,对工程的管理,很多都是采用ant命令调用。
3、 提高你的测试能力。在附件中的工程,生成的代码支持Junit测试的java代码。通过测试,当你在你应用中调用时,通过copy、paste就可以搞定。
4、 增强你的思考能力。有些知识,网上是找不到的,这恰恰是你的机会,同时也是公司的机会,因为公司是单个人组成的。通过思考,通过动手,才能突破一些难点。例如:hibernate的Callback代码设计、强大的Template方法、多线程下数据同步和持久化、不同Ip之上数据表的操作访问,程序管理表和物理管理表的设计模式。网上,没人告诉你。不详细的它的源代码调用和相关规范,很难搞清楚。
5、 详细和大量的代码实例。这样可以方便你引用,这些所有的代码和build.xml文件,都是经过测试和应用过的。
2.3    关于实例工程
考虑到,容量比较大,可能要自己到网站下载。参见:相关资源。
3       Web Service基本概念
3.1    基本组成
由两部分组成
·SOAP--Web Service之间的基本通信协议。
·WSDL--Web Service描述语言,它定义了Web Service做什么,怎么做和查询的信息。
The Web Service Description Language is a specification authored by IBM and Microsoft, and supported by many other organizations. WSDL serves to describe Web Services in a structured way. A WSDL description of a service tells us, in a machine-understandable way, the interface to the service, the data types it uses, and where the service is located.
Handler
A reusable class which is responsible for processing a MessageContext in some custom way. The Axis engine invokes a series of Handlers whenever a request comes in from a client or a transport listener.
SOAP
The Simple Object Access Protocol (yes, despite the fact that it sometimes doesn't seem so simple, and doesn't have anything to do with objects... :)). You can read the SOAP 1.1 specification at http://www.w3.org/TR/SOAP. The W3C is currently in the midst of work on SOAP 1.2, under the auspices of the XML Protocol Group.
Provider
A provider is the "back-end" Handler which is responsible for actually performing the "meat" of the desired SOAP operation. Typically this means calling a method on some back-end service object. The two commonly used providers are RPCProvider and MsgProvider, both in the org.apache.axis.providers.java package.
3.2    什么是 Webservice?
Web 是使应用程序可以以与平台和编程语言无关的方式进行相互通信的一项技术。Web 服务是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作。它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换的数据。一组以这种方式交互的 Web 服务在面向服务的体系结构(Service-Oriented Architecture,SOA)中定义了特殊的 Web 服务应用程序。
3.3    什么是SOAP?
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的轻量级协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。
SOAP包括四个部分:SOAP封装(envelop),封装定义了一个描述消息中的内容是什么,是谁发送的,谁应当接受并处理它以及如何处理它们的框架;SOAP编码规则(encoding rules),用于表示应用程序需要使用的数据类型的实例;SOAP RPC表示(RPC representation),表示远程过程调用和应答的协定;SOAP绑定(binding),使用底层协议交换信息。
应用中比较关注的是envelop,由一个或多个Header和一个Body组成。
SOAP在可互操作的基础 Web 服务协议栈中的位置。
3.4    什么是WSDL?
WSDL(Web Service Description Language)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性:
·服务做些什么——服务所提供的操作(方法)
·如何访问服务——和服务交互的数据格式以及必要协议
·服务位于何处——协议相关的地址,如URL
WSDL文档以端口集合的形式来描述Web服务,WSDL 服务描述包含对一组操作和消息的一个抽象定义,绑定到这些操作和消息的一个具体协议,和这个绑定的一个网络端点规范。
WSDL在Web 服务概念性协议栈中的位置。
WSDL描述语言一般包含三部分
l         What部分:包括了type、message和portType元素
Type:定义了Web Service使用的数据结构(使用XML Schema定义)
Message:一个Message是SOAP的基本通信元素。每个Message可以有一个或多个Part,每个Part代表一个参数。
PortType:消息汇总为不同的操作并归入到一个被称为portType的实体中。一个portType代表一个接口(Web Service支持的操作集合),每个Web Service可以有多个接口,它们都使用portType表示。每个操作又包含了input和 output部分。
l         How部分:包含binding元素
binding元素将portType绑定到特定的通信协议上(如HTTP上的SOAP协议)
l         Where部分:由service元素组成
它将portType,binding以及Web Service实际的位置(URI)放在一起描述
3.5    什么是WSDD?
WSDD就是WEB服务分布描述(Web Service Deployment Descriptor), 它定义了WEB服务的接口,如服务名、提供的方法、方法的参数等信息。
3.6    什么是UDDI?
UDDI就是统一描述、发现和集成(Universal Description, Discovery, and Integration)。UDDI用于集中存放和查找WSDL描述文件,起着目录服务器的作用。
Web 服务中的角色、操作和构件。
服务提供者。从企业的角度看,这是服务的所有者。从体系结构的角度看,这是托管访问服务的平台。
服务请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用服务,或启动与服务的交互的应用程序。服务请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个 Web 服务)来控制它。
服务注册中心。
这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息(在服务描述中)。对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务请求者可以从服务注册中心以外的其它来源得到服务描述,例如本地文件、FTP 站点、Web 站点、广告和服务发现(Advertisement and Discovery of Services,ADS)或发现 Web 服务(Discovery of Web Services,DISCO)。
3.7    客户端和服务器端
3.7.1            客户端
根据wsdl文件生成的一组相关的客户端类。然后,通过wsdl地址可以访问其他系统或应用所提供的功能。
通常Web Service可以有三种类型的客户
l         商业伙伴(Business Partner)--包括分发商,零售商以及大型消费者)
此类客户通过SOAP、WSDL、ebXML、UDDI等XML技术与Web Service连接
l         瘦客户--包括Web浏览器、PDA以及无线设备
该类客户通常经由轻量协议(如HTTP)与Web Service连接
l         肥客户--包括Applet、各类应用以及现存系统
通常使用重量级协议(如IIOP)连接Web Service
3.7.2            服务器端
也就是对外提供的一个接口(本质上就是:方法),让其他不同的系统或应用可以来进行访问,本系统的功能。它包括的内容:
1.一个对外接口
2.该接口的实现类
3.一个部署描述文件,描述这个服务(接口)。部署文件中的服务的信息,是可以通过axis的命令来生成的。
这些文件都是将包含在一个完整的web应用中的,当启动web容器的时候,就可以其他系统进行访问了。
 
 
......
 
详细请参考:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值