EOS入门必备之WebService篇Word下载.docx
《EOS入门必备之WebService篇Word下载.docx》由会员分享,可在线阅读,更多相关《EOS入门必备之WebService篇Word下载.docx(16页珍藏版)》请在冰点文库上搜索。
4EJB13
4.1为什么要使用EJB?
14
4.2EJB的实质?
4.3EJB服务器产品14
4.4EJB容器如何包装你的BEAN.15
4.5EJB的分类16
1WebService
何为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-Oriented的Web应用增加(注意是增加)了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,IBM的WebService技术资源中心
oMSDNOnlineWebServicesDeveloperResources,Microsoft的WebService的开发者资源网站
oITPapers/WebService,ITPapers的WebService评论文章
∙解决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应用软件的基于Java的Web应用软件容器。
Tomcat由Apache-Jakarta子项目支持并由来自开放性源代码Java社区的志愿者进行维护。
Tomcat虽然与其他商业服务器相比,虽然配置略微麻烦些,但是它不但是完全免费的,可以得到它完整的源代码,而且与最新的servlet和JSP规范兼容很好,TomcatServer是根据servlet和JSP规范进行执行的,因此我们就可以说TomcatServer也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
下载地址:
http:
//jakarta.apache.org/tomcat/
注:
由于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)的简称。
XML的DOM是个对象模型,它显露XML文档的内容。
W3C的文档对象模型(DOM)1级规格通常定义了DOM应当显露为什么属性、方法和事件。
Microsoft的DOM执行方法完全支持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结构,所以也就不具备页面对象的相互导航功能。
当我们从一个标记对象开始时,