The goal of our research is to enable programmers to generate most of the code and deployment descriptors for simple and/or prototype Java EE applications. Application files are embedded within a development environment, such as WebSphere or Rational Studio. There, the user can complete the application by performing a few simple "clean-up" steps and then test and debug it.
The Java EE system is generated from two XML files that describe 1) the application's semantic requirements -- the user types, data objects, and relations -- and 2) a layered implementation that can meet the application's functional and performance requirements -- e.g., an HTTP container, PhP, and a DBMS solution; or a Web container solution with Java MVC layers and JDBC connection to DBMS; or a full Application Server solution including both Web and EJB containers. Both XML files are produced by tools within a project management system. Application code and project structures are generated from plugins for WebSphere Studio 5.2.1 or Rational Application Developer 7.5. Using our resources, programmers should be able to develop prototype implementations that might normally take days or weeks in a matter of hours.
We are also extending our work theoretically. First, we are developing an algebra to formally describe applications. This algebra includes the following operators: addition, subtraction, multiplication, and division. Thus, it approximates a mathematical field. These resources will allow us to reason about compositions in a rigorous way. Second, we are exploring the notion of composing application descriptions to produce more complex applications. Third, we are extending our project management tools to include a composition development component.
Thus, we are attempting to integrate theory and formality, with requirements and design patterns, with tools and implementation, to produce running systems.
Project Manager: Application
Plugin for WebSphere Studio 5.1.2: Download
EJB Applications: WSAD