Web Services介绍及基本概念

 

第一章:

总的来说,Web Services有以下几个方面的优势:1、Web Services使企业内部和企业之间的人、信息和流程之间的整合更加容易,从而缩短业务流程周期,提高企业反应速度;2、Web Services简化了客户的自主服务体系;3、Web Services有助于提高企业效率。Web Services可以有以下定义:1、自包含的、模块化的应用程序,它可以在网络中被描述发布查找以及调用。2、基于网络的、分布式的模块化组件,它可以执行特定的任务,遵守具体的技术规范,因而能与其他兼容的组件进行互操作。3、有企业发布的能完成其特别业务需求的在线应用服务,其他企业和应用软件能够通过Internet访问来使用这些服务。

Web Services实际上是一种部署在Web上的对象或者组件

它们具备一下特征:有良好的封装性、松散耦合、使用标准协议规范、高度可集成能力。

在传统的分布式系统平台中,提供了一些方法来描述界面、方法和参数(COM、CORBA、IDL)。

从总体上说来,Web Services平台主要采用的四个技术是:1、XML—XML(可扩展的标记语言)是Web Services平台中表示数据的基本格式,他解决了数据表示的问题,但他没有定义怎样扩展这套数据类型,Web Services平台就是用XML Schema作为数据类型系统的2、SOAP—SOAP(简单对象访问协议)提供了标准的RPC方法来调用Web Services,XML是SOAP的数据编码方式3、WSDL—WSDL是一种基于XML的用于描述Web Services及其操作、参数和返回值的语言。4、UDDI—UDDI是通用描述、发现和集成(Universal Description,Discovery and Integration)的缩写,它是由Ariba、IBM、微软等公司倡导的,其目的是在网上自动查找Web Services。

Web Services技术的应用将经历早期应用、系统地部署、新业务模式等几个阶段:1、2002年中期以前为第一阶段。这个阶段内更加强调内部集成项目,其驱动因素是成本效益和挖掘已有投资效益的能力。2、从2002年中到2004年初为第二阶段。在这个阶段企业将系统地、策略性地开发和采用Web Services,以理顺已有的业务流程。3、进入第三阶段后,将会出现以Web Services驱动的新的业务模式,并实现真正的、动态的业务关系。

Web Services的主要目标是实现跨平台的互操作性,为了达到这一目标,Web Services完全基于XML、XSD等独立于平台、独立于软件供应商的标准,它是创建可互操作性的分布式应用程序的新平台。在下面几种场合使用Web Services将会带来极大的好处:1、跨防火墙的通信2、应用程序集成3、B2B的集成4、软件和数据重用

Web Services在需要通过Web进行互操作或远程调用的情况下最适合用。不过在下面情况中,Web Services根本不能带来任何好处:1、单机应用程序2、局域网的同构应用程序。

Web Services体系结构基于三种角色(即服务提供角色、服务注册中心和服务请求者)之间的交互。

Web Services的体系结构—面向服务的体系结构(SOA)中共有三种角色:1、服务提供者:发布自己的服务,并且对服务器请求进行响应。2、服务注册中心:注册已发布的Web Services,对其进行分类,并提供搜索服务。3、服务请求者:利用服务注册中心查找所需要的服务,然后使用该服务。

Web Services协议栈中要以一种互操作性的方式执行发布、查找和绑定这三个操作,必须有一个包含每一层标准的Web Services协议栈。 Web Services协议栈的基础是网络层。

Web Services开发生命周期有以下四个阶段:1、构建2、部署、3运行4、管理。

创建Web Services的过程与创建其他任何类型的应用程序的过程别无二致,事实上它是“实际与实现—>部署与发布—>发现与调用”的一个周期。

Web Services的开发工具和平台: Microsoft .NET

第二章:

XML的特点:xml可以从html中分离数据;xml可用于交换数据,使得我们可以在不兼容的系统之间交换数据;xml可应用于B2B中;利用xml纯文本文件可以共享数据;xml可以充分利用数据;xml可以用于创建新的语言

Xml需要与多种相关的技术相互作用,这些技术包括HTML,CSS(Cascading Style Sheet,级联样式单),XSLl(eXtensible Style Languages,可扩展的样式语言),URL和URI,XLL(eXtensible Linking Language,可扩展的链接语言)以及Unicode字符集

