SlideShare a Scribd company logo
Silverlight & LOB applications
Dennis van der Stelt
Class-A
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
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.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
)
)";
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();
}
}
SQL Data Services
Others

Ruby

PHP

Java

ODBC

SQL Applications

OleDb
Tabular Data Stream

SQL Data Services

Astoria
&
Entity Framework
ADO.NET
.NET RIA SERVICES
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
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
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
DEMO
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
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, …)
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
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
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
questions
Resources:
• http://silverlight.net/
• .NET RIA Services forums
• http://bloggingabout.net/blogs/dennis/

More Related Content

What's hot

Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity Framework
Mahmoud Tolba
 
Codemotion Berlin-Mobile Services
Codemotion Berlin-Mobile ServicesCodemotion Berlin-Mobile Services
Codemotion Berlin-Mobile ServicesMike Benkovich
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
Ken Cenerelli
 
ASP.NET lecture 8
ASP.NET lecture 8ASP.NET lecture 8
ASP.NET lecture 8
Julie Iskander
 
Ajax
AjaxAjax
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
David Chou
 
Bringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume MeisterBringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume Meister
MongoDB
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
.NET Conf UY
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricSpiffy
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
Pihu Goel
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel
.NET Conf UY
 
Html5 css3 Online Training
Html5 css3 Online Training Html5 css3 Online Training
Html5 css3 Online Training
GoLogica Technologies
 
Entity Framework Database and Code First
Entity Framework Database and Code FirstEntity Framework Database and Code First
Entity Framework Database and Code First
James Johnson
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
jrdoane
 
Developing a HTML5 Client With Lightswitch
Developing a HTML5 Client With LightswitchDeveloping a HTML5 Client With Lightswitch
Developing a HTML5 Client With Lightswitch
Pieter-Jan Drouillon
 
ATG Architecture
ATG ArchitectureATG Architecture
ATG Architecture
phanishankar
 
Oracle institutes in Hyderabad.
Oracle  institutes in Hyderabad.Oracle  institutes in Hyderabad.
Oracle institutes in Hyderabad.
sreehari orienit
 

What's hot (20)

Microsoft Entity Framework
Microsoft Entity FrameworkMicrosoft Entity Framework
Microsoft Entity Framework
 
Codemotion Berlin-Mobile Services
Codemotion Berlin-Mobile ServicesCodemotion Berlin-Mobile Services
Codemotion Berlin-Mobile Services
 
No SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDBNo SQL, No Problem: Use Azure DocumentDB
No SQL, No Problem: Use Azure DocumentDB
 
ASP.NET lecture 8
ASP.NET lecture 8ASP.NET lecture 8
ASP.NET lecture 8
 
Ajax
AjaxAjax
Ajax
 
Ajax
AjaxAjax
Ajax
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
Bringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume MeisterBringing Data to Life with MongoDB Charts - Guillaume Meister
Bringing Data to Life with MongoDB Charts - Guillaume Meister
 
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel AppelBuilding Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
Building Real Time Applications with ASP.NET SignalR 2.0 by Rachel Appel
 
CTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App FabricCTU June 2011 - Windows Azure App Fabric
CTU June 2011 - Windows Azure App Fabric
 
Introduction to ajax
Introduction  to  ajaxIntroduction  to  ajax
Introduction to ajax
 
Building Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel AppelBuilding Modern Websites with ASP.NET by Rachel Appel
Building Modern Websites with ASP.NET by Rachel Appel
 
Html5 css3 Online Training
Html5 css3 Online Training Html5 css3 Online Training
Html5 css3 Online Training
 
Entity Framework Database and Code First
Entity Framework Database and Code FirstEntity Framework Database and Code First
Entity Framework Database and Code First
 
Introduction to ajax
Introduction to ajaxIntroduction to ajax
Introduction to ajax
 
Ajax Presentation
Ajax PresentationAjax Presentation
Ajax Presentation
 
Developing a HTML5 Client With Lightswitch
Developing a HTML5 Client With LightswitchDeveloping a HTML5 Client With Lightswitch
Developing a HTML5 Client With Lightswitch
 
ATG Architecture
ATG ArchitectureATG Architecture
ATG Architecture
 
CAD Report
CAD ReportCAD Report
CAD Report
 
Oracle institutes in Hyderabad.
Oracle  institutes in Hyderabad.Oracle  institutes in Hyderabad.
Oracle institutes in Hyderabad.
 

Viewers also liked

Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
Network Configuration Example: Junos OS NAT Configuration Examples for Screen...Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
Juniper Networks
 
network cabling
network cablingnetwork cabling
network cablingemad94
 
PACE-IT: Network Cabling (part 1) - N10 006
PACE-IT: Network Cabling (part 1) - N10 006 PACE-IT: Network Cabling (part 1) - N10 006
PACE-IT: Network Cabling (part 1) - N10 006
Pace IT at Edmonds Community College
 
