Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services.

Similar presentations


Presentation on theme: "Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services."— Presentation transcript:

1

2 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

3 WCF is Our next-generation platform for distributed systems A set of extensions to the Microsoft.NET Framework 2.0 Build WCF services in Visual Studio 2005 using any.NET Language Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring, code snippets, etc. Visual Basic.NET, Visual C#, etc. Runs on Microsoft Windows Vista Microsoft Windows XP Microsoft Windows Server 2003

4 .NET at the core The Unified Framework For Rapidly Building Service-Oriented Applications

5 Windows Communication Foundation Unifies today’s distributed technologies Lets you develop/deploy/manage one model Visual Studio 2005 integration Broad support for Web services (WS-*) specifications Compatible with existing Microsoft- distributed application technologies Enables development of loosely-coupled services Config-based communication

6 Unified Programming Model Interop with other platforms ASMX Attribute-BasedProgramming Enterprise Services WS-*ProtocolSupport WSE Message-OrientedProgramming System.Messaging Extensibility Location transparency.NET Remoting

7 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

8 How does it work? Endpoints ClientService Message EndpointEndpoint Endpoint

9 How does it work? Address, Binding, Contract ClientService Message ABCABC ABC AddressBindingContract (Where)(How)(What)

10 How does it work? Behaviours and Metadata ClientService Message ABCABC ABC Metadata BvBv BvBv Proxy ServiceHost()

11 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

12 How do I use it? Generate Proxy Pick Endpoint Define Contract Implement Service Define Endpoints Host ServiceClient Service

13 How do I deploy it? For HTTP services on Windows XP ® SP2 & WS2K3 For any service on Windows Vista ® and Windows Server ® “Longhorn” Proven reliability, scalability, and security Requires a.svc file to identify the Service Type Web Host within IIS: Self-Host within any.NET process: Available for any service Console apps, windowed apps,.NET NT Services …

14

15 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

16 All About Bindings You can choose a pre-defined binding: <endpoint name=“MyService” address=“MyAddress” binding=“netTcpBinding” contract=“IMyInterface” /> NetPeerTcpBinding NetMSMQBinding NetNamePipesBinding NetTcpBinding WsHttpBinding BasicHttpBinding Binding.NET Peer  Peer.NET .NET via MSMQ.NET .NET across processes Secure, reliable duplexed.NET .NET across processes Secure, reliable duplexed Basis for WS-* interop Supports WS-Security, WS-RM, WS-Tx Basic Profile 1.1 Interop and Intergration w/ASMX Purpose

17 All About Bindings You can customize a pre-defined binding: <service name=“MyService”> <endpoint address=“MyAddress” binding=“wsHttpBinding” bindingConfiguration=“MyReliableBinding” contract=“IMyInterface” /> <reliableSession enabled=“true” ordered=“true”

18 All About Bindings You can define custom bindings: <service name=“MyService”> <endpoint address=“MyAddress” binding=“wsHttpBinding” bindingConfiguration=“MyReliableBinding” contract=“IMyInterface” /> <reliableSession enabled=“true” ordered=“true”

19 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

20 All about Addresses An endpoint address is relative to a base address: For a Web-Hosted service, the base address is that of its virtual directory <service name=“MyService”> <endpoint address=“MyEndpointAddress” binding=“wsHttpBinding” bindingConfiguration=“MyReliableBinding” contract=“IMyInterface” />

21 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

22 All About Contracts Service Contract: Describes the operations a service can perform. Maps CLR types to WSDL. Data Contract: Describes a data structure. Maps CLR types to XSD. Message Contract: Defines the structure of the message on the wire. Maps CLR types to SOAP messages.

23 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

24 Hosting Services in ASP.NET Write your service as usual: [ServiceContract] [OperationContract] etc. ServiceHost’s are represented as.svc files: Service attribute is a CLR type name Matches from web.config

25 Where can I put my service code? Anywhere you can put code in ASP.NET: Inline in the.svc file In a.cs/.vb in App_Code In a class library (.dll) located in \bin WCF plays nicely with ASP.NET’s dynamic compilation system

26 Which project type should I use? Services can be built in any project type Web projects Class Libraries Class libraries have benefits Decouples implementation from hosting environment Can test services in other hosts (e.g. console apps) during development However, WCF doesn’t care which project type you use…use what makes sense for you

27

28 Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET

29 IIS Worker Process (w3wp.exe)

30 w3wp.exe ASP.NET

31 w3wp.exe ASP.NET Managed Hosting Layer (System.Web.Hosting, System.Web.Compilation) ASP.NET Page Framework, UI, Controls, HTTP Runtime (System.Web, System.Web.UI)

32 w3wp.exe ASP.NET Managed Hosting Layer (System.Web.Hosting, System.Web.Compilation) ASP.NET Page Framework, UI, Controls, HTTP Runtime (System.Web, System.Web.UI) WCF Service Model (System.ServiceModel) Can share state

33 WCF and the HTTP Pipeline IIS ASP.NET HTTP Request Service Implementation Process Host WCF HttpModule(grabs *.svc) WCF HTTP Transport Protocol Channels Dispatcher HTTP Response Other HttpModule

34 Why the split? Two technologies, different priorities WCF: consistency across transports and hosting environments ASP.NET: optimize for HTTP applications hosted in IIS Becomes very important on IIS7/WAS WAS == Windows Process Activation Service

35 Implications ASP.NET platform features still work for ASP.NET Forms auth Session state File/URL authorization They just don’t apply to WCF by default

36 Summary What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services in ASP.NET How WCF works inside of ASP.NET


Download ppt "Agenda What Is the Windows Communication Foundation? How Does It Work? How Do I Use and Deploy It? Bindings Addresses Contracts How to host WCF services."

Similar presentations


Ads by Google