This is in continuation with the previous article on SOA Best Practices. In the previous article I categorized the best practices into five broad points, which are as follows:
- Long term perspective and focus
- Security and Protocols
- Strategic Path
- Aquisition and Maintenance
- Implementation and operations
We already looked into the first three points. Now in this piece let us fathom the two most important points among the five points mentioned above.
Aquisition and Maintenance:
Aquisition and maintenance or governance are two very divergent issues. But they are critical for the success of SOA and in that way they are also related. The acquisition of standalone systems are not flexible enough to handle the ever changing scenario. So in that regard market driven methods are more congruent with this kind of scenario. For acquisition to be effective it is also important to have close ties with internal and external user communities.
In a similar vein the governance and maintenance processes should be adaptable and flexible to the frequent changes. Whatever is in place today might be entirely replaced tomorrow. So the need to have processes which can adapt to these kind of changes are paramount.
Let us now look into the best practices in the acquisition and maintenance domain:
- Incremental Acquisition Process:
Incremental acquisition is the way to go when it comes to acquisition process for SOA. It helps in providing the kind of adaptability and flexibility that is required.
- Use experiments, pilots and demonstrations to test the suitability of the acquisition process.
- Using Enterprise Modeling : The main intention is to model the system in such a way such that it defines the enterprise and also looks into its limitations while coming up with the modeling process.
- Strict enforcing policies: The policies should not only be for documentation sake. Senior managers should see to it that proper enforcement system is in place for policies.
- SOA is all about loosely coupled services. So it is required to have detailed maintenance and governance process for the same. This also calls for proper management and SLAs.
- Monitoring, measuring and analyzing the enterprise’s SOA service network is very in.
- Promote standards based process models, such as BPEL or Unified Modeling Language, for process model interoperability.
Implementation and Operations:
This is where the “rubber meets the road” for SOA. Best practices reinforce that effective web services and SOA are implemented incrementally, but rapidly—building and testing each step and then formally “cutting in” the service and moving on to add the next. A lot of confusion may creep in while implementing SOA and thus it might lead to dip in the quality of services experienced by the customers. But then it revs up to meet the required standards. Senior managers have a key role to play in this regard, to see to it that at each stage of the implementation process they are able to dispel the doubts that creep in. Best practices in this area include the following:
- Incremental implementation process to be adopted: The enterprise should give priority to the incremental change that has the clearest, strongest business value, while recalling that some changes are high-impact because they enable other changes.
- Implementation should be done based on partnering and collaboration: Most successful examples have taken a collaborative approach to implementation by partnering and sharing the risk.
- Practical is more important than theory: SOA implementation should be able to achieve something which is operationally useful and thus it has to be kept in mind that in real life situations sometimes we need to mould the approach a bit and it doesn’t work to just follow the theory blindly.
- Robust publishing and discovery model should be there to facilitate sharing and reuse: The enterprise should create or adopt to efficient techniques to facilitate reuse among the projects to streamline development of common services.
So the facets of effective SOA implementations are simplicity, open standards, modular design, and rapid, incremental implementation within a framework of organizational transformation. Clearly, a properly implemented SOA significantly improves operational effectiveness and delivers considerable return on investment.