As thought was given to the need for system wide (non ContextContainer
specific) events, it occurred that other system wide actions (web services) and
configuration (properties) were needed. So, the these additional needs were
included in a system wide approach. The result was the idea to create a
SystemContainer.
The SystemContainer is used to interact with the Corona system as a whole. In addition to
providing a mechanism for system events, the container will also be used to define
Corona system
wide properties and properties.
For example, consider a SystemContainer that defines the following:
1. RepositoryDescriptors
1.
RemoteEventRouter for system
events
2.
Mylar webservice endpoint (for
EclispeCon demo)
3.
Descriptor for each
ProjectContainer
2. Properties
1.
Connection timeout to determine
when a workgroup member has disconnected
Use Case: Workbench PCX Startup (SystemContainer: RepositoryDescriptor)
1. When
the PCX first starts, it requests the SystemContainer from the Corona server.
2. The
PCX retrieves the list of ProjectContainers from the SystemContainer’s
RepositoryDescriptors (see 1.3 above)
3. List
of available ProjectContainers (no including the SystemContainer) is displayed
to the user.
4. The
user selects a ProjectContainer to open
5. The
PCX opens the selected ProjectContainer based upon it RepositoryDescriptor and
connection parameters.
Use Case: Define new ProjectContainer (SystemContainer: Events)
1. A
new ProjectContainer is defined via web service call to Corona server’s ContainerManager
2. The
ContainerManager updates the SystemContainer to create a new
RepositoryDesciptor for the new ProjectContainer
3. A
SystemContainer update event is posted.
4. Each
Workbench PCX handles the SystemContainer update event
5. Each
PCX updates its display showing the new ProjectContainer
Use Case: Workbench Connection Timeout (SystemContainer: Properties)
1. The
SystemContainer has a property defined to specifies a connection timeout, the
length of time a Workbench is idle before it is to be considered disconnected.
2. Each
Workbench ensures it has sent some action or event within the specified
connection timeout to ensure its connections stays active.
3. The
Corona server
monitors the connection state for each Workbench. Workbench connections will
be disconnected for each connection that has been idle longer than the
specified value of the SystemContainer connection.timeout property.
I hope this helps to explain how the SystemContainer can be used not
only for system wide events, but also for actions and configuration properties.
The contents of this e-mail are intended for the named addressee only. It contains information that may be confidential. Unless you are the named addressee or an authorized designee, you may not copy or use it, or disclose it to anyone else. If you received it in error please notify us immediately and then destroy it.