《毕业设计(论文)基于WEB的在线房屋交易平台设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于WEB的在线房屋交易平台设计与实现.doc(59页珍藏版)》请在三一办公上搜索。
1、学院届毕业设计(论文)论文名称 院 (系): 学生姓名: 指导教师: 专 业: 班 级: 完成时间: 年 月摘 要Web服务是一种优秀的分布式的组件技术,以XML/SOAP/WSDL/UDDI为主干,为互联网应用提供了一种创建松散耦合、语言中立、平台无关性的应用程序的有效手段。各大软件厂商都相继推出Web服务的开发平台或框架,互联网上Web服务的各种应用更是层出不穷。Web服务使用XML作为数据标记格式,使用XML Schema来描述XML文档的格式,使用SOAP描述Web服务的通信规则和格式,使用WSDL描述Web服务和客户机之间消息处理机制和Web服务的接口,使用UDDI来发现互联网上更多
2、的Web服务。在线房屋交易已经具有一定的市场规模,在线房屋交易具有长时间在线、动态交互、多种形式展示、受众面广、信息更新及时等优越性,有力地冲击了传统店面交易。将Web服务应用于在线房屋交易中,可以提高房屋信息的准确性、可重用性,同时可以简化交易平台的开发流程,增加在线房屋交易平台的灵活性和专业性。为了实现一个在线房屋交易平台,首先分析房屋及物业信息的通用格式,构造出用来描述房屋和物业信息的 XML的XML Schema。然后利用Web服务提供一系列服务接口,包括查询、提交、修改、删除等操作,使得包含有房屋及物业信息的XML可以通过SOAP在互联网上供各种应用程序使用。通过对在线房屋交易平台进
3、行需求分析,对在线房屋交易平台进行Web建模,应用Web服务提供的服务接口,利用IIS作为Web服务器,使用ASP.NET技术和HTML/CSS/JavaScript语言,实现一个在线房屋交易平台。关键字: Web服务,可扩展标记语言,Web服务描述语言,统一描述发现与集成,在线房屋交易平台AbstractWeb Services, whose main technology includes XML/SOAP/WSDL/UDDI, is considered as a kind of distributed component technology. It provides effectiv
4、e means for implementing Internet applications which are loosely coupled, language neutral, and platform independent. Major software companies supply various kinks of platforms and frameworks to develop Web Services, and also there are a lot of applications about Web Services on the Internet.The dat
5、a format of Web Services is XML. The description of XML document format is XML Schema. SOAP describes the rules and format of communication. WSDL describes the interfaces and the methods of processing messages between Web Services and the client, and computers can discovery more Web Services on the
6、Internet by using UDDI.The market scale of housing online trading has developed to some extent. Housing online trading has occupied the advantages such as long time online, dynamic interaction, diversiform exhibition, broad impact and timely information update, which has a powerful impact on traditi
7、onal store trading. Web Services will be used in online housing trading and it can improve the accuracy and reusability of the information, simplify the development process of the trading platform, and increase the flexibility and professionalism of Housing Online Trading Platform. In order to imple
8、ment Housing Online Trading Platform, first, analyze common format of housing and estate information, construct XML Schema which describes XML of housing and the property information. With a series of interfaces provided by Web Services which includes enquiry, submission, modification, deletion and
9、other operations, XML of housing and the property information can be used by any application on the Internet through SOAP. With the requirement analysis and web modeling of Housing Online Trading Platform, making use of IIS as Web server, ASP.NET as development technology, and HTML/CSS/JavaScript as
10、 development language, Housing Online Trading Platform is implemented.Key words: Web Services,XML,WSDL,UDDI,House Online Trading Platform1 绪论1.1.1 课题背景和意义近年来,全国各地如雨后春笋般地出现了很多二手房中介商,他们主要为买卖租赁二手房的人们服务,通过提取一定酬金来进行盈利。由于房产交易属于大宗买卖,所以这些中介商获利颇丰,从而吸引越来越多的人进入这个行业。房产中介从一开始就采取了店铺式的门面形式,采用纸和笔的数据保存方法。这种方法的弊端显而易见
11、:首先是信息的非标准性,不同的业务员记录的格式都不一样,容易产生错误和纰漏,引起损失和纠纷;然后就是信息的易失性,对于纸质的纪录,非常容易发生不可还原的损坏,造成企业的损失;再者就是信息的不可复制性,对于大量的业务数据,如果制作备份或副本将会是一件浩大而繁琐的工程,处理不当就会影响企业的稳步发展。借助计算机和Internet,房产中介公司找到了暂时解决的办法。他们利用运行在桌面的计算机来作为公司日常业务所产生文档的保存地方和处理中心;利用建立自己公司的网站来进行宣传和业务处理。但是,简单的一个桌面管理系统或是一个信息发布网站已经无法满足房产交易的需求,因为房产交易市场的日益透明化、规范化,整个
12、行业进入了激烈的竞争。随着房产中介的业务越来越大,信息越来越多,各种复杂的应用程序和历史遗留数据给房产中介带来了很高的维护费用和更新代价。如图 4.1所示。公司数据保存在桌面应用程序公司数据保存在纸质文件公司数据保存在Web页面公司数据保存为其他的形式中介公司数据图 4.1中介公司数据访问示意图比起实时变化的房产信息,一些物业小区的信息相对固定且具有持久性,对于同一区域的不同房产中介公司来说,重复录入物业小区的资料浪费了很多人力、物力和财力,而且不同的房产交易平台在信息的准确性和实时性上也参差不齐,有时甚至会误导客户。房产中介公司和购房者对统一规范的物业信息的需求愈来愈大,通过Web服务解决这
13、个问题也就自然而然成了本文的研究目标。Web服务就是通过Web提供的服务。按照W3C的定义,Web服务是一种通过统一资源指示符(URI)标识的软件应用,其接口及绑定形式可通过XML标准定义、描述和检索,Web服务能够通过XML消息及Internet协议(如HTTP)完成与其他软件应用的直接交互。Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关、与语言无关的技术层,各种不同平台之上的应用依靠这个技术层实施彼此的连接和集成。简单来说,Web服务就是一个向外界暴露出的能够通过Internet进行调用的API或者应用程序。对于外部的Web服务使用者而言,Web服务实际上是一
14、种部署在Web上的对象或者组件,它具有以下特征:良好的封装性、松散耦合、使用标准协议规范、高度可集成能力1。Web服务这些特征决定了它是适合解决目前获取统一规范的物业信息的最佳途径。不论房产中介自身的应用平台是桌面应用程序还是网站,都可以使用标准的方法从Web服务获取最新最准确的物业信息,并应用到自己的系统中。1.2 国内外研究状况自从2000年6月,Web服务被Ariba、IBM和Microsoft 正式提出以来,它一直是学术界、工业界讨论的焦点和研究的重点。特别是随着面向服务的体系结构(SOA)技术和Grid技术的发展和应用的普及,作为其基础的Web服务也得到普遍重视。其重要标志是目前国际
15、上已经形成了每年召开的IEEE International Conference on Web Services(ICWS)和IEEE International Conference on Services Computing(SCC)两个主要国际会议,以及各种有关的Web与Grid应用、分布式计算等会议上,都有涉及Web服务的专题。同时,国际上也已经发行了International Journal of Web services Research(IJWSR)、International Journal on Web Services Practices (IJWSP)、SOA WEB S
16、ERVICES JOURNAL等针对Web服务的期刊。国外许多大的国际组织和企业、公司,如IBM、Microsoft、VeriSign、W3C、RSA、EBA、IETF、OASIS、SUN、HP等,都在致力于研究和开发有关Web服务的各种标准、协议和应用产品,这些都极大地推动了Web服务技术的应用和发展2。Web服务作为一种分布式计算模型,是Web上数据和信息集成的有效机制。在电子商务应用领域,复杂的应用连接和历史遗留的程序代码造成了电子商务应用过高的维护代价和更新代价,而Web服务正好能够解决这一问题,成为目前应用环境中最为合理的解决方案。随着Web应用从集中式向分布式的迅速发展,以提高电子
17、商务系统的健壮性、高性能计算能力为出发点,为了解决现实Web用中“应用到应用”及“点对点”的核心问题,使当前Web应用适应全球化和复杂商务处理的需求,研究并应用Web服务技术具有重要的意义。Web务的基本构架包括Web服务提供者、服务请求者和服务代理以及它们之间的通信、XML格式的消息传递机制等。正是基于该架构,对Web服务核心支撑技术的研究和应用才得以迅速开展3,4。同时,学术界对Web服务有不同侧面的研究工作和相应的技术成果。例如,语义Web在Web服务中的应用5-7;针对Web服务应用中的安全及隐私问题2,8;Web服务的服务质量9,10;Web服务的组合11,12。以及以上几种方面的交
18、叉研究,如基于本体的安全隐私研究13,14;Web服务组合的服务质量研究15;基于语义Web服务自动组合的研究16等。在应用领域,有P2P环境中的Web服务应用17;网格环境中Web服务的研究18;Web基础结构的开发和部署19;分布式并行数据库中Web服务的应用20等。在实际开发领域,在商业21,22,23、医药24、环境25、政务26等领域都有Web服务应用的身影。此外,还有一些关于Web服务管理系统27和Web服务模型驱动开发28等方面的研究。随着软件厂商不断完善Web服务相关技术规范,并推出新的产品,越来越多的企业正受益于Web服务。同时,各大技术提供商陆续推出Web服务的构建工具,包
19、括Microsoft公司的Visual Studio.NET、IBM公司的Web Service Toolkit、SUN公司的SUN ONE等。基于Web服务的公共技术标准SOAP、WSDL、UDDI、WSFL等或是已经成为事实行业标准,或是正处于制定的过程中。各大技术提供商和传统商业企业都投入到标准的制定和应用中去,而作为Web服务体系架构的领导者的IBM公司和Microsoft公司也开始在全球推广Web服务技术,Web服务将成为将来动态商务Web的主流技术29。根据经济观察网的报道2008年地产中介行业分化将加剧:“2002年北京每成交4.59套商品住宅,才成交1套二手房;2003年每成交
20、4.21套商品住宅,成交1套二手房;2004年每成交3.40套商品住宅,成交1套二手房;2005年每成交3.06套商品住宅,成交1套二手房;2006年每成交2.39套商品住宅,成交1套二手房;2007二手房和商品房的成交数量距离更是缩小,2007年每成交1.6套商品住宅,就成交1套二手房。”如图 4.2所示。从图 4.2的数据我们可以看到,二手房越来越成为北京人购房的一个主要选择。这也从一个侧面反映了国内住房需求的变化。与之相呼应的是全国各地如雨后春笋般地出现了很多二手房中介商,他们主要为买卖租赁二手房的人们服务,通过提取一定酬金来进行盈利。由于房产交易属于大宗买卖,所以这些中介商获利颇丰,从
21、而吸引越来越多的人进入这个行业。图 4.2北京2002-2007商品房与二手房成交数量比值趋势图为了消除这些弊端,很多房产中介开始利用计算机管理信息,他们借助运行在个人电脑上的桌面应用程序来进行业务信息的保存和更新,并可以定期备份。这样,既克服了传统纸笔的弊端,也大大提高了业务的效率,帮助企业获取更大的利润。随着一些房产中介的发展,他们的业务从原来的一家店面发展到几家甚至几十家,此时孤立的信息管理系统便不能适应发展的要求。这时计算机再一次发挥了强大的作用,借助互联网,实现信息的随时同步,让多家店面仿佛在同一个办公室工作一样,任何信息一经发布就立刻到达每一个业务员的眼前,便捷高效且步调一致,大大
22、推动了房产中介的发展。目前利用网络进行信息交换的桌面应用程序有很多,其中不乏应用范围很广的房屋中介平台,如房友、房博士等。后来互联网蓬勃发展,各种形式内容的网站吸引了越来越多的目光,由于高度集中了公众的注意力,所以潜在的商机就被发掘出来,电子商务应运而生。互联网具有天然的优势,它具有长时间在线、动态交互、多种形式展示、受众面广泛等特点,逐渐成为众多房产中介公司青睐的宣传方法和交易手段。这种类型的房屋交易平台在互联网上很多见,比如各大媒体的房产频道、房产中介自己运行的房屋交易平台等。其中做的出色的有广州的满堂红网站,他们凭借网站这种形式,把自己的公司规模扩大到很多城市中,并取得不错的业绩。此外,
23、还有人研究基于手机短信的房屋交易平台30,这也是很好的思路,但是由于表现形式和资费的限制,业务有可能会受到wap网站的冲击。1.3 论文的主要内容和结构本文首先叙述了相关技术背景、课题的研究意义及课题的国内外研究现状;接着对Web服务技术进行了研究,分析了Web服务的体系结构,系统地研究了Web服务的关键技术:包括XML、SOAP、WSDL、UDDI以及Web服务的安全,并讨论了基于Web服务实现本系统的优势所在;然后介绍了论文的主要研究内容和全文的内容结构。在系统的分析与设计阶段,首先对房产交易平台进行总体目标和具体功能进行分析,根据功能和意义划分模块,提出了基于Web服务和数据、行为、表现
24、三层模型的系统架构;在系统的开发与实现阶段,根据实际需求,创建房产、用户等相关数据库以及提供物业信息的Web服务,按照Web服务安全性能要求,实现Web服务消费以及按照符合W3C所制订的各项标准建立在线房产交易平台。最后,对本文的研究内容和技术创新进行了总结,并提出了下一步工作的展望。论文的结构如下。第一章:绪论,主要叙述了课题背景和意义,以及国内外研究状况。第二章:Web服务及项目开发环境介绍,给出了Web服务体系架构、协议栈、规范、安全以及开发生命周期,对比了Web服务开发的工具和平台。为第三章的研究做好了理论和工具的准备。第三章:在线房屋交易平台的设计,通过研究目前的解决方案的缺陷以及采
25、用Web服务解决的优势,对在线房屋交易平台进行需求分析和Web建模以及平台的总体设计。第四章:在线房屋交易平台的实现,主要包括Web服务和在线房屋交易平台的实现、项目的测试、项目运行结果,并对其做出了总结。第五章:总结与展望,对全文的工作进行总结以及对未来工作的展望。最后为致谢和参考文献。2 Web服务及项目开发环境介绍Web服务技术是为解决在Internet环境下,松散耦合的Web服务之间相互调用、相互集成而设计的技术框架。以XML/SOAP/WSDL/UDDI为主干的Web服务技术赋予了Web服务一个与传统对象调用技术相似但又有本质区别的体系结构1,30。本章主要介绍Web服务的体系架构、
26、规范和安全,讨论了Web服务的主流开发工具和平台以及Web服务的开发生命周期。2.1 Web服务体系架构Web服务体系结构基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。交互具体涉及到发布、查找和绑定操作。这些角色和操作仪器作用于Web服务构件:Web服务软件模块及其描述。在典型情况下,服务提供者提供可通过网络访问的软件模块(Web服务的一个实现)。服务提供者定义Web服务的服务描述,并把它发布到服务请求者和服务注册中心。服务请求者使用查找操作从本地或服务注册中心搜索的服务描述,然后使用服务描述与服务提供者进行绑定,并调用相应的Web服务实现或进行交互。服务提供者和服务请求者角
27、色是逻辑结构32。图 4.3展示了这些操作、提供这些操作的组件以及它们之间的交互。服务注册中心服务提供者服务使用者查找UDDI,WSDL发布UDDI,WSDL绑定SOAP WSDL图 4.3展示Web服务体系架构模型示意图2.1.1 Web服务角色Web服务体系结构中的角色包括如下。服务提供者(Service Provider):从企业的角度看,这是服务的所有者。从体系结构的角度看,这是托管访问服务的平台。服务请求者(Service Requestor):从企业的角度看,这是满足特定功能的企业。从体系结构的角度看,这是寻找并调用服务,或启动与服务交互的应用程序。服务请求者角色可以有浏览器来担当
28、,由人或无用户界面的程序(例如,另一个Web服务)来控制它。服务注册中心(Services Registry):这是可搜索的服务描述注册中心,服务提供者在此发布它们的服务描述。在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息(在服务描述中)。对于静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。同样,服务请求者可以从服务注册中心以外的其他来源得到服务描述,例如,本地文件、FTP站点、Web站点等。2.1.2 Web服务行为对于利用Web Services的应用程序,必须发生以下三个行为:发布服务描述、查询或查找服务描
29、述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现1。Web服务体系架构中包含的这些具体操作如下。发布(Publish):为了使服务可访问,需要发布服务描述以使服务请求者可以查找它。发布服务描述的位置可以根据应用程序的要求而变化。查找(Find):在查找操作中,服务请求者直接检索服务描述或在服务中册中心中查询所要求的服务类型。对于服务请求者,可能会在两个不同的生命周期阶段中牵涉到查找操作:在设计时,为了程序开发而检索服务的接口描述;而在运行时,为了调用而检索服务的绑定和位置描述。绑定(Bind):最后需要调用服务。在绑定操作中,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务
30、,从而在运行时调用或启动与服务的交互。2.1.3 Web服务示例为了更加清楚地展示Web服务的体系架构,现在给出一个虚构的例子来说明。如图 4.4所示。Web Service ClientUDDIWeb ServiceQuery a Web serviceGet the Web service URLRequest the service descriptionGet the service descriptionRequest the Web serviceGet the service response图 4.4一个Web服务示例首先Web服务客户端(Web service client)
31、向UDDI中心发出一个定位Web服务的请求,UDDI中心返回一个链接到Web服务的URL。Web服务客户端向上一步返回的提供Web服务的服务器请求描述Web服务的WSDL,服务器返回WSDL。最终,Web服务客户端按照需求发出Web服务请求,并得到服务器返回的Web服务的响应。这就是一个典型的Web服务示例。2.1.4 Web服务协议栈Web服务协议栈的基础是网络传输层。Web服务要被服务请求者调用,就必须是可以通过网络可以访问的。HTTP,FTP,SMTP等Internet环境下的协议均可用于Web服务的传输协议。对于Intranet,Web服务还可以使用中间件作为传输交互的基础架构,如IB
32、M的CORBA。数据表现层的XML为整个Web服务上层协议提供了数据/信息描述手段,XML是目前全球范围内用于描述数据和交换数据的一种标准方式。对于Web服务而言,无论是Web服务的调用(SOAP)、Web服务界面的描述(WSDL),还是Web服务的发现(UDDI)都是使用XML作为信息描述和交换的标准手段。数据模型层是描述数据结构的数据模型(也称为元数据)。它同样也是一种数据,因此,描述数据结构的方式也是使用基础的数据表现方式:XML。XML Schema已经成为XML世界中的标准数据建模语言,SOAP,WSDL,UDDI的XML语法都是采用XML Schema进行定义和描述的。XML Sc
33、hema已经成为XML世界中的标准交流工具,这与UML在软件设计中的地位是相类似的。Web服务协议栈如表 4.1所示。表 4.1 Web服务协议栈示意表协议服务层次相关问题WSFLService FlowSecurityManagementQuality of ServicesUDDI-staticService DiscoveryUDDI-directService PublicationWSDLService Description:-Service Implementation-Service InterfaceSOAPXML-based MessagingXML SchemaData
34、ModelingXMLData PresentationHTTP,FTP,SMTPTransport基于XML的消息层使用的是基于XML的消息协议SOAP。消息层是构筑在更低的传输层之上的,这意味着SOAP可以单独使用,也可以与任何传输协议联合使用。服务描述层为调用Web服务提供了具体的方法。WSDL是一个基于XML格式的定义服务的实现和接口的基础标准。这意味着WSDL将服务的描述分为两部分:服务接口和服务实现。在服务发布层,服务提供者能够直接向服务客户端发送WSDL文档,也可以选择将WSDL文档发布到本地WSDL注册库或是公共/私有的UDDI注册中心。服务发现层是基于服务发布层的。如果Web
35、服务没有或不能被发布,那么它就不能被发现。WSFL是协议栈顶层的服务工作流层的标准。与协议栈其他的标准不同,WSFL针对的是商务流程建模和工作流1,31。2.1.5 Web服务规范Web服务完全是基于标准的技术,只有基于标准,所有的开放厂商才有相同的准则,才能够在各自的平台上开发出具有跨平台互操作能力的软件产品和解决方案。标准是达成跨平台互操作能力的灵魂。在标准的开发方面,各大技术厂商在标准化组织和承诺下,积极开展工作。目前,介入Web服务标准开发的标准化组织有W3C、OASIS、WS-I等。这些组织的工作集中在Web服务的整体架构、Web服务的访问协议、Web服务的界面描述、UDDI、WSI
36、A、WSRP以及跨平台、操作系统和编程语言的Web服务架构的互操作。由标准化组织或技术厂商开发的Web服务技术规范包括XML、XML Schema、SOAP、WSDL、UDDI、WS-Security、WSFL、WSCL、WSXL、WSIA和WSRP等。下面着重介绍一下组成Web服务规范的几大技术规范。2.1.6 Web服务技术的基石XML是整个Web服务技术架构的基石,XML规范是一组由W3C定义的规则,用于用普通文本描述结构化的数据。其开始设计时的主要目的是用来弥补HTML作为在Internet上描述数据的标准语言的不足。无论是HTML还是XML,都是从SGML演化而来的。这三种语言的相互
37、关系可以描述为:XML是SGML的一个子集,而HTML是SGML的一个具体应用实例,同样,HTML也是XML的一个应用实例,具体的来说,HTML是由XML或SGML定义出来的。由于XML和HTML有着本质上的不同具体地说,就是XML比HTML提供了更多的对内容和结构的说明和限制的机制,使得存储、查询、管理XML文档相对而言更容易。总之,XML使用一个简单而又灵活的标准格式,为基于Web的应用提供了一个描述数据和交换数据的有效手段。HTML描述了显示全球数据的通用方法,而XML提供了直接描述处理全球数据的通用方法。其主要特点如下。自描述性:这个特性使差异性可以存在,使计算机可以在没有人为干涉的情
38、况下,理解数据的含义。可扩展性:文档通过DTD或XML Schema来定义文档结构,使其他信息系统自动了解文档的内容。可校验性:用户可以通过DTD或XML Schema来校验XML文档的格式是否满足DTD或XML Schema的约束。层次结构:能够保证信息的层次性描述。丰富的链接定义:对应于HTML单一的单项通道链接,XML提供各种不同的链接,如一对多、多对一和双向链接。多样的样式表支持:XML把数据内容与它们的表现形式分开。这样既可以只关心数据的逻辑结构,也可以通过样式表来格式化数据的表现。随着XML在Internet应用中的不断普及,XML从Web网站的内容管理、内容描述起步,逐渐发散到其
39、他基于Internet的应用中。这些所有XML相关的应用如下。内容管理发布:人们依靠XML的可定义可扩展的能力来描述整个Web世界上种类繁多、样式丰富多彩的数据内容,依靠一次描述、多次表现的XML标准应用模式,使得基于XML的内容能够以多种形式进行信息发布。这些发布方式包括Web网站内容发布、电子出版内容发布以及其他出版业内容发布等。电子商务应用:在这个领域,XML一般承担以往EDI所承担的角色,人们依靠XML来描述交换商务事务信息,实现分布式的电子商务应用的交互。由于XML是可定制的可扩展的,人们制定了很多用于特定领域的商务事务信息描述规范,诸如Ariba的cXML、Commerce One
40、的xCBL以及OASIS-Open.ORG的ebXML等。数据层集成:对于当代电子商务而言,商务数据的交换是应用的关键环节,随着在电子商务应用中(比如B2B,B2C应用,尤其B2B中)商务信息交换的应用模式不断为主流应用开发所接受,面向通用领域的数据集成数据交换应用也成为了一个重要的XML应用领域,在这方面,不少电子商务应用领域(尤其B2B应用)的解决方案在陆续进入这一更广泛化的领域。应用层集成:当XML在经历了电子商务应用的经验之后,人们逐渐地不仅在数据层上完成应用系统(尤其是商务系统)的连接,同时希望能在业务层或者函数层上完成系统的互联,这也就是人们常说的Internet环境的应用的广泛互
41、联,这方面的技术主要是以XML为技术基础的Web服务系列技术。系统配置信息描述:随着XML在各种各样应用开放中的延伸,原先系统软件、应用软件中使用文本、Profile文件或者是INI文件形式进行系统、应用配置信息管理的方式逐渐被使用XML文档的管理方式所替代。正是由于XML的特点和广泛应用场合,对于Web服务而言,无论是Web服务的调用(SOAP)、Web服务界面的描述(WSDL),还是Web服务的发现(UDDI)都是使用XML作为信息描述和交换的标准手段。2.1.7 调用Web服务Web服务的发展离不开电子商务的发展,电子商务其实远远不仅是指像A这样的网络零售业的B2C模式的电子商务,其更核
42、心的更重要的是常事潜力比零售业大几个数量级的企业级电子商务应用,即B2B。传统上,B2B电子商务是基于EDI技术的,而EDI信息标准的最大缺点是在EDI世界内部,没有一个全球通用的标准。自XML技术被引入到B2B电子商务应用中去,人们发现在B2B电子商务应用环境中XML的确是一个非常优秀而且极为合适的技术。使用XML来描述商务信息使得各种B2B应用在数据层上获得了开放集成的能力。然而从技术的角度来看,这仅仅完成了应用领域中最低层次的集成:数据层集成。但要使B2B电子商务应用真正被方便地连接在一起,我们需要在数据之外,在模块层、应用层等方面也需要达成一致。正是为了解决模块层能够以一种开放的,自说
43、明的,统一的方式进行集成和交互,IBM,Microsoft,DevelopMentor等公司协作制定了Simple Object Access Protocol(SOAP1.1)规范。SOAP是在XML基础上定义的,完全继承XML的开放性和描述可扩展性。SOAP使用现有基于TCP/IP的应用层协议HTTP,SMTP,POP3等,可以获得与现有的网络通信协议最大程度的兼容。SOAP的消息路径机制和可扩充的Header和Body机制又为分布式计算提供了很好的支持。在2001年4月,在美国San Jose召开的Web服务研讨会上正式确立了SOAP作为Web服务的核心规范的地位。被设计成跨平台、跨语言
44、、跨协议地完成对象互联的SOAP逐渐显露出了它的优越性。SOAP可以看成是分布式对象访问技术的一个新的特性,比起CORBA,COM+,EJB这些传统主流的分布式对象技术,SOAP合理地解决了异构系统,异构组件对B2B电子商务全球化的束缚,加上XML已经得到广泛的应用,各种平台都可以有效地使用XML,那么使用XML重新描述和包装各种远程组建访问协议,以使各种组建平台的远程访问协议都能通过同一个标准的消息进行传输的SOAP就成了大势所趋。如图 4.5所示。CORBACORBA组件COM+COM/DCOMJ2EEEJBIIOPORPCRMISOAP Message图 4.5展示SOAP抹平组件平台差
45、异示意图SOAP为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单且轻量级的机制。SOAP本身并不定义任何应用语义,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机制来表示应用语义。SOAP的这项能力使得它可被很多类型的系统用语从消息系统到RPC的延伸。SOAP由以下四部分组成。SOAP信封(SOAP envelope):它构造定义了一个整体的表示框架,可用于表示在消息(message)中的是什么,谁应当处理它,以及这是可选的还是强制的。SOAP消息的封装模型如图 4.6所示。SOAP EnvelopeSOAP Hea
46、derSOAP条目SOAP条目SOAP BodySOAP条目SOAP条目图 4.6关于SOAP消息的封装模型示意图SOAP编码规则(SOAP encoding rules):它定义了一个数据的编序机制,通过这样一个编序机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的数据类型所衍生的实例。在SOAP中,数据的编码风格是基于一个简单类型系统的,这个简单类型系统可以看成是程序语言、数据库和半结构数据中不同类型系统的公共特性的泛化。SOAP远程过程调用表示(SOAP RPC representation):它定义了一个用于表示远端过程调用和响应的约定。可以想象,为实施一个基于S
47、OAP的远程方法(或过程)调用,应当需要以下信息:目标SOAP结点的URI(从一般意义上来看,可以认为是SOAP结点的入口地址);方法或过程调用;可选的方法或过程的特征;方法或过程的参数;可选的头数据。使用SOAP Header的RPC如图 4.7所示。SOAP绑定(SOAP binding):它定义了一个使用低层传输协议来完成在结点间交换SOAP信封的约定。对于一个SOAP结点来说,接受和发送SOAP消息最终是要通过与某个低层通信协议进行绑定来完成。SOAP底层协议绑定沿着SOAP消息路径在相邻的SOAP结点间工作着。SOAP协议绑定并不会单独提供一个处理模型,也不会通过协议绑定来重新指定SOAP结点。SOAP协议绑定是SOAP结点实现的一个组成部分,从外部看,是SOAP结点的行为特征之一。SOAP发送者应用ASOAP处理器消息标识处理器RPC请求SOAP接收者应用BSOAP处理器消息关联性处理器RPC响应底层协议底层协议服务器A服务器B图 4.7使用SOAP Header的RPC2.2 描述Web服务自最初开始使用SOAP之后,在业界曾出现过多种基于XML的接口说明语言(IDL),其中包