Download presentation
Presentation is loading. Please wait.
Published byStuart Jones Modified over 6 years ago
1
A Lap Around the Windows Communication Foundation
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM A Lap Around the Windows Communication Foundation Omri Gazitt COM202 Group Program Manager Connected Systems Division Microsoft Corporation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
2
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM PRESENTATION DATA COMMUNICATION Windows Communications Foundation System.ServiceModel (3.0) Channels Configuration Diagnostics Integration System.ServiceModel.Security(3.0) Protocols Tokens Presentation Framework System.Windows (3.0) Annotations Automation Controls Data Documents Ink Interop Navigation Resources Serialization Shapes Threading System.Windows.Media (3.0) 3D Animation Imagine ASP.NET System.Web (2.0) Compilation Configuration Handlers Hosting Mail Management Security UI (2.0) Util ADO.NET System.Data Common Odbc OleDb OracleClient Sql SqlClient Language Integrated Query System.Query (F) System.Data.DLinq (F) System.Xml.XLinq (F) System.Expressions (F) Windows Workflow Foundation System.Workflow (3.0) System.Workflow.Activities (3.0) Rules System.Workflow.ComponentModel (3.0) Complier Desinger Serializaztion System.Workflow.Runtime (3.0) Hosting Messaging Windows File System System.Storage (F) Core Audio Calendar Contacts Documents Image Media Messages Rules Sync Video ASP.NET Data Management System.Web Caching Profile SessionState Network Class Library System.Net Cache Mail (2.0) Network Information (2.0) Security (2.0) Sockets ASMX Web Services System.Web.Services Printing Subsystem System.Printing (3.0) Identity Management Microsoft.InfoCards (3.0) GDI+ System.Drawing Design Drawing2D Printing XML Data System.Xml Schema Serialization XPath Xsl MSMQ System.Messaging Windows Forms System.Windows.Forms (2.0) Design Layout VisualStyles .NET Remoting System.Runtime.Remoting XPS Documents System.Windows.Xps (3.0) System.IO.Packaging (3.0) Directory Services System.DirectoryServices .NET Remoting System.Runtime.Remoting Speech Integration System.Speech (3.0) Recognition Synthesis FUNDAMENTALS BASE CLASS LIBRARIES System System.Text System.Text Generic (2.0) System.Text AccessControl (2.0) Cryptography (2.0) Permissions Policy Principal (2.0) Managed Add-In Framework System.Addins (F) Contact System.Runtime CompilerServices ConstrainedExecution(2.0) InteropServices Hosting Serialization Versioning System.CodeDom System.ServiceProcess System.Reflection System.ComponentModel System.Threading System.Diagonostics System.Timers System.Configuration Microsoft.Build (2.0) System.IO (2.0) System.EnterpriseServices System.Resrouces System.Transactions (2.0) “ClickOnce” Deployment System.Deployoment (2.0) (2.0) (3.0) - New (2.0) - Substantially Improved - Windows Presentation Foundation (formerly codenamed “Avalon”) - Windows Communication Foundation (formerly codenamed “Indigo”) - Windows Workflow Foundation KEY WINDOWS VISTA © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
3
Windows Communication Foundation
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Windows Communication Foundation The unified programming model for rapidly building service-oriented applications on the Windows platform Unifies today’s distributed technology stacks Appropriate for use on-machine, cross machine, and cross Internet Unification Service Orientation Codifies best practices for building distributed applications Interoperates with applications running on other platforms Integrates with our own distributed stacks Integration © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
4
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Programming WCF 101 © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
5
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Clients and Services Client Service © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
6
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Endpoints Client Service Endpoint Endpoint Endpoint Endpoint © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
7
Address, Binding, Contract
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Address, Binding, Contract Client Service C B A A B C C B A C B A Address Where? Binding How? Contract What? Endpoint © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
8
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Creating Endpoints ServiceHost Client Service C B A ClientChannel A B C C B A C B A © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
9
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM “Hello World” with WCF © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
10
Contract & Service Definition
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Contract & Service Definition [ServiceContract] public interface IHello { [OperationContract] string Hello(string name); } public class HelloService : IHello { public string Hello(string name) return “Hello, ” + name; } © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
11
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Service Hosting Self-host class HelloHost { static void Main(string[] args) ServiceHost host = new ServiceHost(typeof(HelloService)); host.Open(); // Wait until done accepting connections Console.ReadLine(); host.Close(); } WAS/IIS-host Service Language=“C#” Class=“HelloService” %> © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
12
Service Configuration
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Service Configuration <?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <services> <service type=“HelloService" <endpoint address=“ binding=“basicHttpBinding" contract="IHello" /> </service> </services> </system.serviceModel> </configuration> © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
13
Client Implementation
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Client Implementation class Client { static void Main() IHello proxy = ChannelFactory. CreateChannel<IHello>(“HelloEndpoint”); string r = proxy.Hello(“Omri”); Console.WriteLine(r); } <system.serviceModel> <client> <endpoint configurationName=“HelloEndpoint" address=" binding="basicHttpBinding" contract="IHello" /> </client> </system.serviceModel> © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
14
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Programming WCF 102 Contracts Bindings Metadata Behaviors © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
15
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Indster Amazon WSDL C B A R/R Basic A B C Indster Client Indster Client Peer A B C Peer C B A DuplexContract Tcp A B C Tcp C B A Request/Reply, OneWay WS A B C Indster Service C B A R/R © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
16
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Contracts © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
17
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Contracts in WCF public class Order { public int orderID; public int partNumber; public int price; public string info; public void Process(); public GetInfo(); } [DataContract] public class Order { [DataMember] public int orderID; [DataMember] public int partNumber; public int price; public string info; } public class Query { [DataMember] public int orderID; } [DataContract] public class Info { [DataMember] public string info; } [ServiceContract] public interface IOrderService { [OperationContract] void Process(Order o); [OperationContract] Info GetInfo(Query q); } © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
18
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Describing Messages void Chat(Message m) { } Untyped (“universal”) Typed Message Parameters: shorthand for [MC] void Chat(ChatRequest m) { } [MessageContract] public class ChatRequest { [MessageHeader] public string Me; [MessageBody] public string Text; } void Chat(string name, string text) { } © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
19
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Describing Messages [MessageContract] public class MyRequest { [MessageBody] public UnitInfo Info; [MessageBody] public bool IsInUse; } wsdl:message wsdl:part xsd:element [DataContract] public class UnitInfo { [DataMember] public int ID; [DataMember] public string Name; } © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
20
Data Contracts and Types
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Data Contracts and Types Indster Client Indster Client Peer A B C Peer C B A DataContract, Parameters Tcp A B C Tcp C B A Stream © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
21
Describing Message Exchanges
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Describing Message Exchanges ServiceContract ties together multiple operations OperationContract ties together Message Contract, Action [ServiceContract] public interface MyContract { [OperationContract( Action="urn:DoIt", ReplyAction="urn:Done")] MyReply DoIt(MyRequest request); Action="urn:DoItAgain", ReplyAction="urn:DoneAgain")] Message DoIt(Message request); } wsdl:portType wsdl:operation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
22
Describing Message Exchanges
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Describing Message Exchanges [OperationContract] string Echo(string text); Request/Reply One-way Message Duplex Contracts Actions control Dispatch “*” matches all actions [OperationContract(IsOneWay = true)] void Chat(string text); [ServiceContract(CallbackContract = typeof(IChat)] public interface IChat { [OperationContract(IsOneWay = true)] void Chat(string text); } [OperationContract( Action = “Foo”, ReplyAction = “FooResponse”)] Message Foo(Message request); [OperationContract(Action = “*”)] void Dispatch(Message request); © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
23
Request/Reply and Asynchrony
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Request/Reply and Asynchrony One-way messages modeled using OneWay=true operation contracts Correlated Request/Reply modeled either as synchronous method or using IAsyncResult pattern [OperationContract(IsOneWay = true)] void Chat(Message request); [OperationContract] Message Chat(Message request); [OperationContract(AsyncPattern=true)] IAsyncResult BeginChat(Message request, AsyncCallback cb, object state); Message EndChat(IAsyncResult call); © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
24
Service/Operation Contracts
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Service/Operation Contracts Indster Client Indster Client Peer A B C Peer C B A DuplexContract Tcp A B C Tcp C B A Request/Reply OneWay © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
25
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Contract Features Service and Operation Contracts Duplex, Sessionful MEPs One-Way, Request-Reply, First/Last Operation, Faults MEP Versioning Message and Data Contracts Message Schema Schema Versioning Fine-grained Control Action, Direction, Headers, Body, Wrapped/Bare, RPC/Doc, Literal/Encoded © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
26
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Bindings © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
27
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Inside Bindings Binding HTTP Text TX Security RM Transport Encoders Protocol TCP HTTP Security RM Text MSMQ IPC TX .NET Binary Custom Custom Custom © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
28
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Standard Bindings Interop Security Session Transactions Duplex Streaming BasicHttpBinding BP 1.1 T WsHttpBinding WS T | S X WsDualHttpBinding NetTcpBinding .NET O NetNamedPipesBinding NetMsmqBinding NetPeerTcpBinding T = Transport Security | S = WS-Security | O = One-Way Only © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
29
Integration using Bindings
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Integration using Bindings WS-* Protocols WCF * Binding * Binding WS-* Protocols ASMX/WSE3 WCF Http/WS Binding WS-* Protocols Http/WS Binding WS-* Protocols Java WCF Http/WS Binding WS-* Protocols Http/WS Binding MSMQ Protocol MSMQ WCF MSMQ Binding MSMQ Protocol MSMQ Binding © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
30
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Choosing Bindings Bindings have semantics Session, Duplex, Transaction Flow, Transacted Read, Queued Delivery, Ordered, Assurances Asserting Semantic Requirements in Code [ServiceContract] [BindingRequirements] © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
31
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Basic A B C Bindings Indster Client Peer A B C Peer Channel COM311 Sandeep Singhal Tue 2:45pm “Under the Hood” COM416 Steve Swartz Wed 5pm Tcp A B C WCF 4 XML-heads COM326 Doug Purdy Thu 5:15pm Writing Channels COM424 YasserS / KennyW Thu 3:45pm WS A B C © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
32
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Binding Features Encoding Text, Binary, Custom Transport selection TCP, HTTP, Named Pipes, P2P, MSMQ, Custom End-to-end Security Confidentiality, integrity, authN, authZ, federation Credentials: X509, User/Pwd, Kerberos, SAML, InfoCard, Custom End-to-end Reliable messaging Transport independent QoS (in order, exactly once) Volatile and durable queues for availability Transactions Shared transactions for “synchronous” operations Transactional queues for “asynchronous” operations © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
33
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Metadata © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
34
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Describing Endpoints Service Client GetMetadata WSDL C B A C B A Proxy.cs app/web.config A B C A B C © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
35
Generating Proxies Using Svcutil
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Generating Proxies Using Svcutil Indster Client Basic A B C Amazon WSDL R/R Interoperability COM423 Kirill G / Simon G Thu 2:15pm © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
36
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Behaviors © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
37
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Behaviors Client Service C B A A B C C B A Be C B A Be Client Behavior Service Behavior © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
38
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Example: Security Secure Apps COM312 Martin Gudgin Wed 1:45pm Client Service C B A A B C C B A Be C B A Be Infocards COM321 Andy Harjanto Thu 11:30am Bindings Insert Claims in Messages Extending Security COM430 Doug Walter Fri 8:30am Behaviors Implement Security Gates © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
39
Example: Reliable Messaging
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Example: Reliable Messaging Client Service C B A A B C C B A C B A Bindings do Ordering, Sessions, Guarantees Reliable, TX Apps COM307 Shy Cohen Wed 3:15pm © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
40
Example: Transactions
Next Generation Business Solutions Platform Strategy Review 6/3/2018 5:22 AM Example: Transactions Client Service C B A A B C C B A Be C B A Be Bindings Flow Transactions Reliable, TX Apps COM307 Shy Cohen Wed 3:15pm Behaviors AutoEnlist and AutoComplete © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
41
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Using Behaviors “Under the Hood” COM412 Steve Swartz Thu 10am Extending SM COM429 Mike Vernal Fri 10:30am © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
42
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Behavior Features Concurrency, Instancing, Throttling, Thread-Binding Faults, Exceptions Metadata customization Instance Pooling and JITA Impersonation, Protection, Authorization AutoEnlist, Isolation, AutoComplete © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
43
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Features Summary Address Binding Contract Behavior HTTP Transport WS-Security Protocol Request/ Response Instancing Behavior Concurrency Behavior Peer Transport net.p2p://... Throttling Behavior TCP Transport WS-RM Protocol net.tcp://... Metadata Behavior NamedPipe Transport WS-Coord Protocol net.pipe://... One-Way Error Behavior Transaction Behavior MSMQ Transport Duplex Channel net.msmq://... Custom Behavior Security Behavior Duplex Custom Transport Custom Protocol xxx://... Externally visible, per-endpoint Opaque, per-service, endpoint, or operation © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
44
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM More Resources 20 WCF or WCF-related sessions 11 WCF Hands-on Labs Communications Track Lounge (Indster code) Identity/Access COM214 John Shewchuk Wed 3:15pm COM+/MSMQ COM305 Andy Milligan Wed 11am Managing Services COM308 Alex Weinert Wed 1:45pm, 5pm Hosting Services COM413 Steve Maine Fri 1pm WCF Tips&Tricks COM415 John Justice Thu 10am ASMX/WSE COM432 Mark Fussell Fri 8:30am © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
45
Next Generation Business Solutions Platform Strategy Review
6/3/2018 5:22 AM Please Fill Out An Eval! © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary. © 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.