JPloy: A Component Deployment Environment for Java

JPloy: A Component Deployment Environment for Java

Overview

JPloy is a component runtime environment for Java components. It enables users to:

  • configure and execute applications with component-oriented architectures;
  • easily exchange and update components;
  • define and enforce syntactic and semantic constraints on component-based architectures.
A JPloy application consists of a number of components (realized as Java Jar files) and configurations. A configuration is a specification that describes how a set of components interact; it encapsulates a component-oriented architecture.

JPloy makes it easy to exchange and update components. To exchange a component with a compatible alternative, the architect only needs to modify the configurations in which it participates; no other components need to be changed. Components do not need to be available in source code form; all features of the JPloy environment interact with bytecodes only. All valid Jar files can be used as components.

JPloy provides concurrent versioning of components. This means that several components that contain classes of the same name can be deployed concurrently. Concurrent versioning enables simpler updating and exchanging of components, since not all configurations in which a component is used need to be updated at the same time.

In order to ensure that architectures are implemented correctly, JPloy provides architectural enforcement. For example, a runtime exception will be thrown when a component tries to access another component, even though the architect has not established a connector between the two components. Connectors can additionally contain semantic constraints, such as postconditions that must be met by components.

Goals of the JPloy Project

JPloy is aimed at getting us a step closer to the ideal of coding with reusable building blocks. JPloy components can be individually exchanged and checked, thus providing a framework for working with component-oriented architectures. We are continually extending and improving the environment, and applying it to new case studies.

Publications

Chris Lüer, André van der Hoek, JPloy: User-Centric Deployment Support in a Component Platform, 2nd International Working Conference on Component Deployment (CD 2004), Edinburgh, 2004. Published in: Component Deployment, Springer, Heidelberg 2004, pages 190-204. PDF

Chris Lüer, User-Centric Deployment Support in a Component Platform, doctoral dissertation, University of California, Irvine, August 2004. PDF

Contact Information

Christian Lüer, Ph.D.
Computer Science Department
Ball State University
Muncie, IN 47304
http://www.cs.bsu.edu/homepages/chl/JPloy/