Windows Communication Foundation (WCF)

Slides:



Advertisements
Similar presentations
3/25/2017 8:53 AM Windows Communication Foundation (“Indigo”): A Deep Dive Into Extending The Channel Layer Kenny Wolf, Software Development Engineer.
Advertisements

Indigo Jonathan Turnbull Nick Cartwright Ivan Konontsev Chris Bright.
WCF Intro Scott Reed Owner - Brain Hz Software Instructor – DevelopMentor
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Windows Communication Foundation and Web Services.
Adam Dille CS526 – Spring  Advances in Microsoft’s service offerings  ASMX vs. WCF  Latest WCF Improvements (.NET 4.0)  No in-depth study of.
The Microsoft Technical Roadshow 2006 Windows Communication Foundation Mike Taulty Developer & Platform Group Microsoft Ltd
Web Services (ASMX 2.0 and WSE 3.0) Mike Taulty Developer & Platform Group Microsoft Ltd
Jon Flanders INT303. About Me  Jon Flanders –  Independent consultant/trainer  BizTalk MVP.
Getting Started with WCF Windows Communication Foundation 4.0 Development Chapter 1.
vdir2 Web. config Echo. svc A A B B C C vdir2 vdir1.
Bruno Terkaly | Technical Evangelist Bret Stateham | Technical Evangelist.
CON 413 Justin Smith Technical Evangelist
Copyright ©2004 Virtusa Corporation | CONFIDENTIAL Introduction to Windows Communication Foundation Ruwan Wijesinghe.
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.
1 Windows Communication Foundation: Integrating COM+ and MSMQ Applications Andy Milligan COM305 Program Manager Microsoft Corporation.
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Microsoft Visual Studio 2010 Muhammad Zubair MS (FAST-NU) Experience: 5+ Years Contact:- Cell#:
Intro to WCF From the beginning and uses Steve AppRochester.
Justin Smith
Random Logic l Forum.NET l Web Services Enhancements for Microsoft.NET (WSE) Forum.NET ● October 4th, 2006.
A Deep Dive into Best Practices with the Windows Communication Foundation John Justice COM415 Program Manager Microsoft Corporation.
Developing Web Services Using ASP.NET and WSE That Interoperate with the Windows Communications Foundation ("Indigo") Mark Fussell COM432 Lead Program.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
.NET Enterprise Services COM+ 1.5 麥超俊 Bobby Mak 架構技術推廣經理開發工具暨平台推廣處台灣微軟股份有限公司.
Mahesh Krishnan, Senior Consultant, Readify Slide 1.
Telerik Software Academy Web Services & Cloud.
Kemal Baykal Rasim Ismayilov
Presentation 24: Windows Communication Foundation Introduced Objektorienteret Netværkskommunikation.
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.
Dhananjay Kumar MVP-Connected System 1. WCF  Agenda What is WCF ? Why WCF? Address, Binding, Contract End Points Hosting Message Patterns Programming.
Introduction to.NET FX 3.0 (+ sneak preview of.NET FX 3.5) Martin Parry Developer & Platform Group Microsoft Ltd
The SOAP Story Martin Parry Developer & Platform Group Microsoft Ltd
Windows Communications Foundation ("Indigo"): Writing Secure Distributed Applications Martin Gudgin COM312 Program Manager Microsoft Corporation.
1 “Indigo” & Web Services Roadmap David Gristwood.
Windows Communication Foundation António Cruz Freelancer (SAPO/PT.COM)
Justin Smith Technical Evangelist Microsoft Corporation CON301.
Shani Raba Team Leader & Software Architect
1 Network Communications A Brief Introduction. 2 Network Communications.
Windows Communication Foundation and Web Services
Jim Fawcett CSE681 – SW Modeling & Analysis Spring 2005
Windows Communication Foundation
4/12/2018 2:37 PM Windows Communication Foundation: Migration, interop, upgrade, and integration Risman Adnan ISV Lead, Microsoft Indonesia
Windows Communication Foundation
Windows Communication Foundation
Introduction to Windows Azure AppFabric
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
Window Communication Foundation
WCF.
ASP.NET Web Forms and Web Services
Introduction How to combine and use services in different security domains? How to take into account privacy aspects? How to enable single sign on (SSO)
Distribution of functionality Webservice using WCF
Windows Communication Foundation and Web Services
Windows Communication Foundation
WCF (Indigo): Under the Hood of the Channel Layer
Building real-time web apps with WebSockets using IIS, ASP.NET and WCF
The Application Lifecycle
The future of distributed systems architecture
MIX 09 12/9/2018 6:08 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
for Developers Martin Parry Developer and Platform Group Microsoft
Windows Communication Foundation (WCF)
Developing for Windows Azure
WEB SERVICES From Chapter 19, Distributed Systems
Distributed Applications on Windows Vista
The SOAP Story Martin Parry Developer & Platform Group Microsoft Ltd
Jim Fawcett CSE791 – Distributed Objects Spring 2002
WCF Data Services and Silverlight
Message Passing Systems Version 2
利用IIS部署與維護 SOA應用程式的技巧
Message Passing Systems
Presentation transcript:

Windows Communication Foundation (WCF) Jim Fawcett CSE775 – Distributed Objects Spring 2007

References Introducing WCF, David Chappell, www.davidchappell.com/IntroducingWCFv1.2.1.pdf Using three diagrams from this reference Programming Indigo, David Pallmann, Microsoft Press, 2005 Pro WCF, Peiris and Mulder, Apress, 2007

What is WCF? Integration of several Microsoft Technologies: Web services (ASMX) Web service extensions (WSE) WS-Security WS-Reliability WS-Addressing .Net Remoting MSMQ messaging COM+ Transactions

Chappell, ibid, pg 14

Channel Model WCF supports three types of channel activity: Asysnchronous one-way Request, wait for reply Full duplex two-way

Channel Shapes IOutputChannel IInputChannel IRequestChannel 7/29/2018 3:33 AM Channel Shapes IOutputChannel IInputChannel IRequestChannel IReplyChannel 3 types of Channel Shapes (BEANBAGS) 1. Datagram: Messages are “fire and forget”. (THROW BEANBAG OVER HEAD) This is like sending a postcard in the mail (could get lost). Or like UDP. This is a building block for Messaging since arbitrary protocols can be built on top of it. 2. Request-Response: (THROW BACK AND FORTH BETWEEN KENNY AND YASSER) Common MEP. RPC, browser GETs, etc. 3. Duplex: bi-directional communication. (KEEP THROWING IN RANDOM ORDER) This is like speaking to a co-worker, etc. * Also Session-ful variants of each of these protocols. * Factories can support multiple shapes For Request-Response you get an IRequestContext instead of a Message (this comment should go in later slides though, doesn’t matter for the overview) IDuplexChannel ©2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Endpoints and Channels 7/29/2018 3:33 AM Endpoints and Channels ServiceHost host = new ServiceHost(typeof(MyService)); Uri address = new Uri(“net.tcp://kennyw2/Service/endpoint”); Binding binding = new NetTcpBinding(); Type contract = typeof(IMyContract); host.AddEndpoint(address, binding, contract); host.Open(); ©2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Structure Service Contract Binding Address Service contract – RPC Interface Data contract – Type serialization Message contract – Soap message Binding Transport – HTTP, TCP, MSMQ, … Channel type – one-way, duplex, request-reply Encoding – XML, binary, MTOM (msg trans optim mech) WS-* protocols – WS-Security, … Address http://someURI net.tcp://someOtherURI net.msmq://stillAnotherURI

Chappell, ibid, pg 25

Channel Interfaces public interface IOutputChannel : IChannel { void Send(Message msg); } public interface IInputChannel : IChannel { Message Receive(); } public interface IDuplexChannel : IOutputChannel, IInputChannel {} public interface IRequestChannel : IChannel { Message Request(Message msg); } public interface IReplyChannel : IChannel { IRequestContext ReceiveRequest(); } public interface IRequestContext : Idisposable { Message RequestMessage { get; } void Reply(Message msg); }

Service Contract <%@ ServiceHost Language=“C#” Service=“MyService” %> [ServiceContract] public interface IMyService { [OperationContract] string Hello( string name); } public class MyService : IMyService { public string Hello(string name) { return “Hello “ + name; } }

Hosts WCF Services can be hosted in: Internet Information Services (IIS) Very similar to web services Windows services Exposing windows service in style of WS Console and Winform applications New style for socket like functionality

Monitoring Services Message Logging WCF Performance counters Calls, CallsOutsantding, CallsErrored, … SecurityCallsNotAuthenticated, … TxCommitted, TxAborted, … RMSessionsStarted, RMSessionsFaulted, … Windows Management Instrumentation (WMI), a COM technology

Other Topics WCF Security Credentials and claims (evidence) Transport-level security Message-level security Federated security model Authorization Auditing

Reliable Messaging ReliableSession enabled MSMQ Binding Implemented at the SOAP level not TCP packet Very similar to TCP functionality Messages not sent are held in a Transfer Window cache Will have problems with large messages MSMQ Binding Needs microsoft platforms on both ends Supports store and forward

Other Features WCF Supports transactions ACID properties Atomicity composite operations treated as a unit Consistency Operations succeed or the system is returned to prior state Isolation Each transaction is independent and isolated from other transactions Durability If an operation succeeds it becomes durable, e.g., committed to a database or other persistant store

Conclusion Convergence of programming models Flexible hosting options Desktop Application Web Application Windows Services Flexible hosting options Flexible abstractions