Registration Class Broker Package

38 Copyright © 2010 Open Geospatial Consortium, Inc.

6.2.1.5.3 Registrar Interface

Defines operations to register for sending notifications to the implementing entity and to get existing registrations. Table 26 – Registrar Operations Method Notes getRegistrations Retrieves all currently existing registrations. register Creates a registration. Upon success, the new registration is returned - otherwise an exception.

6.2.2 Behavior Model

The following subsections document a selection of the behavior that is expected from an OGC publish subscribe service. The model mostly covers important aspects. This work can and should be continued in the future to define the desired behavior in more detail.

6.2.2.1 Resources Lifecycle Management

As described in section 6.2.1.2, a resource may have a lifetime. If it has, then it can be explicitly terminated. It may also be terminated automatically once the scheduled termination time has expired. The following diagram shows the interactions and events involved in terminating a resource. This lifecycle management applies to all resources with lifetime, for example subscriptions and registrations. Copyright © 2010 Open Geospatial Consortium, Inc. 39 R e s o u rc e O w n e r R e s o u rc e M a n a g e r :R e s o u rc e M a n a g e r Terminate resource Terminate Expired Send termination message Delete resource Terminate call Terminate «loop» Check termination times Check termination time Expired Stop Stop Stop [TerminationEventEndpoint defined] [otherwise] [resource expired] [otherwise] Figure 12: Scheduled and Immediate Resource Termination Acitivity Figure 12 shows that the activities of the resource manager and owner are performed in parallel. When a resource owner invokes the terminate operation on a resource, a Terminate event is emitted. The resource manager continuously checks the termination times of all resources with lifetime it governs. If a resource has expired, an Expired event is emitted. When receiving a Terminate or Expired event, the resource manager terminates the resource that is pointed to by the event. Before deleting a resource, the resource manager has to check if a termination message shall be published. In case that a TerminationEventEndpoint was set for the resource, a termination event is sent to that endpoint.