5: Is SOA Right for You?
SOA is not a panacea, and there may be situations in which it is not worth adopting. The author lists some of the qualities of a business that will not benefit much, if at all, by implementing SOA:
- Uses a small number of applications or the level of interaction between the applications is minimal
- Does not have automated interactions with external entities (suppliers and customers, chiefly)
- Has lightweight data processing needs and does not need to manage processing resources
- Does not have personnel skilled in SOA and does not wish to invest in obtaining them or retraining existing personnel
- Relies upon the functionality of black-box systems that cannot be adapted to provide or receive data from external components
- Is a low-tech business that does not have processes that can be automated or assisted much by information technology
- Does not perform routine tasks in sufficient quantity for the cost of implementing SOA to be covered by the economic benefits
- Provides a service that is largely customized, such that each "job" done requires a different set of tasks and there is not much similarity from one job to the next
The author advises against a knee-jerk reaction to SOA, either for or against: you may be dismissing a lot of potential benefits, or you may be leaping into a long-term commitment that you will later regret. Develop business cases, financial analyses, and do your due diligence.
The author repeats": SOA is not an all-or-nothing gambit. There may be parts of a business that could reap immediate benefits from SOA, and since it is a development technique, it can be applied to any IT project.
Generally, custom development will be needed whenever an existing system or vendor solution is not a perfect match for your needs, out of the box. Building out the middleware necessary to adapt the solution to your needs can be done in a service-oriented manner, and this will begin (or grow) the library of services that can be leveraged by future projects.