Straight&Cross-over cable connection
Straight&Cross-over cable connectionStraight&Cross-over cable connection
Straight&Cross-over cable connection
Horacio Aceveda
 
Basic concept of computer network
Basic concept of computer networkBasic concept of computer network
Basic concept of computer network
SaahilIT
 
Network cable
Network cableNetwork cable
Network cable
Frya Lora
 
Crimping and Testing
Crimping and TestingCrimping and Testing
Crimping and TestingSean Chia
 
Network Cabling
Network CablingNetwork Cabling
Network Cablingxinxinxin
 
Network cable
Network cableNetwork cable
Network cable
Online
 
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
Manila Central University
 
Network topologies
Network topologiesNetwork topologies
Network topologies
Norah Saad
 
Lesson plan in TLE I (Grade 7)
Lesson plan in TLE I (Grade 7)Lesson plan in TLE I (Grade 7)
Lesson plan in TLE I (Grade 7)QA Ilagan
 
Computer networking devices
Computer networking devicesComputer networking devices
Computer networking devices
Rajesh Sadhukha
 

Viewers also liked (14)

Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
Network Configuration Example: Junos OS NAT Configuration Examples for Screen...Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
Network Configuration Example: Junos OS NAT Configuration Examples for Screen...
 
network cabling
network cablingnetwork cabling
network cabling
 
PACE-IT: Network Cabling (part 1) - N10 006
PACE-IT: Network Cabling (part 1) - N10 006 PACE-IT: Network Cabling (part 1) - N10 006
PACE-IT: Network Cabling (part 1) - N10 006
 
Straight&Cross-over cable connection
Straight&Cross-over cable connectionStraight&Cross-over cable connection
Straight&Cross-over cable connection
 
Basic concept of computer network
Basic concept of computer networkBasic concept of computer network
Basic concept of computer network
 
Network cable
Network cableNetwork cable
Network cable
 
Network Cabling
Network CablingNetwork Cabling
Network Cabling
 
Crimping and Testing
Crimping and TestingCrimping and Testing
Crimping and Testing
 
Network Cabling
Network CablingNetwork Cabling
Network Cabling
 
Network cable
Network cableNetwork cable
Network cable
 
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
Final Demo Semi Detailed Lesson Plan in TLE 2 (LAN Cabling)
 
Network topologies
Network topologiesNetwork topologies
Network topologies
 
Lesson plan in TLE I (Grade 7)
Lesson plan in TLE I (Grade 7)Lesson plan in TLE I (Grade 7)
Lesson plan in TLE I (Grade 7)
 
Computer networking devices
Computer networking devicesComputer networking devices
Computer networking devices
 

Similar to Silverlight & WCF RIA

What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?ukdpe
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Igor Moochnick
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
Mark Rackley
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
ukdpe
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...rsnarayanan
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
Frank La Vigne
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloud
Delta-N
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
Mark Rackley
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
SPTechCon
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
Kris Wagner
 
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft Private Cloud
 
Session 35 - Design Patterns
Session 35 - Design PatternsSession 35 - Design Patterns
Session 35 - Design Patterns
PawanMM
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Services
llangit
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
Marc Obaldo
 
MSDN Dec2007
MSDN Dec2007MSDN Dec2007
MSDN Dec2007
guest1d32f3
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
Mark Rackley
 
Whidbey old
Whidbey old Whidbey old
Whidbey old grenaud
 
ChorUnit Fisl 12
ChorUnit Fisl 12ChorUnit Fisl 12
ChorUnit Fisl 12
Felipe Besson
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien
 

Similar to Silverlight & WCF RIA (20)

What's New for Data?
What's New for Data?What's New for Data?
What's New for Data?
 
Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)Ado.Net Data Services (Astoria)
Ado.Net Data Services (Astoria)
 
B_110500002
B_110500002B_110500002
B_110500002
 
