首先说一下,为什么取名叫菜鸟之webservice,因为本人技术真的不咋滴,写博客只是为了对所学知识的总结.webservice对于我来说一直都是高大上的感觉,一个java web和javase都没有正规学过的人,什么叫服务端程序都是 一头雾水的人.上来就想写webservice服务器端的程序真心感觉无从下手,可是这不能成为借口,经过几天的摸索,虽然java se与java ee还是不怎么懂,可是目前已经能搭建简单的webservice了.下面就给大家分享一下,搭建webservice服务器端程序的过程.
(一)简介webservice:
什么是WebServices?
它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行;它是一种新的web应用程序分支,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service是一个应用组件,它逻辑性的为其他应用程序提供数据与服务.各应用程序通过网络协议和规定的一些标准数据格式(Http,XML,Soap)来访问Web Service,通过Web Service内部执行得到所需结果.Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
关键的技术和规则
在构建和使用Web Service时,主要用到以下几个关键的技术和规则:
1.XML:描述数据的标准方法.
2.SOAP:表示信息交换的协议.
3.WSDL:Web服务描述语言.
4.UDDI:通用描述、发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议。
XML
可扩展的标记语言(XML)是Web service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既是平台无关的,又是厂商无关的。无关性是比技术优越性更重要的:软件厂商是不会选择一个由竞争对手所发明的技术的。
SOAP
SOAP是web service的标准通信协议,SOAP为simple objectaccess protocoll的缩写,简单对象访问协议. 它是一种标准化的传输消息的XML消息格式。
WSDL
WSDL的全称是web serviceDescription Language,是一种基于XML格式的关于web服务的描述语言。其主要目的在于web service的提供者将自己的web服务的所有相关内容,如所提供的服务的传输方式,服务方法接口,接口参数,服务路径等,生成相应的完全文档,发布给使用者。使用者可以通过这个WSDL文档,创建相应的SOAP请求消息,通过HTTP传递给webservice提供者;web服务在完成服务请求后,将SOAP返回消息传回请求者,服务请求者再根据WSDL文档将SOAP返回消息解析成自己能够理解的内容。
UDDI
将web service进行UDDI注册发布,UDDI是一种创建注册表服务的规范,以便大家将自己的web service进行注册发布供使用者查找.然而当服务提供者想将自己的web service向全世界公布,以便外部找到其服务时,那么服务提供者可以将自己的web service注册到相应的UDDI商用注册网站,目前全球有IBM等4家UDDI商用注册网站。因为WSDL文件中已经给定了web service的地址URI,外部可以直接通过WSDL提供的URI进行相应的web service调用。所以UDDI并不是一个必需的web service组件,服务方完全可以不进行UDDI的注册。
声明一下:UDDI这个我没有用到,也不知道是干嘛的与怎么用,哈哈,如果有读者知道的话,可以告诉我奥,大家共同学习进步.下面就来搭建属于我们自己的webservice:
第一步,新建一个webservice工程:
新建之后,给自己的webservice起个工程名字,这里我给大家的示例是:OurWebserviceOne
Jax-WS是Java1.6中才有的,新的WebService模式,基于注解的方式配置WebService,很类似Asp中的WebService,难度已经比Xfire方式的配置降低了很多.
REST(JAX-RS)
用的比较少
Xfire(已过时)
配置比较繁琐
建立好之后的工程目录结构如下图:
第二步,写自己业务逻辑代码:
第三步:发布webservice
到此WS发布完成,接下来配置TomCat
在弹出的窗体中依次展开 MyEclipse->Servers –>Tomcat
选择项目右键点击
启动TomCat,.然后部署我们的webservice:
部署完成:
打开浏览器测试:
好了,到了这一步,我们的webservice已经搭建完成,也就是我们Android应用开发中的服务器端程序,至于具体如何在Android客户端调用webservice提供的服务,我最近抽空写个详细的.
读者可以先行参考一下两个帖子:
调用webservice的步骤:http://www.ubento.cn/thread-4126-1-1.html
调用webservice的代码实现:http://www.ubento.cn/thread-4159-1-1.html
转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/24512425