.NET RIA Services Architecture Overview

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    .NET RIA Services Architecture Overview - Presentation Transcript

    1. Building Business Centric Applications with Silverlight 3 and .NET RIA Services
      Brad Abrams
      Product Unit manager
      Microsoft
      http://blogs.msdn.com/brada
      Twitter: @brada
    2. 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
    3. 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
    4. Service
      Rich Internet Application
      Browser
      Application
      DB
      Other Applications
      A Unified Story for Client and Server
      Client is an extension of the server
      A single logical application
      Presentation
      Logic
      Data Access Layer
      App
      Logic
      HTML
      Network
      Services
    5. A Prescriptive Pattern
      DomainService
      Stateless CRUD + App Logic
      class LibraryService
      IQueryable<Books> GetBooks()
      IQueryable<Book> SearchBooks(string)
      void AddBook(Book)
      void RequestBook(Book)
      Validation and authorization rules,
      Application workflows, …
      Data Model
      class Book
      DomainContext
      Stateful view + Bindable Data
      class LibraryContext
      EntityList<Book> Books { get }
      EntityQuery<Book> GetBooksQuery()
      EntityQuery<Book> SearchBooksQuery(string)
      void RequestBook(Book)
      class Book
      Data members + Validation
      void RequestBook()
      Data Model +
      Metadata +
      Shared Code
      Services
      Rich Internet Application
      Presentation
      Logic
      Data Access Layer
      App
      Logic
      Network
      DomainContext
      Data
      Service
      DB
      Under the covers infrastructure
    6. 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
    7. 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
    8. Roadmap and Resources
      First public preview at MIX ’09
      http://code.msdn.microsoft/riaservices
      Links to bits, docs, samples, forums
      Next big release is at PDC ‘09
      Slides + sample code
      http://www.nikhilk.net
      Other blogs
      http://blogs.msdn.com/brada
    9. Extra: ViewModel
    10. Patterns for Separating UI and Logic
      MVC, MVP, ViewModel, …
      General approach
      Separate interaction logic from view
      Decouple components of app
      Motivations
      Loosely coupled building blocks
      Designer-developer workflow
      Greater degree of testability
      User Interface
      Interaction Logic
      Data Model
    11. ViewModel Pattern
      MVVM (Model – View – ViewModel), Presentation Model
      Basic idea
      View model encapsulates application behavior independent of view
      View is responsible for rendering and user input
      Leverage data-binding and commanding to hook up view to its view model
    12. Hello WorldFrom code-behind to ViewModel
      demo
    13. Interaction Logic in Code-behind
      View
      XAML
      Data Model
      Code-Behind
      Event Handlers
    14. Interaction Logic in View Model
      View
      XAML
      Code-Behind
      Property change and other event notifications
      Data-binding and commands
      View Model
      Data Model
      State + Operations + Notifications
    15. question & answer
    16. Required Slide
      © 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.

    + bradabrada, 2 months ago

    custom

    1460 views, 1 favs, 0 embeds more stats


    Mostly taken from Nikhil Kothari’s excellent pr more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1460
      • 1460 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 33
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories