Dinesh Kulkarni Program Manager Developer Division Microsoft Corporation CL07 Agenda WCF RIA Services in context A look under the hood Using RIA Services effectively Agenda WCF RIA Services in context ID: 653284
Download Presentation The PPT/PDF document "Mastering WCF RIA Services" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Mastering WCF RIA Services
Dinesh Kulkarni Program ManagerDeveloper DivisionMicrosoft Corporation
CL07Slide2
Agenda
WCF RIA Services in contextA look “under the hood”Using RIA Services effectivelySlide3
Agenda
WCF RIA Services in contextA look “under the hood”
Using RIA Services effectivelySlide4
RIA Services
in n-tier applications
Data Access Layer (DAL)
App Logic
Database
View
Web Service
App
Logic
Trust
Boundary
Framework, tools and services with
prescriptive pattern for n-tier applicationsSlide5
Windows Communication Foundation (WCF)
Channel Model
Formats
(Atom, JSON, XML,…)
Transports
(HTTP, TCP, …)
Protocols
(SOAP, HTTP, OData, …)
Service Model
Data Contract
Service Contract
Service Behavior
Programming Model
Core Services
Web HTTP Services
Data Services
Workflow Services
RIA ServicesSlide6
Design principles
End-to-end view of an application: framework, pattern, tooling and servicesPrescriptive approach to app logic
DAL-neutral and targets multiple presentation technologiesSlide7
Data a
ccess & presentation neutral
App
Logic
XML,
JSON, BinarySlide8
Agenda
WCF RIA Services in context
A look “under the hood”
Using RIA Services effectivelySlide9
Agenda
WCF RIA Services in context
A look “under the hood”
Design-time view
Run-time view
Services
Using RIA Services effectivelySlide10
Agenda
WCF RIA Services in context
A look “under the hood”
Design-time view
Run-time view
Services
Using RIA Services effectivelySlide11
Client project
Design-time view
Server project
Domain
Service
Data Access Layer (DAL)
Entities
Solution (Application)
Views
Domain
Context
Entities
Build, reflect & code-genSlide12
Design-time view
Writing app logic and using generated code
DemoSlide13
Code
gen recap …Server project
[
EnableClientAccess
()]
DishViewDomainService
:
DomainService
IQueryable<Plate>
GetPlates(…) void UpdatePlate(Plate p)
void FeatureOnSite(Restaurant r)
Client project
Generated codeDishViewDomainContext: DomainContextclass Plate: Entity EntityQuery<Plate>
GetPlatesQuery(…) CreateEntitySet
<Plate>(EntitySetOperations.Edit)
Restaurant.FeatureOnSite
();Slide14
Agenda
WCF RIA Services in context
A look “under the hood”
Design-time view
Run-time view
Services
Using RIA Services effectivelySlide15
Silverlight
Run-time view (entity lifecycle)
Web server
Domain
Service
Data Access Layer (DAL)
Application
Views
Domain
Context
Load
Query
Entities
Results
Submit
Entities
Submit
Results
c
ontext.Load
(
GetRestaurantsQuery
(…).
Skip(10).Take(10))
context.SubmitChanges
()
GetRestaurants
(…).Skip(10).Take(10)
Submit(
changeSet
)Slide16
Run-time view
Query w/ LINQ & CUD w/ unit of work
DemoSlide17
Summary
Entity lifecycleQueryUnit of work: insert, delete, update, custom update
DomainContext
Bindable
collections, entities
Async
support
Id management, change tracking
DomainServiceCRUD supportOption of open service layer with WCFSlide18
Agenda
WCF RIA Services in context
A look “under the hood”
Design-time view
Run-time view
Services
Using RIA Services effectivelySlide19
Services
AuthenticationRolesUser profile
All integrate w/ ASP.NET infrastructureSlide20
Services
Authentication and rolesDemoSlide21
Summary
Authentication & rolesDeclarative: class / method-level
Integrated into Query / Submit processingSlide22
Agenda
WCF RIA Services in context
A look “under the hood”
Using RIA Services effectivelySlide23
Using RIA Services effectively
Do
Require authentication / roles
Authenticate w/ https
Utilize query composition
Filter, sort, page
Consider custom update
Factor into multiple
DomainService classes / librariesHandle errors on serverUse declarative validationDon’tDeploy with anon accessExpose non-essential entities/ operations or allow free-form access to data
Use a single large DomainService classSlide24
Call to action
Try RIA Services bitsBeta on .NET 3.5 SP1/ VS 2008 / Silverlight 3
Preview on Dev10 / Silverlight 4 (this will evolve into V1 RTW)
Give us feedback and join us on forum
Home page
http://silverlight.net/riaservices/Slide25
Related sessions
CL21
Building Amazing Business Applications with Microsoft Silverlight and Microsoft .NET RIA Services
CL32
Developing Testable Silverlight Applications
CL22
Advanced Topics for Building Large-Scale Applications with Microsoft Silverlight
CL19
Building LoB Applications with Silverlight 4FT55
Developing REST Applications with .NET FrameworkFT12ADO.NET Data Services: What’s New with the RESTful Data Services FrameworkSVC23Using the Microsoft Sync Framework to Connect Apps to the CloudSlide26
YOUR FEEDBACK IS IMPORTANT TO US!
Please fill out session evaluation forms online at
MicrosoftPDC.comSlide27
Learn More On Channel 9
Expand your PDC experience through Channel 9
Explore videos, hands-on labs, sample code and demos through the new Channel 9 training courses
channel9.msdn.com/learn
Built by Developers for Developers….Slide28Slide29
Using the right tool for the job
WCF Layer
Description
Domain Services
Prescriptive
E2E experience for Silverlight applications
Data Services
Turn-key entity-oriented programming model for HTTP/
RESTful servicesWorkflow ServicesWorkflow-oriented
programming model for long-running business processesService ModelMethod-oriented programming model for WS-* & REST developersAll programming models can leverage the wide-ranging set of behaviors and protocols
We have good integration in SL4/Dev10, that gets even better in Dev11Microsoft ConfidentialSlide30