• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Interoperability and Windows Communication Foundation (WCF) Overview
 

Interoperability and Windows Communication Foundation (WCF) Overview

on

  • 3,685 views

 

Statistics

Views

Total Views
3,685
Views on SlideShare
3,682
Embed Views
3

Actions

Likes
1
Downloads
89
Comments
0

2 Embeds 3

http://www.slideshare.net 2
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Speaker Notes This 1-hour presentation provides a technical overview of the Windows Communication Foundation, previously codenamed “Indigo.” This presentation is targeted primarily at developers and architects. By the end of this presentation, you will understand the what, why, and how of WCF: What WCF is and what it provides developers, Why Microsoft is building it (the challenges we hope to overcome with WCF), and How WCF works, how it interacts with other Microsoft products (including the .NET Framework 2.0, Visual Studio 2005, and BizTalk Server), and how you can take advantage of WCF when building connected systems. Transition to next slide: Let’s begin by discussing the motivation behind WCF. 06/06/09 15:48 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. Next Generation Business Solutions Platform Strategy Review

Interoperability and Windows Communication Foundation (WCF) Overview Interoperability and Windows Communication Foundation (WCF) Overview Presentation Transcript

  • 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
    • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 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;
    • }
    • }
  • 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
  • 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
  • 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…
    • Get started with Visual Studio 2005
    • Download Microsoft .NET Framework
    • Give us feedback
    .NET Framework – Take the Next Step
  •  
  • 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
  • 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
  • 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
  • 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