The Application Services are the direct clients of the domain model. For options on the logical location of Application Service, see Architecture (4). These are responsible for task coordination of use case flows, one service method per flow. When using an ACID database, the Application Services also control transactions, ensuring that model state transitions are atomically persisted. I discuss transaction control here briefly, but see Repositories (12) for a broader perspective. Security is also commonly cared for by Application Services.

