《EOS入门必备之WebService篇.docx》由会员分享,可在线阅读,更多相关《EOS入门必备之WebService篇.docx(18页珍藏版)》请在三一办公上搜索。
1、PRIMETON TECHNOLOGIES, LTD.上海普元信息技术有限责任公司EOS入门必备No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying, recording, otherwise, without the written permission of the copyright owner.COPYRIGHT 2003 by P
2、rimeton Technologies, Ltd. ALL RIGHTS RESERVED.目录1 WEBSERVICE 31.1 百家之言:何为 WebService 31.2 WebService 的特征51.3 Web Service 协议规范61.4 WebService 的类别U 71.5 WebService当前的发展状况81.6 术语表92 互联网基础架构软件简介102.1 WebSphere 102.2 TOMCAT 112.3 Weblogic113 DOM 123.1 概要123.2 DOM和DHTML对象模型的比较 124 EJB 134.1 为什么要使用EJB? 14
3、4.2 EJB 的实质? 144.3 EJB服务器产品 144.4 EJB容器如何包装你的BEAN 154.5 EJB的分类161 WebService1.1百家之言:何为WebService无论是微软.NET还是SunONE都是以WebService为核心的,此外,各家公司也都纷纷把 WebService作为重点。那么WebService到底是什么?有人说就技术角度而言,WebService 都是对象/组件技术在Internet中的延伸,让我们看看各家公司的说法。微软:WebService是.NET的核心微软为WebService下的定义是通过标准的Web协议可编程访问的Web组件。“软件就
4、是 服务”,这已经是软件发展的一个潮流了。未来的软件厂商就象现在的电信公司一样, 用户可以按照时间来租用软件公司的服务。“WebService”(Web Services)可以说是 整个.NET计划的核心,简单的说,WebService就是一种远程访问的标准。它的优点首先 是跨平台,HTTP和SOAP等已经是互联网上通用的协议;其次是可以解决防火墙的问题, 如果使用DCOM或CORBA来访问Web组建,将会被挡在防火墙外面,而使用SOAP则不会 有防火墙的问题。要发展Web服务需要更多的软件厂商来开发WebService,让基于 WebService的软件服务多起来。这一切,是通过将紧密耦合的
5、、高效的n层计算技术与面向消息的、松散耦合的Web概 念相结合来实现的。我们将这种计算风格称为WebService,它的出现标志着人类已经迈 入应用程序开发技术的新纪元。WebService是一种应用程序,它可以使用标准的互联网 协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。 可将WebService视作Web上的组件编程。从理论上讲,开发人员可通过调用Web应用编 程接口 (API)(就像调用本地服务一样),将WebService集成到应用程序中,不同的是 Web API调用可通过互联网发送给位于远程系统中的某一服务。Sun:WebService是互联
6、网架构中可置换的标准零部件PRIMGTHSun公司董事长、首席执行官Scott McNealy在Sun ONE发布会上说,“智能化WebService 对信息时代有着重大的意义,它的作用就象那些可置换的标准零部件在工业时代所起到 的关键作用一样。”WebService适用于任何类型的Web环境,无论是在互联网、Intranet还是在Extranet, 重点是在企业对消费者、企业对企业之间的通信。WebService消费者可以是通过台式或 是无线接入服务的个人,也可以是应用程序,还可以是另一个WebService。WebService 应该具有以下的一些特点:WebService可以通过Web接
7、入进行访问;WebService提供一 个XML接口; WebService使XML信息,通过标准Web协议实现通信。WebService支持系 统间的松散耦合连接。Sun公司在谈到WebService的时候,在前面加上了智能化三个字。它强调了 WebService 能够分析具体的用户信息,并能够与其它服务共享用户信息。它能够根据“谁”、“什 么”、“何时”、“何地”和“为什么”等因素,生成动态符合用户需求的结果。在SunONE智能WebService战略中,XML和Java技术是这种松散耦合的可互操作性的关 键。XML提供了标准的、与平台无关的数据结构,以表示语境信息,而Java技术则通过
8、了一个与平台无关的编程界面标准集,来访问和利用这些语境信息。不但如此,Sun正 在参与和领导开放智能WebService的技术开发定义工作,包括Java技术、XML、ebXML、 SOAP、UDDI以及更多其他的东西。IBM: WebService是电子商务应用的基础设施IBM认为:WebService使交流和相互操作更有效,减少编码过程和人为干扰。IBM正在 发布的动态电子商务策略是现电子商务策略的一个延伸。过去两年中,IBM参与了 WebService标准的开发,而且已经在好几个产品中宣布了对WebService标准的支持。与竞争对手不同的是,IBM对WebService仅仅提供基础设施,
9、使企业能够适应不断变化 的环境。IBM在WebService领域投资了几十亿美元,能有效地将两大竞争对手的产品XML(微软) 和Java (Sun)结合起来。当用户的WebService同时需要二者时(Java用于应用程序的开 发;XML用于信息传播),IBM就可以提供独一无二的解决方案,采用真正开放式的执行PRIMGTH标准,而不是专有的标准。多年来,IBM在硬件和软件方面的技术能力使其能为不同规 模的公司解决棘手问题,坚决支持非专有技术的解决方案,从而加强了多平台的兼容性, 这在当今电子商务市场上是非常必要的。IBM的动态电子商务将保持在标准方面合作, 实施竞争的策略,WebService
10、只完成了一半,另一半是全功能基础架构软件,这种软件 使WebService可用来进行智能交易,工作流程和业务进程管理的一部分。BEA:充分发挥分布式业务的潜力WebService可以被描述为协议、协定和网络设施,能通过互联网将业务功能公开给授权 方。简言之,WebService是具体的业务流程,它能够:公开和描述自己;WebService 可以定义自己的功能和属性,以便其它应用能够了解它,并容易地向其它应用提供这种 功能;其它服务能够在Web上找到它的位置,可以被调用,返回响应。任何组件或应用都可以作为WebService,以便被其它组件或应用使用。同样,BEA WebLogic Server
11、上的任何应用都可以从Web上的任意位置查找和请求WebService,即 使WebService位于另一个平台也能找到。多个WebService可集中成一个应用,可以是 简单的WebService(如查看股票价格),也可以是基于事务处理的复杂供应链集成和管 理(如卡车负载优化和路由)。BEA 将 WebService 分为两类:简单 WebService 和复杂 WebService。简单 WebService 提供基本的“请求/响应”功能,本质上不属于事务处理型服务,安全性不高。复杂 WebService将改变行业开展业务的方式,但它将为贸易合作伙伴通过互联网协作提供一 个框架。BEA同时提
12、供简单WebService和复杂WebService,并把它们作为BEA WebLogic E-Business Platform的一部分。另外,BEA还与制定标准的机构密切合作,指导相关 WebService标准的开发。1.2 WebService 的特征从外部的使用者的角度而言,WebService是一种部署在Web上的对象/组件,它具备以下特 征:完好的封装性,WebService既然是一种部署在Web上的对象,自然具备对象的良好封 装性,对于使用者而言,他能且仅能看到该对象提供的功能列表。 松散耦合,这一特征也是源于对象/组件技术,当一个WebService的实现发生变更的时 候,调用
13、者是不会感到这一点的,对于调用者来说,只要WebService的调用界面不变, WebService的实现任何变更对他们来说都是透明的,甚至是当WebService的实现平台从 J2EE迁移到了 .NET或者是相反的迁移流程,用户都可以对此一无所知。对于松散耦合而言, 尤其是在Internet环境下的WebService而言,需要有一种适合Internet环境的消息交换 协议。而XML/SOAP正是目前最为适合的消息交换协议。 使用协约的规范性,这一特征从对象而来,但相比一般对象其界面规范更加规范化和易 于机器理解。首先,作为WebService,对象界面所提供的功能应当使用标准的描述语言来
14、描述(比如WSDL);其次,由标准描述语言描述的服务界面应当是能够被发现的,因此这一 描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描述语言描述的使用协 约将不仅仅是服务界面,它将被延伸到WebService的聚合、跨WebService的事务、工作流 等,而这些又都需要服务质量(QoS)的保障。其次,我们知道安全机制对于松散耦合的对象 环境的重要性,因此我们需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以 及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,在所有层次的处理都应 当是可管理的,因此需要对管理协约运用同样的机制。 使用标准协议规范,作为WebS
15、ervice,其所有公共的协约完全需要使用开放的标准协 议进行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。- 般而言,绝大多数规范将最终有W3C或OASIS作为最终版本的发布方和维护方。 高度可集成能力。由于WebService采取简单的、易理解的标准Web协议作为组件界面 描述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是CORBA、DCOM还是EJB都可 以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。1.3 Web Service 协议规范在前一节中,我们已经了解到为了完成在松散耦合的环境下的对象访问,以及在基本对象访 问之上的诸如事
16、务、工作流、安全机制等,实现一个完整的WebService体系需要有一系列 的协议规范来支撑,那么我们来了解一下这一系列的协议组成:Web Service stack其中,绿色部分是先前已经定义好的并且广泛使用的传输层和网络层的标准:IP、HTTP、SMTP 等。而蓝色部分是目前开发的WebService的相关标准协议,包括服务调用协议SOAP、服务 描述协议WSDL和服务发现/集成协议UDDI,以及服务工作流描述语言WSFL。而橙色部分描 述的是更高层的待开发的关于路由、可靠性以及事务等方面的协议。黄色部分是各个协议层 的公用机制,这些机制一般由外部的正交机制来完成。从以上这个技术层次图我们
17、看以看到,WebService追求的第一目标是简单性。可能大家会 觉得很奇怪,有那么多协议,怎么能说他简单。首先,这些协议本身都是简单的,无论是HTTP, FTP等传统的TCP/IP系统的网络协议,还 是SOAP, WSDL, UDDI, WSFL等基于XML的协议,他们设计原则中的一个最重要点就是力求 简单性。相信大家如果对XML、SOAP等有深入了解的话,一定会深深体会这一点。其次,一个可以使用的WebService应当按照需要选用若干层次的功能,而无需所有的特性。 比如在目前状况下,一个简单应用可能只要使用WSDL/SOAP就可以架构一个符合规范的 WebService 了。最后,所有的
18、机制完全是基于现有的技术,并没有创造一个完全的新体系。无论是IPv4、 HTTP、FTP这些现有的网络协议,还是SOAP、WSDL等这些基于XML而定义的协议都是遵循 着一个原则:继承原有的被广泛接受的技术,这样才能使得WebService被广泛接受。1.4 WebService 的类别综合当今的Web应用以及WebService的特点,我们认为WebService实施的领域可以分为四PRIMGTH类: Business-Oriented Web Service:该类服务针对的是那些面向企业应用服务,包括企 业内部的ERP系统,企业间的SCM/CRM等系统。当这些系统以WebService的形
19、式在网络 (Internet和intranet)中出现时,企业内的应用集成将更未容易,而在企业间的众多合作 伙伴的系统对接也将不再是无法完成的任务。目前现有的解决方案和产品的提供商有 Bowstreet、Epicentric 等。 Consumer-Oriented Web Service:此类服务针对的是那些原先的B2C的网站的改造, 为这些Browser-Oriented的Web应用增加(注意是增加)了 WebService的应用界面,使得第 三方的桌面工具或其自身提供的增值的桌面工具能够利用更优秀的用户界面提供跨越多个 B2C服务的桌面服务。这将使得用户使用Internet更为方便,能够
20、获得更加便捷的服务。 比如我们完全就可以在个人理财桌面系统中集成(调用)Internet上的股票价格查询 WebService、机票预定WebService等,使得个人理财应用的自动化程度更高。 Device-Oriented Web Service:此类服务的使用终端一般是手持设备和日用家电,对 于前者而言,可以在不用修改网络服务的体系架构的前提下,令先前的网络服务支持除PC 以外的各种终端,比如Palm、PocketPC、手机等。如此,那些天气预报服务、Email服务、 主动信息服务等将更为有效和便捷。而后者对于日用家电,则可能是一个市场的启动期,有 了 WebService作为基础框架,
21、智能型的日用家电将真正获得标准的支持,从而有了广泛使 用的可能。 System-Oriented Web Service: 一些传统意义上的系统服务,比如用户权限认证,系 统监控等,如果被迁移到全球范围的Internet上,或者企业内部的intranet上,其作用范 围将从单个系统或局部网络拓展到整个企业网络或整个Internet。如此,基于同一系统服 务的不同应用将得以在整个Internet环境中部署,譬如跨国企业的所有在线服务可以使用 同一个用户权限认证WebService。1.5 WebService当前的发展状况WebService的当前发展状况以上这幅图是Gartner Group在
22、研究了所有IT主流时尚技术的发展道路后,作出的抽象模 型。Y轴表明技术的受关注程度,而X轴则表示技术的应用的成熟度。1.6术语表XML:可扩展性标识语言WSDL: Web服务描述语言,WEBService采用的就是一个国际的标准用于生成和解读交 互服务。这个标准其实就是一个标准化的XML,而它就叫做wsdl,用标准统一的XML格 式给用户能正确解读使用。所以包括任何一种后台服务端语言都能生成和读取wsdl。SOAP:简单对象访问协议,SOAP是一个为业界所接受的W3C规范,它用于描述消息(XML 文档及其附件),使消息可以在网络上被发送。简单来讲,其实就象HTTP 一样,SOAP 是一种网络传
23、送协议。只是它针对的是XML,而且是一种自动推数据技术。它使你能够 发送和接收XML文档而无需考虑传输协议或你将发送的XML文档的结构。参考资料Web Service技术/评论网站o UDDI-China.ORG,以 UDDI 为主的 WebService 技术网站。o WebServices.ORG, WebService 的综合类技术网站。o IBM developerWorks/Web Service Zone, IBM 的 WebService 技术资源中心o MSDN Online Web Services Developer Resources, Microsoft 的 WebSe
24、rvice 的开 发者资源网站o ITPapers/Web Service, ITPapers 的 WebService 评论文章解决B2B电子商务应用交互和集成的InterOP Stack系列技术标准规范o UDDI 执行白皮书,UDDI-China.org, UDDI.orgo UDDI 技术白皮书,UDDI-China.org, UDDI.orgo UDDI 程序员 API 规范,UDDI-China.org, UDDI.orgo UDDI 数据结构参考,UDDI-China.org, UDDI.orgo Web Service Description Language (WSDL) 1
25、.0, IBM, 25 Sep 2000o SOAP: Simple Object Access Protocol Specification 1.1, IBM, Microsoft, DevelopMentor, 2000o Extensible Markup Language (XML) 1.0 (Second Edition), W3C, 6 Oct 20002互联网基础架构软件简介我们来了解一下几种常用的互联网基础架构软件WebSphere2.1WebSphere是IBM公司推出的互联网基础架构软件(即中间件软件),他能够协助企业 在多类计算机平台上建立、运行及整合电子商务应用,并且支
26、持从简单的Web发布到企 业级事务处理的商务应用。WebSphere转变了企业对客户、合作伙伴及雇员之间关系的管理 方式。例如您可以通过它提高站点传输数据的数量和质量,从而大幅提升您的Web应用的性 能,并将扩展的应用程序与移动设备相结合,让销售队伍能够为客户提供更快捷的服务,或 者构建电子市场以降低资源获取的成本。这个平台的基础是WebSphere Application Server,它有三个版本,具有为满足您最严格 的业务需要而设计的专业化配置。它通过一个简单的Java引擎来驱动,当需求改变时, 您可以容易地把应用程序移植到不同的平台上。 标准版:通过使用servlet、JavaServ
27、er Page以及XML,快速地将静态Web站点转换为富有勃 勃生机的动态站点。 高级版:包含高性能企业级Java Bean组件的服务器。 企业版:集成了 EJB和CORBA技术,为构建流量高、容量大的电子商务应用提供了可靠的保证。查阅 WebSphere 详情,请浏览 2.2 TOMCATTomcat是oracle公司提供的一个开放源代码、运行servlet和JSP Web应用软件的基于Java 的Web应用软件容器。Tomcat由Apache-Jakarta子项目支持并由来自开放性源代码Java社 区的志愿者进行维护。Tomcat虽然与其他商业服务器相比,虽然配置略微麻烦些,但是它 不但是
28、完全免费的,可以得到它完整的源代码,而且与最新的servlet和JSP规范兼容很好, Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实 行了 Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。下载地址:http:/jakarta.apache.org/tomcat/注:由于servlet API和JSP API都要求Java 2平台,因此建议安装JDK;在Tomcat的官 方站点,您可下载到.exe以及.zip的两种类型的安装文件Tomcat具有一个位于TOMCAT_HOMEconf目录之中的server.x
29、ml文件,它允许了更进一步 客制化,提供了一个管理者应用软件和名为Valves的请求一预处理程序,他还可以实现过 滤器。Tomcat整合了 log4j和Apache WebService器,为你的Web应用软件提供了更加健 全的解决方案。总的来说,Tomcat是一个十分出色的选择。2.3 WeblogicWeblogic server是由BEA推出的行业领先的电子商务平台,利用它可以开发和部署应用程PR/MGTn序。3 DOM3.1概要DOM是文档对象化模型(Document Object ModeD的简称。XML的DOM是个对象模型,它 显露XML文档的内容。W3C的文档对象模型(DOM)
30、1级规格通常定义了 DOM应当显露为 什么属性、方法和事件。Microsoft的DOM执行方法完全支持W3C标准,它的一些其他特 性更便于在程序中使用XML文件。使用过DHTML对象模型的开发者一定能非常熟练地操作HTML页面上的每个标记内容,但如 果借助DOM技术,我们就可以通过更加直接而且简易的方式达到同样的目的。DOM技术被IE 5.0及以上版本的浏览器所支持,它采取一种非常直观且一致的方式将HTML文档进行模型 化处理,并借此提供访问、导航和操作页面的简易编程接口。通过DOM技术,我们不仅能够 访问和更新页面的内容及结构,而且还能操纵文档的风格样式。3.2 DOM和DHTML对象模型的
31、比较可以这么说,DOM是从DHTML对象模型发展而来的。但更准确而言,DOM更象是对DHTML 对象模型进行了根本变革的产物。借助DHTML对象模型技术,我们能够单独地访问并更新HTML页面上的对象,每个HTML 标记通过它的ID和NAME属性被操纵,每个对象都具有自己的属性、方法和事件,通过方法 操纵对象,通过事件触发因果过程。DOM则要比DTHML对象模型功能更全面,它提供了一个对整个文档的访问模型,而不仅 仅再局限于单一的HTML标记(Tag)范围内。DOM将文档描绘为一个树形(Tree)结构,Tree 的每个节点表现为一个HTML标记或者HTML标记内的文本项。树形结构精确地描述了 H
32、TML 文档中标记间以及文本项间的相互关联性,这种关联性包括child (孩子)类型、parent(双 亲)类型和兄弟(sibling)类型。PRIMGTH使用DHTML对象模型访问和更新HTML页面内容时,不可避免地需要查询相关技术手册。 因为HTML对象很多,每个HTML对象又有很多的属性、方法和事件。但是采用DOM技术访问 和更新HTML页面内容时,任何手册都可以放在一边了。首先查看一下HTML源代码,推算出 页面的Tree结构模型;然后,按照层次结构关系操纵需要的属性。比如要更新页面上的文 本项内容,如果采用DTHML对象模型,需要使用到innerHTML属性,但必须要注意并不是所 有
33、的HTML对象都支持innerHTML属性;如果采用DOM技术,只要修改相关Tree节点都具有 的nodeValue属性值即可。DOM技术使我们可以方便地沿着文档的树型结构在上、下以及一侧方向做节点导航,从 页面的任何地方开始,使用child、parent或者sibling三种关联性组成的表达式代表页面 的另外地方。而DTHML对象模型不包含Tree结构,所以也就不具备页面对象的相互导航功 能。当我们从一个标记对象开始时,不可能用关联表达式来表达相近的标记。虽然对于某些 标记,比如TABLE,DHTML对象模型可以提供特殊的属性和方法存取相关内容,但实现 方式和效果远不如DOM技术显得一致化和
34、直观化。采用DTHML对象模型访问TABLE中的单 元(cell)内容时,首先要查询手册确定单元的坐标值i、j,然后再通过表达式 tableObj.rowsi.cellsj.innerHTML实现访问。但对于DOM来说,访问TABLE每个单元 的内容将变得非常简单,只需要建立一个节点导航表达式就可以。另外,DOM技术允许我们操纵文档的Tree结构,这包括创建新节点(nodes)、删除存 在的节点以及在Tree中移动节点。实际上,这就是执行创建新标记(tags)、删除存在的 标记以及在文档中移动标记的过程。DTHML对象模型则不允许更改文档结构,我们只能操纵 现有的对象。与DHTML对象模型相比
35、较,DOM只有一个缺憾:DOM不能支持事件处理,而DTHML对象 模型对于文档对象则拥有一个广泛的事件处理功能4 EJBEJB, (Enterprise JavaBeans),使得开发者方便地创建、部署和管理跨平台的基于组件的 企业应用。PRIMGTH4.1为什么要使用EJB?EJB最大的诱人之处是她把应用程序和服务器分开了,我们再也不用和那些服务器上的复杂 的资源打交道了,什么数据库,什么进程,线程,什么安全权限,什么套接字,都见鬼去吧,我们 只需要专著于我们的商业逻辑的实现了.4.2 EJB的实质?EJB实际上是SUN的J2EE中的一套规范,并且规定了一系列的API用来实现把EJB概念转换
36、 成EJB产品.EJB是BEANS,BEANS是什么概念,那就是得有一个容纳她,让她可劲造腾的地方, 就是得有容器.EJB必须生存在EJB容器中.这个容器可是功能强大之极!她首先要包装你 BEAN,EJB的客户程序实际上从来就不和你编写的EJB直接打交道,他们之间是通过HOME/REMOTE接口来发生关系的.它负责你的BEAN的所有的吃喝拉萨睡,比如BEAN的持续化, 安全性,事务管理.4.3 EJB服务器产品各个WEBSERVICE器开发商基本上都在他们WEBSERVICE器中新捆绑了 EJB容器,或者叫EJB 服务器.其中最简单也是最根本的是J2EE开发环境带的J2EE的EJB容器,它很好
37、的和J2EE 的HTTP服务器和Servlet引擎一起构筑了一个很好的运行环境,由于配置简单,功能强大, 因此成为我的最爱.另外象BEA的Weblogical是值得推荐的一个产品,它的WEBSERVICE器功 能相当强大,是当今很多网站构筑的理想WEBSERVICE器,它也已经加入了 EJB的行列,在EJB 方面有着不俗的表现.Inprise的IAS更是一个功能强大的WEBSERVICE器,同样,也嵌入了 EJB容器,加之与本公司的JBuilder的无接缝结合,更使它人气攀升.还有象IBM的WebSphere也不错,不过Apache是否已经搭载了 EJB容器,我不太清楚. 另外,推荐一个EJB
38、oss,是一个完全免费的EJB服务器,而且是原代码公开的.4.4 EJB容器如何包装你的BEAN.这年头没有天上掉馅饼的好事情,EJB也不例外,你想让EJB容器替你管理你编写的EJB的吃 喝拉萨睡,凭什么?!凭XML描述子,你通过一个XML文件告诉EJB容器BEAN的相关配置信息, 比如我的EJB的HOME接口和REMOTE接口是哪一个类,比如我的EJB的别名(实际上是JNDI 名称)叫什么,比如我的EJB是否是实体类型的EJB还是对话类型的EJB,比如告诉容器替我 管理我的实体EJB中哪些自段,总之,你得跟咱们的EJB大总管EJB容器把所有都交代清楚.这样,剩下的,就看EJB容器的了 !你是
39、不是总共写过3个文件,BEAN定义,HOME接口定义,ROMOTE接口定义,当你DEPLOY他们时,容器会(1) .首先根据HOME和REMOTE接口生成他们的实现代码,我们不妨叫做HOME_IMPL和 REMOTE_IMPL,(2) .然后,利用 RMIC 产生 HOME_IMPL 和 REMOTE_IMPL 的 STUB 和 SKELETON 文件,2X2 一共生 成4个文件.(STUB和SKELETON请参见RMI的相关概念)如此这般,最后,在服务器上,一共有BEANHOME_IMPLREMOTE_IMPLHOME_STUBHOME_SKELETONREMOTE_STUBREMOTE_S
40、KELETON7文件,才能让EJB工作起来.(3) .生成实体EJB对应的数据库的库表(4) .注册你的EJB到JNDI服务为什么除了写BEAN,还得写接口文件,而且干嘛要HOME和REMOTE两个接口.我搅着吧,这两个接口完全是可以合并成一个接口的,其实他们的作用都只是一个接口,为了 让那人家SUN干吗还拆成两个呢?我想,正如SUN所说的,为了将一些容器相关操作和客户商 业方法分开,什么意思?说开了吧,HOME用来规范容器相关的操作方法,REMOTE负责专心致志 的定制商业方法,而我们的BEAN才是最终的逻辑实现者.把我想象成一个BEAN,HOME接口就是我们家人的命令,REMOTE接口就是
41、我们单位的领导的命 令,我们家人的命令决定了我如何吃喝拉萨睡,领导的命令决定了我如何做一些真正的工作, 请注意这里我使用了决定这个字眼,我并没有说我们家人,而是说了我们家人的命令,这个命令的含义就是接口,不是类,而我这 个BEAN却是个类!还有,BEAN类不实现REMOTE和HOME接口,记住!记住!4.5 EJB的分类EJB 分为实体(Entity)EJB 和对话(Session)EJB,实体 EJB:对话 EJB对话EJB根本根本不和数据库打交道,为什么,因为他根本不用序列化!他只负责来完成一些 逻辑操作,比如算个帐什么的.为了和实体EJB较劲,他也一口气生了两个儿子,a. 有状态(sessionful)对话 EJB他就跟servlet中的session对象似的,可以保存用户的session相关信息,而且他仅仅被一 个用户的一次session所使用,不和别人共享,我管他叫对话,不过这对话翻出来这是够难 听的,还不如就叫他session呢!b. 无状态(sessionless)对话 EJB这个东东是最简单的EJB,他是可以被多个用户共享,注意!我所说的共享是指实例的共享!一个BEAN管理持续化的实体EJB(BMP)小例子说了半天了,大家珍贵的脑资源恐怕被我消耗的差不多了,好,让我们来剖析一个BEAN管理 持续化的实体EJB(BMP)吧.4.6 EOS中EJB的使用
链接地址:https://www.31ppt.com/p-4884199.html