收藏 分销(赏)

j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc

上传人:胜**** 文档编号:2464270 上传时间:2024-05-30 格式:DOC 页数:24 大小:147.50KB
下载 相关 举报
j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc_第1页
第1页 / 共24页
j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc_第2页
第2页 / 共24页
j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc_第3页
第3页 / 共24页
j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc_第4页
第4页 / 共24页
j2ee项目的选择与风险外文翻译@中英文翻译@外文文献翻译.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、 浙江工业大学之江学院毕业设计(论文)外文翻译毕业设计(论文)题目:基于J2EE的企业电子投票系统开发与设计 外文翻译(一)题目: J2EE体系结构 外文翻译(二)题目: J2EE项目的选择与风险 分院(系): 信息工程分院 专 业:计算机科学与技术 班 级: 0402 姓 名: 徐栋杰 学 号: 200420100219 指导教师: 冯志林 毕业设计(论文)外文翻译要求1、毕业设计(论文)外文翻译应有两篇,总字符数不少于20000,其文献来源应由指导教师选定后以纸质(复印或打印件)形式随同毕业设计(论文)任务书一并发给学生。复印或打印件上应有指导教师和专业教研室主任的签名和日期。要求每位学生

2、的外文翻译内容不重复。2、翻译的外文文献应主要选自学术期刊、学术会议的文章、有关著作及其他相关材料,应与毕业论文(设计)主题相关,并列入毕业论文(设计)的参考文献;在每篇中文译文首页“页脚”处注明原文作者及出处,中文译文后应附外文原文(指导教师提供的原文,论文上应有指导教师和教研室主任签名)。3、中文译文的基本撰写格式为:题目采用三号黑体字居中打印,正文采用宋体小四号字,行间距一般为固定值20磅,标准字符间距。页边距为左3 cm,右2.5 cm,上下各2.5 cm,页面统一采用A4纸。4、封面上的“外文翻译题目”指中文译文的题目;两篇外文文献,按“封面、译文一、外文原文(一)、译文二、外文原文

3、(二)、外文翻译评阅表”的顺序统一装订。浙江工业大学之江学院毕业设计(论文)外文翻译译文一J2EE体系结构在讨论了J2EE设计中的一些高层次问题之后,现在该来看一看J2EE应用的几个可选体系结构。常见概念首先,让我们来看一看所有J2EE体系结构都共有的几个概念。J2EE应用中的体系结构层下面要讨论的每个体系结构都含有三个主要层,尽管有些体系结构在中间层内因如了另外的划分。经验已经证明了将企业级系统明确地划分成多个层的价值。这确保了责任的明确划分。J2EE的3层体系结构是各类系统中的经验结晶。具有3个或3个以上层的系统已经证明比其内没有中间层的客户-服务器系统具有更大的可缩放和灵活性。 在一个设

4、计完备的多层系统中,每一层应该只依赖于它下面的那一层。例如,对数据库的更改不应该要求对WEB接口的更改。 每一层所特有的东西应该向其他层隐藏起来。例如,WEB应用中的WEB层只应该依赖于服务器小程序API,而中间层只应该依赖于JDBC之类的企业资源API。这两个原则确保了应用修改起来容易,同时修改又不级联到其他层。下面依次来看典型的J2EE体系结构的每一层。企业信息系统(EIS)层这一层有时也叫做综合层(INTEGRATION TIER),由J2EE应用完成其工作所必须访问的企业资源所组成。这些资源包括数据库管理系统(DBMS)和遗留的主机应用。EIS层资源通常是事务性的,EIS位于J2EE服

5、务器的控制之外,尽管该服务器的确以一种标准方式管理事务和连接建池。J2EE设计师对EIS层的设计与部署将是变化的,视该项目的性质(现有服务的绿色场或集成度)而定。如果该项目包含现有服务的集成,EIS层资源可能会影响中间层的实现。J2EE为与EIS层资源的借口提供了强有力的能力,比如访问关系数据库的JDBC API、访问目录服务器的JNDI以及允许连接其他EIS系统的JACA CONNECTOR ARCHITECTURE (JACA连接器体系结构,简称JCA)。J2EE服务器负责建立连往EIS资源的连接池、横跨资源上的事务管理以及保证J2EE应用不危及EIS系统的安全。中间层这一层含有应用的业务

