Find White Papers
Home About Contact Help
Free Membership Member Login
Search the Library                  Advanced Search

Service Virtualization: Key to Managing Change in SOA

Reactivity
By : Reactivity
INFORMATION
Published : Apr 27, 2006
Length : 12
Type : White Paper
 
Download Now
Save for Later
  Email This Page
Overview :

Load balancers, name servers (e.g. DNS), even stock brokerage services are existing examples of virtual services in the worlds of networking and financial services. In the arena of Service Oriented Architectures (SOA), virtual services and their supporting abstraction layer are critical to address the operational, integration, security and life cycle issues that delay and derail SOA deployment and success.

This paper will introduce the concept of virtual services for SOAs and provide details of the characteristics of virtual services that enable SOA success.

View All Items By This Company
Browse Related Categories :

Analytical Applications

,

Application Integration

,

Data Management

,

Service Oriented Architecture

,

Software Development

,

Web Service Management

,

Web Service Security

,

Web Services

,

XML

 
Service Oriented Architecture and Web Services represent a significant opportunity to develop business systems that can adapt to business requirements in a timely and effective manner. However, operational characteristics of real SOA deployments may derail much of the expected return on investment.

Service virtualization addresses the critical operational, integration and life cycle issues that can derail or delay Service Oriented Architecture implementations. Without addressing these issues through service virtualization and it's supporting abstraction layer, many of the benefits of an SOA are constrained at best and at worst, may not be achieved at all. This white paper is part of a series describing policy, deployment and operational issues and solutions associated with Service Oriented Architectures and Web Services.

The overview paper, "Architecting the Infrastructure for SOA and XML" provides a useful introduction to the broader topic areas.

Virtualization and Abstraction
Virtual services abound in the real world, although often we are so familiar with them that we do not recognize them as such.

Stock Brokerage Services
In the world of stock trading many different exchanges exist for companies to list with, but few of us are aware of them, and even few of us are in a position to trade on their implemented services directly. Instead we use a virtual service known as a stock broker, who handles requests to buy or sell stock in companies irrespective of what stock exchange a company is listed on. We rely on him to handle the various rules of the exchanges, to correctly handle the interfaces for settlement of trades.
We expect stock brokerage services to provide added values such as aggregating transactions and monitoring the transaction for completeness and for tax reporting purposes. Stock brokers are expected to know when changes occur like the movement of a company stock listing from one board or exchange to another, and to analyze the flow of trades to make recommendations about the likely direction that future trading will take. In this analogy, stock exchanges provide concrete or implemented services; the broker provides a virtual service; and the additional values that we derive are provided by the abstraction layer provided by the stock broker.

Networking Services
Virtual service examples that we are familiar with in the networking world include services such as name servers and load balancers.
A name server (e.g. DNS) allows a network node to maintain a known stable name by which it accessed by even when its network address is changed. Changes to the address or location of the node are concealed from applications using the DNS name to access a network node. Application developers do not need to understand how the network infrastructure works, and are not required to include additional complexity in their code to handle exception events or provide configuration and management.
The virtual service is the exposed or published DNS name of the network node, while the implemented service is the physical node being accessed. The abstraction layer provided by the DNS includes value added capabilities such as caching to reduce the cost of name translations.
Similarly, a load balancer exposes a single virtual instance of a server identity while supporting multiple instances of the implemented server. The load balancer abstraction layer then provides additional value by distributing the load for the virtual service in various ways across implemented services, or providing fault detection and failover to handle loss of an implemented service.
In each of these cases, there is a virtual or exposed service that we interact with (generally through a publication or discovery process), and then instances in various forms of the actual implemented service that supply the physical service. In addition, in each case, there is an abstraction layer that provides the logic that handles change, or adds value on top of the originally exposed service. The naming service abstraction layer simply makes and distributes changes in addresses. The load balancer abstraction layer takes care of load distribution, fail over and fault detection.
Search the Library                  Advanced Search
About Us Contact Us List Your Papers Partner With Us Site Map