| By Mark O'Neill | Article Rating: |
|
| October 6, 2008 04:00 AM EDT | Reads: |
3,717 |
Mediation
An XML gateway provides a number of important mediation services. These are:
- Protocol Mediation: For example, a message received to a virtual service over HTTP may be placed onto a message queue by the XML gateway. In this way, the XML gateway has "service-enabled" the message queue.
- Identity Mediation: A client's presented identity (e.g., from an X.509 certificate) may be mapped to their local identity. This is an important component of what is known as "identity federation." The XML gateway effectively acts as an identity bridge.
- Content Mediation (transformation): A message may be transformed using XSLT or using custom code (Java, JavaScript, etc.). This deals with the fact that XML messages are sometimes received in the wrong format, or wrong version, and must be transformed.
Security
Service virtualization means that back-end services are not directly in the "line of fire" from clients. For example, with service virtualization the back-end services don't need to have publicly addressable IP addresses. Only the XML gateway receives messages from clients. The XML gateway typically includes a full set of "XML firewall" threat protection. Therefore it blocks both brute-force denial of service and the more insidious XML denial of service, which makes use of XML messages that are designed to be difficult for services to parse.
Standards
XML gateways support a wide arrange of access methods, all based on standards such as WS-Security. This means that a virtual service, exposed by the XML Gateway, most likely supports many more standard access methods than a "real" service. For example, many Web Services platforms do not fully support X.509 certificate authentication using the WS-I Basic Security Profile. However, XML gateways support this. Service virtualization allows a secure standards-compliance access mechanism to be placed in front of Web Services that may not support standards fully.
Easy Migration
Organizations that are adopting Web Services are often unsure about which platform they will eventually use. For example, an organization may have started out with WebLogic but ultimately intends to move to .NET. A "service virtualization" pattern helps this. This is because when a client connects to a "virtual service" rather than to the real service, this allows the actual back-end service to be migrated from one platform to another, without causing any effect on the client. The client is not "tightly coupled" to the back-end service, and is often unaware of which platform is being used at the back end, because tell-tale information such as file endings (e.g., ".asmx" for .NET, ".jws" for Java) are hidden by the XML gateway.
Masking the Back-End Hardware
This is a direct analogy with server virtualization. In a similar manner to how server virtualization allows for one operating system to run on multiple servers, a "virtual service" can be mapped to multiple back-end services. This is usually done for performance reasons: a single service can call on multiple back-end services to share its load. It also allows for high availability to be provided, since if one back-end service is unavailable, others can be used instead.
Amalgamation
A fundamental design pattern of SOA is that multiple services can be amalgamated together into "composite services." For example, a service may use a service to look up an attribute of a customer, such as their payment status. An XML gateway or an Enterprise Service Bus (ESB) can be used to create these "composite services." An XML gateway brings the advantage of an XML acceleration subsystem, when compared to an ESB.
Swim Lanes
An XML gateway allows for differential access to services, depending on the attributes of the client. For example, a "gold customer" client can be given prioritized access to services, when compared to other clients. This is not possible when all clients simply access services directly.
Outages Detected and Mitigated
When an XML gateway implements service virtualization in front of Web Services, this allows for outages of the Web Services to be detected. Since the XML gateway becomes the ultimate client of the Web Service, any excessive service latency is detected. If the back-end service is not responding, the XML gateway can use a cached response, or route the request to a different back-end service.
Summary
Service virtualization is a new type of virtualization that comes from the world of SOA. It has some aspects in common with server virtualization, such as the masking of underlying resources. The enabler of service virtualization is the XML gateway. In this article, we demonstrated how XML gateways enable service virtualization and deliver attendant benefits. The "service virtualization" pattern is here to stay, and is an important part of how XML gateways act as an essential delivery platform for SOA.
Published October 6, 2008 Reads 3,717
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Mark O'Neill
Mark O'Neill is Chief Technology Office of Vordel. Vordel connects applications to applications, businesses to other businesses, and SOA to the Cloud.
A regular speaker at industry conferences, Mark holds a degree in mathematics and psychology from Trinity College Dublin and graduate qualifications in neural network programming from Oxford University.
- Kindle 2 vs Nook
- Confessions of a Ulitzer Addict
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Windows 7 – Microsoft’s First Step to the Cloud
- Cloud Expo and the End of Tech Recession
- Jill Tummler Singer, Deputy CIO of CIA, Keynotes at GovIT Expo
- Reality Check at the Cloud Computing Expo
- Visual Studio 2010 Is Cloud Friendly
- Fired SCO CEO Fires Back
- Kindle 2 vs Nook
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- Wave on Ulitzer: Confessions of a Google Wave Fanboy
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- Cloud Computing Best Practices
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Infrastructure-as-a-Service Will Mature in 2010: Microsoft's David Chou
- Eval JavaScript in a Global Context
- Windows 7 – Microsoft’s First Step to the Cloud
- Google Maps and ASP.NET
- Crystal Reports XI & How It Has Changed
- Converting VB6 to VB.NET, Part I
- Creating Controls for.NET Compact Framework in Visual Studio 2005
- Where Are RIA Technologies Headed in 2008?
- How to Write High-Performance C# Code
- AJAX World RIA Conference & Expo Kicks Off in New York City
- Implementing Tab Navigation with ASP.NET 2.0
- i-Technology Photo Exclusive: Bill Gates & Steve Jobs In "Nerds"
- .NET Archives: Getting Reacquainted with the Father of C#
- i-Technology Viewpoint: "SOA Sucks"
- Programmatically Posting Data to ASP .NET Web Applications




























