SlideShare ist ein Scribd-Unternehmen logo
1 von 19
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/

Weitere ähnliche Inhalte

Was ist angesagt?

Codemotion Berlin-Mobile Services
Codemotion Berlin-Mobile ServicesCodemotion Berlin-Mobile Services
Codemotion Berlin-Mobile Services
Mike Benkovich
 
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
Spiffy
 

Was ist angesagt? (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.
 

Andere mochten auch

network cabling
network cablingnetwork cabling
network cabling
emad94
 
Crimping and Testing
Crimping and TestingCrimping and Testing
Crimping and Testing
Sean Chia
 
Network Cabling
Network CablingNetwork Cabling
Network Cabling
xinxinxin
 
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
 

Andere mochten auch (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
 

Ähnlich wie 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
 
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
 
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
Microsoft Private Cloud
 
Whidbey old
Whidbey old Whidbey old
Whidbey old
grenaud
 

Ähnlich wie 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
 

Mehr von Dennis van der Stelt

Mehr von 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
 

Kürzlich hochgeladen

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

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/