170 likes | 386 Views
CL21. Building Amazing Business Applications with Silverlight 4 and RIA Services. Brad Abrams Product Unit Manager Microsoft Corporation brada@microsoft.com http://blogs.msdn.com/brada Twitter: @ brada. Windows Communication Foundation. Programming Model. Core Services. RIA
E N D
CL21 Building Amazing Business Applications with Silverlight 4 and RIA Services Brad Abrams Product Unit Manager Microsoft Corporation brada@microsoft.com http://blogs.msdn.com/brada Twitter: @brada
Windows Communication Foundation Programming Model Core Services RIA Services Workflow Services DataServices Web Http Services ServiceModel Data Contract Service Contract Service Behavior ChannelModel Formats (Atom, JSON, XML,…) Transports (HTTP, TCP,…) Protocols (SOAP, HTTP, OData,…)
Vision and Goals • Simplify RIA-style application development • n-tier is hard, and un-natural • Focus on data-driven apps • Bring ASP.NET-style productivity to RIA development • Building blocks for data, security, etc. • Focus on scenarios
Value Propositions • Focus on data in an end-to-end manner • A unified story for client and server development • A prescriptive framework that targets key scenarios, and leads the common developer to a pit of success
A Unified Story for Client and Server • Client is an extension of the server • A single logical application Service Rich Internet Application Browser Application Presentation Logic App Logic Data Access Layer HTML Network DB Services Other Applications
Summary • RIA Services focuses on writing n-tier apps by treating them as one logical application • Still get n-tier goodness from the architecture/pattern without the plumbing getting in your way • RIA Services provides a pattern for encapsulating application logic on the middle tier that can be useful in a variety of scenarios • DAL-agnostic • Multiple presentation layers
Roadmap and Resources • First public preview at MIX ’09 • http://silverlight.net/riaservices/ • Links to bits, docs, samples, forums • Go-Live Beta today! • RTM with Silverlight 4 • Contact • Brad Abrams • BradA@Microsoft.com • http://blogs.msdn.com/brada • Twitter: @BradA
Questions? Contact • Brad Abrams • BradA@Microsoft.com • http://blogs.msdn.com/brada • Twitter: @BradA
A Single Pattern that Scales and Grows • Support for multiple presentation tiers and data access technologies Databases ADO.NET, ORMs (LTS, EF, …) .NET Clients Silverlight, WPF Standards Clients JavaScript App Logic CLR Lists/Objects Repository (nHibernate, …) Server Rendering HTML, SEO, Printing, … SOAP, XML, JSON, Binary Services REST/SOAP (Azure, …) Services WCF Unit Test Code
A Prescriptive Pattern • DomainService • Stateless CRUD + App Logic • class PlateViewDomainService • IQueryable<Restaurant> GetRestaurants() • IQueryable<Restaurant> SearchRestaurant(string) • void AddRestaurant(Restaurant) • Validation and authorization rules, • Application workflows, … • Data Model • class Book • DomainContext • Stateful view + Bindable Data • class PlateViewDomainService • EntityList<Restaurant> Books { get } • EntityQuery<Restaurant> GetRestaurantQuery() • EntityQuery<Restaurant> SearchRestaurantQuery(string) • class Restaurant • Data members + Validation Data Model + Metadata + Shared Code Services Rich Internet Application Presentation Logic App Logic Data Access Layer Network DomainContext Data Service DB Under the covers infrastructure
YOUR FEEDBACK IS IMPORTANT TO US! Please fill out session evaluation forms online at MicrosoftPDC.com
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….