6、对象,并调停对EIS层资源的访问。中间层构件主要从事务管理和连接建池之类的J2EE容器服务中受益。中间层构件独立于选定的用户接口。作者:美亨特美罗夫特斯 来源:精通J2EE(Java企业级应用),2004.7:23-28如果使用了EJB,我们把中间层分离成两层:EJB以及使用这些EJB来支持该接口的对象。但是,这种分离不是保证一个干净中间层所必须的。用户接口(UI)层这一层将中间业务对象暴露给用户。在WEB应用中,UI层由服务器小程序所使用的助手类以及诸如JSP页之类的试图构件所组成。为了清楚起见,我们在讨论WEB应用时将把UI层称做“WEB层”。业务接口的重要性许多人将EJB看做J2EE应用

7、的核心。从J2EE的EJB中心论角度看,会话EJB将暴露应用的业务逻辑,而其他对象(比如Business Delegate J2EE设计模式中的Web层“业务委托”对象)将由他们与EJB的关系来确定。但是,这种假设将一种技术(EJB)抬高到了OO设计考虑之上。EJB不是在J2EE应用中实现中间层的唯一技术。正式业务接口层的概念体现了一不好的习惯,不管是不是使用了EJB,我们都应该使用这个概念。在下面将要讨论的所有体系结构中,业务接后层都有客户(比如UI层)直接使用的中间层接口所组成。业务接口层为普通Java接口中的中间层定义了联系人;因此,EJB就是一个实现策略。如果我们没有使用EJB,业务接

8、口的实现将是运行在J2EE Web容器中的普通Java对象。当使用了EJB时,业务接口的实现将隐藏掉与EJB层的交互。一定要设计到Java接口,而不要设计到具体类,也不要设计到技术。下面来看一下满足不同需求的4种J2EE体系结构。非分布式体系结构下面的这些体系结构适合Web应用。他们可以把所有应用构件只运行在单个JVM中。这使他们变得简单而有效,但限制了部署的灵活性。具有业务构件接口的Web应用在大多数情况下,J2EE用来构造Web应用。因此,同一个J2EE Web容器可以提供许多应用所需要的整个基础结构。和EJB一样,J2EE Web应用实际上享有对企业API的相同访问权。它们受益于J2EE

9、服务器的事务管理和连接池能力,并可以使用JMS,JDBC和Java Connector API之类的企业服务。除实体组件之外的所有数据存取技术都是可以使用的。Web应用的Web层和中间层运行在同一个JVM中。但是,在逻辑上使他们保持不同是极其重要的。Web应用中的主要设计风险是UI构件与业务逻辑构件之间的责任模糊不清。业务接口层将由普通Java类所实现的Java接口来组成。这是一个简单而又可缩放的体系结构,并且能满足大多数应用的需要。长处这种体系结构具有下列优点:l 简单性。这通常是Web应用的最简单结构。但是,如果事务管理或线程化问题要求开发分复杂的代码,使用EJB可能将更简单。l 速度。这

10、样的体系结构遇到了来自J2EE服务器的最小系统开销。l OO设计不会被J2EE构件问题(比如调用EJB的影响)所妨碍。l 容易测试。如果设计合理,无需Web层就能够对业务接口进行测试。l 我们可以发挥服务器的事务支持。l 缩放性很好。如果Web接口是无状态的,则根本不需要来自容器的聚类支持。但是,Web应用可以通过使用服务器支持会话状态复制来分布。弱点应该注意下列这些缺点:l 这种体系结构只支持一个Web接口。例如,它不能支持独立的GUI客户(中间层和这个Web接口在同一个JVM中)。但是,正如我们稍后将回看到的,可以增加一个Web服务层。l 整个应用仅运行在单个JVM中。虽然这提高了性能,但

11、我们无法将构件自由地分配给不同的物理服务器。l 这种体系结构不能使用EJB容器事务支持。我们将需要在应用代码中创建和管理事务。l 服务器没有提供对并发编程的支持。我们必须亲自处理线程化问题,或使用一个解决常见问题的类库,比如util.concurrent。l 将实体组件用于数据存取是不可能的,但可以证明的是,这根本不是什么损失。访问本地EJB的Web应用Servlet2.3规范(SRV9.11)可从在这种体系结构中,Web层与刚讨论过繁荣Web应用体系结构的Web层相同。业务接口也是相同的;这两种体系结构的不同之处从它们的出现(EJB层)开始。因此,中间层被划分成了两部分(运行在Web容器中的

12、业务接口和EJB),但这两部分运行在同一个JVM中。有两种方法可以用来实现业务接口:l 代理方法。在这种方法中,一个本地EJB直接实现业务接口,而Web容器代码被赋予一个对该EJB的本地接口的引用,同时无需处理必不可少的JNDI查找。l 业务委托方法。在这种方法中,业务接口的Web容器实现明确地托付给相应的EJB。这具有允许高速缓存和允许故障操作在适当地点被重试的优点。我们无需担心上述任一情况中的java.rmi.RemoteException捕获。传输错误不会出现。在这种体系结构中,和通过EJB来暴露一个远程接口的体系结构不同,EJB的使用仅仅是这种体系结构的一个实现选择而已,而不是一个基本

