`

【分布式】Web Services&XML:什么是Web Service

 
阅读更多
本文转自:
http://www.blogjava.net/liver/archive/2010/04/27/319497.html
你可能早就听说过Web Service了,你也可能已经对Web Service有了一些概念,现在不管是在什么场合,谈到以后发展的新趋势,大家都会提到Web Service。世界上的顶级公司,不管是微软、IBM还是SUN,都开始把 Web Service频繁地挂在嘴边。大多数媒体也开始鼓吹Web Service是多么的好,多么的有前途或者“钱”途……但Web Service 到底是什么呢?数据库通过网页实现服务?网络上的协议?还是一种软件的标准?

在http//www.hexiesoft.net 上你可以欣赏到.NET下使用微软开发工具建立的Web Service企业级ERP应用系统。

在 http//dwdemos.alphaworks.ibm.com/HospitalProj/index.html上,你可以体验使用IBM开发工具创建的提供医疗保险信息查询的Web Service。

Web Service概念

什么是 Web Service呢?从表面上看,Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web调用来实现某个功能的应用程序。例如,笔者创建一个Web Service,它的作用是查询某公司某员工的基本信息。它接受该员工的编号作为查询字符串,返回该员工的具体信息。你可以在浏览器的地址栏中直接输入HTTP GET请求来调用罗列该员工基本信息的ASP页面,这就可以算作是体验Web Service了。

从深层次上看,Web Service是一种新的Web应用程序分支,它们是自包含、自描述、模块化的应用,可以在网络(通常为Web)中被描述、发布、查找以及通过Web来调用。

Web Service便是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。你可以用你喜欢的任何语言(笔者用的是C#),在你喜欢的任何平台上写Web Service。

Web Service的技术支持

Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。目前这些协议有:

1.XML和XSD

可扩展的标记语言XML?是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD?定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。

Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如 VB.NET或C#?来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。

2.SOAP

SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。 SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。

Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。

3.WSDL

Web Service描述语言WSDL?就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。

4.UDDI

UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。

5.远程过程调用RPC与消息传递

Web Service本身其实是在实现应用程序间的通信。我们现在有两种应用程序通信的方法:RPC远程过程调用?和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。

Web Service软件的支持

操作系统离不开丰富的应用软件的支持。同样,Web Service这项技术只有通过日益广泛的应用才能体现出其价值,目前比较流行的实现方法是使用.NET 和 Java两种技术,并且两种实现方法可以互相操作;如今我们已经可以看到使用微软、 IBM、SUN、Borland等不同厂商的Web Service构建工具建立的Web Service应用。

微软.NET

微软的.NET技术应该算是时下最为流行的Web Service 开发技术。首先因为其公司在以前相应的产品就占有相当大的市场份额,以至使新推出的.NET得以有比较稳定的用户群;其次也是更重要的是 .NET平台不仅延续了微软一贯的编程风格,而且还增加了许多支持Web 服务的关键性技术,使得.NET在操作的简单性和执行的稳定性,高效性上达到了一个非常好的结合。

微软的Visual Studio.NET便是一个便于 Web 服务的开发工具。微软的目标是,将其新编程语言??C#作为Web Service的首选语言。虽然C#看起来与Java类似,但是还有一些 Java中没有的独特的功能。.NET技术中用于Web Service 开发的主要工具是ASP.NET?从技术上说,ASPasp.net? 提供了一些超出ASP以前版本的优点(例如:代码和HTML的分离,与脚本语言相比较,对“真正”的编程语言如 C# 的支持)。

IBM的 WebSphere

IBM公司是业界第一家能够提供全面支持Web服务的电子商务基础设施中间件的公司。通过多年来与 W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli 和WebSphere在内的所有IBM软件都实现了对SOAP、WSDL、UDDI、Linux、XML、J2EE等开放技术和标准的全面支持。  IBM公司的WebSphere 也是比较好的基础架构软件开发平台。WebSphere软件平台及开发工具包括 WebSphere Studio Application Developer WSAD? 基于J2EE、XML 和Web服务等开放标准,并具备 IBM 在可靠性、扩展性和安全性上的主要优势。WebSphere 是 IBM 在 Web Services策略中的核心平台,它支持所有开发、发布、部署 Web Services应用所必需的开放标准和技术,包括 UDDI,SOAP,J2EE,WSDL,和对 XML 技术集成的增强,这特使得它在全球有很多用户。

Borland的JBuilder

Borland公司在 JBuilder7中,用户可以用其Borland Web Services Kit for Java和Borland JBuilder MobileSet 3进行更快捷地开发Web Service和无线应用。这样将使开发者能够在同一个开发环境中轻松地创建和集成Web Service。今年新推出的JBuidler8 更是针对Web Service开发更提供了方便和高效的方法。

总之,在Web Service开发上,.NET 和Java都是很好的选择,尽管两者现在都有一些需要完善的地方,但是就目前来说,它们还是最好的开发手段和技术。具体选择哪种开发工具,也是仁者见仁,智者见智的问题。从根本上说,这两种方法没有孰优孰劣的问题,只是根据使用者对这两种方法的掌握程度和对具体语言的偏爱程度来决定。
分享到:
评论

相关推荐

    Web Services&XML:什么是Web Service

    Web服务是一种基于网络的分布式组件,它允许不同的应用程序之间进行交互和互操作。这个概念的核心是利用标准协议,如HTTP和XML,实现不同系统之间的数据交换和服务调用。Web服务的出现打破了传统的软件孤立状态,...

    java web services教程

    3. **WSDL (Web Services Description Language)**:WSDL 是一个 XML 文件,它定义了 Web Service 的接口,包括服务的位置(URL)、可用的操作、输入和输出参数等。WSDL 通过 HTTP 发布,供客户端程序发现和理解服务...

    使用Microsoft Visual C#开发XML Web Services和Server Components

    XML Web Services是基于Web的应用程序接口,它们使用标准的XML(可扩展标记语言)进行通信,允许不同系统之间交换数据和服务。在本教程中,我们将深入探讨如何利用Microsoft Visual C#这一强大的编程语言来开发XML ...

    Web Services & Axis2.zip(2011年度巨献)

    Web服务和Axis2是互联网应用程序开发中的关键技术,用于构建分布式系统和实现跨平台的数据交换。在2011年,这些技术受到了广泛的关注,成为年度巨献,这表明了它们在当时的重要地位。 Web服务是一种通过HTTP协议...

    XML Web Service 开发XML Web Service 开发

    - **JAX-WS(Java API for XML Web Services)**:Java平台的官方标准,用于创建SOAP Web服务。它提供了API和工具来生成服务端点和客户端代理类。 - **WCF(Windows Communication Foundation)**:微软.NET框架的...

    webServices 用法 。net

    本篇文章将深入探讨.NET环境下Web Services的使用方法,特别是对于初学者如何入门XML在Web Services中的应用。 首先,理解Web Services的基本概念至关重要。Web Services是通过HTTP协议传输数据的服务,它使用标准...

    Web Services平台架构

    Web Services平台架构是构建分布式应用程序的一种重要方法,它允许不同系统和平台之间的应用程序通过网络进行交互。在Java平台上开发Web Services,我们可以利用一系列的技术和标准,以实现跨平台的互操作性。 首先...

    WebServices开发文档[收集].pdf

    - 客户端应用程序可以通过多种方式消费Web Service,例如使用JAX-WS(Java API for XML Web Services)或Apache CXF等库生成客户端代理类,这些类使得调用Web Service就像调用本地方法一样简单。 6. **安全性**: ...

    XML WEB SERVICE 开发案例

    1. WSDL(Web Services Description Language):XML Web Service的核心是WSDL文件,它定义了服务的位置、使用的消息协议以及服务提供的操作。WSDL是XML格式的,用于描述服务的接口和绑定。 2. SOAP(Simple Object...

    XML Web Service开发

    XML Web Service开发是构建分布式应用程序的一种重要方式,它利用XML(可扩展标记语言)作为数据交换格式,使得不同系统间能够进行数据交换和交互。在微软院校IT课程中,这一主题通常涵盖以下几个方面: 1. **XML...

    SOAP:XML跨平台Web Service开发技术

    总结来说,SOAP作为XML跨平台Web Service开发技术,通过XML消息格式和HTTP传输协议,使得不同系统间的交互变得标准化和简单化。理解和掌握SOAP,对于开发和使用Web服务至关重要,它能够推动企业级应用的集成和互操作...

    XML WEB Service开发

    XML Web服务是基于开放标准,如SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)和UDDI(Universal Description, Discovery, and Integration)构建的,这些标准使得服务能够被...

    Web Service编程:用C#开发网络服务

    Web Service编程是现代软件开发中的一个重要领域,尤其是在分布式系统和跨平台通信中。C#作为.NET框架的主要编程语言,提供了强大的工具和库来创建和消费Web Service。本篇将深入探讨C#环境下开发Web Service的相关...

    webServices 天气预报

    WebServices是一种基于...总之,"WebServices 天气预报"项目是一个实用的学习工具,它结合了WebServices与WinForm应用开发,可以帮助初学者深入理解这两种技术的结合使用,为今后的跨平台、分布式系统开发奠定基础。

    webServices

    通过使用开放标准(如XML、WSDL、SOAP)进行数据交换,Web Services允许应用程序之间进行通信,打破了平台和语言的障碍,使得分布式计算更加灵活。博主可能在文章中分享了关于如何创建、调用Web Services以及它们在...

    中间件与Web Services.txt

    2. **WSDL (Web Services Description Language)**:Web服务描述语言,是一种用于描述Web服务的XML文档。WSDL文档定义了如何访问Web服务以及如何调用Web服务中的操作。 #### 六、Web Services优势 - **互操作性**...

    JAX-WS_Java API for XML Web Services

    **JAX-WS: Java API for XML Web Services** JAX-WS(Java API for XML Web Services)是Java平台上用于创建Web服务和Web服务客户端的核心API。这个标准由Java社区进程(JCP)制定,旨在简化面向服务架构(SOA)的...

    Web Services资料大全

    CXF提供了更高级别的抽象,使得开发者可以使用Java注解或JAX-WS(Java API for XML Web Services)来定义服务接口。此外,CXF还包含了丰富的客户端和服务器端工具,以及对WS-*规范的良好支持。 4. SOAP(简单对象...

    xml web service 复习题

    总结:XML Web Service是互联网上实现跨平台数据交换的关键技术,涉及到了分布式计算、安全认证、服务描述、协议规范和版本控制等多个方面。理解和掌握这些知识点对于开发和维护XML Web Service至关重要。

    基于Web services的分布式企业信息整合模型

    ### 基于Web services的分布式企业信息整合模型 #### 概述 随着网络技术的飞速发展,企业之间的协作模式也在不断发生变化。对于电力系统等大型组织而言,如何有效地整合来自不同来源的信息资源,成为了亟待解决的...

Global site tag (gtag.js) - Google Analytics