Eden Logo RangeBoss Architecture  


RangeBoss Architecture


RangeBoss arch layers

The diagram shows the the top level structure of an RangeBoss web application. The parts are grouped into layers with specific functions. The layers communicate with the other layers. The different layers vary on how they are contructed and maintained. The may be binary, tool-generated, or hand-constructed. The strategy is to progress with further factoring and automation of construction.
 
Custom Pages   These capture the specific services and presentation. They handle top level control of requests. They include JSP and HTML pages as well as images. RangeBoss relies on styles to manage the core look.
 
Custom Classes   These are java classes that instantiate the business objects and their behaviour. These handle the model, view, and lower level control of requests. The also provide data object adapters. They inherit common behaviour from the Utility Classes. The code generator handles much of the work of generating them. There are hooks to override or augment their base behaviour.
 
Utility Classes   These classes factor out base behaviour for the business objects. The implement a suite of browse and edit patterns. The library includes an application context that glues the pages together and manages application, session, and request contexts. The libraries also has convenience methods to simplify coding and buffer the application from the underlying technology.
 
Tech Platforms   This layer provides the core technology for web applications. It includes the Java J2EE Platform. For simplicity, the focus is intentionally on the web tier.
 
Data Base   This provides the engine for persistence. The architecture assumes a JDBC accessible database. The classes are tuned for MySql and has been used with Oracle and Sql Server.
 
Custom Tables   This is the persistent representation of the business objects. The code generator creates the SQL for tables.
 
Code Generator   The Code Generator uses a common description of the business objects to create Java, HTML, and SQL to implement them and glue them to the libraries.