13、特征。不用改变总体设计,也不用EJB,就可以实现任何一个业务接口。长处这种体系结构具有如下这些优点:l 它没有分布式EJB应用那么复杂。l EJB使用不更改应用的基本设计。在这种体系结构中,只使这样一些对象成为EJB:它们需要一个EJB容器的那些服务。l EJB使用只强加相当小的性能开销,因为没有远程方法调用或串行化。l 它提供EJB容器事务与线程管理的各种好处。l 如果需要,它允许我们使用实体组件。弱点这种体系结构的缺点有如下这些:l 它比纯Web应用更复杂。例如,它遇到EJB部署和类装人复杂性。l 它仍不能支持除一个Web接口之外的客户,除非我们添加一个Web服务层。l 整个应用仍运行在单

14、个JVM中,这意味着所有构件都必须运行在同一台物理服务器上。l 具有本地接口的EJB测试起来很困难。我们需要在J2EE服务器内运行测试案例(比如用服务器小程序)。l 作为使用EJB的结果,仍存在一些调整对象设计的诱惑,即使含有本地接口,EJB调用仍慢于普通的方法调用,而且这可能会诱惑我们修改业务对象的自然粒度。有时,我们可能会决定把EJB引进到一个没有适应它的体系结构中。这可能是由“做可能管用的最简单事情”的XP方法所造成的。例如,最初的需求可能没有证明由EJB引入的复杂性是值得的,但后来增加的需求可能会提出使用EJB。如果采用上面描述的业务构件接口方法,引进具有本地接口的EJB将不会引起问题

15、。可以简单地选择应该被实现成具有本地的代理EJB的那些业务构件接口。引进具有远程接口的EJB可能有较大疑问,因为这不仅仅是一个引进EJB的问题,而且也是一个从根本上改变了应用的性质的问题。例如,可能需要使业务接口粒度变的更粗,以避免“罗嗦的”调用和实现足够的性能。我们还可能需要把所有业务逻辑实现转移到EJB容器内部。分布式体系结构 下面这两种体系结构除了支持Web应用之外,还支持远程客户。具有远程EJB的分布式应用这种体系结构被广泛地看做“经典的”J2EE体系结构。它提供了这样一种能力:通过给EJB及使用EJB的构件(比如 Web构件)使用不同的JVM来物理和逻辑地划分中间层。这是一个复杂的体

16、系结构,并具有显著的性能开销。虽然描述了一个Web应用,但该体系结构可以支持任一J2EE客户类型。它特别符合独立客户应用的需要。该体系结构在UI层(或者说其他远程客户)与业务对象之间使用RMI,而这些业务对象被暴露为WJB(RMI通信的细节由EJB容器来隐藏,但我们仍需要处理使用它所带来的影响)。这使远程调用变成了一个主要的性能决定要素和一个核心的设计考虑因素。我们必须尽量最大限度的减少远程调用的数量(避免“罗嗦的”调用)。在EJB与EJB客户层之间传递的所有对象都必须是可串行化的,而且我们必须处理更复杂的错误处理需求。该体系结构中的WEB层和上面所讨论的那些结构中的WEB层相同。但是,业务接

17、口的实现将处理对(可能是远程)EJB容器中的EJB的远程访问。在已讨论过的用于本地EJB的两种连通性方法(代理和业务委托)中,只有业务委托在这里是有用的,因为EJB远程接口上的所有方法都抛出JAVAX。RMI。REMOTEEXCEPTION。这是一个已检查异常,否则REMOTEEXCEPTION将需要在UI层代码中被捕获。这把它不正确地束缚到了一个EJB实现上。EJB层将单独负责与EIS层资源的通信,而且应该含有应用的业务逻辑。长处这种通信结构具有如下这些特有的优点l 它可以通过提供一个共享的中间层来支持所有J2EE客户类型l 它允许应用构件在不同物理服务器上的分布。如果EJB层是无状态,这个