良构的不一定是有效的,有效的一定是良构的

CDATA显示包含特殊字符。 格式<![CDATA[…]]>

第三 ,四章

标记的定义可在文档类型定义(Document Type Definition,DTD)

DTD是一套关于标记的语法规则,它描述一个标记语言的语法和词汇表

 DTD的缺陷:

  1.DTD是基于正则表达式的,描述能力有限。

  2.DTD没有数据类型的支持,在大多数应用环境下能力不足

  3.DTD的约束定义能力不足,无法对XML示例文档做出更细致的语义限制

  4.DTD文档的结构化程度不高,重用的代价相对较高

  5.DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行DTD维护

 XML Sehema的优点是

 1.XML Sehema基于XML,没有专门的语法

 2.XML Sehema文档可以像其他XML文件一样解析和处理

 3.XML Sehema支持一系列的数据类型

 4.XML Sehema提供可扩充的数据模型

 5.XML Sehema支持命名空间。

 6.XML Sehema支持属性组

XML Sehema和DTD的关系

 XML Sehema是XML文档,而DTD有自己的特殊语法

 XML Sehema利用命名空间将文档中特殊的节点与Scheme说明相联系

 XML Sehema内容模型是开放的,可以随意扩充,而DTD则无法解析扩充的内容

 DTD只能把内容类型定义为一个字符串,而XML Sehema允许把内容类型定义为整型、浮点型、数据型、布尔型或者许多其他的简单数据类型,而无须重定义

人们就开始致力于建立有关数据格式和数据交换方面的标准,以实现“松散耦合的、跨平台的、与语言无关的”目标。

SOAP是一种基于XML的消息规范。

SOAP是一个基于XML的、在分散或分布的环境中交换信息的简单协议,它主要包括四部分

 1.SOAP Envelope 定义一个描述信息中的内容、发送者、接受者、处理者以及如何处理的框架

 2.SOAP 编码规则 用于表示使用数据类型的实例。

 3.SOAP RPC 表示远程过程调用和应答的协定。

 4.SOAP 绑定 使用低层协议交换信息

SOAP消息一般由一个Envelope元素附带一个可选的Header元素和一个必需的Body元素组成

 SOAP 的编码规则如下:

 1.所有的值应当表现为元素的内容

 2.对每个包含一个值的元素。

 3.一个简单应该表示为字符数据,没有任何子元素。

 4.一个复合值应当被编码为一个元素序列

 5.一个多引用的简单或复合值应当被编码为一个独立元素

 6.字串和字节数组表示为多引用简单类型

 7.可以给一个值编码多引用,

 8.数组是复合值

 9.null值和默认值可以在存取标识元素中省略。

第五、六章

WSDL是Web Services描述语言(Web Services Description Language)的缩写,它是一个描述Web Services功能的协议,是由微软和IBM联合开发的。WSDL描述了Web Services所采用的协议和格式,它和UDDL的结合有望促进全球Web Services的广泛应用。

WSDL文档将Web Services定义为服务访问点或端口的集合。Web Services的WSDL文档把服务访问点和消息的抽象定义与具体的服务部署和数据格式的绑定分离开来,因此可以对抽象定义进行重用。

在一个WSDL文档中,定义Web Services一般使用下列元素:

Types(类型)数据类型定义容器,提供了用于描述交换消息的数据类型定义,它使用某种类型系统(一般使用XML Schema中的类型,即XSD)

Message(消息)消息数据结构的抽象类型化定义,消息包括多个逻辑部分,每一部分与某种类型系统中的一个定义相关。消息使用Types所定义的类型来定义整个消息的数据结构。

Operation(操作)对服务中所支持的操作的抽象描述。一般来说,单个Operation描述了一个访问入口的请求/响应消息对。

PortType(端口类型)某个访问入口点类型所支持的操作的抽象集合,这些操作可以有一个或多个访问点来支持,每个操作指向一个输入消息和多个输出消息。

Binding(绑定)特定端口类型的具体协议和数据格式规范的绑定,它是由端口类型定义的操作和消息指定具体的协议和数据格式规范的结合。

Port(端口)协议/数据格式绑定与具体Web访问地址组合的单个服务访问点,它指出了用于绑定的地址,因此定义了单个通行终端。

Service(服务)相关服务访问点的集合,它集成了一组相关的端口。

