What Is a Service?
There are many different definitions of a service but that from the Open Group is as good as any. According to them, a service:
- Represents a discrete business activity with a specified outcome.
- Is largely self-contained.
- Is a ‘black box’ for those that use it, meaning that there is no requirement to understand the service's inner workings.
- May include (or even consist entirely) of other services.
These services are generally loosely coupled and so largely independent of the other services in the application – meaning they can be modified easily without the ‘knock-on’ effects described above. The same service can also be reused if the same functionality is required by a different part of the application.
What Are the Benefits of a Service-Oriented Architecture?
The net effect of all of this is that SOA addresses many of the frustrations outlined earlier in this article. It drastically reduces the cost and complexity associated with enterprise software development. It also massively increases the speed with which new applications can be created and deployed – and existing ones upgraded. To the business, an SOA simply means that the IT department is far more responsive to their needs and the organization is significantly more agile as a result.