(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide(Updated) SharePoint & jQuery Guide
(Updated) SharePoint & jQuery Guide
 
Windows Azure and a little SQL Data Services
Windows Azure and a little SQL Data ServicesWindows Azure and a little SQL Data Services
Windows Azure and a little SQL Data Services
 
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
Silverlight And .Net Ria Services – Building Lob And Business Applications Wi...
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloud
 
The SharePoint & jQuery Guide
The SharePoint & jQuery GuideThe SharePoint & jQuery Guide
The SharePoint & jQuery Guide
 
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechConThe SharePoint and jQuery Guide by Mark Rackley - SPTechCon
The SharePoint and jQuery Guide by Mark Rackley - SPTechCon
 
Cloud Powered Mobile Apps with Azure
Cloud Powered Mobile Apps  with AzureCloud Powered Mobile Apps  with Azure
Cloud Powered Mobile Apps with Azure
 
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure PresentationMicrosoft SQL Azure - Building Applications Using SQL Azure Presentation
Microsoft SQL Azure - Building Applications Using SQL Azure Presentation
 
Session 35 - Design Patterns
Session 35 - Design PatternsSession 35 - Design Patterns
Session 35 - Design Patterns
 
Introduction To Sql Services
Introduction To Sql ServicesIntroduction To Sql Services
Introduction To Sql Services
 
MSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance AppsMSFT Dumaguete 061616 - Building High Performance Apps
MSFT Dumaguete 061616 - Building High Performance Apps
 
MSDN Dec2007
MSDN Dec2007MSDN Dec2007
MSDN Dec2007
 
The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14The SharePoint & jQuery Guide - Updated 1/14/14
The SharePoint & jQuery Guide - Updated 1/14/14
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
 
ChorUnit Fisl 12
ChorUnit Fisl 12ChorUnit Fisl 12
ChorUnit Fisl 12
 
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien - Best bits of Azure for Office 365/SharePoint developers
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developers
 

More from Dennis van der Stelt

Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
Dennis van der Stelt
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
Dennis van der Stelt
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
Dennis van der Stelt
 
Death of the batch job
Death of the batch jobDeath of the batch job
Death of the batch job
Dennis van der Stelt
 
Death of the batch job - NServiceBus Sagas
Death of the batch job - NServiceBus SagasDeath of the batch job - NServiceBus Sagas
Death of the batch job - NServiceBus Sagas
Dennis van der Stelt
 
Distributed Systems Principles
Distributed Systems PrinciplesDistributed Systems Principles
Distributed Systems Principles
Dennis van der Stelt
 
Building reliable applications with messaging
Building reliable applications with messagingBuilding reliable applications with messaging
Building reliable applications with messaging
Dennis van der Stelt
 
Distributed Systems principles
Distributed Systems principlesDistributed Systems principles
Distributed Systems principles
Dennis van der Stelt
 
Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
Dennis van der Stelt
 
Duplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro ServicesDuplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro Services
Dennis van der Stelt
 
LIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messagingLIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messaging
Dennis van der Stelt
 
Distributed Systems Design
Distributed Systems DesignDistributed Systems Design
Distributed Systems Design
Dennis van der Stelt
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Dennis van der Stelt
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
Dennis van der Stelt
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Dennis van der Stelt
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
Dennis van der Stelt
 
SOLID Principles part 2
SOLID Principles part 2SOLID Principles part 2
SOLID Principles part 2
Dennis van der Stelt
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
Dennis van der Stelt
 

More from Dennis van der Stelt (18)

Change your architecture during deployment
Change your architecture during deploymentChange your architecture during deployment
Change your architecture during deployment
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
 
Dealing with eventual consistency
Dealing with eventual consistencyDealing with eventual consistency
Dealing with eventual consistency
 
Death of the batch job
Death of the batch jobDeath of the batch job
Death of the batch job
 
Death of the batch job - NServiceBus Sagas
Death of the batch job - NServiceBus SagasDeath of the batch job - NServiceBus Sagas
Death of the batch job - NServiceBus Sagas
 
Distributed Systems Principles
Distributed Systems PrinciplesDistributed Systems Principles
Distributed Systems Principles
 
Building reliable applications with messaging
Building reliable applications with messagingBuilding reliable applications with messaging
Building reliable applications with messaging
 
Distributed Systems principles
Distributed Systems principlesDistributed Systems principles
Distributed Systems principles
 
Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
 
Duplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro ServicesDuplicating data or replicating data in Micro Services
Duplicating data or replicating data in Micro Services
 
LIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messagingLIDNUG : Reliable applications with messaging
LIDNUG : Reliable applications with messaging
 
Distributed Systems Design
Distributed Systems DesignDistributed Systems Design
Distributed Systems Design
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
SOLID Principles part 2
SOLID Principles part 2SOLID Principles part 2
SOLID Principles part 2
 
SOLID Principles part 1
SOLID Principles part 1SOLID Principles part 1
SOLID Principles part 1
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
Globus
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Enhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZEnhancing Performance with Globus and the Science DMZ
Enhancing Performance with Globus and the Science DMZ
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Silverlight & WCF RIA

  • 1. Silverlight & LOB applications Dennis van der Stelt Class-A
  • 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. Agenda • SQL Data Services, or not… • .NET RIA Services • Demo
  • 4. ACE vs RDBMS SQL DATA SERVICES
  • 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. 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. SQL Data Services Others Ruby PHP Java ODBC SQL Applications OleDb Tabular Data Stream SQL Data Services Astoria & Entity Framework ADO.NET
  • 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. 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. 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. DEMO
  • 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. 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. 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. 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. 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. questions Resources: • http://silverlight.net/ • .NET RIA Services forums • http://bloggingabout.net/blogs/dennis/