SOA Patterns > Service Messaging Patterns > Service Agent
Service Agent (Erl)
How can event-driven logic be separated and governed independently?
Service compositions can become large and inefficient, especially when required to invoke granular capabilities across multiple services.
Event-driven logic can be deferred to event-driven programs that don’t require explicit invocation, thereby reducing the size and performance strain of service compositions.
Service agents can be designed to automatically respond to predefined conditions without invocation via a published contract.
The complexity of composition logic increases when it is distributed across services, and event-driven agents and reliance on service agents can further tie an inventory architecture to proprietary vendor technology.
Two service agents replace the need for the explicit invocation of utility services E and G. By deferring common logic to service agents, the overall quantity of explicitly invoked services decreases.