Web Service 三个基本技术之 SOAP
SOAP:Web Service通过标准通信协议,在互联网上发布有用的程序模块(以服务的方式),目前大部分是用SOAP来作通信协议。因为SOAP与 DCOM和CORBA在概念上有相同之处,所以很多人在问:“SOAP是怎样激活对象的?”或“SOAP在使用什么命名服务(Naming Service)?”。或许在执行SOAP的过程当中会用到这些,但这些并不在SOAP规范要考虑的范畴之内。SOAP只是定义SOAP消息的XML格式(XML Format),如果你用一对SOAP标记(SOAP Elements)把XML文档括起来,那么这个就是一个SOAP消息,这不是很简单吗?
SOAP规范还定义了怎样用XML来描述程序数据(Program Data),怎样执行RPC(Remote Procedure Call)。这些可选的规范是为了构建RPC-style的应用程序(客户端SOAP消息包含函数名和在函数中用到的参数,而服务器端SOAP消息包含执行函数之后的结果)。大多数SOAP解决方案都支持RPC-style应用程序,因为很多程序员已对DCOM或CORBA熟悉。SOAP还支持 Document-style应用程序(SOAP消息只包含XML文本信息)。Document-style应用程序有很好的灵活性,所以很多用RPC很难构建的Web Service用这种方式构建。
最后SOAP规范还定义了HTTP消息是怎样传输SOAP消息的。这并不代表SOAP只能用HTTP来作为传输协议,MSMQ、SMTP、TCP/IP都可以做SOAP的传输协议。
很多大公司根据SOAP规范,都开发出了自己的SOAP解决方案。这些解决方案都是相对于某种语言。比如说Microsoft SOAP toolkit2.0把COM函数转换成SOAP消息,而Apache toolkit把JAVA函数转换成SOAP消息。这样难免带来一些兼容性问题。
现在SOAP的很多另人瞩目的特性已成为现实(SOAP已经运行于不同的硬件和软件平台),而且有70多个解决方案。之所以SOAP被人们所爱戴,是因为 SOAP比其他同类技术(CORBA、DCE)简单易用。
Web Service 三个基本技术之 WSDL
Web Service提供一份详细的接口说明书,来帮助用户构建应用程序,这个接口说明书叫作WSDL(Web Service Description Language)。
WSDL是一种XML文档,它定义SOAP消息和这些消息是怎样交换的。IDL(Interface Description Language)是用于COM和CORBA的,WSDL是用于SOAP的。WSDL是一种XML文档,所以我们可以阅读和编辑,但很多时候是用工具来创建、由程序来阅读。
举个例子,你要使用供应商的Web Service构建应用程序。你可以向供应商索取使用Web Service的范例,然后按照范例来构建应用程序。这样可能出现意料不到的错误,比如说,你在程序中使用的客户代码的数据类型是integer,而供应商使用的数据类型是string.。WSDL详细定义客户端消息的格式,需要什么样的参数,这样可以避免不必要的错误
Web Service 三个基本技术之 UDDI
通常已发布的Web Service要注册到管理服务器,这样便于使用者查询和使用。这个是通过UDDI(Universal Discovery Description and Integration)来完成的
UDDI可以比喻成电话本,电话本里记录的是电话信息,而UDDI记录的是Web Service信息。你可以不把Web Service注册到UDDI。但如果要让全球的人知道你的Web Service,最好还是注册到UDDI。
UDDI目录说明文件也是一个XML文档,它包括三个部分。“白页(White Paper)”说明提供Web Service的公司(人)信息,比如说名称、地址和联系方式等等。“黄页(Yellow Paper)”说明UDDI目录的分类,比如说金融、服务和印刷等等。“绿页(green Paper)”说明接口(Web Service 提供的)的详细信息。
UDDI提供多种查询方式,来帮助你找到需要的Web Service。如果你查询与财务有关的Web Service,那么UDDI会提供详细的信息。
webservice的使用:
两个系统需要进行数据交换,讨论用文本方式还是其他方式?我一直推荐使用web service方式,Web Service就是为了使原来各孤立的站点之间的信息能够相互通信、共享而提出的一种接口。
Web Service所使用的是Internet上统一、开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,所以Web Service可以在任何支持这些标准的环境(Windows,Linux)中使用。
注:SOAP协议(Simple Object Access Protocal,简单对象访问协议),它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之间的互操作性,从而使存在的应用程序能够被广泛的用户访问。
优势:
I. 它的跨平台;
II. 并且SOAP协议是基于XML和HTTP这些业界的标准的,得到了所有的重要公司的支持。
III. 由于使用了SOAP,数据是以ASCII文本的方式而非二进制传输,调试很方便;并且由于这样,它的数据容易通过防火墙,不需要防火墙为了程序而单独开一个“漏洞”。
IV. 此外,WebService实现的技术难度要比CORBA和DCOM小得多。
V. 要实现B2B集成,EDI比较完善与比较复杂;而用WebService则可以低成本的实现,小公司也可以用上。
VI. 在C/S的程序中,WebService可以实现网页无整体刷新的与服务器打交道并取数。
缺点:
I. WebService使用了XML对数据封装,会造成大量的数据要在网络中传输。
II. WebService规范没有规定任何与实现相关的细节,包括对象模型、编程语言,这一点,它不如CORBA
使用xfire开发webservice
xfire,axis,webservice,soap,stax,POJOs,WSDL等,搞清楚他们之间的关系,了解其机制原
XFire是与Axis 2并列的新一代WebService框架。具有如下:
1支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security等 ;
2使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现;
3Easily Create Services from POJOs;
4易于与Spring框架结合;
5灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor
StAX:Streaming API for XML 。与 Simple API for XML (SAX) 不同,StAX 提供了编写 XML 文档的 API。更具体地说,它提供了两种 API:底层的、基于指针的 API( XMLStreamWriter )和高级的、基于事件的 API( XMLEventWriter )。基于指针的 API 最适合用于数据绑定的情况(比如从应用程序数据创建文档),而基于事件的 API 则通常用于管道式的情况,从输入文档中的数据构造新的文档。
POJOs:简单的JAVA对象(Plain Old Java Objects)
分享到:
相关推荐
#### 二、WebService关键技术 1. **XML(Extensible Markup Language)**: - XML是一种标记语言,用于结构化文档或数据。 - 在WebService中,XML被用来定义数据格式,使得数据能够在不同系统之间传输。 2. **...
**WebService调用技术文档概述** WebService是一种基于互联网的、平台无关的分布式计算模式,它允许不同的应用程序通过网络进行通信和数据交换。这项技术的核心是使用XML(可扩展标记语言)来描述服务,SOAP(简单...
#### 三、WebService关键技术介绍 - **SEI (Service Endpoint Interface)**:服务端点接口,定义了客户端如何调用服务的方法集合。 - **SIB (Service Implementation Bean)**:服务实现Bean,它是具体的业务逻辑...
**1.1 WebService关键技术与体系结构** - **XML/SOAP**: XML作为WebService的数据基础,提供了跨平台的数据表示方式。SOAP(Simple Object Access Protocol)是基于XML的远程过程调用协议,使得不同系统间可以互相...
其次介绍了WebService技术中的关键技术,其中包括可扩展性标记语言(XML)、简单对象访问协议(SOAP)、Web服务描述语言(WSDL)和统一描述、发现与集成(UDDI)注册中心。最后本文依据WebServices的技术原理、体系...
本文以水利信息化为契机,结合webservice技术和ireport报表制作技术,对水利信息化系统中的报表制作部分做出关键技术研究,分析了报表制作的具体过程和所需技术,提出了使用Jasperreport作为报表控件开发Web报表的...
### WebService技术讲义 #### 一、Web Service 引入背景及原因 ...综上所述,WebService技术通过标准化、开放性的设计,有效解决了商业需求、应用集成和复杂连接等问题,成为现代企业信息化建设中的关键组件之一。
总结来说,WebService是互联网上实现跨系统、跨平台通信的一种关键技术,通过标准化的协议和数据格式,促进了不同系统间的无缝协作。理解并掌握WebService的基本概念和技术特点,对于开发分布式、可扩展的应用程序至...
#### 二、WebService 的关键技术 ##### 1. XML (Extensible Markup Language) - **作用**:XML 是一种用于标记数据的语言,用于结构化地存储和传输数据。在 WebService 中,XML 主要用来定义消息格式。 - **特点**...
### 基于WebService技术的J2ME和.NET互连 #### 重要概念与技术解析 **WebService技术**:Web Service是一种跨编程语言和操作系统平台的远程调用技术,允许程序通过HTTP协议从Web上任意位置调用具有自描述、自包含...
总之,"webService接口app"涉及到的是移动应用通过WebService与服务器进行数据交换的技术。开发者需要了解WSDL、SOAP等概念,以及选择合适的WebService实现技术,如JAX-WS或RESTful。同时,"mServer"可能是实现这些...
根据提供的文件信息,本文将详细解释一个简单的 WebService 示例,并深入探讨其中的关键概念和技术细节。 ### 一、WebService 概念 #### 1.1 WebService 定义 WebService 是一种支持通过网络进行调用的服务形式,...
此外,配置文件App.config中,关于WebService端点的配置也很关键。它定义了服务的位置、使用协议等信息,以便客户端能够正确地定位和调用服务。例如,在配置文件中为TrainTimeWebServiceSoap服务指定的endpoint,...
通过掌握WebService的关键技术和应用场景,开发者能够更好地应对复杂的项目需求,提高开发效率。对于初学者来说,了解WebService的基本概念和运作机制是非常重要的一步。尚硅谷提供的WebService教学视频可以帮助学习...
综上所述,本案例涉及了WebService接口设计、泛型的使用、XML配置和数据序列化等关键知识点,这对于任何需要通过网络交互数据的Java开发者来说都是重要的技能。通过研究提供的代码和理解其背后的原理,你可以掌握...
WebService对于B2B集成至关重要,因为它允许公司将关键业务应用程序暴露给指定的供应商和客户,降低了集成的成本和复杂度。 #### C#调用WebService的实践 C#作为一种广泛使用的编程语言,支持多种方式调用来自其他...
在WebService的实现中,关键的Web技术包括HTTP、FTP、SMTP等网络传输协议,以及XML(可扩展标记语言)在SOAP消息中的应用。这些技术的结合,为不同系统间的互操作和集成提供了可能。 当谈到SOA时,它不仅仅是一种...
【WebService压缩方法整合】是一个关于如何优化和提升WebService性能的主题,这个主题涵盖了多个关键知识点,包括数据压缩、WebService的基本概念、实例应用以及相关的辅助工具和技术。以下是对这些知识点的详细阐述...