Applications

Use

Applications, which can range from simple Web applications to complete Enterprise JavaBeans (EJB) based solutions, form the third level of the AS Java system architecture. The boundary between the applications level and the AS Java system components level is defined by the Java EE APIs along with a number of SAP proprietary APIs. Applications use them to utilize the functions of the different types of components on the lower level in the system.

An enterprise application consists of several types of application components. These components reside in different containers on the AS Java system, such as Web container, EJB container, Web services container and so on. Each of these containers provides runtime services and lifecycle management for the application components.

Applications inform other applications or AS Java system components that they need to use their classes or runtime objects by defining references to them.

Application References

The AS Java provides a way of fully integrating applications running on it with the existing AS Java system components, by defining a reliable and comprehensible mechanism for defining dependencies between them. Using this mechanism, an application can reuse the resources of existing components.

The purpose of this mechanism is to hide the complexity from application developers having to explicitly define references between the application class loader and other system class loaders, and register them in the AS Java Class Loading System. The Deploy Service has a built-in mechanism that performs all these tasks using the references that the application developer has defined.

Application References Appliance

The mechanism is based on defining references from an application to another component. An application can set references to:

Other applications that are deployed on the AS Java

  • AS Java system components (services, libraries, and interfaces)

  • A standalone Web module (a WAR file)

  • A standalone EJB module (a JAR file)

  • A standalone resource adapter module (an RAR file)

There are two types of application references - weak and strong.

Weak Application References

An application (A) sets a weak reference to another component or application (B) if it needs to use its classes. If the referenced component or application (B) is not started (or not loaded for libraries), the application (A) will be started but will not be able to use classes of component (B). If the referenced component (B) is later started or loaded, the application (A) will not be restarted automatically and will not be able to use the classes of the component (B). To do so, the application (A) has to be restarted manually.

Strong Application References

An application sets a strong reference to another component or application if it needs its classes and runtime objects. If the referenced component or application is not started (or not loaded for libraries), the application will not be started at all.

Default Application References

For the purpose of simplifying the work of the application deployer, the AS Java provides a set of default references. If you want to see a list of the default references, see the default value of the StandardApplicationReferences property of the Deploy Service.

If you need to set additional references, you must set them at application deployment time.