Foundation Layer (FL)
Foundation Layer (FL) is a technology intended to simplify the process of the construction of business applications that use the RDBMS as well as to improve the quality and the reliability of the software constructed. For that FL provides you with transactional persistent object storage service. The only thing you have to do is to build a functional informational model of the system and FL generates a JAVA code that supports your informational model. Currently, the FL supports generation in Java, and we apply this framework dynamically in our current projects with business applications.
How does it work
At the first step, we use Rational Rose for analysis and design of applications. More exactly use case, class, state and collaboration diagrams are drawn in Rose in UML (UML is the industry standard notation for Object oriented analysis/design). Then class diagrams are used for automatic generation of business objects' code based on FL (we use our special code generation technique in Foundation Layer). An automatically generated code supports all the life cycle operations for persistent (business) objects. The FL supports the persistence of business objects over a database. The mapping to DB2, Microsoft Access, ORACLE, Microsoft SQL Server is maintained now. To provide integrity of data FL allows transactions. The front-end classes of the FL framework are database independent, but it is no problem to use database dependents on SQLs to speed up an application (for example, using mass loading technique).
- Build software easier and faster.
- Easily identify, manage, and control change.
- Improve communication in the whole project team.
- Programmer does not need to do tiring and monotonous modifications of code relating to database access. This increases the development speed and reduces the number of errors that may appear when database schema changes.
- Any developer, analyst, or customer can read and discuss problem domain related issues using the same documentation source (UMLT diagrams in Rational Rose).
- Protect your investments into the application logic - FL approach becomes useful especially when market situation and fashion change very quickly and unpredictably. FL approach lets you protect your investments in the application logic (vs. application implementation) and make it independent of Fluctuations of environment (for instance using FL you can easily switch your application from one RDBMS to another).
- Another good reason to use FL approach is that it allows propagating changes in the functional requirements to the working code with less cost. The software life cycle (analysis => design => coding => ...) becomes quicker and cheaper.
- FL supports:
- Complete life cycle operations for persistent objects.
- OQL (Object Query Language) that allows making queries to a database in terms of objects.
- FL gives you tools for optimizing the access to database:
- Objects mass loading
- Using of cache
- FL does exact database update
- Using FL requires a smaller number of operations so it consequently reduces the number of possible mistakes.
- FL reduces the problems with the different presentation of data types in the different RDBMSs
- Platforms: Windows 95/98/NT/2000 or Unix
- The Software Needed for Development:
- Java Development Kit (JDK) 1.1.x or 1.2.x.
- The Foundation Layer 4.0.x released for JDK 1.1 or 1.2.
- The com.sun.java.util.collections package from Sun Microsystems, Inc. for JDK 1.1.x (it is included into the FL distribution).
- Rose Enterprise Edition 98i modeling tool of version 6.1 or later.
- The Software Needed in Runtime:
- Java Runtime Environment (JRE).
- fl.jar library
- collections.jar library (for JDK 1.1 only).
- Swing 1.1.x for JDK 1.1 or the jawax.swing package for JDK 1.2.