The application offers many extenisibily points. These extensions should receive updates of what is happening inside the application.
The updates come in the form of events. Each major operation on the service level should raise an appropriate event that is dispatched and sent to all registered event listeners.
The proposed way of doing this is by setting annotation on the business operations (@BusinessOperation?). The annotation will have an attribute value which specifies the classname of the type of event related with this business operation. An after returning aspect will intercept calls to annotated methods and raise the event on behalf of the service implementation.
The aspect will use the dispatcher to dispatch the events (asynchronously?). One of the event listeners is the OsgiPathwayEventListener, which will listen for events implementing the PathwayAware interface and forward this event to the ClinicalPatwayProvider implementation that provides the patway from the event.
Class diagram
Sequence diagram
Attachments
- event dispatching_class.png (24.7 kB) -
Event dispatching class diagram
, added by allard@jteam.nl on 06/10/08 11:47:23. - event dispatching_sequence.png (12.6 kB) -
Event dispatching sequence diagram
, added by allard@jteam.nl on 06/10/08 11:47:36.


