The value of SOA
So why is everyone so excited SOA? What does it provide, and how can it help? Should it be used in all cases? Let's answer these questions one at a time.
You might be wondering in which business functions and situations SOA fits best and which best shows its potential? There are some situations and business functions that should conjure SOA immediately, because SOA can boost competitiveness and productivity, and clearly display its benefits. Such situations mainly include:
- Centralized business functions used by multiple entities: SOA helps to identify such functions and package them into reusable, self-contained services that aren't affected by process changes around them.
- Integration with partners: SOA promotes using standards, which is critical in any integration because standards create a common baseline for all parties to work on. Also, the agility provided by SOA enhances the integration experience with the flexibility to plug in, change, or update services almost seamlessly to your clients with SOA's decoupling capabilities.
- The existence of old technologies that are still working: Some organizations aren't willing to give up their tried-and-true technologies. Security concerns make some customers, especially in sensitive industries such as banking, suspicious of new software systems and their unknown vulnerabilities. In these cases, SOA can help by wrapping legacy technologies in standardized ways, enabling their exposure in a standards-based environment suited for integration and reuse.
Because change is inevitable, the only guarantee of the continuity of a business is its ability to anticipate and adapt to changes, also known as business agility. Crucial to the future of any business, SOA makes business agility possible with the following factors.
- Enables real-time business capabilities because it removes the hard connections that impede the ability to change
- Changes the way IT costs are distributed, with less expenses in implementation and more investments in reuse
- Increases the feasibility of real-time remote access to original sources of information, thus reducing the delay and dependencies
- Integration projects are driven by business needs, with the visibility of capabilities provided (that is, business is the main driver)
- Lets companies extract more data measuring business performance in real time by exposing and sharing information
- Decreases time to market because connections to customers and partners can be made faster
- Makes it easier for partners to do business with your company
- Promotes and publicizes your services, making it easier for customers to find you and your services
- Makes it easier to find new partners and services by helping you search for the most suitable service for your need
- Makes processes more consistent because they depend on the same reused components
- Promotes increased quality through competition between the services providers
- Gives consumers a wide choice of suppliers
- Covers essentially all classes of IT assets: hardware, software, data, and process assets
- Decreases the impact of change because it's done in a central location and reflects on all concerned parties
- Lets you focus on business processes rather than technical implementation
- Helps decrease the cost of integration because the component has already been integrated
- Lets you make system changes without constraining business change
- Promotes flexibility, which gives you more space to innovate
- Lets you publish once but consume many times
- Makes SOA solutions available to all sizes of organizations
- Changes software-deployment activities from a big-bang model into a more dynamic, less-time-consuming model, which is more appropriate to the business
- Makes it easier to add or change partners
- Accelerates mergers and acquisitions
- Facilitates exposed services, which represent potential new revenue sources
Given that SOA is a plausible solution for a company, the cost of not implementing it can result in three major setbacks:
- Inability to move to higher-value markets that provide more business growth and exposure. Because a company is bound to its existing tailored systems, it becomes stuck in its original place in the market and struggles to address the higher-value markets. However, with SOA, an organization can change business tactics and enable new ones, giving it an edge.
- Inability to address more technologically advanced competition.
- Competition from lower-cost sources.
SOA provides benefits in almost all cases of business organizations. However, in very special cases, it might prove to be a liability more than a drive towards better business. These cases include:
- A homogeneous IT environment: If an organization depends on a set of coherent products—belonging to a same vendor, for example—, has a limited scope of work, and has no need to add or change any of these products, an SOA might be a liability more than a useful strategy.
- When true real-time performance is critical: To provide loose coupling between different consumers and producers, an SOA depends on interoperable protocols, which are slow by nature. It can also induce mediation logic and asynchronous protocols, which aren't suitable for real-time performance.
- When things don't change: If the customer sees no change happening to the business logic, presentation, data flow, process, or any other aspect of the application, converting old systems to SOA might not return sufficient value to make the effort worthwhile.
- When tight coupling is not an inconvenience: Loose coupling is of best use when it's used with a component that's not under your control and, this, you can't control its change. On the other hand, when the component is yours and under your control, loose coupling can be a burden, especially if the component isn't really reusable.