It seemed to be a logical step for me to write about the best practices for Service Oriented Architecture (SOA) after my first blog on SOA basics. As true with almost every technology, the implementation part is the most significant part which is backed by so many decisions and planning. So let us look into the best practices that can leverage the maximum benefit out of the concept called service oriented architecture and make sure that the return on investment for this is as high as it promises to be.
Before looking into the way SOA can be best utilized lets look into the broader divisions in which the best practices can be categorized:
- Long term perspective or focus
- Security and protocols
- Strategic path
- Acquisition and Maintenance
- Implementation and operations
Long Term Perspective of Focus:
The senior management’s role in the success of SOA implementation is of paramount importance. The effectiveness desired out of the web-based approach should not only be clear to the senior managers, but they also need to articulate the same in a manner such that there remains no doubt about the targeted impact from the implementation. So this calls for lot of communication, both quantitatively and qualitatively, from the big few to send the right message. Some of the best practices in this domain are:
- Communicate and evangelize the benefits of SOA, web services and transformation: The transformational goals should be understood by everyone alike to make the implementation a successful one. A training program is also key to the proper transformation.
- Think out of the box: The traditional development, deployment and governance approaches will not fail to leverage the results of SOA. Management must start thinking in terms of business processes; they must start thinking about the information providers, brokers, and consumers, and they must think about networks as weapons systems.
- Proactively manage the transformation: The need to manage the cultural, strategic and tactical issues of such a major transformation cannot be overemphasized. For this kind of implementation to succeed it is needed that transformation is aimed at addressing the issues related to business, organization, people, processes and culture.
- Address the cross business and cross domain area issues: The benefits of SOA can be leverage to the maximum extent when the organization aims at developing a business model which cut across the organization both vertically and horizontally. And also when the organization supports the essential business functions.
- Develop a team which has cross functional representation: It results in achieving a holistic transformational goal thus satisfying everyone.
- Need for a proper business case: A proper business case document helps in keeping the focus on implementation. It also makes sure that none of the important aspects are compromised.
Security and Protocol:
The senior managers need to take a careful approach in devising a proper security policy and protocol for the SOA implementation. The following best practices can help achieve them:
- Proper technical standards: The need of technical standards is very important in this vastly diversified net-centric world.
- Portfolio management policies and policy standards: Policies facilitate the development of ontologies, naming guidelines and services, data standards, and taxonomies. These policies also set the framework for establishing authoritative data sources.
- Application interoperability policy: This is important as interoperability is one of the key benefits that you look to achieve through SOA. So a proper policy design is of significance.
- Top-down Vs Bottom-up leadership approach: A top down approach helps in achieving security approaches across organizational boundaries while a bottom-up approach is needed for user and system owner engagement. So both the approaches are vital.
- Establish proper governance, security, reuse, compliance, risk management and versioning policies.
- Address SOA’s unique security implications: Senior management needs to identify whether the services should be executable only by some specific roles or users or should it be accessible to all. This brings into focus the need for identity management and security management.
- Disaster recovery: It is important to have a proper disaster management and business continuance plan to define the functions and architecture components which are important.
This would predominantly deal with the details of a web-based information sharing and optimization structure. The best practices in this area are:
- Proper development of the SOA strategy.Only development of strategy doesn’t suffice, it also needs to be documented properly.
- Plan for future transformation in an incremental manner.
- Align the programs and projects to be able to use the services and share them among themselves to make the implementation effective.
- The enterprise should build a topology of services that reflects the business processes, not the systems, thereby giving the enterprise the ability to make changes.
- It is required to create common vocabularies (i.e. taxonomy) to ensure proper understanding and consideration of how to manage, change and use taxonomies.
- High importance to be given to cross-enterprise architecture.
- Application interoperability and business interoperability should be designed keeping in view the wider strategic objectives.
Continue reading ”SOA governance and acquisition” and “SOA implementation and operations“.