Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TechDays 2010 Portugal - WCF RIA Services 16x9


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

TechDays 2010 Portugal - WCF RIA Services 16x9

  1. 1. WCF RIA Services “do Geral ao Detalhe”<br />WUX303<br />NunoGodinho<br />Partner & CTO @ ITech4All<br /><br />@NunoGodinho<br />
  2. 2. Session abstract<br />Session title<br />
  3. 3. Speaker Bio and Photo<br />Speaker Name<br />
  4. 4. Nuno Filipe Godinho<br />Partner & CTO @ ITech4all<br />Mail:<br /><br />Blogs:<br /><br /><br /><br />Twitter: @NunoGodinho<br />About Me<br />
  5. 5. Introduction<br />RIA Services <br />Q&A<br />Note: Use #techdays2010pt and #WUX303 hashtags for requests and comments about this session on TechDays Portugal 2010<br />Agenda<br />
  6. 6. Introduction<br />
  7. 7. Sample Line-of-Business Application <br />without WCF RIA Services<br />
  8. 8. Common Problems<br />N-Tier Development<br />Controls<br />Rich Text Support<br />Multi-language Support<br />Customer Devices Interaction<br />Communications<br />Extensibility<br />Offline Support<br />Interoperability<br />Problem Statement<br />
  9. 9. The validation needs to run on Client and On Server as well as on Mid-Tiers<br />Common validation across the tiers<br />Services that may be shared with other applications<br />Challenges using N-Tier applications<br />
  10. 10. Value Proposition<br />
  11. 11. Simplify RIA-style application development<br />n-tier is hard, and un-natural<br />Focus on data-driven apps<br />Bring ASP.NET-style productivity to RIA development<br />Building blocks for data, security, etc.<br />Focus on scenarios<br />Vision and Goals<br />
  12. 12. Focus on data in an end-to-end manner<br />A unified story for client and server development<br />A prescriptive framework that targets key scenarios, and leads the common developer to a pit of success<br />Value Propositions<br />
  13. 13. Simplify application development across tiers and trust boundary <br />Provides a set of tools to build the multiple tiers of an application together<br />Application logic remains aware of tier and trust boundaries<br />Uses the end-to-end flow of data and metadata described earlier <br />Code generation and shared code <br />Enhance the experience by providing multiple choices for sharing logic while respecting tier and trust boundaries <br />Value Propositions<br />
  14. 14. Sample Line-of-Business Application<br />with WCF RIA Services<br />
  15. 15. Client is an extension of the server<br />A single logical application<br />Service<br />Rich Internet Application<br />Browser<br />Application<br />DB<br />Other Applications<br />Unified Story<br />Presentation<br />Logic<br />Data Access Layer<br />App<br />Logic<br />HTML<br />Network<br />Services<br />
  16. 16. A Prescriptive Pattern<br />Services<br />Rich Internet Application<br />Presentation<br />Logic<br />Data Access Layer<br />App<br />Logic<br />Network<br />DomainContext<br />Domain<br />Service<br />Under the covers infrastructure<br />DB<br />
  17. 17. Support for multiple presentation tiers and data access technologies<br />Single Pattern that Scales and Grows<br />.NET Clients<br />Silverlight, WPF<br />Databases<br />ADO.NET,<br />ORMs (LTS, EF, …)<br />Standards Clients<br />JavaScript<br />App<br />Logic<br />CLR Lists/Objects<br />Repository<br />(nHibernate, …)<br />Server Rendering<br />HTML, SEO,<br />Printing, …<br />Services<br />REST/SOAP<br />(Azure, …)<br />Unit Test Code<br />SOAP, XML, JSON,<br />Binary<br />Services<br />WCF<br />
  18. 18. RIA Services<br />
  19. 19. WCF RIA Services<br />
  20. 20. Data Access<br />DataBinding<br />Validation<br />Extensibility<br />RIA Services<br />
  21. 21. .NET Remoting<br />ASMX & WSE<br />Interop<br />with other<br />Platforms & WS-*<br />Extensibility<br />Location transparency<br />Attribute- <br />Based<br />Programming<br />Message-<br />Oriented<br />Programming<br />REST / HTTP Programming<br />Enterprise Services<br />System.Messaging<br />HTTP Services<br />Unified Programming Model<br />
  22. 22. Windows Communication Foundation (WCF)<br />Architecture<br />Programming Model<br />Core Services<br />Web HTTP Services<br />Data Services<br />Workflow Services<br />RIA Services<br />Service Model<br />Data Contract<br />Service Contract<br />Service Behavior<br />Channel Model<br />Formats<br />(Atom, JSON, XML,…)<br />Transports<br />(HTTP, TCP, …)<br />Protocols<br />(SOAP, HTTP, OData, …)<br />
  23. 23. Client project<br />WCF RIA Services - Design-time view<br />Solution (Application)<br />Server project<br />Entities<br />Entities<br />Data Access Layer (DAL)<br />Views<br />DomainService<br />DomainContext<br />Build, reflect & code-gen<br />
  24. 24. WCF RIA Services - Run-time view<br />Application<br />Silverlight<br />Entity lifecycle<br />Web server<br />Query<br />DomainContext<br />DomainService<br />Data Access Layer (DAL)<br />Entities<br />Entities<br />Views<br />Submit<br />Submit<br />Results<br />Results<br />Load<br />context.Load(GetRestaurantsQuery(…).Skip(10).Take(10))<br />context.SubmitChanges()<br />GetRestaurants(…).Skip(10).Take(10)<br />Submit(changeSet)<br />
  25. 25. Authentication<br />Roles<br />User profile<br />All integrate w/ ASP.NET infrastructure<br />Services Out-of-the-Box<br />