Interoperability and Windows Communication Foundation (WCF) Overview

50 %
50 %
Information about Interoperability and Windows Communication Foundation (WCF) Overview
Technology

Published on November 28, 2008

Author: jthelin

Source: slideshare.net

Interoperability and Windows Communication Foundation Jorgen Thelin Connected Systems Division Microsoft Corporation [email_address]

The Imperative to Connect MOBILE EMPLOYEES CUSTOMERS MOBILE EMPLOYEES CUSTOMERS

What is Interoperability? Applications working together Different platforms Different languages Different companies Different versions Integration = Combining software or hardware components or both into an overall system. Interoperability = The ability to exchange and use information (usually in a large heterogeneous network made up of several local area networks) The ability of software and hardware on multiple machines from multiple vendors to communicate Source : Dictionary.com http://dictionary.reference.com/search?q=interoperability http://dictionary.reference.com/search?q=integration

Applications working together

Different platforms

Different languages

Different companies

Different versions

Integration =

Combining software or hardware components or both into an overall system.

Interoperability =

The ability to exchange and use information (usually in a large heterogeneous network made up of several local area networks)

The ability of software and hardware on multiple machines from multiple vendors to communicate

Source : Dictionary.com

http://dictionary.reference.com/search?q=interoperability

http://dictionary.reference.com/search?q=integration

Interoperability means connecting people, data, and diverse systems It gives customers control over the data they create and want to share Vendors create innovative solutions that bridge technologies to address real customer needs in an innovative manner The nature of software allows for translatability in lieu of uniformity

Interoperability means connecting people, data, and diverse systems

Integration via Interoperability Network App Other Vendor Stack App Other MSFT Stack App WCF App WCF Wire level interoperability achieves integration in a heterogeneous environment. App WSE Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces WS-* Protocols

Enabling Interoperability Metadata Data Formats Protocols

Microsoft’s Commitment to Interoperability Bill Gates’ Executive E-mail – “Building Software That Is Interoperable By Design” http://www.microsoft.com/mscorp/execmail/2005/02-03interoperability.asp Plus deep commitment at the execution level Specification development and standardization WS-* Spec authorship Participation in Standards bodies Participation in WS-I Adopting XML and WS-* as the universal glue eg. Systems Management, Connected Devices, Identity Management Shipping products: Early WS-* implementations (WSE) Strategic WS-* platform (“Indigo” / WCF) Easy-to-use development environment (Visual Studio) Community feedback and testing WS-* Workshop Process Plug-fests - Product testing of multi-vendor interop

Bill Gates’ Executive E-mail – “Building Software That Is Interoperable By Design”

http://www.microsoft.com/mscorp/execmail/2005/02-03interoperability.asp

Plus deep commitment at the execution level

Specification development and standardization

WS-* Spec authorship

Participation in Standards bodies

Participation in WS-I

Adopting XML and WS-* as the universal glue

eg. Systems Management, Connected Devices, Identity Management

Shipping products:

Early WS-* implementations (WSE)

Strategic WS-* platform (“Indigo” / WCF)

Easy-to-use development environment (Visual Studio)

Community feedback and testing

WS-* Workshop Process

Plug-fests - Product testing of multi-vendor interop

WS-* Specifications Process Step 2 Broader Community Participation Step 1 Initial Development Process reconciles conflicting goals Quality of engineering Time to market Breadth of industry support Step 3 Standardization Step 4 Profiling Increasing Industry Participation Specification Published Feedback and Interop Workshops Revise spec Standards Org Such as: WS-I, HL7, ACORD, Devices Profile Idea

Process reconciles conflicting goals

Quality of engineering

Time to market

Breadth of industry support

What Are Interop Profiles? Define a subset of specifications and options that are: Composable Scoped Work together Examples: Secure RM – WS-ReliableMessaging + WS-Trust/SecureConversation/Security ACORD Messaging Profile – WS-* + ACORD payload schemas Who defines the profile? Vertical domain org – eg. ACORD Horizontal org – eg. WS-I Customer – singly or in groups

Define a subset of specifications and options that are:

Composable

Scoped

Work together

Examples:

Secure RM – WS-ReliableMessaging + WS-Trust/SecureConversation/Security

ACORD Messaging Profile – WS-* + ACORD payload schemas

Who defines the profile?

Vertical domain org – eg. ACORD

Horizontal org – eg. WS-I

Customer – singly or in groups

Profile Recipe: Staple, Redline, Glue – Device Profile Example “ Staple” Pull relevant specs into scope “ Redline” Add constraints on use of those specs “ Glue” Define missing bits between specs Some will migrate back into specs ThisModel Metadata ThisDevice Metadata Action Filter Conformance Claim Policy Assertions Policy Assertions SOAP 1.2 WS-Addressing WS-Metadata Exchange WSDL 1.1 WS-Discovery WS-Eventing

“ Staple”

Pull relevant specs into scope

“ Redline”

Add constraints on use of those specs

“ Glue”

Define missing bits between specs

Some will migrate back into specs

Why Do We Need Interop Profiles? Need to constrain (soften) runtime options to achieve out-of-box interoperability WS-* Architecture is designed for general applicability across a wide range of industries / scenarios Often too much optionality in the base specifications Tailor to specific domain / environment E.g. Devices Profile only requires SOAP 1.2 not SOAP 1.1 to lower implementation footprint Guide implementation and deployment choices Achieve a proven composition of protocols and payloads Allows simplification of application deployment e.g. WCF allows selection of interop profile to use

Need to constrain (soften) runtime options to achieve out-of-box interoperability

WS-* Architecture is designed for general applicability across a wide range of industries / scenarios

Often too much optionality in the base specifications

Tailor to specific domain / environment

E.g. Devices Profile only requires SOAP 1.2 not SOAP 1.1 to lower implementation footprint

Guide implementation and deployment choices

Achieve a proven composition of protocols and payloads

Allows simplification of application deployment

e.g. WCF allows selection of interop profile to use

Summary - Interoperability Interoperability is the best way to achieve system integration in a heterogeneous IT environment Wire-level interoperability is the real goal Web Services WS-* Architecture designed to support multi-vendor environments Profiling is an important tool for achieving business interoperability Microsoft is deeply committed to delivering products with proven interoperability that work well in heterogeneous environments Other vendors also delivering implementations for WS-* specs too

Interoperability is the best way to achieve system integration in a heterogeneous IT environment

Wire-level interoperability is the real goal

Web Services WS-* Architecture designed to support multi-vendor environments

Profiling is an important tool for achieving business interoperability

Microsoft is deeply committed to delivering products with proven interoperability that work well in heterogeneous environments

Other vendors also delivering implementations for WS-* specs too

What We Heard From You “ What API should I use?” “ How do I build service-oriented systems?” “ How can I send messages securely & reliably?” “ How do I build dynamic, decoupled applications?”

Microsoft .NET Framework The Managed Code Programming Model for Windows

Windows Communication Foundation INTEROPERABILITY PRODUCTIVITY SERVICE-ORIENTED DEVELOPMENT Broad Support for WS-* specifications Compatible with existing MS distributed application technologies Unifies today’s distributed technologies Attribute-based development Visual Studio 2005 integration Enables development of loosely-coupled services Config-based communication

Broad Support for WS-* specifications

Compatible with existing MS distributed application technologies

Unifies today’s distributed technologies

Attribute-based development

Visual Studio 2005 integration

Enables development of loosely-coupled services

Config-based communication

PRODUCTIVITY

Unified Programming Model Interop with other platforms ASMX Attribute- Based Programming Enterprise Services WS-* Protocol Support WSE Message- Oriented Programming System.Messaging Extensibility Location transparency .NET Remoting Unified Programming Model

WCF extends the .NET Framework Services are built in Visual Studio 2005 using any .NET programming language

WCF extends the .NET Framework

Services are built in Visual Studio 2005 using any .NET programming language

WCF Composable Architecture Service Code Service Model Layer Influences and adds to the programming model based on incoming messages Messaging Layer Moves messages back and forth and adds transfer semantics (channels) Transaction Behavior CLR Type Integration Instancing Behavior Security Channel TCP Transport Security Channel TCP Transport Transaction Behavior CLR Type Integration

WCF Composability in Action Service Model Layer Messaging Layer Behaviors Channels Transaction Behavior CLR Type Integration Instancing Behavior Security Channel HTTP Transport Custom Channel Reliable Messaging Queue Transport MSMQ Integration TCP Transport Named Pipes Throttling Behavior Error Handling Behavior Concurrency Behavior Metadata Behavior Custom Behavior HTTP Transport TCP Transport Security Channel Custom Channel Reliable Messaging CLR Type Integration Instancing Behavior Transaction Behavior

WCF Runtime Architecture Binding Address Contract

