4. Nuno Filipe Godinho Partner & CTO @ ITech4all Mail: Nuno.Godinho@itech4all.com Nuno.Godinho@sapo.pt Blogs: http://pontonetpt.com/blogs/nunogodinho http://xamlpt.com/blogs/nunogodinho http://weblogs.asp.net/nunogodinho http://msmvps.org/blogs/nunogodinho Twitter: @NunoGodinho About Me
5. Introduction RIA Services Q&A Note: Use #techdays2010pt and #WUX303 hashtags for requests and comments about this session on TechDays Portugal 2010 Agenda
8. Common Problems N-Tier Development Controls Rich Text Support Multi-language Support Customer Devices Interaction Communications Extensibility Offline Support Interoperability Problem Statement
9. The validation needs to run on Client and On Server as well as on Mid-Tiers Common validation across the tiers Services that may be shared with other applications Challenges using N-Tier applications
11. 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 Vision and Goals
12. 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 Value Propositions
13. Simplify application development across tiers and trust boundary Provides a set of tools to build the multiple tiers of an application together Application logic remains aware of tier and trust boundaries Uses the end-to-end flow of data and metadata described earlier Code generation and shared code Enhance the experience by providing multiple choices for sharing logic while respecting tier and trust boundaries Value Propositions
15. Client is an extension of the server A single logical application Service Rich Internet Application Browser Application DB Other Applications Unified Story Presentation Logic Data Access Layer App Logic HTML Network Services
16. A Prescriptive Pattern Services Rich Internet Application Presentation Logic Data Access Layer App Logic Network DomainContext Domain Service Under the covers infrastructure DB
17. Support for multiple presentation tiers and data access technologies Single Pattern that Scales and Grows .NET Clients Silverlight, WPF Databases ADO.NET, ORMs (LTS, EF, …) Standards Clients JavaScript App Logic CLR Lists/Objects Repository (nHibernate, …) Server Rendering HTML, SEO, Printing, … Services REST/SOAP (Azure, …) Unit Test Code SOAP, XML, JSON, Binary Services WCF
21. .NET Remoting ASMX & WSE Interop with other Platforms & WS-* Extensibility Location transparency Attribute- Based Programming Message- Oriented Programming REST / HTTP Programming Enterprise Services System.Messaging HTTP Services Unified Programming Model
22. Windows Communication Foundation (WCF) Architecture Programming Model Core Services Web HTTP Services Data Services Workflow Services RIA Services Service Model Data Contract Service Contract Service Behavior Channel Model Formats (Atom, JSON, XML,…) Transports (HTTP, TCP, …) Protocols (SOAP, HTTP, OData, …)