User Manual: Implementing Service Managers
This section describes the design concepts and patterns of the Service Manager approach. It also has a Cookbook style guide to implementing a Service Method.
Service Manager related Design Concepts & Patterns
Service Managers are at the heart of the openSEAL approach to Service Oriented Architecture (SOA). A service is basically the endpoint of a connection to some type of computer resource. This section provides information on the specification of services. In openSEAL, a Service Manager is a logical grouping of one or more Service Methods, generally grouped along functional lines. It is good design practice that the public interface and the implementation of all Service Managers be separated. The work performed by the Service Method is typically done by one or more Activities. These activities can include business rule validation, database access, message queue postings, in fact, any unit of work that your business application may perform. Since a Service Method is designed to be accessable publically (typically via .NET Remoting), it denotes a single transactional unit of work (in otherwords, transaction do not span multiple Service Methods).
Service Managers and Service Methods
An Activity is a class that implements IManagedResourceActivity and encapsulates a unit of work against a certain type of Managed Resource. Examples of Managed Resources include Relational Databases and Message Queues.
Database Agents are, you guessed it, Activities that are specifically designed to access Database Managed Resources. openSEAL has several base classes available for you to subclass and quickly include database access to your application.
Message Queue Agents
Message Queue Agents are the Message Queue equivalent to Database Agents. No prizes for guessing that! openSEAL has an abstract base class, BaseTransactionalMessageAgent, that you can extend from to access a message queue in a transactional context.
While enterprise applications typically rely heavily on Databases and Messaging, clearly these are not the only types of activities your application could want to do. In order to
Note to contributors: we encourage you to submit Activities that you think would be suitable for inclusion in the openSEAL libraries so that the whole community can to gain productivity. Learn more >>