Upload
chris-deweese
View
1.218
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
WCF 4.0 Jumpstart
Chris Deweese, Senior Consultant, Daugherty Business Solutions
What the Documentation Doesn’t Tell you…
WCF has been proven to be 100% effective at defending against and repelling Zombie Hordes Creepy Girls in Horror Movies Decepticons Cobra Commander Ninja Attacks Werewolves Sith Lords Goth Kids Gingivitis
What WCF Will Not Do (Attempting these will void your warranty)
Solve all your problems Assist in Particle Acceleration Defeat Superheroes Create Skynet Your Chores Make the architect who told you to
build an SOA utopia happy (He’ll change his mind
about that later and you’ll have to rebuild it)
What is WCF? (The boring textbook version)
Windows Communication Foundation Framework for building distributed
applications Unified programming model for
different communication channels (web, sockets, message queues, etc)
Brings together elements from Remoting, ASMX Web Services, Messaging
Why Would I use WCF?
Web Services (SOAP & REST) Distributed Communication
(Messaging – message queues/sockets)
Intra-process communication (Processes on one machine)
Key Concepts Service – Unit of work exposed to the world. Address – The network location of the service
(e.g., http://localhost/home/home.svc) Binding – How you interact with the service at the wire
level. Channel – The transport mechanism that moves the
message between service and client. Endpoint – the collection of the services address,
binding, and contract. Dispatcher – Manages execution of service code by
routing messages to the appropriate service instance and method.
Behavior – How you control the local execution of a service.
Let’s Learn our ABC’S
Address
“Dude where’s my service?” The location of the service on the
network where it can be reached. http://localhost/pizza.svc net.msmq://localhost/private/pizzaservice net.tcp://localhost:6000/pizzaservice
Set via configuration or through code
Binding “How do I talk to this thing?” The protocol and policies used to connect to the
service at it’s address. WCF Provided Bindings
Http(BasicHttp, WsHttp, WsDualHttp, WsFederation) NetMsmq MsmqIntegration NetNamedPipe NetTcp NetPeerTcp
Set via configuration or through code
Contract
“What’s it going to do for me?” Defines the operations, inputs, outputs,
and message exchange patterns of the service.
Defined using an Interface; wired into WCF by using the ServiceContract attribute. Methods use the OperationContract attribute. Classes use the DataContract attribute and members use the DataMember attribute.
WCF Serialization is “Opt-In”
Hosting WCF Services
In Process Windows Service Web Service (IIS) Windows Activation Services
WAS allows you to host a service on any binding
WCF Architecture
What’s new in WCF 4?
Simplified configurationSimplified configurationSimplified. Configuration.
What else is new in WCF 4? WS-Discovery protocol
implementation Used to discover services on the network
Routing service Used to route messages based on
content or other rules you specify REST Improvements
Enhancements to simplify REST service development
Let’s Build a Service
Less talk. More code. Demo: BasicHttp Service
Let’s get some REST
Drop the soap. Demo: Add REST endpoint to existing
service
Hands-free with Default Endpoints
Look Ma’ No Configuration Demo: Hosting BasicHttp, Net.Tcp,
and REST in one Application
Where do you want to go today? Routing Service Demo: Sports & Concert ticket
services (Created by Richard Seroter http://bit.ly/cdHp7U)
Why WCF 4 is Neat-o
Aka “Summary” Simplified configuration through
default endpoints Simplified coding model for REST
services (uses ASP.NET 4 routing) New features – Discovery & Routing
Questions/Discussion