The generic application container framework is a set of extensions for applications that are contained within a single view part. A Web application with many pages is one example.
Composite applications are typically thought of as the assembly of components on a page and the wiring of those components together. While the concept of wiring heterogeneous technologies is a good one, the reality is, these components are at many times too simple for real business value; they usually have to be rewritten or created from scratch. The generic application container framework allows for existing applications to be assembled as components on the screen and wired together. This means that existing applications, whether they are Web applications, host on demand applications, or even spreadsheets can now be assembled in a generic manner.
The core concept is to provide a new container framework where different kinds of containers can be created on top of the core framework. An application container is a container that supports multiple screens within the container. For instance, the existing portlet container shows a single portlet, while a Web application may have any number of pages within the Web application. The latter is exactly the kind of application this framework is designed for. The containers support configurations where the different pages of the application can be identified by what is called a landmark. A landmark is the data used to identify a specific screen (or multiple screens) within the container; it can also be considered the state of the application. The configuration allows for any number of properties to be defined and for defining different actions for consuming and publishing those properties at different events within a given landmark.
Each configuration of an application tells the core container framework what to do during specific events at a given landmark. The configuration is where the assembler or developer defines how the application surfaces as a component in the composite application infrastructure, for example, what inputs and outputs are available.
Events and event handlers within the Generic Application Container Framework
The Generic Application Container Framework within the Composite Application Infrastructure (CAI) allows for the declaration of events and actions to be executed when that event is fired.
Landmark configuration extension point
In addition to specifying a landmark in the application configuration extension, you can also contribute new landmark definitions with the landmark configuration extension point.
One element that is included when declaring a new application configuration is the built-in output properties that are created for wiring in the composite application editor. The first output property is Landmark, which contains the value of the current landmark and is published on content complete.
Creating custom actions
If you are defining a new application based on a container in plugin.xml
you can also define custom actions that can be wired to properties.
Defining your landmark configurations in the Composite Application Editor
This section provides information about setting the landmark configurations in the Composite Application Editor (CAE).
Web browser containers
A Web application is a series of pages considered to be a part of the same overall application. Each landmark must be defined in a manner in which the landmark identifier can distinguish each page from every other. This approach means that there must be flexibility in how landmark identifiers are determined. While you can always use the class
attribute and write your own Java
™ code to return a unique value, a Web browser container has several tags that can be used for the same purpose.
Building your own application containers
This section provides information about creating your own application containers.
Implementing a Lotus Notes view container
This section is a step-by-step guide to implementing a Lotus Notes
® view container. It uses a real business-case example for the purpose of the demonstration.
Adding a landmark toolbar to a Lotus Notes View container
You can create a toolbar that allows you to define landmarks inline while you are editing your composite application in the Composite Application Editor (CAE). You do not need to open the advanced properties to define a new landmark.