WSDL格式

<?XML version="1.0">

<definitions>....</definitions>(definitions是根元素)

WSDL的文档结构

types:types(类型)封装了与交换消息相关的数据类型的定义。格式:<definitions><types><xsd:Schema.../></types></definitions>

message:一个message(消息)元素可以包含一个或多个逻辑part元素。message类型属性是可扩展的。格式:<definitions><message><part name="nmtoken" element="qname" type="qname"/></message></definitions>(element指向一个XSD元素,type指向一个XSD简单类型或复杂类型)

portType:一个portType(端口类型)是由一组命名的抽象操作和涉及到的抽象消息组成的。格式:<wsdl:definitions...><wsdl:portType name="nmtoken"><wsdl:operation name="nmtoken".../></wsdl:portType></wsdl:definitions>

端口类型中的name属性提供了一个名字,该名字在WSDL文档的所有端口类型名中是唯一的。

binding:一个binding(绑定)是由端口类型定义的操作和消息指定具体的协议和数据格式规范的结合。格式:<wsdl:definitions...><wsdl:binding name="nmtoken" type="qname">...</wsdl:binding></wsdl:definitions>

port:通过为每一绑定指定单一地址后,端口就定义了一个终端。格式:<wsdl:definitions...><wsdl:service...><wsdl:binding name="nmtoken" binding="qname">...</wsdl:binding></wsdl:service></wsdl:definitions>

service:相关端口的集合构成服务(service),格式:<wsdl:definitions...><wsdl:service name="nmtoken"><wsdl:port.../></wsdl:service></wsdl:definitions>

WSDL中定义了四个支持的操作(operation)原语:单向(One-way):在终端接收消息,请求-响应(Request-response):终端接收消息,然后发出一个相关的消息,恳求-响应(Solicit-response):终端发送消息,然后接收相关消息,通知(Notification):终端发送消息。

单向(One-way)格式:<wsdl:definitions...><wsdl:portType...><wsdl:operation name="nmtoken"><wsdl:input name="nmtoken"? message="qname"/></wsdl:operation></wsdl:portType></wsdl:definitions>

 

请求-响应(Request-response)格式:<wsdl:definitions...><wsdl:portType...><wsdl:operation name="nmtoken" parameterOrder="nmtokens"><wsdl:input name="nmtoken"? message="qname"/><wsdl:output name="nmtoken"? message="qname"/><wsdl:fault name="nmtoken" message="qname"/></wsdl:operation></wsdl:portType></wsdl:definitions>

 

恳求-响应(Solicit-response)格式:<wsdl:definitions...><wsdl:portType...><wsdl:operation name="nmtoken" parameterOrder="nmtokens"><wsdl:output name="nmtoken"? message="qname"/><wsdl:input name="nmtoken"? message="qname"/><wsdl:fault name="nmtoken" message="qname"/></wsdl:operation></wsdl:portType></wsdl:definitions>

 

通知(Notification)格式:<wsdl:definitions...><wsdl:portType...><wsdl:operation name="nmtoken"><wsdl:output name="nmtoken"? message="qname"/></wsdl:operation></wsdl:portType></wsdl:definitions>

 

统一描述、发现和集成协议(Universal Description,Discovery and Integration,UDDI)是一套基于Web的分布式的Web Services信息注册中心的实现标准规范,同时也包含一组访问歇息的实现标准,是的企业能将自身的Web Services注册上去,并让别的企业能够发现并访问这些Web Services。

 

UDDI注册中心里的数据可以分为以下四类:

商业实体(businessEntity)发布服务信息的商业实体的详细信息,包括企业名称、关键性的标识、可选的分类信息和联络方法等。

服务信息(businessService)一组特定的技术服务的描述信息。

绑定模板(bindingTemplate)关于Web Services的入口点和相关技术规范的描述信息。

技术模型(tModel)Web Services或分类法的规范描述信息,也就是关于调用规范的元数据。

如何新建ASP.NET中的Web页面访问Web服务?

1.使用ASP.NET新建一个Web Services服务

2.配置虚拟路径,发布到UDDI上

3.到UDDI服务器中搜索功能以及路径

4.新建一个ASP.NET项目,添加Web服务

5.对Web服务中的类进行实例化对象,接着使用相关服务。

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值