Silverlight & LOB applications
Dennis van der Stelt
Class-A
Introducing
• Class-A
– Kennisprovider
– Microsoft development
– Training & Coaching
– http://www.class-a.nl

• Dennis van...
Agenda
• SQL Data Services, or not…
• .NET RIA Services
• Demo
ACE vs RDBMS

SQL DATA SERVICES
SQL Data Services
SQL Data Services
SqlConnectionStringBuilder connStringBuilder = new
SqlConnectionStringBuilder();
connStringBuilder.DataS...
SQL Data Services
using (SqlConnection conn = new SqlConnection(connStringBuilder.ToString()))
{
conn.Open();
using (SqlCo...
SQL Data Services
Others

Ruby

PHP

Java

ODBC

SQL Applications

OleDb
Tabular Data Stream

SQL Data Services

Astoria
&...
.NET RIA SERVICES
Vision and goals
• Simplify RIA development
– n-tier is hard, and un-natural

• Bring ASP.NET/RAD-style productivity to
RI...
End-to-End Data
• Beyond accessing and editing rows
– App-specific custom operations
– Data shaping (sorting, paging, filt...
Multi tier application model
Services

Browser

HTML

Rich Internet Application Application
Web

Presentation
Network
Logi...
DEMO
A Prescriptive Pattern
DomainContext: Bindable Data

DomainService: CRUD + App Logic

class Catalog
EntityList<Product> Pr...
A Pattern that Scales and Grows
Databases
ADO.NET,
ORMs (LTS, EF, …)
App
Logic
CLR Lists/Objects
Repository
(nHibernate, …...
What didn’t we cover?
• Authentication
– Both Windows & Forms based

• Enhanced SEO capabilities
– Not yet fully functiona...
Roadmap
• SQL Data Services
– Unknown, only that it supports TDS

• .NET RIA Services
– May CTP available, new one in July...
Summary
• .NET RIA Services offer
– Better n-tier support
– Rapid Application Development
– A pattern that scales and grow...
questions
Resources:
• http://silverlight.net/
• .NET RIA Services forums
• http://bloggingabout.net/blogs/dennis/
Upcoming SlideShare
Loading in...5
×

Silverlight & WCF RIA

441

Published on

Presentation I did in the past on Silverlight & WCF RIA

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
441
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Silverlight & WCF RIA"

  1. 1. Silverlight & LOB applications Dennis van der Stelt Class-A
  2. 2. Introducing • 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
  3. 3. Agenda • SQL Data Services, or not… • .NET RIA Services • Demo
  4. 4. ACE vs RDBMS SQL DATA SERVICES
  5. 5. SQL Data Services
  6. 6. SQL Data Services SqlConnectionStringBuilder 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 ) )";
  7. 7. SQL Data Services using (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(); } }
  8. 8. SQL Data Services Others Ruby PHP Java ODBC SQL Applications OleDb Tabular Data Stream SQL Data Services Astoria & Entity Framework ADO.NET
  9. 9. .NET RIA SERVICES
  10. 10. 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
  11. 11. 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
  12. 12. Multi tier application model Services Browser HTML Rich Internet Application Application Web Presentation Network Logic App Logic Services Data Access Layer Services Other Applications DB
  13. 13. DEMO
  14. 14. A Prescriptive Pattern DomainContext: Bindable Data DomainService: CRUD + App Logic class Catalog EntityList<Product> Products { get } void LoadProducts(IQueryable<Product>) void ToggleSale(Product) Data Model + Metadata + Shared Code class Product Data members + Validation void ToggleSale() class Catalog IQueryable<Product> GetProducts() void UpdateProduct(Product, Product) void ToggleSale(Product) Validation and authorization rules, Application workflows, … Data Model class Product Application Presentation Logic Network Services App Logic Data Access Layer DB
  15. 15. A Pattern that Scales and Grows Databases ADO.NET, ORMs (LTS, EF, …) App Logic CLR Lists/Objects Repository (nHibernate, …) XML, JSON, Binary Unit Test Code Services REST/SOAP (Azure, …)
  16. 16. 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
  17. 17. 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
  18. 18. 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
  19. 19. questions Resources: • http://silverlight.net/ • .NET RIA Services forums • http://bloggingabout.net/blogs/dennis/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×