Interoperability Using Windows Communication Foundation (WCF)

by Blerick Tawman.

Share
|
Homepage | Submit your article | Contact | TOS
More articles on web services  

You are here: Categories » Internet » Web services

The Windows Communication Foundation (WCF), formerly known as Indigo, is the long-term solution from Microsoft for connected systems. It provides APIs that subsume Web services, remoting, messaging and all other connectivities. It is built around Web services architecture and is designed to provide secure, reliable, and transacted messaging along with interoperabilitybased on open standards. It is intended to span across multiple transports, security systems, messaging patterns, encodings, network topologies, and hosting models. It will be at the core of the upcoming Windows Vista (formerly Longhorn) series as well as have backward support for Windows XP and Windows Server 2003. Due for release in 2006, WCF is intended to interoperate cleanly with all systems (including Java EE systems), but as it evolves it is worth monitoring over time to prove out its adherence to standards before the decision is made to use or deploy it in a diverse system.

WCF is Microsoft's next generation "unified" programming platform as well as runtime environment that supersedes various technologies including ASP.NET Web services (ASMX) with WSE extensions, Microsoft Message Queue (MSMQ), the Enterprise Services / COM+ runtime environment and .NET Remoting. It addresses the limitation of RPC-based or synchronous Web services, where RPC-based Web services are invoked over HTTP/S (with limited support of transport protocol bindings) and is limited to the request-reply communication model (limited invocation mechanism).

To build a service in WCF, developers need to know the service address (for example, where the service is), the service binding (the data transport protocol such as SOAP over HTTP), and the service contract (for example, what kind of data should be passed). Developers can use an IDE (such as Visual Studio 2005) to build and test their application codes. In addition, they need to define the services (for example, type of services or service endpoints), behaviors (for example, how the service should interact under particular circumstances) and bindings (and binding types) in the file called web.config before the service can be created and deployed. Developers can also use svcutil.exe, an import and export tool for converting between service meta-data and application codes, to create proxy codes for the client.

WCF does not just add new programming APIs or new functionality. It provides different programming approaches to build services, but not necessarily Web services.

  • Declarative Programming In declarative programming, developers define specific attributes and interfaces, which are the key "data contract" between service requesters and service providers. In WCF, "service contracts" are used to specify session requirements and service operation direction using parameters.

  • Imperative Programming Using data object models derived from the application programming interfaces provided by WCF, developers can use object-oriented programming to create and access services or extend existing services easily. In WCF, developers can also define "channels" to support a different transport or protocol. WCF channels connect the service model layer with the actual data on the wire. There are two different types of WCF channels: transport channels (responsible for sending and receiving data) and protocol channels (that implement specific message exchange protocols). This provides flexibility and extensibility for WCF applications to integrate and interoperate with different platforms (such as Java EE applications) that use different messaging protocols.

  • Configuration-Based Programming Developers can specify part of an application's behavior (such as addresses, bindings, security details, or service behavior) in configuration files. This allows the runtime to make deploy-time decisions about services without rewriting the application codes.

WCF is fairly complex and is still evolving before the final release. It is much more powerful in its interoperability features than WSE or other .NET technologies. For example, WCF supports MTOM, Metadata Exchange or MEX, and SAML 1.1. These are fairly significant interoperability features. From an interoperability perspective, it is important to understand that it provides flexible programming approaches to build services and interacts (and interoperates) with Web services implemented in different protocols and technologies. The table below ummarizes the .NET interoperability capabilities of ASMX, WSE, and WCF

Interoperability Capabilities by .NET Technologies
Category Protocol/Technology ASMX 1.x ASMX 2.0 WSE 2.0 WSE 3.0 WCF
Core WSI Basic Profile 1.1 Yes Yes Yes Yes Yes
SOAP 1.1 Yes Yes Yes Yes Yes
SOAP 1.2 Yes Yes Yes
Opaque WS-Addressing Yes Yes Yes
Data DIME Yes
Transfer MTOM Yes Yes
Other TCP Yes Yes Yes
Transports UDP
and HTTP Yes Yes Yes Yes Yes
Encodings MSMQ Yes
Named pipes Yes
Text-XML Yes Yes Yes Yes Yes
Binary-encoded XML Yes
Binary serialization Yes Yes
Security WS-Security 1.0 Yes Yes Yes
WS-Security 1.1 Yes Yes
WS-SecureConversation Yes Yes Yes
WS-Trust Yes Yes Yes
WSI Basic Security Profile 1.0 Yes Yes Yes
SAML1.1 Yes
Reliability WS-ReliableMessaging Yes
Transactions WS-Coordination Yes
WS-AtomicTransaction Yes
Metadata, WS-MetadataExchange Yes
Policy and or MEX
WSDL 1.1 Yes Yes Yes Yes Yes
WS-Policy Yes
WS-PolicyAttachment Yes
WS-SecurityPolicy Yes
WS-ReliabilityPolicy Yes
Leave a comment or ask a question
Total comments: 0

Web services Disclaimer

  • The e-articles directory is not responsible for any and all copyright infringements by writers and authors. If you suspect the information contained by this page for any copyright infringements, please contact us to investigate the issue
Sitefinity Hosting:The Most Flexible CMS Platform - If you are considering SiteFinity hosting, you should first learn a few things about it. If you are trying to decide between it and DotNetNuke, you should read this article. SiteFinity is a very fl (more...)
SQL Server Hosting :: MSSQL Vs MySQL - I know it is hard to decide between SQL Server Hosting and MySQL hosting. Which is better? Which is more reliable? Which offers more features? These are just a few questions when it comes to SQL Se (more...)
Windows Hosting :: An overview - Are you wondering why Windows hosting is better than Linux hosting? If you ask 10 people what they think, 5 will say that Windows hosting is the best, while the other 5 will say that Linux hosting (more...)
ASP Hosting :: Why Do People Still Use Classic ASP - Did you notice that many people are still using ASP? This is somewhat strange due to the popularity of.NET. Why are they still using the classic instead of the new and powerful ASP.NET? First of al (more...)
Windows Reseller Hosting :: Competition Point of View - Did you ever wonder what reseller hosting really is? It is basically a form of web hosting in which the owner of the account is using his or her bandwidth and hard disk space to host third party we (more...)
ASP.NET 4.0 Hosting :: The New ASP Net Technology Improvements - ASP.NET 4 brings a lot of new possibilities over its predecessor, ASP.NET 3. One of the best additions is support for meta keywords and meta description. These are very important parts of a website (more...)
How to get paid to write answers online - There are many Q&A websites out there such as Yahoo Questions, Answers.com and Blurtit.com. The basis of these websites is simple, a user goes to one of these sites, types a question and lets o (more...)
What is Hosting and Types of Hosting - Hosting is one of those core Internet concept that starts out easy and gets insanely confusing as you delve into it.Every website is 'hosted' somewhere.In other words, the 'hosting' entity runs a m (more...)
Social Networking Development can Enhance your Business - We have all heard about social networking websites but there are only a few who really knows what it means. Social networking can be defined as a grouping by some individuals together into specifi (more...)
Do You Really Need Dedicated Server Hosting (q) - If you own a business, you are always thinking of expanding it to increase your revenue. Various business proprietors are looking to expand their business online to grow their market. You may requi (more...)

 
free content
    Copyright © 2006 - 2012 e-articles.info.
The texts, articles and tutorials in the directory are property of their respective owners and authors.