Java Reference
In-Depth Information
Identifying Different Kinds of Services
Problem
You need to identify the different kinds of services you can build in order to design them with
appropriate levels of granularity and proper division of labor.
Solution
There are three basic kinds of services: entity, functional, and process services.
Discussion
The three basic categories into which your service candidates might fall are as follows:
Entity service
Entity service
An entity service represents one or more business entities. An entity is a noun that makes
up the objects in an enterprise. Examples of entities include Customer, Invoice, Employee,
Product, and so on. An entity service might feature CRUD (Create, Read, Update, Delete)
operations for basic entities that are fundamentally decomposed. Just because something
is a noun doesn't mean it is an entity service. For example, CustomerAccount might be
created by a number of different systems interacting. In such a case, you may need to pro-
mote the creation of accounts to a workflow process service. Keep service autonomy as a
goal, and that should help steer you to the appropriate service type.
Because many entities are referred to throughout the enterprise, they can be easy to identi-
fy, and services based on them afford a good prospect for reuse. These can be employed
as a “single source of the truth” strategy within a master data management scheme.
Functional service
Functional service
A functional service does not represent either a business process or a business entity, and
it has no representation within a business model. It can be represented within a sequence
diagram, however. A functional service is a technology-oriented service, not a business-
oriented service. Its purpose is to provide reusable, centralized functionality that other ser-
vices will rely on.
A functional service may be required to perform a given function, such as sending an
email, or handling exceptions in a standardized manner that supports them with logging
Search WWH ::




Custom Search