实现带有用户身份验证的文件传输Web Service(1) (转)
2024-07-21 02:21:30
供稿:网友
作者: 曹勇刚 www.aspcool.com 时间:2001-11-28 22:49:30 阅读次数:754
一、 理解web service
首先让我们简单理解一下web service。
web services 实际上是基于xml的针对商业、应用程序的系统服务。实际上是建立在一系列已有的技术基础上的一个新的概念。使用它如同使用rpc(远程过程调用),不过它提供的接口是基于对象的。它与原有的组件模型,如com/dcom,corba,rmi等,最大的特点就是标准化(基于xml的一系列标准)带来的跨平台的通用性,基于http带来的畅通无阻的能力(跨越防火墙),对于dot net来说,配合visual studio.net其中的web service还具有易用性的特点。用户即便不懂那些相关标准,只要会面向对象变成,对web service有个初步的了解就可以动手写web service了。
如何建立一个web service呢?下面的技术步骤获得了工业界普遍认同。
1.服务提供者建立、组织和发布网络服务。它的手段是多样的,可以使用编程语言(例如delphi,java,c#等)、中间件或其它特殊平台来完成。
2.服务提供者用wsdl (the web services description language )来提供服务描述。. wsdl文档向第三方提供服务描述。
3.服务提供者向uddi (universal description, discovery, and integration ) 注册表注册网络服务。uddi使得开发者发布服务并且可以通过软件搜索其它人提供的服务。 用户将通过搜索uddi 注册表来搜索服务。
4. 客户端应用程序通过和网络服务绑定并且通过soap (the simple object access protocol )来激活网络服务相应的操作。soap 提供xml格式的参数和返回结果,并利用http传送。所有网络服务都通过soap通讯。
上面的第一步是核心,它决定了你的web service的用途和接口。第二步在visual studio.net中被自动完成,大家当然也可以用wsdl.exe手动生成。第四步在客户端编程时visual studio提供了最大的便利。用户只要使用” add web service reference”或者“添加web服务引用”(中文版),敲入网址,visual studio.net就会自动生成调用web service的类,底层的soap对用户完全透明。
但是,当用户需要考虑安全性时就不得不考虑一下soap了。记住,安全性是将来必须考虑的,在将来软件开发变为配置集成,软件产品变为服务,购买软件变为租用软件,大部分服务都基于网络时,你可能得考虑谁可以用你的服务,谁不可以用你的服务了,当然,我也比较赞同开放源代码和公开交流技术,我把自己辛苦钻研出来的东西写出来也表明了我的态度。但是,毕竟,我们还是要靠写软件吃饭的:)
在web service中,用户名,密码可以通过soap头(soap header)进行传送。在web service的编写中,需要对soap头进行处理,不过这也不太难,大家认识到这一点然后看我下面的例子就可以学会如何利用它了。