Five best practices for deploying a successful SOA
Message routing and the ESB Message-level, content-based routing is a pivotal part of any robust SOA infrastructure. However, you don’t need to reinvent the wheel. Instead, you can adapt your existing routing protocols, such as TCP/IP, which are known for their robustness and flexibility.
As your SOA implementation matures, an ESB architecture will most likely provide the translation and routing of messages between different services. Your solution should be simple enough to meet requirements, yet be able to adapt to your existing infrastructure. As SOA becomes more widely adopted across your enterprise, the role of the ESB will become more critical, so your solution should be integrated with a common framework and tooling. Avoid letting the applications control the design—keep application-specific business logic and processing out of the ESB. And resist allowing the ESB to become a catch-all for new function that does not fit anywhere else. The simpler the architecture, the more scalable, efficient and flexible your solution will be.
Data management For SOA, it is especially important to focus on the data aspect of your implementation. Each solution needs to prioritize the establishment of a data management framework that recognizes the components of the framework, its dependencies, roles and responsibilities. Lack of a framework can result in data mismanagement, trusted source issues and threats to data integrity.
Because of their simplicity and ability to support point- to-point data requirements, traditional data transfer approaches are still preferred in some scenarios. However, as you move toward implementing data as a service, effective information metadata management and use of Common Information Model (CIM) is a key critical success factor. Using CIMs can help speed development by enabling you to establish standards and descriptive metadata for information that can be applied to all interfaces, messages, data structures and data transformations to support reuse. A model- driven approach to standardize best practices will also accelerate development and provide for further consistency across interfaces and informational structures. Using this model-driven approach helps reduce the need for transformation, and makes it much easier to design transformations when they are required.
Security Although an SOA creates an open framework, it can also enhance the security of your data and systems as you implement security as a service. It is important to establish a comprehensive view of security and delegate specific requirements to appropriate points in the architecture. You also need to leverage middleware services to meet key infrastructure requirements for security, logging and monitoring. By isolating these functions from your solutions, you can improve your
capabilities in these areas with a consistent point of control and management.