18、特点特别管用,进而允许使用无状态的会话EJB。含有有状态UI层和无状态中间层的应用将会从这种部署选择中获得最大的好处,而且将会给J2EE应用实现尽可能大的缩放性。弱点这种体系结构的弱点有如下这些:l 这是我们已讨论过的最复杂的方法,如果这种复杂性确定是业务需求的合理要求,很可能会导致整个项目周期内的资源浪费,并为故障提供一个滋生地。l 它影响性能。远程方法调用会比使用引用的本地调用慢数百倍,总体性能方面的影响结果取决与必须的远程调用数量。l 分布式应用的测试和测试变得很困难。l 所有业务构件都必须进行EJB容器中。虽然这为远程客户提供了一个综合性接口,但如果EJB不能用来解决业务需求所引起的每

19、个问题,这是有问题的。例如,如果SIN-GLETON设计模式完全适用,用EJB满意地实现起来将会很困难。l OO设计被RMI的集中使用所严重阻碍。l 异常处理在分布式系统中变得更复杂。我们除了必须考虑应用故障外,还必须兼顾传输故障。当使用这种体系结构,千万不要破坏它。SUN JAVA CENTER的“FAST LANE READER”J2EE模式主张从WEB层中执行只读JDBC访问,以便最小化通过EJB层进行调用的系统开销。这违背了每个层只应该跟直接位于它下面的那些层进行通信的原则,也降低了缝补式体系结构的一个重要优点;部署灵活性。现在,运行WEB层的服务器必须能够访问数据库,而这会使特殊的防

20、火墙规则车工内为必须之物。即使我们使用了远程接口,如果EJB及使用EJB的构件被放在了一起,那么大多数J2EEE服务器仍能优化远程调用并替换按引用的调用。这可以极大地减少使用具有远程接口的EJB所造成的性能影响,但无法消除远程语义所因如的有害影响。这种配置更改了应用的语句。要想让这种配置得到使用,关键是保证EJB支持本地调用(按引用)和远程调用(按值)。否则按引用的调用者可能会修改要传递其他调用者的对象,进而产生严重的后果。不要因为使用了具有远程借口的EJB导致一个应用变成分布式的,除非业务需求明确指出需要一个分布式体系结构。外文原文(一)J2EE ArchitecturesNow that

21、weve discussed some of the high-level issues in J2EE design, lets look at some alternative architecture for J2EE applications.Common ConceptsFirst, lets consider some concepts shared by all J2EE architectures.Architectural Tiers in J2EE ApplicationsEach of the architectures discussed below involves

22、three major tiers, although some introduce an additional division within the middle tier.Experience has shown the value of cleanly dividing enterprise systems into multiple tiers. This ensures a clean division of responsibility.The three-tier architecture of J2EE reflects experience in a wide range

23、of enterprise systems. Systems with three or more tiers have proven more scalable and flexible than client server systems, in which there is no middle tier.In a well-designed multi-tier system, each tier should depend only on the tier beneath it. For example, changes to the database should not deman

24、d changes to the web interface.Concerns that are unique to each tier should be hidden from other tiers. For example, only the web tier in a web application should depend on the servlet API, while only the middle tier should depend on enterprise resource APIs such as JDBC. These two principles ensure

25、 that applications are easy to modify without changes cascading into other tiers.Lets look at each tier of a typical J2EE architecture in turn.Enterprise Information System (EIS) TierSometimes called the Integration Tier, this tier consists of the enterprise resources that the J2EE application must

26、access to do its work. These include Database Management Systems (DBMSs) and legacy mainframe applications. EIS tier resources are usually transactional. The EIS tier is outside the control of the J2EE server, although the server does manage transactions and connection pooling in a standard way.The

27、J2EE architects control over the design and deployment of the EIS tier will vary depending on the nature of the project (green field or integration of existing services). If the project involves the integration of existing services, the EIS tier resources may impact on the implementation of the midd

28、le tier.J2EE provides powerful capabilities for interfacing with EIS-tier resources, such as the JDBC API for accessing relational databases, JNDI for accessing directory servers, and the Java Connector Architecture (JCA) allowing connectivity to other EIS systems. A J2EE server is responsible for t

