Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows Server

BizTalk 2009 : BizTalk Endpoint Management (part 1) - The Problem with WSDL

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
7/9/2011 11:25:57 AM
In today's SOAs, there is now a need for a "service governance" tool to help manage SOA infrastructures. The Microsoft Managed Services Engine (MSE), which was built by Microsoft Services and is available on http://www.codeplex.com, helps address this need.

It is always easy to integrate the initial application consuming a service. That's because the service is typically built for that specific application. But as the 5th, 10th, or even 50th application wants to join in using the service, any slight change to the original service can have exponential impact on testing as the number of consuming applications grows.

Changes to services are just one of many problems that you'll encounter as service-oriented architectures continue to grow. Without a common infrastructure focused on manageability, most SOAs become an unwieldy mess of intertwined services. These out-of-control services can end up negating the entire benefit of a service-oriented architecture. That's where the Managed Services Engine comes into play. It helps you gain and keep control over services and manage their change over time.

1. The Problem with WSDL

In today's environment, WSDL is static. It describes a service in its current form. Any changes to the service require a new WSDL to be published. Depending on the change, it can break existing applications.

To address this, organizations typically don't change existing services but rather create a duplicate method or possibly even a completely duplicate service. For example, let's assume we have a math service that has the following data contract:

[ServiceContract]
public interface IMathService
{

[OperationContract]
int AddIntegers(int IntegerA, int IntegerB);
}

This contract works fine for the first application, but the next application may need to support adding an array of integers. The only way to do add that support without breaking the first application would be to add another version of the same method that supports an array of integers. For example:

[ServiceContract]
public interface IMathService
{
[OperationContract]
int AddIntegers(int IntegerA, int IntegerB);


[OperationContract]
int AddIntegersArray(int[] Integers);
}

Although this example of adding support for new requirements is overly simplified, the problem becomes very large for both development teams and operationally as the number of methods changes over time. Typically organizations won't even know which applications use which version(s) of methods, so determining what methods to deprecate can become overwhelming if not impossible due to risk.

2. Where Does the MSE Help?

The Managed Services Engine sits in front of all services and acts as governance tool for understanding the end-to-end communication dependencies of all applications and services. Quickly, administrators can easily see via the Windows Presentation Foundation–based interface how components of the SOA relate to each other. Figure 1 shows an example of the Managed Services Engine WPF interface.

Figure 1. MSE user interface

The interface in Figure 1 is broken down into the groups described in Table 1.

Table 1. MSE User Interface Groups
GroupDescription
ServersA list of servers that are running the MSE software and can host WCF endpoints.
EndpointsA list of endpoints that can be hosted on one or more servers.
OperationsA list of all operations that have been imported into the MSE.
ResourcesA list of all operation resources that have been imported into the MSE.
InstancesA list of all service endpoints the MSE can communicate to.
SystemsA list of all servers that endpoints are hosted on.
BindingsA list of all bindings used within the MSE, including default bindings.
PoliciesPolicies are a collection of assertions that define a behavior. For example, there are default policies for turning off metadata publishing and turning on service debugging. Policies contain XAML-based assertions that when associated to an endpoint are programmatically called to modify how an endpoint behaves. If we used MSE in the end-to-end example, a policy could have been added to add the message-level certificate requirements.
Data entitiesA list of all composite objects.

Importing a WCF service into the MSE is as simple as running through a wizard. Start the wizard by selecting Tools Load Resources Web Service Metadata. Provide the wizard with the URL to the web service, and click Next to have MSE start reading the web service metadata. Figure 2 shows that MSE has detected the schemas, resources, and operations that are defined in the WSDL. The MSE will compare the schemas, resources, and operations against what is already defined in its catalog repository and import only the objects that are not yet defined.

Figure 2. MSE Web Service Metadata Import Wizard

Once you've imported all your services, the MSE user interface will have filled all the groups with their respective types. Clicking any object within the UI will then filter all other groups to only the objects that are associated with the selected object. The result provides a quick end-to-end "service map" of how any single object is associated right from the service runtime servers all the way to the backend-hosted servers. The service map is all created with WPF animations to add extra visual effect.
Other -----------------
- SharePoint 2010 : Farm and Application Configuration (part 2) - Creating Search Applications & Configuring the Search Application
- SharePoint 2010 : Farm and Application Configuration (part 1) - Farm-Wide Search Settings & Managing Crawler Impact Rules
- SharePoint 2010 : Search Server 2010 and FAST Search - Search Architecture
- Microsoft Dynamics AX 2009 : Application Model Elements (part 3) - Presentation Model Elements
- Microsoft Dynamics AX 2009 : Application Model Elements (part 2) - Value Type, Database, and Data Association Model Elements
- Microsoft Dynamics AX 2009 : Application Model Elements (part 1) - Operational and Programming Model Elements
- Microsoft Dynamics AX 2009 : The MorphX Development Environment - Developing with MorphX
- Windows Server 2008 R2 : Secure Folders and Files (part 2) - Turn On BitLocker
- Windows Server 2008 R2 : Secure Folders and Files (part 1) - Configure the Encrypting File System
- Microsoft Dynamics GP 2010 : Cleaning up the mess by fixing AutoComplete errors
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
 
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server