Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Praveen SrivatsaDirector, AsthraSoft ConsultingMicrosoft Regional Director, Bangalore
Session Code:
Agenda
RIA Applications Today
Building Data Driven Applications
Silverlight 3.0 RIA Services
Objective
In this session, we will talk about how tough it is to build data driven RIA Applications using today’s technologies.
We will then see how the Silverlight 3.0 RIA Services addresses these problems by creating a comprehensive architecture pattern for developing Rich Interactive Applications.
RIA Applications todayThe pains and the travails of developing RIA Apps
ASP.NET and Ajax development is very time consuming
Silverlight development is not better
Key focus : Developer productivityASP.NET MVC introduces an easier model for developing data driven applications
Taking ASP.NET MVC forward
Vision and Goals
Simplify RIA developmentn-tier is hard, and un-natural
Bring ASP.NET/RAD-style productivity to RIA development
Focus on end-to-end scenarios and solutions
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
End-to-End Data
Beyond accessing and editing rowsApp-specific custom operations
Data shaping (sorting, paging, and filtering)
Rules (validation, authorization, and conflict handing)
Batching and offline
Web ApplicationBrowser Rich Internet Application
DB
Services
Other Applications
App Model that Spans Tiers
A single logical applicationClient is an extension of the server
Data Access
Layer
App
Logic
Services
HTMLPresentation
LogicNetwork
Services
A Prescriptive Pattern
Application
DB
Services
Data Access
Layer
App
Logic
Presentation
LogicNetwork
DomainService: CRUD + App Logicclass CatalogIQueryable<Product> GetProducts()void UpdateProduct(Product, Product)void ToggleSale(Product)Validation and authorization rules,
Application workflows, …
Data Modelclass Product
DomainContext: Bindable Dataclass CatalogEntityList<Product> Products { get }void LoadProducts(IQueryable<Product>)void ToggleSale(Product)
class ProductData members + Validationvoid ToggleSale()
Data Model +Metadata +Shared Code
A Pattern that Scales and Grows
Support for multiple presentation tiers and data access technologies
App
Logic
Databases
ADO.NET,
ORMs (LTS, EF, …)
CLR Lists/Objects
Repository
(nHibernate, …)
Services
REST/SOAP
(Azure, …)
XML,
JSON,
Binary
.NET Clients
Silverlight, WPF
Standards Clients
JavaScript
Server Rendering
HTML, SEO,
Printing, …
Services
WCF
Unit Test
Code
Roadmap
First public CTP at MIXWorks with Silverlight 3 and .NET 3.5 SP1
On-going CTPs through RTMPlease provide feedback!
Go-live later in the year
RTM soon after
Full support for ASP.NET, Ajax, and WPF applications also forthcoming
Summary
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
Email : [email protected] : http://blogs.asthrasoft.com/asthratimes
Track Resources
Silverlight Community Site (http://www.silverlight.net)
Blogs – Nikhil Kothari (http://www.nikhilk.net)
Blogs – ScottGu (http://weblogs.asp.net/scottgu/)
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.