WebService初识
? ?Webservice是一个web服务体系,它为其他应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式来访问webservice。 ? ?webservice三种最普遍的实现方式是:
1.?WebService概念 ? ??WEB服务是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。 ? ? ?SOAP:简单对象访问协议(Simple Object Access Protocol),SOAP定义一个XML文档格式,该格式描述如何调用一段远程代码的方法,里面的XML格式是根据WSDL来描述的。 ? ? ?WSDL:Web服务描述语言(Web Services Description Language)是一个描述Web服务的XML词汇。WSDL文件中的信息定义WEB服务的名称、它的方法的名称、这些方法的参数和其他详细信息。 ? ? ?UDDI:统一描述、发现和集成(Universal Description,Discovery,and Integration)协议向WEB服务注册中心定义SOAP接口。如果你有一个服务希望务部署,UDDI规范定义如何将你的服务描述添加至注册中心。如果你在寻找某个功能的服务,UDDI规范定义如何查询注册中心以找到你想要的信息。 ? ? ?WebService的架构中主要有3个参与者和3个基本操作构成。3个操作者分别是服务提供者、服务请求者和服务代理,而3个基本操作分别为发布、查找和绑定。服务框架如下图所示: ? ? 调用过程如下: ? ? (1)?服务提供者将其服务发布到服务代理上; ? ? (2) 当服务请求者需要调用该服务时,它首先利用服务代理提供的目录区搜索该服务,得到如何调用该服务的信息; ? ? (3) 然后根据这些信息进行绑定,并调用服务提供者发布的服务。 2. WebService优势 ? ?web服务是互联网发展的趋势,具有以下优点: ? ? (1) 平台无关。 不管你使用什么平台,都可以使用Web服务。 ? ? (2) 编程语言无关。只要遵守相关协议,就可以使用任意编程语言,这大大增加了web服务的适用性。 ? ? (3) 对于web服务提供者来说,部署、升级和维护web服务都非常单纯,不需要考虑客户端兼容问题,而且一次性就能完成。 ? ? (4) 对于Web服务使用者来说,可以轻易实现多种数据、多种服务的聚合。 3. 几种比较流行的WebService框架 ? ?目前比较流行的框架有:Apache Axis1、Apache Axis2、Codehaus XFire、Apache CXF等。 ? ? 其中Axis2是从Axis1的基础上发展来的,CXF则是XFire和Celtix项目的结合产品。Axis2是从底层全部重新实现,使用了新的扩展性更好的模块架构。CXF也重新的深化了XFire和Celtix这两个开发工具。 ? ? 如何抉择: ? ? (1) 如果应用程序需要多语言的支持,Axis2应当是首选; ? ? (2) 如果应用程序师遵循Spring哲学路线的话,Apache CXF是一种更好的选择,特别对嵌入式地Web Services来说的。 4. OSGI与WebService结合 4.1 怎样把WebService部署到OSGI上 ???大致的OSGI平台的web交互如下所示: ? ?? ? ? (1) 各个功能服务被包装成OSGI中的Bundles,并通过WebService服务bundle到WebService注册中心(即一个实现注册功能的bundle)进行发布,供用户调用; ? ? (2) WebService中心对各服务提供者所提供的Web服务进行发布和管理,通过查询UDDI注册中心,用户可得到所需服务的WSDL文件; ? ? (3) 通过WSDL,用于与服务提供者进行绑定和调用。 4.2 OSGI与WebService结合的优势 ? ? (1) 有利于版本控制 ? ? (2) 分布式部署和调用,可以取代消息通信交互的方式 ? ? (3) WebService可以实现OSGI平台和非OSGI平台的交互。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |