The Geometry Service(GS) is an application that expands on the functionality of the Geometry Engine (GE) by adding Communications Management, Session Management, Access Controls, and Job Management.
The GS provides:
| Namespace | GeometryService |
| Stereotype | Boundary |
| Scope | Public, Concrete |
| Description | Top level class for the GeometryService Namespace. Provides the static main() function and contains the main loop. Is the anchorning point for singleton classes like: AccessManager, SessionManager, CommunicationsManager and JobManager. |
| Namespace | GeometryService |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Singleton. Manages access controls to resources based on authentication. |
| Namespace | GeometryService |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Singleton. Manages Session objects and provides access to them. |
| Namespace | GeometryService |
| Stereotype | Entity |
| Scope | Public, Concrete |
| Description | Contains information pertaining to an individual User's current session. |
| Namespace | GeometryService |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Singleton. Manages AbstractPortal objects and maintains an Inbox and Outbox queue. Manages Remote Hostname Lists. |
| Namespace | GeometryService |
| Stereotype | Control |
| Scope | Public, Abstract |
| Description | Base class for all Portal type objects. Mandates required functionality for subclasses. Allows for extensibility. |
| Namespace | GeometryService |
| Stereotype | Boundary |
| Scope | Public, Concrete |
| Description | Subclass of AbstractPortal. Currently a Stubbed class. Functionality will be to bridge processess on the same physical computer and allow transfer ot NetMsg objects without the need to serialize the data. |
| Namespace | GeometryService |
| Stereotype | Boundary |
| Scope | Public, Concrete |
| Description | Subclass of AbstractPortal. Functionality will be to allow external connections over Sockets. Will use libpkg as the underlying data transfer protocol. |
| Namespace | Jobs |
| Stereotype | Entity |
| Scope | Public, Concrete |
| Description | Maintains the Job queue and allows for addition of Jobs. Provides management over JobWorkers objects. |
| Namespace | Jobs |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Provides the ability to submit AbstractJobs to the JobManager on a reocurring basis or a single time delayed basis. |
| Namespace | Jobs |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Works with the JobManager and executes individual jobs based on priority and Job queue status. Will likely run in its own thread. |
| Namespace | Job |
| Stereotype | Control |
| Scope | Public, Abstract |
| Description | Bass class that defines the required attributes and operations of any Job. |
| Namespace | Job |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Subclass of AbstractJob. Provides the routine to take a NetMsg, lookup which NetMsgActionDefinition is applicable to the NetMsg's msgType and peform the actions spelled out by the NetMsgActionDefinition. Most often, this will result in the generation of further AbstractJobs being generated. |
| Namespace | Job |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Subclass of AbstractJob. Executes commands necessary to instantiate a new session. |
| Namespace | GeometryService |
| Stereotype | Entity |
| Scope | Public, Concrete |
| Description | Simple structure type object that contains the contents of a recieved Msg or to be sent Msg via an AbstractPortal. |
| Namespace | NMAD |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Manages all NetMsgActionDefinition objects. Maintains a (int)msgType to AbstractNetMsgActionDef& map. Provides for registering and unregistering of NetMsgActionDefinition objects. |
| Namespace | NMAD |
| Stereotype | Control |
| Scope | Public, Abstract |
| Description | Abstract Base class that mandates certain attributes and operations required to perform the task of a NetMsgActionDef. A NetMsgActionDef is a definition of commands to be performed when a NetMsg of the appropriate msgType is recieved via an AbstractPortal. This makes the NetMsgActionDef system extensible. |
| Namespace | NMAD |
| Stereotype | Control |
| Scope | Public, Concrete |
| Description | Subclass of AbstractNetMsgActionDef. Details the actions to be performed in order to instantiate a new session. In specific, this creates a NewSessionJob object and submits it to the JobManager queue for execution. |