EOS入门必备之WebService篇.docx
- 文档编号:30739675
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:15
- 大小:68.75KB
EOS入门必备之WebService篇.docx
《EOS入门必备之WebService篇.docx》由会员分享,可在线阅读,更多相关《EOS入门必备之WebService篇.docx(15页珍藏版)》请在冰豆网上搜索。
EOS入门必备之WebService篇
PRIMETONTECHNOLOGIES,LTD.
上海普元信息技术有限责任公司
EOS入门必备
Nopartofthisdocumentmaybereproduced,storedinanyelectronicretrievalsystem,ortransmittedinanyformorbyanymeans,mechanical,photocopying,recording,otherwise,withoutthewrittenpermissionofthecopyrightowner.
COPYRIGHT2003byPrimetonTechnologies,Ltd.ALLRIGHTSRESERVED.
1WebService
1.1百家之言:
何为WebService
无论是微软.NET还是SunONE都是以WebService为核心,此外,各家公司也都纷纷把WebService作为重点。
那么WebService到底是什么?
有人说就技术角度而言,WebService都是对象/组件技术在Internet中延伸,让我们看看各家公司说法。
微软:
WebService是.NET核心
微软为WebService下定义是通过标准Web协议可编程访问Web组件。
“软件就是服务”,这已经是软件发展一个潮流了。
未来软件厂商就象现在电信公司一样,用户可以按照时间来租用软件公司服务。
“WebService”(WebServices)可以说是整个.NET计划核心,简单说,WebService就是一种远程访问标准。
它优点首先是跨平台,HTTP和SOAP等已经是互联网上通用协议;其次是可以解决防火墙问题,如果使用DCOM或CORBA来访问Web组建,将会被挡在防火墙外面,而使用SOAP则不会有防火墙问题。
要发展Web服务需要更多软件厂商来开发WebService,让基于WebService软件服务多起来。
这一切,是通过将紧密耦合、高效n层计算技术与面向消息、松散耦合Web概念相结合来实现。
我们将这种计算风格称为WebService,它出现标志着人类已经迈入应用程序开发技术新纪元。
WebService是一种应用程序,它可以使用标准互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。
可将WebService视作Web上组件编程。
从理论上讲,开发人员可通过调用Web应用编程接口(API)(就像调用本地服务一样),将WebService集成到应用程序中,不同是WebAPI调用可通过互联网发送给位于远程系统中某一服务。
Sun:
WebService是互联网架构中可置换标准零部件
Sun公司董事长、首席执行官ScottMcNealy在SunONE发布会上说,“智能化WebService对信息时代有着重大意义,它作用就象那些可置换标准零部件在工业时代所起到关键作用一样。
”
WebService适用于任何类型Web环境,无论是在互联网、Intranet还是在Extranet,重点是在企业对消费者、企业对企业之间通信。
WebService消费者可以是通过台式或是无线接入服务个人,也可以是应用程序,还可以是另一个WebService。
WebService应该具有以下一些特点:
WebService可以通过Web接入进行访问;WebService提供一个XML接口;WebService使XML信息,通过标准Web协议实现通信。
WebService支持系统间松散耦合连接。
Sun公司在谈到WebService时候,在前面加上了智能化三个字。
它强调了WebService能够分析具体用户信息,并能够与其它服务共享用户信息。
它能够根据“谁”、“什么”、“何时”、“何地”和“为什么”等因素,生成动态符合用户需求结果。
在SunONE智能WebService战略中,XML和Java技术是这种松散耦合可互操作性关键。
XML提供了标准、与平台无关数据结构,以表示语境信息,而Java技术则通过了一个与平台无关编程界面标准集,来访问和利用这些语境信息。
不但如此,Sun正在参与和领导开放智能WebService技术开发定义工作,包括Java技术、XML、ebXML、SOAP、UDDI以与更多其他东西。
IBM:
WebService是电子商务应用基础设施
IBM认为:
WebService使交流和相互操作更有效,减少编码过程和人为干扰。
IBM正在发布动态电子商务策略是现电子商务策略一个延伸。
过去两年中,IBM参与了WebService标准开发,而且已经在好几个产品中宣布了对WebService标准支持。
与竞争对手不同是,IBM对WebService仅仅提供基础设施,使企业能够适应不断变化环境。
IBM在WebService领域投资了几十亿美元,能有效地将两大竞争对手产品XML(微软)和Java(Sun)结合起来。
当用户WebService同时需要二者时(Java用于应用程序开发;XML用于信息传播),IBM就可以提供独一无二解决方案,采用真正开放式执行标准,而不是专有标准。
多年来,IBM在硬件和软件方面技术能力使其能为不同规模公司解决棘手问题,坚决支持非专有技术解决方案,从而加强了多平台兼容性,这在当今电子商务市场上是非常必要。
IBM动态电子商务将保持在标准方面合作,实施竞争策略,WebService只完成了一半,另一半是全功能基础架构软件,这种软件使WebService可用来进行智能交易,工作流程和业务进程管理一部分。
BEA:
充分发挥分布式业务潜力
WebService可以被描述为协议、协定和网络设施,能通过互联网将业务功能公开给授权方。
简言之,WebService是具体业务流程,它能够:
公开和描述自己;WebService可以定义自己功能和属性,以便其它应用能够了解它,并容易地向其它应用提供这种功能;其它服务能够在Web上找到它位置,可以被调用,返回响应。
任何组件或应用都可以作为WebService,以便被其它组件或应用使用。
同样,BEAWebLogicServer上任何应用都可以从Web上任意位置查找和请求WebService,即使WebService位于另一个平台也能找到。
多个WebService可集中成一个应用,可以是简单WebService(如查看股票价格),也可以是基于事务处理复杂供应链集成和管理(如卡车负载优化和路由)。
BEA将WebService分为两类:
简单WebService和复杂WebService。
简单WebService提供基本“请求/响应”功能,本质上不属于事务处理型服务,安全性不高。
复杂WebService将改变行业开展业务方式,但它将为贸易合作伙伴通过互联网协作提供一个框架。
BEA同时提供简单WebService和复杂WebService,并把它们作为BEAWebLogicE-BusinessPlatform一部分。
另外,BEA还与制定标准机构密切合作,指导相关WebService标准开发。
1.2WebService特征
从外部使用者角度而言,WebService是一种部署在Web上对象/组件,它具备以下特征:
∙完好封装性,WebService既然是一种部署在Web上对象,自然具备对象良好封装性,对于使用者而言,他能且仅能看到该对象提供功能列表。
∙松散耦合,这一特征也是源于对象/组件技术,当一个WebService实现发生变更时候,调用者是不会感到这一点,对于调用者来说,只要WebService调用界面不变,WebService实现任何变更对他们来说都是透明,甚至是当WebService实现平台从J2EE迁移到了.NET或者是相反迁移流程,用户都可以对此一无所知。
对于松散耦合而言,尤其是在Internet环境下WebService而言,需要有一种适合Internet环境消息交换协议。
而XML/SOAP正是目前最为适合消息交换协议。
∙使用协约规范性,这一特征从对象而来,但相比一般对象其界面规范更加规范化和易于机器理解。
首先,作为WebService,对象界面所提供功能应当使用标准描述语言来描述(比如WSDL);其次,由标准描述语言描述服务界面应当是能够被发现,因此这一描述文档需要被存储在私有或公共注册库里面。
同时,使用标准描述语言描述使用协约将不仅仅是服务界面,它将被延伸到WebService聚合、跨WebService事务、工作流等,而这些又都需要服务质量(QoS)保障。
其次,我们知道安全机制对于松散耦合对象环境重要性,因此我们需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以与事务不可否认性等运用规范方法来描述、传输和交换。
最后,在所有层次处理都应当是可管理,因此需要对管理协约运用同样机制。
∙使用标准协议规范,作为WebService,其所有公共协约完全需要使用开放标准协议进行描述、传输和交换。
这些标准协议具有完全免费规范,以便由任意方进行实现。
一般而言,绝大多数规范将最终有W3C或OASIS作为最终版本发布方和维护方。
∙高度可集成能力。
由于WebService采取简单、易理解标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台差异,无论是CORBA、DCOM还是EJB都可以通过这一种标准协议进行互操作,实现了在当前环境下最高可集成性。
1.3WebService协议规范
在前一节中,我们已经了解到为了完成在松散耦合环境下对象访问,以与在基本对象访问之上诸如事务、工作流、安全机制等,实现一个完整WebService体系需要有一系列协议规范来支撑,那么我们来了解一下这一系列协议组成:
WebService"stack"
其中,绿色部分是先前已经定义好并且广泛使用传输层和网络层标准:
IP、HTTP、SMTP等。
而蓝色部分是目前开发WebService相关标准协议,包括服务调用协议SOAP、服务描述协议WSDL和服务发现/集成协议UDDI,以与服务工作流描述语言WSFL。
而橙色部分描述是更高层待开发关于路由、可靠性以与事务等方面协议。
黄色部分是各个协议层公用机制,这些机制一般由外部正交机制来完成。
从以上这个技术层次图我们看以看到,WebService追求第一目标是简单性。
可能大家会觉得很奇怪,有那么多协议,怎么能说他简单。
首先,这些协议本身都是简单,无论是HTTP,FTP等传统TCP/IP系统网络协议,还是SOAP,WSDL,UDDI,WSFL等基于XML协议,他们设计原则中一个最重要点就是力求简单性。
相信大家如果对XML、SOAP等有深入了解话,一定会深深体会这一点。
其次,一个可以使用WebService应当按照需要选用若干层次功能,而无需所有特性。
比如在目前状况下,一个简单应用可能只要使用WSDL/SOAP就可以架构一个符合规范WebService了。
最后,所有机制完全是基于现有技术,并没有创造一个完全新体系。
无论是IPv4、HTTP、FTP这些现有网络协议,还是SOAP、WSDL等这些基于XML而定义协议都是遵循着一个原则:
继承原有被广泛接受技术,这样才能使得WebService被广泛接受。
1.4WebService类别
综合当今Web应用以与WebService特点,我们认为WebService实施领域可以分为四类:
∙Business-OrientedWebService:
该类服务针对是那些面向企业应用服务,包括企业内部ERP系统,企业间SCM/CRM等系统。
当这些系统以WebService形式在网络(Internet和intranet)中出现时,企业内应用集成将更未容易,而在企业间众多合作伙伴系统对接也将不再是无法完成任务。
目前现有解决方案和产品提供商有Bowstreet、Epicentric等。
∙Consumer-OrientedWebService:
此类服务针对是那些原先B2C网站改造,为这些Browser-OrientedWeb应用增加(注意是增加)了WebService应用界面,使得第三方桌面工具或其自身提供增值桌面工具能够利用更优秀用户界面提供跨越多个B2C服务桌面服务。
这将使得用户使用Internet更为方便,能够获得更加便捷服务。
比如我们完全就可以在个人理财桌面系统中集成(调用)Internet上股票价格查询WebService、机票预定WebService等,使得个人理财应用自动化程度更高。
∙Device-OrientedWebService:
此类服务使用终端一般是手持设备和日用家电,对于前者而言,可以在不用修改网络服务体系架构前提下,令先前网络服务支持除PC以外各种终端,比如Palm、PocketPC、手机等。
如此,那些天气预报服务、Email服务、主动信息服务等将更为有效和便捷。
而后者对于日用家电,则可能是一个市场启动期,有了WebService作为基础框架,智能型日用家电将真正获得标准支持,从而有了广泛使用可能。
∙System-OrientedWebService:
一些传统意义上系统服务,比如用户权限认证,系统监控等,如果被迁移到全球范围Internet上,或者企业内部intranet上,其作用范围将从单个系统或局部网络拓展到整个企业网络或整个Internet。
如此,基于同一系统服务不同应用将得以在整个Internet环境中部署,譬如跨国企业所有在线服务可以使用同一个用户权限认证WebService。
1.5WebService当前发展状况
WebService当前发展状况
以上这幅图是GartnerGroup在研究了所有IT主流时尚技术发展道路后,作出抽象模型。
Y轴表明技术受关注程度,而X轴则表示技术应用成熟度。
1.6术语表
XML:
可扩展性标识语言
WSDL:
Web服务描述语言,WEBService采用就是一个国际标准用于生成和解读交互服务。
这个标准其实就是一个标准化XML,而它就叫做wsdl,用标准统一XML格式给用户能正确解读使用。
所以包括任何一种后台服务端语言都能生成和读取wsdl。
SOAP:
简单对象访问协议,SOAP是一个为业界所接受W3C规范,它用于描述消息(XML文档与其附件),使消息可以在网络上被发送。
简单来讲,其实就象HTTP一样,SOAP是一种网络传送协议。
只是它针对是XML,而且是一种自动推数据技术。
它使你能够发送和接收XML文档而无需考虑传输协议或你将发送XML文档结构。
参考资料
∙WebService技术/评论网站
oUDDI-China.ORG,以UDDI为主WebService技术网站。
oWebServices.ORG,WebService综合类技术网站。
oIBMdeveloperWorks/WebServiceZone,IBMWebService技术资源中心
oMSDNOnlineWebServicesDeveloperResources,MicrosoftWebService开发者资源网站
oITPapers/WebService,ITPapersWebService评论文章
∙解决B2B电子商务应用交互和集成InterOPStack系列技术标准规范
oUDDI执行白皮书,UDDI-China.org,UDDI.org
oUDDI技术白皮书,UDDI-China.org,UDDI.org
oUDDI程序员API规范,UDDI-China.org,UDDI.org
oUDDI数据结构参考,UDDI-China.org,UDDI.org
oWebServiceDescriptionLanguage(WSDL)1.0,IBM,25Sep2000
oSOAP:
SimpleObjectAccessProtocolSpecification1.1,IBM,Microsoft,DevelopMentor,2000
oExtensibleMarkupLanguage(XML)1.0(SecondEdition),W3C,6Oct2000
2互联网基础架构软件简介
我们来了解一下几种常用互联网基础架构软件
2.1WebSphere
WebSphere是IBM公司推出互联网基础架构软件(即中间件软件),他能够协助企业在多类计算机平台上建立、运行与整合电子商务应用,并且支持从简单Web发布到企业级事务处理商务应用。
WebSphere转变了企业对客户、合作伙伴与雇员之间关系管理方式。
例如您可以通过它提高站点传输数据数量和质量,从而大幅提升您Web应用性能,并将扩展应用程序与移动设备相结合,让销售队伍能够为客户提供更快捷服务,或者构建电子市场以降低资源获取成本。
这个平台基础是WebSphereApplicationServer,它有三个版本,具有为满足您最严格业务需要而设计专业化配置。
它通过一个简单Java™引擎来驱动,当需求改变时,您可以容易地把应用程序移植到不同平台上。
∙标准版:
通过使用servlet、JavaServerPage以与XML,快速地将静态Web站点转换为富有勃勃生机动态站点。
∙高级版:
包含高性能企业级JavaBean组件服务器。
∙企业版:
集成了EJB和CORBA技术,为构建流量高、容量大电子商务应用提供了可靠保证。
查阅WebSphere详情,请浏览。
2.2TOMCAT
Tomcat是oracle公司提供一个开放源代码、运行servlet和JSPWeb应用软件基于JavaWeb应用软件容器。
Tomcat由Apache-Jakarta子项目支持并由来自开放性源代码Java社区志愿者进行维护。
Tomcat虽然与其他商业服务器相比,虽然配置略微麻烦些,但是它不但是完全免费,可以得到它完整源代码,而且与最新servlet和JSP规范兼容很好,TomcatServer是根据servlet和JSP规范进行执行,因此我们就可以说TomcatServer也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
下载地址:
注:
由于servletAPI和JSPAPI都要求Java2平台,因此建议安装JDK;在Tomcat官方站点,您可下载到.exe以与.zip两种类型安装文件
Tomcat具有一个位于TOMCAT_HOME\conf目录之中server.xml文件,它允许了更进一步客制化,提供了一个管理者应用软件和名为Valves请求—预处理程序,他还可以实现过滤器。
Tomcat整合了log4j和ApacheWebService器,为你Web应用软件提供了更加健全解决方案。
总来说,Tomcat是一个十分出色选择。
2.3Weblogic
Weblogicserver是由BEA推出行业领先电子商务平台,利用它可以开发和部署应用程序。
3DOM
3.1概要
DOM是文档对象化模型(DocumentObjectModel)简称。
XMLDOM是个对象模型,它显露XML文档内容。
W3C文档对象模型(DOM)1级规格通常定义了DOM应当显露为什么属性、方法和事件。
MicrosoftDOM执行方法完全支持W3C标准,它一些其他特性更便于在程序中使用XML文件。
使用过DHTML对象模型开发者一定能非常熟练地操作HTML页面上每个标记内容,但如果借助DOM技术,我们就可以通过更加直接而且简易方式达到同样目。
DOM技术被IE5.0与以上版本浏览器所支持,它采取一种非常直观且一致方式将HTML文档进行模型化处理,并借此提供访问、导航和操作页面简易编程接口。
通过DOM技术,我们不仅能够访问和更新页面内容与结构,而且还能操纵文档风格样式。
3.2DOM和DHTML对象模型比较
可以这么说,DOM是从DHTML对象模型发展而来。
但更准确而言,DOM更象是对DHTML对象模型进行了根本变革产物。
借助DHTML对象模型技术,我们能够单独地访问并更新HTML页面上对象,每个HTML标记通过它ID和NAME属性被操纵,每个对象都具有自己属性、方法和事件,通过方法操纵对象,通过事件触发因果过程。
DOM则要比DTHML对象模型功能更全面,它提供了一个对整个文档访问模型,而不仅仅再局限于单一HTML标记(Tag)范围内。
DOM将文档描绘为一个树形(Tree)结构,Tree每个节点表现为一个HTML标记或者HTML标记内文本项。
树形结构精确地描述了HTML文档中标记间以与文本项间相互关联性,这种关联性包括child(孩子)类型、parent(双亲)类型和兄弟(sibling)类型。
使用DHTML对象模型访问和更新HTML页面内容时,不可避免地需要查询相关技术手册。
因为HTML对象很多,每个HTML对象又有很多属性、方法和事件。
但是采用DOM技术访问和更新HTML页面内容时,任何手册都可以放在一边了。
首先查看一下HTML源代码,推算出页面Tree结构模型;然后,按照层次结构关系操纵需要属性。
比如要更新页面上文本项内容,如果采用DTHML对象模型,需要使用到innerHTML属性,但必须要注意并不是所有HTML对象都支持innerHTML属性;如果采用DOM技术,只要修改相关Tree节点都具有nodeValue属性值即可。
DOM技术使我们可以方便地沿着文档树型结构在上、下以与一侧方向做节点导航,从页面任何地方开始,使用child、parent或者sibling三种关联性组成表达式代表页面另外地方。
而DTHML对象模型不包含Tree结构,所以也就不具备页面对象相互导航功能。
当我们从一个标记对象开始时,不可能用关联表达式来表达相近标记。
虽然对于某些标记,比如