Out of intense complexities, intense simplicities emerge.
– Winston Churchill
In the last three chapters we focused on identifying business services (Chapter 4), defining the business data using information models (Chapter 5), and defining service interfaces (Chapter 6). Therefore, most of our focus has been external — how to define services based on high-level goals and requirements, and their interfaces based on semantically rich data resulting from information modeling. Information modeling is a key aspect, as it places service behavior in the context of the life cycles of enterprise information, providing a more complete view that is sometimes left out by simple functional analysis and decomposition alone. This is useful for the creation of all types of services (business services, domain services, utility services, and so on), and once you have gone through that process and have defined your interfaces and messaging, you have reduced complexity to the point where you can now focus on the internals, or the implementation design of your services. In this chapter, you learn how to define what is inside each service in order to create the service implementations. This is more than just a development or programming task, and it is more than just elaborating on a design. Good service implementation design ensures that the overall architecture is maintained by following the principles established in the enterprise architecture.
This chapter ...