The Business Object Framework
General Overview
Back to Framework Page

The "Business Object Framework" (the "BOF") consists of computer code written with the Java programming language (J2EE or Java 2 Platform, Enterprise Edition) which serves as the foundation from which typical business applications can be built.  A "typical business application" can be defined as one which business data is stored in a structured, persistent data source (usually a relational database).  This application is accessed by multiple users for the purpose of manipulating (creating, retrieving, updating and deleting) this data.  A common feature of business applications is the ability to produce reports which list and/or summarize data based on criteria specified at the time that the report is run.  The work "Business" in the name of the framework does not imply that it cannot be used for non-profit organizations.

Besides the base programming language, many projects will use some sort of framework software, which may be simple or complex, ad-hoc or formal, commercial or not.  What framework software does is take a set of commonly-performed actions and instead of making an action concrete ("go to the store and buy a quart of milk"), the action will be made more abstract (perform action 'A' at enterprise 'B' with item 'C' where 'A' = 'go and buy', 'B' = 'store' and 'C' = 'a quart of milk').  Greater abstraction generally allows more code re-use.  The objectives of using a framework are :

Characteristics common to most framework software, including the BOF are: The BOF includes programs which will generate Java code for application-specific BOF components.  The application programmer, using these components and other BOF utilities, constructs an application by programming application-specific business rules and processes as well as user interface code (including HTML and JSP pages).  The BOF does not address application deployment.  While the BOF is meant to be used with a J2EE-compliant Application Server, if the application program does not need Container-managed transactions or EJB functionality, servers which are not J2EE-compliant but which support the HttpServlet classes (including JSP's) can use the framework.  The advantage of such servers is their lower cost as compared to fully J2EE-compliant Application Servers.

The biggest value of the BOF is that it reduces the amount of coding required to interact with persistent data sources and uses a consistent set of methods regardless of the type of data source that is used.  The BOF has a dynamic SQL generator which can generate 95%+ of the SQL used in a typical application.  In the BOF, the methods used to access an Oracle database is the same as the methods used to access an IBM DB2 database, which is the same as the methods to access certain LDAP Directory Servers.  The BOF also uses a consistent set of methods to interact with the non-persistent data contained in the Java objects.  The result of this consistency is that it is relatively easy for the programmer to write code which manipulates application data, regardless of where it came from or where it is going.

Different framework software serve different purposes and have different strengths and weaknesses.  The BOF framework can be positioned vis-a-vis other framework software that the author has encountered over the years as follows:

As is the case with any worthwhile framework software, the BOF requires a change in how applications are programmed.  As such, any programmer resistance must be overcome before the implementation of the framework can be successful. 

Technical Overview

Real-World Experience