Silverlight & WCF RIA

19
Silverlight & LOB applications Dennis van der Stelt Class-A

description

Presentation I did in the past on Silverlight & WCF RIA

Transcript of Silverlight & WCF RIA

Page 1: Silverlight & WCF RIA

Silverlight & LOB applications

Dennis van der Stelt

Class-A

Page 2: Silverlight & WCF RIA

• Class-A– Kennisprovider– Microsoft development – Training & Coaching– http://www.class-a.nl

• Dennis van der Stelt– Trainer/ coach– Blog: http://bloggingabout.net/blogs/dennis/ – Twitter: dvdstelt

Introducing

Page 3: Silverlight & WCF RIA

Agenda

• SQL Data Services, or not…• .NET RIA Services• Demo

Page 4: Silverlight & WCF RIA

SQL DATA SERVICESACE vs RDBMS

Page 5: Silverlight & WCF RIA

SQL Data Services

Page 6: Silverlight & WCF RIA

SQL Data ServicesSqlConnectionStringBuilder connStringBuilder = new SqlConnectionStringBuilder();connStringBuilder.DataSource = "myserver.data.dev.mscds.com";connStringBuilder.InitialCatalog = "mydatabase";connStringBuilder.Encrypt = true;connStringBuilder.UserID = "flitsservice“;connStringBuilder.Password = "****";

string createTableSql =    @"CREATE TABLE [dbo].[tbl_Person]          (               [FirstName] NVARCHAR(64) NOT NULL,         [LastName] NVARCHAR(64) NOT NULL              CONSTRAINT [personName_PK] PRIMARY KEY CLUSTERED              (                  [FirstName] ASC,                  [LastName] ASC              )          )";

Page 7: Silverlight & WCF RIA

SQL Data Servicesusing (SqlConnection conn = new SqlConnection(connStringBuilder.ToString())){  conn.Open();   using (SqlCommand cmd = conn.CreateCommand())  {    cmd.CommandText = createTableSql;    cmd.CommandType = CommandType.Text;    cmd.ExecuteNonQuery();

cmd.CommandText = "select * from tbl_Person where FirstName = 'Dennis'"; using (SqlDataReader reader = cmd.ExecuteReader()) {  while (reader.Read())  {    Console.WriteLine("First Name: {0}", reader["FirstName"]);  }  reader.Close(); }}

Page 8: Silverlight & WCF RIA

SQL Data Services

OleDb

SQL Data Services

Tabular Data Stream

ADO.NETODBC

SQL Applications

Astoria&

Entity Framework

Java

PH

P

Ru

by

Oth

ers

Page 9: Silverlight & WCF RIA

.NET RIA SERVICES

Page 10: Silverlight & WCF RIA

Vision and goals

• Simplify RIA development– n-tier is hard, and un-natural

• Bring ASP.NET/RAD-style productivity to RIA development– Focus on end-to-end scenarios and solutions

Page 11: Silverlight & WCF RIA

End-to-End Data

• Beyond accessing and editing rows– App-specific custom operations– Data shaping (sorting, paging, filtering)– Rules (validation, authorization, conflict

handing)– Batching and offline

Page 12: Silverlight & WCF RIA

Multi tier application model

Web ApplicationBrowser Rich Internet Application

DB

Services

Other Applications

Data Access Layer

AppLogic

Services

HTMLPresentati

onLogic

Network

Services

Page 13: Silverlight & WCF RIA

DEMO

Page 14: Silverlight & WCF RIA

A Prescriptive Pattern

Application

DB

Services

Data Access Layer

AppLogic

Presentation

Logic

Network

DomainService: CRUD + App Logicclass CatalogIQueryable<Product> GetProducts()void UpdateProduct(Product, Product)void ToggleSale(Product)Validation and authorization rules, Application workflows, …

Data Model class 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

Page 15: Silverlight & WCF RIA

A Pattern that Scales and Grows

AppLogic

DatabasesADO.NET,ORMs (LTS, EF, …)

CLR Lists/ObjectsRepository(nHibernate, …)

ServicesREST/SOAP(Azure, …)

XML, JSON, Binary

Unit Test Code

Page 16: Silverlight & WCF RIA

What didn’t we cover?

• Authentication– Both Windows & Forms based

• Enhanced SEO capabilities– Not yet fully functional in current bits

• Business application template• Linq2Sql & Azure capabilities• OOB & Offline synchronization

Page 17: Silverlight & WCF RIA

Roadmap

• SQL Data Services– Unknown, only that it supports TDS

• .NET RIA Services– May CTP available, new one in July– PDC09 bits will run on Astoria– First part of 2010 : RTW

Page 18: Silverlight & WCF RIA

Summary

• .NET RIA Services offer– Better n-tier support– Rapid Application Development– A pattern that scales and grows– Services for additional features

And remember, this will run on SDS

Page 19: Silverlight & WCF RIA

questionsResources:• http://silverlight.net/• .NET RIA Services forums• http://bloggingabout.net/blogs/dennis/