Service virtualization
Discover how to create flexible SOA systems between service consumers and providers that make changes seamlessly without disrupting users.
Discover how to create flexible SOA systems between service consumers and providers that make changes seamlessly without disrupting users.
In Service Oriented Architecture (SOA), software components known as services are combined through loose coupling to create composite business applications. Service virtualization supports the loose coupling of services in SOA, enhancing the overall flexibility and agility of enterprise systems.
This article provides an overview of service virtualization by introducing some of its common patterns, reviewing a sample case, and concluding with a few points on how service virtualization realizes the benefits of SOA.
Service virtualization is the abstraction of a physical service through a proxy or intermediary service. With service virtualization, the service intermediary interacts with the service consumer (i.e. the service or application making a request) and hides the physical location of the service provider (i.e. the service or application that provides functionality). In other words, communication between the service provider and service consumer is done through a service intermediary, creating a gateway for application integration.
Service Consumer ←→ Service Intermediary ←→ Service Provider
There are several common patterns of service virtualization, each of which suits particular use cases:
To get a better understanding of service virtualization and its uses, consider the following scenario. XYZ Bank offers Checking and Savings products and Credit Services to its customers. To better compete with online banking institutions, XYZ Bank has recently started to offer an Online Savings product.
In XYZ Bank’s existing architecture, bank employees can access customer account information by using a custom enterprise application that sends requests to an Account Service. The Account Service then retrieves and combines data from a Checking and Savings accounts database and a Credit Services database, returning information on all the active accounts of a customer to the bank employee. Customers can access their account information through a web browser.
With the introduction of the Online Savings product, the bank’s Account Service must now be updated so that it can also retrieve information from the newly deployed Online Savings accounts database for new customers. An update to the Account Service will make existing account information unavailable to bank employees and customers, but XYZ Bank cannot afford such a service disruption.
The use of a service intermediary allows XYZ Bank’s development team to make the service upgrade while existing account information for Checking and Savings accounts and Credit Services remains available to bank employees and customers. The service consumer (i.e. either the custom application used by bank employees or the web application used by customers) sends requests to the service intermediary, which then routes the request to the existing version of the Account Service to retrieve the relevant information. When the upgrade to the Account Service is complete, the service intermediary acts as the common interface, routing requests to either the existing version of the Account Service or the upgraded version, which now includes Online Savings account information.
In order for proprietary or open source SOA to deliver real benefits, enterprise systems need to be flexible and agile. The loose coupling of services through service virtualization provides this flexibility and agility. Because service virtualization allows developers to make changes and upgrades to applications and services without disrupting access to end-users, it makes moving to cloud computing services or scaling up or down in a short amount of time possible. Moreover, the use of service intermediaries and other virtual services means that developers can focus on the service logic and functionality rather than the communication mechanisms when it comes to creating new services. With service virtualization, SOA becomes a reality.
Want to learn more? Explore MuleSoft's solutions for SOA.
Try MuleSoft Anypoint Platform free for 30 days. No credit card, no installations.
Tell us a bit more so the right person can reach out faster.
Get the latest news about integration, automation, API management, and AI.