29、he pooling of connections to EIS resources, transaction management across resources, and ensuring that the J2EE application doesnt compromise the security of the EIS system.Middle TierThis tier contains the applications business objects, and mediates access to EIS tier resources. Middle tier compone

30、nts benefit most from J2EE container services such as transaction management and connection pooling. Middle-tier components are independent of the chosen user interface. If we use EJB, we split the middle tier into two: EJBs, and objects that use the EJBs to support the interface. However, this spli

31、t isnt necessary to ensure a clean middle tier.User Interface (UI) TierThis tier exposes the middle-tier business objects to users. In web applications, the UI tier consists of servlets, helper classes used by servlets, and view components such as JSP pages. For clarity, well refer to the UI tier as

32、 the web tier when discussing web applications.The Importance of Business InterfacesMany regard EJBs as the core of a J2EE application. In an EJB-centric view of J2EE, session EJBs will expose the applications business logic, while other objects (such as business delegate objects in the web tier in

33、the Business Delegate J2EE design pattern) will be defined by their relationship to the EJBs. This assumption, however, elevates a technology (EJB) above OO design considerations.Important EJB is not the only technology for implementing the middle tier in J2EE applications.The concept of a formal la

34、yer of business interfaces reflects good practice, and we should use it regardless of whether we use EJB. In all the architectures we discuss below, the business interface layer consists of the middle-tier interfaces that clients (such as the UI tier) use directly. The business interface layer defin

35、es the contract for the middle tier in ordinary Java interfaces; EJB is thus one implementation strategy. If we dont use EJB, the implementation of the business interfaces will be ordinary Java objects, running in a J2EE web container. When we do use EJBs, the implementations of the business interfa

36、ces will conceal interaction with the EJB tier.Important Design to Java interfaces, not concrete classes, and not technologies.Lets now look at four J2EE architectures that satisfy different requirements.Non-distributed ArchitecturesThe following architectures are suitable for web applications. They

37、 can run all application components in a single JVM. This makes them simple and efficient but limits the flexibility of deployment.Web Application with Business Component InterfacesIn most cases, J2EE is used to build web applications. Thus, a J2EE web container can provide the entire infrastructure

38、 required by many applications.J2EE web applications enjoy virtually the same access to enterprise APIs as EJBs. They benefit from the J2EE servers transaction management and connection pooling capabilities and can use enterprise services such as JMS, JDBC, JavaMail, and the Java Connector API. All

39、data access technologies are available with the exception of entity beans.The web tier and middle tier of a web application run in the same JVM. However, it is vital that they are kept logically distinct. The main design risk in web applications is that of blurred responsibilities between UI compone

40、nts and business logic components.The business interface layer will consist of Java interfaces implemented by ordinary Java classes.This is a simple yet scalable architecture that meets the needs of most applications.StrengthsThis architecture has the following strengths:l Simplicity. This is usuall

41、y the simplest architecture for web applications. However, if transaction management or threading issues require the development of unduly complex code, it will probably prove simpler to use EJB.l Speed. Such architectures encounter minimal overhead from the J2EE server.l OO design isnt hampered by

42、J2EE component issues such as the implications of invoking EJBs.l Easy to test. With appropriate design, tests can be run against the business interface without the web tier.l We can leverage the servers transaction support.l Scales well. If the web interface is stateless, no clustering support is r

43、equired from the container. However, web applications can be distributed, using server support session state replication.WeaknessesThe following drawbacks should be kept in mind:l This architecture supports only a web interface. For example, it cannot support standalone GUI clients. (The middle tier

44、 is in the same JVM as the web interface.) However, a layer of web services can be added, as we shall see later.l The whole application runs within a single JVM. While this boosts performance, we cannot allocate components freely to different physical servers.l This architecture cannot use EJB conta

45、iner transaction support. We will need to create and manage transactions in application code.l The server provides no support for concurrent programming. We must handle threading issues ourselves or use a class library such as util.concurrent that solves common problems.l Its impossible to use entit

46、y beans for data access. However, this is arguably no loss.Web Application that Accesses Local EJBsThe Servlet 2.3 specification (SRV.9.11), which can be downloaded from guarantees web-tier objects access to EJBs via local interfaces if an application is deployed in an integrated J2EE application server running in a single JVM. This enables us to benefit from the services offered by an EJB container, without incurring excessive complexity or making our application distributed.In this architecture, the web tier is identical to t

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 考试专区 > 中考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服