Productivity - DIY Using Visual Studio .NET 2003 20,379 lines security 5,988 lines reliable messaging 25,507 lines transactions Total lines 56,296 4,442 lines infrastructure class HelloService { [WebMethod] public String Hello(String Greeting) { X509CertificateCollection collection = new X509CertificateCollection(); IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB))); IntPtr data = (IntPtr)((int)blob + Marshal.SizeOf(typeof(CRYPTOAPI_BLOB))); … SeqAckRange range = new SeqAcknRange(id, low, high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }

class HelloService {

[WebMethod]

public String Hello(String Greeting) {

X509CertificateCollection collection = new X509CertificateCollection();

IntPtr blob = Marshal.AllocHGlobal(Marshal.SizeOf( typeof(CRYPTOAPI_BLOB)));

IntPtr data = (IntPtr)((int)blob +

Marshal.SizeOf(typeof(CRYPTOAPI_BLOB)));



SeqAckRange range = new SeqAcknRange(id, low, high );

SeqAckRange[] ranges = { range };

ReliableQueue.ProcessAcks( ranges );



hr = pITxDispenser->BeginTransaction (NULL,

ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions,

&pITransaction);



return Greeting;

}

}

Productivity - WSE Using Visual Studio .NET 2003 and WSE 10 lines security 1,804 lines reliable messaging 25,507 lines transactions Total lines 27,321 class HelloService { [WebMethod] public String Hello(String Greeting) { foreach ( SecurityToken tok in requestContext.Security.Tokens { X509SecurityToken token = tok as X509SecToken } … SeqAckRange range = new SeqAcknRange(id,low,high ); SeqAckRange[] ranges = { range }; ReliableQueue.ProcessAcks( ranges ); … hr = pITxDispenser->BeginTransaction (NULL, ISOLATIONLEVEL_SERIALIZABLE, 0, pITxOptions, &pITransaction); … return Greeting; } }

Productivity - WCF Using Visual Studio 2005 and Indigo 1 line security 1 line reliable messaging 1 line transactions Total lines 3 [ServiceContract(SecureChannel, SecurityMode =“Windows")] [Reliability(Guarantees.ExactlyOnce | Guarantees.InOrder)] [ServiceContract] class HelloService { [ServiceOperation(TransactionFlowAllowed = true)] String Hello(String Greeting) { return Greeting; } }

INTEROPERABILITY

Investment Protection SIDE-BY-SIDE Interop UPGRADE

WS-* Protocol Support XML Messaging Security Transactions Reliable Messaging Metadata

SERVICE ORIENTATION

From Objects to Services Polymorphism Encapsulation Subclassing Message-based Schema+Contract+Policy Broad Interop Location Transparent Tight Coupling Runtime Metadata Object-Oriented Service-Oriented Component-Oriented 1980s 2000s 1990s

Polymorphism

Encapsulation

Subclassing

Message-based

Schema+Contract+Policy

Broad Interop

Location Transparent

Tight Coupling

Runtime Metadata

Four Tenets of Service Orientation SERVICE ORIENTATION Compatibility Based On Policy Share Schema & Contract, Not Class Services Are Autonomous Boundaries Are Explicit

THE BIGGER PICTURE – WCF and .NET 3.0

Next Gen Windows Technology Foundation Vector-based Resolution independent Rich media 3D user interfaces Windows Communication Foundation Secure Web services Reliable transacted distributed apps Interoperability with WS-* protocols Any transport and any host Engine built into platform System and human workflow Composite apps Windows Presentation Foundation Windows Workflow Foundation Windows CardSpace Streamlines user registration and one-click login Mitigates common attack vectors (Phishing) Seamless integration with WCF

Vector-based

Resolution independent

Rich media

3D user interfaces

Secure Web services

Reliable transacted distributed apps

Interoperability with WS-* protocols

Any transport and any host

Engine built into platform

System and human workflow

Composite apps

Streamlines user registration and one-click login

Mitigates common attack vectors (Phishing)

Seamless integration with WCF

Services, Workflow & BizTalk WCF WF Tools and engine for building workflow-enable apps API for building secure, reliable interoperable services Application to application and B2B integration Connects multiple services built with WCF Adapters to multiple products like SAP and MQSeries Business activity monitoring Vertical solutions and industry accelerators Message transformation services Enterprise single sign-on End-to-end health and activity tracking And more…

Application to application and B2B integration

Connects multiple services built with WCF

Adapters to multiple products like SAP and MQSeries

Business activity monitoring

Vertical solutions and industry accelerators

Message transformation services

Enterprise single sign-on

End-to-end health and activity tracking

And more…

Get started with Visual Studio 2005 Download Microsoft .NET Framework Give us feedback .NET Framework – Take the Next Step

Get started with Visual Studio 2005

Download Microsoft .NET Framework

Give us feedback

 

Backup Slides

The Four Tenets of Service-Orientation Services and consumers are independently versioned, deployed, operated, and secured. Services are autonomous Data never includes behavior; Objects with data and behavior are a local phenomenon. Share schema & contract, not class Capabilities and requirements represented by a unique public name; Used to establish service suitability. Compatibility based on policy Developers opt-in to consuming, exposing, and defining public-facing service façade. Boundaries are Explicit

Facilitates implementation/platform interop Independent deployment, versioning, mgmt Promotes technology reuse Benefits of Service Orientation

Facilitates implementation/platform interop

Independent deployment, versioning, mgmt

Promotes technology reuse

WCF Architecture Detail Application Service Model Messaging Hosting Environments TCP Channel HTTP Channel Queue Channel Secure Channel Reliable Channel Binary Encoder Text/XML Encoder … … ASP.NET Avalon WinForm NT Service COM+ Instance Behavior Throttling Behavior Type Integ. Behavior Transaction Behavior Concurrency Behavior Error Behavior Metadata Behavior … WAS

End-to-end Security Confidentiality, integrity, authentication, authorization X509, Username/Password, Kerberos, SAML, custom End-to-end Reliable messaging In-order guarantees Exactly once guarantees Transactions Guaranteed atomic success or failure across services WCF Feature Overview Security, Reliability, Transactions

End-to-end Security

Confidentiality, integrity, authentication, authorization

X509, Username/Password, Kerberos, SAML, custom

End-to-end Reliable messaging

In-order guarantees

Exactly once guarantees

Transactions

Guaranteed atomic success or failure across services

WCF Feature Overview Hosting Models Indigo services can be hosted in any managed application ASP.NET, COM+, EXE, NT Service, Windows Forms, Avalon Windows Activation Service – Used by Indigo and IIS7 Windows Activation Service (WAS) HTTP.SYS TCP Transport Listener Named Pipes Transport Listener HTTP Listener Adapter (IIS7) NP Listener Adapter TCP Listener Adapter

Indigo services can be hosted in any managed application

ASP.NET, COM+, EXE, NT Service, Windows Forms, Avalon

Windows Activation Service – Used by Indigo and IIS7

WCF Runtime Overview

WS-* Architecture Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces

80+ WS-* Workshop Participants Actional Fujitsu Newisys Sharp Labs AMD Grand Central Nokia Siebel American Megatrends Hewlett-Packard Oasis Semiconductor Software AG ANL IBM Oblix Sonic Software Apache Project iDesign OPC Foundation Sun Axalto Intel OpenNetwork Systinet BEA Intermec Oracle Tibco Blue Titan Iona OSA Technologies Toshiba Boeing IPO Group Peerless Tyco Safety Systems Brother Jboss Ping Identity Univ of Sydney Canon JibxSoap Printronix VeriSign Choreology KnowNow QuickTree Veritas CommerceOne Layer 7 Tech Quovadx Visa Computer Associates Lexmark Reactivity Vitria Content Guard Lockheed Martin Ricoh WRQ Cornell University Microsoft Roxio webMethods Dell Motive RSA Security WSO2 Epson NEC SAP Xerox Exceptional Innovation NEON Schneider Electric Zoran Feature Software Netegrity SeeBeyond Unaffiliated

WS-* Spec Status Assurances Messaging SOAP WS-Security MTOM WS-Addressing Metadata WS-Policy WSDL WS-Discovery UDDI WS-Metadata Exchange WS-Transfer WS-Enumeration WS-Eventing XML Schema WS-Reliable Messaging WS-Coordination WS-Atomic Transaction WS-Business Activity WS-Trust WS-Secure Conversation Infrastructure and Profiles WS-Management WS-Federation Devices Profile Foundation SOAP / HTTP SOAP / UDP MIME XML Infoset XML 1.0 XML Namespaces Step 4 – Approved Standard Step 3 – Standardization Step 2 – Workshops & Community Dev

WS-* Protocols - Industry Adoption WS-P Messaging Security Assurances Devices System Mgmt Metadata DPWS WS-SecureConv WS-Security WS-Trust WS-RM WS-AT MEX WS-D SOAP/WSDL MTOM © 2003-2007 Microsoft Corporation. All rights reserved. The information contained in this document represents the current view at the time of publication and is subject to change. WS-Man WS-XFer / Enum WS-Fed UDDI AMD Inc. A Computer Associates A Dell Inc.   gSOAP  Intel Corp.   HP / Mercury / Systinet A Microsoft   Oracle   SAP  Sonic Software A Sun Microsystems, Inc.   WEBM Solutions, Inc.    Released Product  Public Interop A Co-Author Apache (WSO2)   BEA Systems Inc.  A Choreology Ltd  IBM Corp.   IONA Technologies   RedHat (JBoss / Arjuna)  HP / Mercury / Systinet  Microsoft   Oracle  SAP  Progress / Sonic Software  Sun Microsystems Inc.   Tibco Software, Inc.  Apache (WSO2)    BEA Systems Inc.    A BMC (OpenNetwork) A A A  Canon Inc.  Cape Clear Software Inc.  Computer Associates (Netegrity)  A A  gSOAP  IBM Corp. (DataPower)     IONA Technologies  RedHat (JBoss / Arjuna)  Layer 7 Technologies Inc.  A  A HP / Mercury / Systinet    Microsoft     Nokia  Novell  Oracle     EMC (RSA Security)    Ping Identity Corp.  A   SAP    Sonic Software  Sun Microsystems, Inc.     Tibco Software, Inc.  Verisign Inc  A A A Software AG (WebMethods)  Apache (WSO2)   Amazon  BEA Systems Inc.   Cape Clear Software Inc.   Canon Inc.   eBay Inc.  Epson Corp.   Fuji-Xerox   Google  gSOAP   HP   IBM Corp.   Intel Corp.   Iona   RedHat (JBoss / Arjuna)   Microsoft   Novell  Oracle   Ricoh Co.   SAP   Sun Microsystems, Inc.   Xerox Corp.   BEA Systems Inc. A Brother Industries   Canon Inc.   Epson Corp.   Exceptional Innovation   Fuji-Xerox Co.   gSOAP  HP   Intel Corp.   Lexmark International, Inc. A Microsoft   Peerless Systems Corp.   Schneider Electric SA   Toshiba   Software AG (WebMethods) A Xerox Corp.   Apache (WSO2)   BEA Systems Inc.    Computer Associates A gSOAP  IBM Corp.    RedHat (JBoss / Arjuna)  Layer 7 Technologies  HP / Mercury / Systinet   Microsoft    Novell  Oracle    SAP A   Sun Microsystems, Inc.   Sonic Software  Software AG (WebMethods) A

Add a comment

Related presentations

Related pages

Interoperability and Integration - msdn.microsoft.com

... with WCF Windows Communication Foundation WCF ... interoperability and integration with Windows ... Interoperability Guide. WCF is built ...
Read more

Interoperability with Microsoft WCF/.NET 3.5 Security ...

5 Interoperability with Microsoft WCF/.NET 3 ... Overview of Interoperability ... configured using Microsoft Windows Communication Foundation (WCF) ...
Read more

Web Services Security Interoperability between SAP ...

Web Services Security Interoperability between SAP NetWeaver 7.0 and Microsoft Windows Communication Foundation (WCF) ... Scenario overview ...
Read more

Interoperability with Microsoft WCF/.NET 3.5 Security ...

5 Interoperability with Microsoft WCF ... Microsoft Windows Communication Foundation (WCF) ... Interoperability" "Configuring Microsoft WCF/.NET ...
Read more

Security Overview - technet.microsoft.com

Windows Communication Foundation (WCF) ... Security Overview. ... WCF supports a wide variety of interoperability scenarios.
Read more

WCF Interoperability - social.msdn.microsoft.com

Overview; Case studies; ... WCF Interoperability.NET Framework > ... Windows Communication Foundation(WCF), and Web Services. 1 2 ...
Read more

Web Services Protocols Interoperability Guide

Web Services Protocols Interoperability Guide. ... Windows Communication Foundation (WCF) ... This topic provides a list of Web services protocols WCF ...
Read more

Windows Communication Foundation - Wikipedia

The Windows Communication Foundation (or WCF), ... WCF supports interoperability with WCF applications ... Microsoft Windows Workflow Foundation 4.0 ...
Read more

WCF - Overview - Tutorialspoint

WCF stands for Windows Communication Foundation. The elementary feature of WCF is interoperability. It is one of the latest technologies of Microsoft that ...
Read more