1、WebService有什么用,使用它有什么好处及它的原理是怎样的
Web Service主要为了使原来各个孤立的站点之间的信息能够相互通信、共享而提出的一种接口。 Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows中使用。注:SOAP协议简单对象访问协议它是一个基于XML的通讯协议用于分散和分布式环境下网络信息交换。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。),(Simple Object Access Protocal,,Linux) simple object access protocal)
2、Webservice移植性
是不同系统(不同语言开发的系统、相同语言但属于不同应用开发的系统)之间互操作的平台,他提供一种标准,不同平台和不同语言之间进行互操作(异构系统之间互连互通)的标准
它与语言和平台无关(无关性),有的时候无关性比性能更重要,意味着更通用
也可以认为webservice就是一种应用程序,不同的系统通过它可以是实现互操作
如果其它系统要访问发布在web服务器上java Web系统中某个类中的方法,这个时候只需要给该类封装成一个WebService Api接口
web server
(tomcat ,weblogic)
Java项目 web
类s
Webservice
ApI
windows client
C client
Other platform
Soap response
Soap request
3、如果一个webservice创建好了之后就可以访问了
通过Soap(simple object access protocol)协议,实际使用了xml来描述和封装request和
response,使得他们(request和response)可以通过soap协议进行传递.
soap协议中提供了标准的远程过程调用RPC(方法)来访问webservice,rpc使用xml和xsd(xml schema Definition是DTD的替代品)来描述被请求的方法以及该方法的参数情况和返回情况{ 即用xml和xsd来描述和封装request和response,使得他们(request和response)可以通过soap协议进行传递}
4、为什么其它系统都可以访问webservice
webservice使用xml和xsd来描述内部一些配置,xml和xsd是webservice基本数据格式
wsdl(webservice description language),它使用的全是xml和xsd。它描述了webservice中一些方法访问的契约(规范),谁都遵守该规范,即它描述了web service中能被访问方法的名,参数,参数的类型和返回值等等规定,其它平台上的程序必须按照wsdl中的规范来访问
5、目前能使用的webService框架(这些框架是用java语言开发的)有:
apache 开发的 Axis
Codehaus 开发的 Xfire
6、案例
XFire使用
首先打开IDE,创建一个普通的Java工程,将Xfire1.2所需要的jar加入到工程的类库引用中。创建一个简单的Java文件,这个文件只有一个名为example的成员方法。
提供服务实现类
package org.itfuture.www.admin;
public class MessageServiceImpl implements IMessageService {
public String example(String message)
{
return "我得到消息是:"+message;
}
}
服务类的接口
package org.itfuture.www.admin;
public interface IMessageService
{
public String example(String message);
}
配置services.xml
Message
http://org.itfuture.www.admin/AAA
org.itfuture.www.admin.IMessageService
org.itfuture.www.admin.MessageServiceImpl
literal
application
标签说明:
(1)WebService的服务名
Message
(2)WebService的服务接口类
org.itfuture.www.admin.IMessageService
(3)WebService的服务接口实现类
org.itfuture.www.admin.MessageServiceImpl
(4)Soap中XML元素风格
(5)soap消息中是否声明数据的数据类型
literal
(6)WebService的服务有效范围
application