Synchrony abstraction

Abstraction of synchrony is the proposed ability to generically call a service or operation without regard to whether the target service is configured as a synchronous or asynchronous protocol. The user may then call all services and expect a reply which may be utilized generically.

This architectural abstraction is made necessary due to functional logic abstraction, which is the capability of separating business logic implementation code from the service protocol implementation calling it. The fact that business logic implementations (operations) may be implemented in synchronous or asynchronous manners and that these business logic implementations may be interchangeable can cause problems when not addressed.