計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用

上傳人:搶*** 文檔編號(hào):64803226 上傳時(shí)間:2022-03-22 格式:DOC 頁(yè)數(shù):18 大?。?2.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用_第1頁(yè)
第1頁(yè) / 共18頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用_第2頁(yè)
第2頁(yè) / 共18頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用_第3頁(yè)
第3頁(yè) / 共18頁(yè)

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)科學(xué)與技術(shù) 外文翻譯 外文文獻(xiàn) 英文文獻(xiàn) J2EE在分布式環(huán)境下的應(yīng)用(18頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、Infrastructure for Automatic Dynamic Deployment Of J2EE Application in Distributed EnvironmentsAnatoly Akkerman, Alexander Totok, and Vijay Karamcheti1. IntroductionIn recent years, we have seen a significant growth in component-based enterprise application development. These applications are typica

2、lly deployed on company Intranets or on the Internet and are characterized by high transaction volume, large numbers of users and wide area access. Traditionally they are deployed in a central location, using server clustering with load balancing (horizontal partitioning) to sustain user load. Howev

3、er, horizontal partitioning has been shown very efficient only in reducing application-related overheads of user-perceived response times, without having much effect on network-induced latencies. Vertical partitioning (e.g., running web tier and business tier in separate VMs) has been used for fault

4、 isolation and load balancing but it is sometimes impractical due to significant run-time overheads (even if one would keep the tiers on a fast local-area network) related to heavy use of remote invocations. Recent work in the context of J2EE component based applications has shown viability of verti

5、cal partitioning in wide-area networks without incurring the aforementioned overheads. The key conclusions from that study can be summarized as follows: Using properly designed applications, vertical distribution across wide-area networks improves user-perceived latencies. Wide-area vertical layerin

6、g requires replication of application components and maintaining consistency between replicas. Additional replicas may be deployed dynamically to handle new requests. Different replicas may, in fact, be different implementations of the same component based on usage (read-only, read-write). New reque

7、st paths may reuse components from previously deployed paths.Applying intelligent monitoring and AI planning techniques in conjunction with the conclusions of that study, we see a potential for dynamic adaptation in industry-standard J2EE component-based applications in wide area networksThrough dep

8、loyment of additional application components dynamically based on active monitoring. However, in order to achieve such dynamic adaptation, we need an infrastructure for automating J2EE application deployment in such an environment. This need is quite evident to anyone who has ever tried deploying a

9、J2EE application even on a single application server, which is a task that involves a great deal of configuration of both the system services and application components. For example one has to set up JDBC data sources, messaging destinations and other resource adapters before application components

10、can be configured and deployed. In a wide area deployment that spans multiple server nodes, this proves even more complex, since more system services that facilitate inter-node communications need to be configured and started and a variety of configuration data, like IP addresses, port numbers, JNDI

11、 names and others have to be consistently maintained in various configuration files on multiple nodes.This distributed deployment infrastructure must be able to: address inter-component connectivity specification and define its effects on component configuration and deployment, address application c

12、omponent dependencies on application server services, their configuration and deployment, provide simple but expressive abstractions to control adaptation through dynamic deployment and undeployment of components, enable reuse of services and components to maintain efficient use of network nodes res

13、ources, provide these facilities without incurring significant additional design effort on behalf of application programmers.In this paper we propose the infrastructure for automatic dynamic deployment of J2EE applications, which addresses all of the aforementioned issues. The infrastructure defines

14、 architecture description languages (ADL) for component and link description and assembly. The Component Description Language is used to describe application components and links. It provides clear separation of application components from system components. A flexible type system is used to define

15、compatibility of component ports and links. A declaration and expression language for configurable component properties allows for specification of inter-component dependencies and propagation of properties between components. The Component (Replica) Assembly Language allows for assembly of replicas

16、 of previously defined components into application paths by connecting appropriate ports via link replicas and specifying the mapping of these component replicas onto target application server nodes. The Component Configuration Process evaluates an application paths correctness, identifies the depen

17、denciesof application components on system components, and configures component replicas for deployment. An attempt is made to match and reuse any previously deployed replicas in the new path based on their configurations. We implement the infrastructure as a part of the JBoss open source Java appli

18、cation server and test it on several technology sample J2EE applications Java Pets tore, Rubies and TPC-W-NYU . The infrastructure implementation utilizes the JBosss extendable micro-kernel architecture, based on the JMX specification. Componentized architecture of JBoss allows incremental service d

19、eployments depending on the needs of deployed applications. We believe that dynamic reconfiguration of application servers through dynamic deployment and undeployment of system services is essential to building a resource-efficient framework for dynamic distributed deployment of J2EE applications. T

20、he rest of the paper is organized as follows. Section 2 provides necessary background for understanding the specifics of the J2EE component technology which are relevant to this study. Section 3 gives a general description of the infrastructure architecture, while section 4 goes deeper in describing

21、 particularly important and interesting internal mechanisms of the infrastructure. Section 5 describes the implementation of the framework, and related work is discussed in section 6.2. J2EE Background2.1 IntroductionComponent frameworks.A component framework is a middleware system that supports app

22、lications consisting of components conforming to certain standards. Application components are “plugged” into the component framework, which establishes their environmental conditions and regulates the interactions between them. This is usually done through containers, component holders, which also

23、provide commonly required support for naming, security, transactions, and persistence. Component frameworks provide an integrated environment for component execution, as a result significantly reduce the effort .it takes to design, implement, deploy, and maintain applications. Current day industry c

24、omponent framework standards are represented by Object Management Groups CORBA Component Model, Sun Microsystems Java 2 Platform Enterprise Edition (J2EE) and Microsofts .NET, with J2EE being currently the most popular and widely used component framework in the enterprise arena.J2EE.Java 2 Platform

25、Enterprise Edition (J2EE) is a comprehensive standard for developing multi-tier enterprise Java applications. The J2EE specification among other things defines the following: Component programming model, Component contracts with the hosting server, Services that the platform provides to these compon

26、ents, Various human roles, Compatibility test suites and compliance testing procedures.Among the list of services that a compliant application server must provide are messaging, transactions, naming and others that can be used by the application components. Application developed using J2EE adhere to

27、 the classical 3-Tier architectures Presentation Tier, Business Tier, and Enterprise Information System (EIS) Tier (see Fig. 1). J2EE components belonging to each tier are developed adhering to theSpecific J2EE standards.1. Presentation or Web tier.This tier is actually subdivided into client and se

28、rver sides. The client side hosts a web browser, applets and Java applications that communicate with the server side of presentation tier or the business tier. The server side hosts Java Servlet components, Java Server Pages (JSPs) and static web content. These components are responsible for present

29、ing business data to the end users. The data itself is typically acquired from the business tier and sometimes directly from the Enterprise Information System tier. The server side of the presentation tier is typically accessed through HTTP(S) protocol.2. Business or EJB tier.This tier consists of E

30、nterprise Java Beans (EJBs) that model the business logic of the enterprise application. These components provide persistence mechanisms and transactional support. The components in the EJB tier are invoked through remote invocations (RMI), in-JVM invocations or asynchronous message delivery, depend

31、ing on the type of EJB component. The EJB specification defines several types of components. They differ in invocation style (synchronous vs. asynchronous, local vs. remote) and statefulness: completely stateless (e.g., Message-Driven Bean), stateful non-persistent(e.g., Stateful Session Bean), stat

32、eful persistent (e.g., Entity Bean). Synchronously invocable EJB components expose themselves through a special factory proxy object (an EJB Home object, which is specific to a given EJB), which is typically bound in JNDI by the deployer of the EJB. The EJB Home object allows creation or location of

33、 an EJB Object, which is a proxy to a particular instance of an EJB 1.3. Enterprise Information System (EIS) or Data tier.This tier refers to the enterprise information systems, like relational databases, ERP systems, messaging systems and the like. Business and presentation tier component communica

34、te with this tier with the help of resource adapters as defined by the Java Connector Architecture. The J2EE programming model has been conceived as a distributed programming model where application components would run in J2EE servers and communicate with each other. After the initial introduction

35、and first server implementations, the technology, most notably, the EJB technology has seen some a significant shift away from purely distributed computing model towards local interactionsThere were very legitimate performance-related reasons behind this shift, however the Distributed features are s

36、till available. The J2EE specification has seen several revisions, the latest stable being version 1.3, while version 1.4 is going through last review phases 3. We shall focus our attention on the former, while actually learning from the latter. Compliant commercial J2EE implementations are widely a

37、vailable from BEA Systems , IBM, Oracle and other vendors. Several open source implementations, including JBoss and JOnAS claim compatibility as well. A Recent addition to the list is a new Apache project Geronimo.2.2 J2EE Component Programming ModelBefore we describe basic J2EE components, lets fir

38、st address the issue of defining what a component is a software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties.According to this defin

39、ition the following entities which make up a typical J2EE application would be considered application components (some exceptions given below): EJBs (session, entity, message-driven), Web components (servlets, JSPs), messaging destinations, Data sources,EJB and Web components are deployed into their

40、 corresponding containers provided by the application server vendor. They have well-defined contracts with their containers that govern lifecycle, threading, persistence and other concerns. Both Web and EJB components use JNDI lookups to locate resources or other EJB components they want to communic

41、ate with. The JNDI context in which these lookups are performed is maintained separately for each component by its container. Bindings messaging destinations, such as topics and queues, are resources provided by a messaging service implementation. Data sources are resources provided by the applicati

42、on server for data access by business components into the enterprise information services (data) tier, and most commonly are exemplified by JDBC connection pools managed by the applicationServer. A J2EE programmer explicitly programs only EJBs and Web components. These custom-written components inte

43、ract with each other and system services both implicitly and explicitly. For example, an EJB developer may choose explicit transaction demarcation (i.e., Bean-Managed Transactions) which means that the developer assumes the burden of writing explicit programmatic interaction with the platforms Trans

44、action Manager Service through well-defined interfaces. Alternatively, the developer may choose Container-Managed transaction demarcation, where transactional behavior of a component is defined through its descriptors and handled completely by the EJB container, thus acting as an implicit dependency

45、 of the EJB on the underlying Transaction Manager service.2.3 Links Between Components2.3.1 Remote InteractionsJ2EE defines only three basic inter-component connection types that can cross application server boundaries, in all three cases; communication is accomplished through special Java objects.

46、Remote EJB invocation: synchronous EJB invocations through EJB Home and EJB Object interfaces. Java Connector outbound connection: synchronous message receipt, synchronous and asynchronous message sending,Database query using Connection Factory and Connection interfaces. Java Connector inbound conne

47、ction: asynchronous message delivery into Message-Driven Beans (MDBs) only, utilizing Activation Spec objects. In the first two cases, an application component developer writes the code that performs lookup of these objects in the components run-time JNDI context as well as code that issues method i

48、nvocations or sends and receives messages to and from the remote component. The components run-time JNDI context is created for each deployment of the component.Bindings in the context are initialized at component deployment time by the deployed (usually by means of components deployment descriptors

49、). These bindings are assumed to be static, since the specification does not provide any contract between the container and the component to inform of any binding changes In the case of Java Connector inbound communication, Activation Spec object lookup and all subsequent interactions with it are do

50、ne implicitly by the MDB container. The protocol for lookup has not been standardized, though it is reasonable to assume a JMX- or JNDI-based lookup assuming the underlying application server provides facilities to control each step of deployment process, establishment of a link between J2EE compone

51、nts would involve: Deployment of target component classes (optional for some components, like destinations), Creation of a special Java object to be used as a target components proxy, Binding of this object with components host naming service (JNDI or JMX), Start of the target component, Deployment

52、of referencing component classes, Creation and population of referencing components run-time context in its host naming service, start of the referencing component.However, none of modern application servers allow detailed control of the deployment process for all component types beyond what is poss

53、ible by limited options in their deployment descriptors 4. Therefore our infrastructure will use a simplified approach that relies on features currently available on most application servers: Ability to deploy messaging destinations and data sources dynamically, Ability to create and bind into JNDI

54、special objects to access messaging destinations and data sources, Ability to specify initial binding of EJB Home objects upon EJB component deployment, Ability to specify a JNDI reference 5 in the referencing components run-time context to point to the EJB Home binding of the referenced EJB compone

55、nt. In our infrastructure which is limited to homogeneous application servers, these options are sufficient to control intercomponent links through simple deployment descriptor manipulation. However, in context of heterogeneous application servers, simple JNDI references and thus simple descriptor m

56、anipulation are insufficient due to cross-application-serverClassloading issues.2.3.2 Local InteractionsSome interactions between components can occur only between components co-located in the same application server JVM and sometimes only in the same container. In the Web tier, examples of such int

57、eractions are servlet-to-servlet request forwarding. In the EJB tier, such interactions are CMP Entity relations and invocations via EJB local interfaces. Such local deployment concerns need not be exposed at the level of a distributed deployment infrastructure other than to ensure collocation. Ther

58、efore, the infrastructure treats all components requiring collocation as a single component.2.4 Deployment of J2EE Applications and System Services2.4.1 Deployment of Application ComponentsDeployment and undeployment of standard J2EE components has not yet been standardized (see JSR 88 10 for standa

59、rdization effort 6). Therefore, each application server vendor provides proprietary facilities for component deployment and undeployment. And while the J2EE specification does define packaging of standard components which includes format and location of XML-based deployment descriptors within the pa

60、ckage, this package is not required to be deployable by an application server without proprietary transformation. Examples of such transformation are Generation of additional proprietary descriptors that supplement or replace the standard ones, Code generation of application server-specific classes.

61、In order to proceed with building a dynamic distributed deployment infrastructure capable of deploying in heterogeneous networks, we propose a universal unit of deployment to be a single XML-based deployment descriptor or a set of such,Bundled into an archive. The archive may optionally include Java

62、 classes that implement the component and any other resources that the component may need. Alternatively, the deployment descriptors may simply have URL references to codebases. We assume presence of a dynamic deployment/undeployment service on all compliant J2EE servers and a robust application ser

63、ver classloading architecture capable of repeated deployment cycles without undesired classloading-related issues. Most modern application servers (e.g., JBoss and Geronimo) do provide such facilities.2.4.2 Deployment of System Components (Services)While lacking only in the area of defining a clear

64、specification of deployment and undeployment when it comes to application components, the J2EE standard falls much shorter with respect to system services. Not only a standardized deployment facility for system services is not specified, the specification, in fact, places no requirements even on lif

65、e cycle properties of these services, nor does it address the issue of explicit specification of application component dependencies on the underlying system services. Instead it defines a role of human deploy who is responsible for ensuring that the required services are running based on his/her understanding of dependencies of application components on system services as implied by the nature of components and their deployment descriptors.8基于J2EE在分布式環(huán)境下的底層結(jié)構(gòu)的自動(dòng)動(dòng)態(tài)配置的應(yīng)用Anatoly Akkerman, Alexander Totok, and Vijay Karamcheti1. 前言近幾年,我們已經(jīng)看到基于組件的企業(yè)應(yīng)用開發(fā)的顯著增加。這種應(yīng)用程序通常被部署在公司的

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!