||Framework for rapid building dynamic e-commerce applications
||3-tier distributed system
||Java 2, Oracle 8i
||Java, Swing, TOPLink, Java 2D, XML, JavaMail, Object Relational Mapping, RMI, JDBC
The project represents system for dynamic creation of Web sites using solid methodology based on technologies included into Java 2 Enterprise Edition. Usage of this framework allows considering process of application development as process of integration of predefined and yet customizable components. Framework assumes object-oriented approach for definition of the problem domain specific entities as well as their relations. It contains basic functionality for support business logic as well as shared code base for application development and customization. Functionality is divided to set of services with well-defined and well-documented interfaces and lightweight classes that implement the core functionality of the system.
The framework is composed from the following subsystems:
- Workflow Management System - responsible for management of workflow definitions and execution of workflow instances;
- Security Manager - responsible for providing uniform controlling the access to system data as well as access to particular pieces of functionality;
- Objects Management System - used to provide uniform access to object meta-data information as well as access to object instances. In turn, the Object Management System includes:
- Object Persistence System - responsible for providing uniform interface to various persistent storages used to preserve state of the objects. This system allows performing object browsing and search as well as object maintenance. Maintenance of objects is performed within context of transaction that is also provided by this subsystem.
- Objects Metadata System - intended to maintain and provide information about object structure (metadata). In general, this subsystem is quite similar to the Object Persistence System, except that it handles object metadata rather that object instance.
- Method Invocation System - responsible for location of the actual code for Business Objects' methods and performing theirs execution.
- Presentation System - provides interfaces and functionality required to support different types of collaboration with the principals;
- Session Management System - lightweight system used to provide uniform approach for sessions support. In general, its main purpose is to encapsulate underlying session management, provided by the hosting environment (Servlets/JSP session management or EJB session management, for example);
- Authentication and Authorization System - defines whether a principal is eligible to access the particular application and assigns security role for principal. This system is used mostly during login of the principal to the system.
- Auditing System - provides uniform and centralized approach for implementing of the system audit.
The figure at the top of the page shows the shot of sample client application that tightly works with server one written using Business Applications Framework. This application allows viewing and maintaining of metadata, localization and security information.
The project is implemented based on Java Platform.
The system utilizes a number of J2SE and J2EE technologies like Java Security API, Java Transaction API, and Bean Contexts API etc.
There is a built-in persistence adapter written using TOPLink middleware. It allows to use a relational database, accessible through JDBC protocol, as persistence storage.
XML is used as primary interchange format that allows communication between running systems, export/import and backup operations etc.