Virtualize Your SOA with the Managed Services Engine
Use the Microsoft Managed Services Engine to manage the changes in your SOA.
by Steve Stefanovich
September 17, 2008
f there is one truth in software development it is that change is constant. The best any developer can do is to isolate the things that change from the things that stay the same. At all levels of an architecture the fact that things will change must be taken into consideration. Change is an especially touchy issue in the world of Service Oriented Architecture (SOA). Service consumers depend on consistency from services so a change to a service contract can have consequences that ripple through multiple organizations and systems. Managing change is a challenge and comes at a very high cost.
If you are building and publishing your web services using Visual Studio and Windows Communication Foundation (WCF), then you’ve no doubt discovered several key issues with this approach:
Service clients are tightly coupled to the services. Often, a simple change in the service contract requires all service clients to be touched.
The software developer is involved in almost every change in the service. Changes in service implementation, contract, and policy all require a software developer.
Versioning of services is difficult if not impossible.
Service management is not centralized and there is no good way to view all the services currently running in an organization.
Service clients have a dependency on the service implementation being in place. Because of this, most often, the development of service clients cannot begin until the services themselves are implemented.
Together, these points make developing and keeping an enterprise SOA up and running difficult at best. There is no easy way to isolate service callers from changes in the services they depend upon. Luckily, there are products that can ease this pain. The Managed Services Engine (MSE) is a Community Technology Preview from Microsoft currently in its second release. The MSE addresses these issues through the use of service virtualization. Service virtualization is the addition of a new service façade layer on top of your existing services. This additional layer assumes control over the management of endpoints, policies, security, versioning, and all other non-implementation specific aspects of services. Software developer can once again concentrate on what they care about most, the service implementation. Simply put, the MSE separates the service interface from its implementation.
It's quick, easy and you get access to all the articles on DevX.
This registration/login is to allow you to read articles on devx.com. Already a member?
To become a member of DevX.com create your Member Profile by completing the form below. Membership is free!