As a system, the J2EE Engine consists of three logical layers:
· Java Enterprise Runtime – comprises low-level subsystems that provide functions such as class loading, cluster communication, persistent configuration data management, and so on.
· J2EE Engine Components – consists of interfaces, libraries and services components that provide various runtime functions and programming APIs.
· Applications – refers to the applications that are deployed and run on the J2EE Engine.
J2EE Engine Architecture
The J2EE Engine architecture is based on the following general rule: components from the higher level can use components from lower level; whereas components from the lower level are not aware of the APIs of the components from the higher level and therefore cannot use them.
This rule is reflected by the order of starting the system modules: the runtime is started first, then the services (the libraries are loaded, the interfaces resolved at this phase), and the applications are started last. The system is considered as started when all runtime managers and core services components are started properly.
Components from the higher level use a set of defined APIs to utilize the functions of the components from the lower level. The J2EE Engine components use the Framework APIs to connect to the Java Enterprise Runtime. Applications use the J2EE Engine components by the APIs that are defined by J2EE 1.3 Specification (and supporting specifications) and SAP-proptietary APIs.