Windows Communication Foundation RIA: Ready for Business 11/17/2018 9:36 PM MID311 Windows Communication Foundation RIA: Ready for Business Brian Noyes Chief Architect IDesign Inc (www.idesign.net) © 2007 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.
About Brian Chief Architect IDesign Inc. (www.idesign.net) Publishing Developers Guide to Microsoft Prism 4, O’Reilly & Assoc., March 2011 Developing Applications with Windows Workflow Foundation, LiveLessons training DVD, June 2007 Smart Client Deployment with ClickOnce, Addison Wesley, January 2007 Data Binding in Windows Forms 2.0, Addison Wesley, January 2006 MSDN Magazine, MSDN Online, CoDe Magazine, The Server Side .NET, asp.netPRO, Visual Studio Magazine Speaking Microsoft TechEd US, Europe, Malaysia, Visual Studio Connections, DevTeach, INETA Speakers Bureau, MSDN Webcasts Chief Architect IDesign Inc. (www.idesign.net) Microsoft Regional Director (www.theregion.com) Microsoft MVP Silverlight E-mail: brian.noyes@idesign.net Twitter: @briannoyes Blog: http://briannoyes.net
Agenda WCF RIA Services Overview Querying and Updating Data with RIA Services Data Validation Security & Integration Customer View: Cactus Software
WCF RIA Services Overview Entities Validation Service Access Services WCF RIA Services Simplifies building N-tier Line of Business (LOB) applications Highly dependent on push pull of data Can use for non-CRUD operations as well Architecture and tools for building the glue code between the client and the back end Streamlined pipeline for data and operations between client and server Clients: Silverlight & ASP.NET Future releases: ASP.NET client side JavaScript (WCF JQuery) Presentation Business Logic Data Access DB
Built on / Simplifies WCF The Benefits Built on / Simplifies WCF Flexible Data Sources Client Query / Updates Security Change Tracking Shared Validation
What do you need? Silverlight Tools for Visual Studio 2010 RTW Core bits (v1) RIA Services Toolkit Other endpoint types (SOAP, JSON) ASP.NET support for consuming domain service in process WCF RIA Services SP1 (shipped with VS 2010 SP1) Complex types support for child objects Sharing entities across domain services Better data binding to client collection types Various other improvements
Coming Soon in SP2 MVVM Support EF Code First DateTimeOffset Domain Collection View: A CollectionView implementation built for ViewModels and the MVVM pattern. #2 requested feature on wish list. T4 Templates – Experimental feature In the product preview available at firestarter End-to-end support for complex types (e.g. Customer.Address where Address is not an “entity” but a complex type composed of base type members Street, City, State, Zip etc) Localization in nine languages Allowing same entity type to be shared across DomainServices with correct code-gen for SL DataForm Add/Remove for EntitySet and EntityCollection (using ICVF added late in SL4) Azure-ready Business Application Template Code-gen extensibility for plugging in your own code-gen The accompanying toolkit will have T4-based code-generator using the code-gen extensibility MVVM-friendly DataSource Windows Azure Table Service support in DomainService (this may move to product) Support for SL5 © 2007 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.
Agenda WCF RIA Services Overview Querying and Updating Data with RIA Services Data Validation Security & Integration Customer View: Cactus Software
Application Architecture Client App Web project Silverlight host Domain Services Client project Generated code DomainContext classes One per domain service View/ViewModel DomainContext + Entities Server Host DomainService Data Access + Entities DB
Querying and Updating Data With RIA Services 11/17/2018 9:36 PM Querying and Updating Data With RIA Services Brian Noyes Chief Architect, IDesign demo © 2007 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.
Entities The data you pass between client and service Entity Framework LINQ to SQL POCO
Query Operations Return collections or individual objects Support deferred execution through IQueryable<T> Load through DomainDataSource Load programmatically with DomainContext
Update Operations Entity changes are cached in the client DomainContext Contains an EntityContainer that tracks changes Sent as a batch to the service Including original version for optimistic concurrency Service executes batch, calling Insert, Update, and Delete methods with one entity per method call Returns server updated entities (i.e. PK Ids) and refreshes the client cache
Agenda WCF RIA Services Overview Querying and Updating Data with RIA Services Data Validation Security & Integration Customer View: Cactus Software
RIA Services Validation Silverlight Connections RIA Services Validation Seamless client and server validation options Data Annotation Attributes Server Update method logic Async [Invoke] method execution Updates will be available at http://www.devconnections.com/updates/Orlando_Spring11/Silverlight
Brian Noyes Chief Architect, IDesign 11/17/2018 9:36 PM Validating Data Brian Noyes Chief Architect, IDesign demo © 2007 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.
Agenda WCF RIA Services Overview Querying and Updating Data with RIA Services Data Validation Security & Integration Customer View: Cactus Software
RIA Services Security Authentication and Authorization Silverlight application login or web application host login Declarative security model in services Client security context Populated by service call Leverages Membership, Role, and Profile providers Can use whether you use RIA Services for other service needs
RIA Services – Security 11/17/2018 9:36 PM RIA Services – Security Brian Noyes Chief Architect, IDesign demo © 2007 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.
Exposing OData, SOAP, JSON You can expose your domain services via: OData REST – ATOM standard Read only SOAP BasicHttpBinding JSON REST – JSON serialization
Agenda WCF RIA Services Overview Querying and Updating Data with RIA Services Data Validation Security Customer View: Cactus Software
RIA in the Real World CACTUS Software 11/17/2018 9:36 PM RIA in the Real World CACTUS Software Jeremy Marsch, Director, Software Development Matt Goodwin Director, Software Architecture customer © 2007 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.
Silverlight Connections Summary Rich client side functionality for entity-based CRUD and service operations Async service calls Validation Security Error handling No WCF knowledge needed RAD focused without compromising your architecture 10 Part Series on WCF RIA Services: http://tinyurl.com/wcfriaseries E-mail: brian.noyes@idesign.net Blog: http://briannoyes.net Twitter: @briannoyes Updates will be available at http://www.devconnections.com/updates/Orlando_Spring11/Silverlight
Track Resources Windows Azure Platform Training Kit Required Slide Track PMs will supply the content for this slide, which will be inserted during the final scrub. Tech Ed North America 2010 11/17/2018 9:36 PM Track Resources Windows Azure Platform Training Kit Windows Server AppFabric Training Kit BizTalk 2010 Developer Training Kit AppFabric Team Blog Windows Azure AppFabric on MSDN Windows Server AppFabric on MSDN © 2010 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.
Resources Learning http://northamerica.msteched.com Tech Ed North America 2010 11/17/2018 9:36 PM Resources Connect. Share. Discuss. http://northamerica.msteched.com Learning Sessions On-Demand & Community Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning Resources for IT Professionals Resources for Developers http://microsoft.com/technet http://microsoft.com/msdn © 2010 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.
Complete an evaluation on CommNet and enter to win! Tech Ed North America 2010 11/17/2018 9:36 PM Complete an evaluation on CommNet and enter to win! © 2010 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.
Tech Ed North America 2010 11/17/2018 9:36 PM New for TechEd 2011, we will be working with Microsoft Tag (http://tag.microsoft.com/overview.aspx) to create unique Tags for every session at the event. Your session Tag will appear on both the room signage and at the end of your presentation. With your session Tag, attendees will be able to scan as they enter the room to retrieve session details, view speaker bios, and engage in discussions; or scan at the end of the presentation to evaluate your session and download materials. We’re excited to integrate Microsoft Tag across the My TechEd mobile experience this year. © 2010 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.