When you start with SOA, a good method for mapping your strategy is to audit your existing applications. Map the features in the software with your business processes. Once done, you will have a good idea of what you have and where you can start building services that are boundary free.
2. Make it simple "enough"- and not one bit simpler (Create A Workout Plan): There is an art to deciding how much of a feature's logic should be available to other services and how much should be stuffed in a black box, obfuscated for simplicity. I would err on the side of obfuscation and try to make a service as simple as possible. Don't fret too much over whether a certain method should be exposed. In general, if I can find a way to obfuscate it, I will. If I determine later that a benefit exists in exposing a method, I can always refactor.
3. Work Those SOA Practices (Hit the Gym): To develop quality SOA practices in your organization, you need to work on it every day. This means espousing the benefits, casting vision, sitting in on architecture meetings, reviewing code, teaching your staff, and more. To see the benefits of SOA, you need to diligently work to drive adoption. There will be plateaus, and you and your staff will want to slack off. Don't. Stick with it and you will experience the benefits over time.
4. Continue learning and sustain your momentum (Maintenance): This strategy is common sense and is not new. You don't want to lose the benefits gained from your efforts, so stay aggressive. Continue to learn new strategies (SOA and any others you find beneficial). Take the ones you think will benefit your organization and work to implement them. What you don't want to do is check the box labeled "Adopt SOA" and quit. If you do that, your organization will be back to its old flabby self in no time.
One other point in this analogy is the need for a personal trainer: someone to keep you accountable and to push you to higher and higher levels of SOA strength. On this point, I recommend two strategies:
Incorporate the SOA mind-set into your Project Management Office (PMO) and make sure it is a component of the PMO review process and code review process.
Incentivize your staff to build using SOA practices. Nothing drives adoption like a proper incentive (i.e., cash).
SOA offers you a way out of the redundant flab created by traditional application development. Like extra pounds on a person, applications have grown to such a proportion that too many resources are spent to maintain them and their user base. The strain on an IT organization can be enormous. With SOA (and my Total SOA Gym), you can begin to shed the application bloat and start streamlining by supporting services that can be combined to automate processes.
Sign up for Computerworld eNewsletters.