View Source

h3. SOA Service Categories

|| [!h2a_simple.png|width=100px! Human to Application | H2A] || [!a2a_simple.png|width=100px! Application to Application | A2A] || [!acs_simple.png|width=100px! Aggregated Core Services | ACS] || [!cs_simple.png|width=100px! Core Services | CS] ||
!SOA_Service_Categorization_v2.jpg!


h3. Human to Application (H2A)

[H2A] Services is services involving key user interaction components with one or more humans to fulfill some activity/workflow. For example a booking process or a manual shipment process.

A H2A service is an implementation of a use-case/user story which implements one, and only one human actor


h3. Application to Application (A2A)

[A2A] Services is services which orchestrates services from several applications, typically asynchronous and workflow-backed. I.e. a Auction type request against a set of suppliers or an booking/order/delivery process.

An A2A service is a service which is responsible for collaboration between several human or automated actors.


h3. Aggregated Core Services (ACS)

[ACS] is extensions to Core Services. ACS is usually either context-specializing (CustomerCustomer and VendorCustomer) or aggregations from several Core Services like in CustomerDashboard which aggregates from Customer Service, Order Service and possibly more services.

h3. Core Services (CS)

[CS] is basically data services. Typically they evolve to become the master repository for the most important business objects in the enterprise. Typical examples are Customer and Product. You will also fint that it often makes sense to split a service for a domain object into a CRUD (master) service and a accompanying Query Service to keep the complexity to a managable level, and to allow a more feature rick query interface.

h3. Examples

* [BankServiceUniverse] is a banking example, with vertical function segmentation extensions
* [Data Processing]