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 :
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: