《基于j2ee在分布式环境下的底层结构的自动动态配置的应用-外文翻译》由会员分享,可在线阅读,更多相关《基于j2ee在分布式环境下的底层结构的自动动态配置的应用-外文翻译(18页珍藏版)》请在金锄头文库上搜索。
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 dependenciesof application components on system components, and configures component replicas for deployment. An attempt is made to match and reuse any previou