1

What is the difference between an SOA service and other kinds of services like an application or domain service ?

Rijndael
  • 3,683
  • 2
  • 24
  • 26

2 Answers2

1

Have a look here. http://www.bennadel.com/blog/2385-application-services-vs-infrastructure-services-vs-domain-services.htm

Short answer

DDD Domain Services operate on Domain Entities. Usually where the work that needs to be done spans multiple Aggregate roots.

DDD Application Services drives workflow. For example if you want to do some work on a domain entity, the Application Service would be responsible to fetch the entity from the data store, call the domain service to do the work, do some work via an integration service if needed, and then lastly persist the change.

SneakyPeet
  • 607
  • 5
  • 14
1

This is an interesting question since SOA is such as broad and overloaded term.

If we take SOA to mean any implementation that results in a mechanism to reach 'services' then even application and domain services will form part of SOA services. Application and domain services will even fall within the realm of micro-services although application services are usually surfaced through some integration mechanism.

I like to think of these things in terms of 'reachability'. WikiPedia:

In graph theory, reachability refers to the ability to get from one vertex to another within a graph

So, it depends on how reachable your code is. A bunch of domain services could, theoretically, form a service-oriented architecture.

The only differences is in how you surface your services.

Eben Roux
  • 12,983
  • 2
  • 27
  • 48