Prepare to implement an SOA
The process of introducing SOA in an organization requires special skills, including:
- The ability to measure the readiness of the organization to such adoption.
- Identifying boundaries and entry points.
- Enlightening people with the benefits that SOA can bring to the business and IT.
- Measuring the challenges and drivers to SOA induction on both the business side and the technical side.
SOA's benefits to the business include:
- Increasing the responsiveness of the business to market changes and improving agility in the organization.
- Bypassing organizational boundaries and synergizing with the existing assets.
- Helping reduce development time.
- Exposing inefficiencies in business processes.
- Ensuring the alignment of IT resources to business strategy and goals.
- Decreasing the cost of compliance and security with standards enforcement.
- Making it easier for partners and customers to find you and making it easier for you to find them.
- Granting more consistent processes.
- Providing a different choice of suppliers because of the standards enforcement.
- Enabling asset reuse.
- Reducing the cost of integration.
- Easing upgrades and mergers.
SOA's benefits to the IT strategy include:
- Architecting systems to effectively use standards and services to gain the benefits they promise the business.
- Allowing various communication mechanisms to be used.
- Allowing flexible and reliable security systems to be incorporated to ensure security.
- Providing a service bus where the flow of messages and messages themselves can be managed providing another dimension to flexibility and adaptability of the system.
- Easing integration with modular, componentized services and a connecting services bus.
- Being built on standards and protocols that are widely supported to enable interoperability, a goal of SOA since its start.
- Promoting reuse with a services repository and mediation modules.
- Boosting connectivity using the ESB, which takes connectivity to its highest peak. The ESB is responsible for mediation of protocols, data, and formats to ensure compatibility.
The business domain cares about the form and impact that this new paradigm will have on the organization, so there will likely be some business issues that need to be identified and confronted.
Business issues can include:
- Management doubting or questioning SOA because it's a new idea that's more IT-driven than business-driven.
- Defining the strategy and level of adoption, taking into account the current situation of the organization and how ready it is to adopt SOA.
- Mapping process to services.
- Lack of knowledge about SOA and what it can provide.
- The misconception that SOA is an IT architecture method only, which can lead to neglecting the critical role of governance.
- Underestimating IT business value.
Most of these issues can be resolved, or at least highlighted, by conducting educational sessions to show the benefits and real value of SOA.
The main business driver is SOA's potential to:
- Drive a business' return on investment (ROI), with reduced implementation costs through adopting standards, reuse, exposing services, and integrating with partners.
- Decrease time to market by reusing assets and incorporating partner-provided services.
- Increase the visibility of IT assets and their alignment to the business goals.
- Improve flexibility both internally in communication and externally in dealing with partners.
- Provide more efficient processes by reusing IT assets and leveraging standards.
- Promote business agility and the ability to adapt easily and quickly to business and market changes.
- Reduce costs throughout the organization.
Don't forget the IT department. Some of the issues and drivers that are important to them are listed next.
IT issues can include:
- Changing the existing tailored systems into standards-based services.
- Management, governance, and control of services.
- Security challenges of distributed systems.
- Reliability of new systems versus the existing, dependable systems.
- Optimizing and unifying the existing asset to remove redundancy.
IT drivers might be:
- Adopting standards. The drive for standards is also considered an issue, but despite the effort needed to adopt standards, the benefit is clear to every IT specialist.
- Ensuring high QoS.
- Reuse of existing IT assets.
- Loose coupling of services.
- Independence from a certain provider or partner.
While preparing for SOA adoption, you will have to identify factors that might affect SOA adoption and measure their impact to identify the organization's readiness. The factors revolve around people and technology, for example:
- The organization's experience with SOA.
- The level of awareness of SOA and its benefits.
- The existing methodology of identifying services and reusable components.
- Readiness of the existing business to be exposed as services.
- The current ability to access heterogeneous systems.
- The reusability level of legacy systems.
- The existence of a governance model in the organizational structure.
- The availability of shareable service layer.
- The existing architecture's ability to support advanced interactions between applications.
- The infrastructure's ability to support SOA with security, connectivity, and so on.
- The existence of a methodology to measure business processes and their efficiency levels.
Organizations need to identify and tackle any barriers blocking the advancement towards SOA. Such barriers can include:
- Old-fashioned IT practitioners insisting on old-fashioned waterfall development cycles.
- The notion that complex systems are better, and fear of the unknown.
- Overlooking the importance of architects and considering them theorists that cost more than the solution needs. It's important to note that architects are instrumental in SOA, and their absence will surely result in undesirable results.
- Organizational resistance to adopt an SOA model. SOA requires cooperation from all groups in the organization, not just the mere implementation of the IT framework.
To start adopting SOA in an organization, five entry points have been identified:
The organization should choose the entry point that's most ready to adopt SOA and focus on it, while not ignoring the other entry points.
Figure 7. Entry points to SOA
Here are more details about the entry points.
Empowering people through SOA solutions can help boost efficiency and innovation, and provide a foundation for greater productivity and collaboration. Because people drive the interaction with the SOA services that execute business results, focusing on people is critical to the success of SOA implementations. The people entry strategy to SOA can help:
- Accelerate productivity.
- Reduce costs of access to multiple applications and information sources.
- Reduce time to deployment for new services.
- Increase access to process flexibility and orchestration.
- Enable collaboration inside and outside the enterprise.
By entering SOA from a process entry point—a business-centric starting point for SOA—an organization can streamline processes across the enterprise, including improving the efficiency, flexibility, and control of key business processes. This helps align business and IT goals, and reduces the complexity of building process. Focusing on the processes entry points helps:
- Improve employee productivity.
- Increase collaboration.
- Accelerate time to market.
- Respond quickly to business challenges.
- Implement new processes in less time.
- Maximize ROI.
By entering SOA from an information entry point, an organization can improve the availability and consistency of information, while removing barriers to information sharing, thus offering information access to heterogeneous data sources inside and outside the organization's boundaries. It can also help people better understand the organization's operational, transactional, analytical, and unstructured information, and make it available in new ways through SOA. This entry point can help:
- Collect and clean date, and make data widely accessible, enabling transparency and business insight.
- Reduce the cost of migration and rationalization of data by decoupling information from applications.
- Increase an organization's agility by providing reusable information services spanning the whole organization that can be used by applications and processes, and at the same time reduce costs associated with accessing and transforming data.
This IT-centric entry point to SOA is designed to simplify the IT environment with a more secure, reliable, and scalable way to connect within and beyond a business, linking people, processes, and information in the business. Empowering connectivity through SOA helps:
- Ensure seamless flow of information with different protocols inside and outside the organization.
- Execute enterprise-level business processes that span the organization and business partners efficiently.
- Build trusted relationships with partners.
- Scale the business to grow smoothly.
- Deliver a consistent user experience regardless of channel or device.
Reuse is another IT-centric entry point to SOA. It focuses on deriving continued value from existing assets and identifying services to be outsourced instead of implemented. By entering SOA from this entry point, the organization can reuse, extend, enhance, or create new processes. This enables it to increase business flexibility and responsiveness through reduced development time and elimination of duplicate processes. Using this entry point can help:
- Reduce the amount of new code that must be created for business initiatives.
- Improve efficiency.
- Reduce risk by reusing dependable resources.
- Lower maintenance costs by eliminating redundant systems.
- Wrap services performed by legacy applications into standards-based services that can participate in the broader image while delivering the same dependable output.