SlideShare uma empresa Scribd logo
1 de 54
Rapid RIA DevelopmentUsing .NET Technologies Augustin Šulc Petr Hošek
Goals
Outline Preliminary Architecture Data Source Web Server Client Rapid Development
Demo Application Project-management tool
Preliminary
Rich Internet Application Desktop-like web application
Compared to Web Applications Richer user interface Reduced communication Better development  support Need for browser plugin
Compared to Desktop Applications Easier deployment No need for installation Worse system integration No direct communication
Available RIA Platforms Adobe Flash, Flex and AIR Microsoft Silverlight Oracle Java Applets/JavaFX HTML(5) + JavaScript
Microsoft Silverlight .NET Framework & WPF subset
Microsoft Silverlight Interactive UX
Architecture
Common Architecture Three-Layered Services Architecture
Application Layers Separation of concerns, high cohesion & loose coupling
Data Source
Data Store Conventional  relational database
Web Server
Domain Model Abstracting relational schema
Domain Model ADO.NET Entity Framework LINQ to SQL Nhibernate, etc.
Application Service Layer Exposing domain functionality
Application Service Layer WCF web services WCF Data Services WCF RIA Services
WCF Web Services Exposes functionality via operations
WCF Data Services Exposes data via context
Data Services over Web Services Batching and transactions Automatic change tracking Limited client LINQ
WCF RIA Services Exposes domain via context
RIA Services over Data Services Metadata propagation Localization and validation Full client LINQ
Client
Model and Resources Delivered via service contract
Presentation Layer Separation of UX from business logic
Model-View-ViewModel pattern ViewModel as mediator for View and Model
MVVM Implementations Prism 4 Caliburn MVVM Light Toolkit, etc.
Prism 4 Guidance for Silverlight applications
Caliburn Powerfull client framework for Silverlight
Caliburn over Prism 4 Convention over configuration Focus on real cases Out-of-the-box functionality
Caliburn.Micro 90% of Caliburn in 10% of code
Rapid Development
Development Tools .NET Framework, Visual Studio, Expression Blend, etc.
Frameworks & Libraries WCF RIA Services, Caliburn, MEF, etc.
Even More Rapid! Model-driven code generation
T4 Template-based text generation framework
T4RIA Template for WCF RIA Services
T4RIA Generating services, metadata and localization
Summary Web & desktop applications alternative Three layered service architecture Model-View-ViewModel Rapid development
RIA Development Easy on .NET platform and fast with T4RIA
Questions
“Real-life application“ Card management system developed as RIA
Statistics 3.5 developers, 3 months 130k SLOC (47k generated) 110+ tables, 4M+ entries 50+ form screens 30+ users

Mais conteúdo relacionado

Mais procurados

Ukfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StUkfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StAllyWick
 
Hybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformHybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformBizTalk360
 
Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)BizTalk360
 
Build your silver light application
Build your silver light applicationBuild your silver light application
Build your silver light applicationPranay Rana
 
Ukfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReUkfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReAllyWick
 
NH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsNH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsJohn Garland
 
Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyLohith Goudagere Nagaraj
 
Visio Diagram of a user SSO Flow
Visio Diagram of a user SSO FlowVisio Diagram of a user SSO Flow
Visio Diagram of a user SSO FlowMike Reams
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013Jerome Louvel
 
An Evening With Sql Server 2008 R2 For Edge Ug
An Evening With Sql Server 2008 R2 For Edge UgAn Evening With Sql Server 2008 R2 For Edge Ug
An Evening With Sql Server 2008 R2 For Edge Ugukdpe
 
Semantic role labeling
Semantic role labelingSemantic role labeling
Semantic role labelingSanjay Meena
 
The use case of a scalable architecture
The use case of a scalable architectureThe use case of a scalable architecture
The use case of a scalable architectureToru Wonyoung Choi
 
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
 
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...Terminalfour
 
Productive Development with APEX
Productive Development with APEXProductive Development with APEX
Productive Development with APEXSimon Boorsma
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application developmentsofyjohnson18
 
APEX 4.0 New Features
APEX 4.0 New FeaturesAPEX 4.0 New Features
APEX 4.0 New FeaturesSimon Boorsma
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11Jonathan Beri
 

Mais procurados (20)

Ukfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 StUkfs Snr Dev Arch Forum Pres2 St
Ukfs Snr Dev Arch Forum Pres2 St
 
Hybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platformHybrid Solutions with the current BizTalk Server 2013 R2 platform
Hybrid Solutions with the current BizTalk Server 2013 R2 platform
 
Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)Manageability of Windows Azure BizTalk Services (WABS)
Manageability of Windows Azure BizTalk Services (WABS)
 
Build your silver light application
Build your silver light applicationBuild your silver light application
Build your silver light application
 
Ukfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 ReUkfs Snr Dev Arch Forum Pres3 Re
Ukfs Snr Dev Arch Forum Pres3 Re
 
NH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applicationsNH .Net Code Camp 2010 - Silverlight business applications
NH .Net Code Camp 2010 - Silverlight business applications
 
Platform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET TechnologyPlatform guidance for Microsoft .NET Technology
Platform guidance for Microsoft .NET Technology
 
Visio Diagram of a user SSO Flow
Visio Diagram of a user SSO FlowVisio Diagram of a user SSO Flow
Visio Diagram of a user SSO Flow
 
APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013APIdays San Francisco, 06/22/2013
APIdays San Francisco, 06/22/2013
 
An Evening With Sql Server 2008 R2 For Edge Ug
An Evening With Sql Server 2008 R2 For Edge UgAn Evening With Sql Server 2008 R2 For Edge Ug
An Evening With Sql Server 2008 R2 For Edge Ug
 
Slides
SlidesSlides
Slides
 
Semantic role labeling
Semantic role labelingSemantic role labeling
Semantic role labeling
 
The use case of a scalable architecture
The use case of a scalable architectureThe use case of a scalable architecture
The use case of a scalable architecture
 
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
 
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...
TERMINALFOUR t44u 2008 - Piero Tintori - Integration Publishing To Share Poin...
 
Automate capabilities
Automate capabilitiesAutomate capabilities
Automate capabilities
 
Productive Development with APEX
Productive Development with APEXProductive Development with APEX
Productive Development with APEX
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application development
 
APEX 4.0 New Features
APEX 4.0 New FeaturesAPEX 4.0 New Features
APEX 4.0 New Features
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11
 

Destaque

Sokotra
SokotraSokotra
Sokotraasdf
 
Scala and its Ecosystem
Scala and its EcosystemScala and its Ecosystem
Scala and its EcosystemPetr Hošek
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talkclive boulton
 
Lessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemLessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemPetr Hošek
 
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)LiveOakRx
 

Destaque (8)

Sokotra
SokotraSokotra
Sokotra
 
Scala
ScalaScala
Scala
 
My Skills
My SkillsMy Skills
My Skills
 
Home
HomeHome
Home
 
Scala and its Ecosystem
Scala and its EcosystemScala and its Ecosystem
Scala and its Ecosystem
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talk
 
Lessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its EcosystemLessons Learned: Scala and its Ecosystem
Lessons Learned: Scala and its Ecosystem
 
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)
To Tweet Or Not To Tweet (or why Live Oak Pharmacy uses social media)
 

Semelhante a Rapid RIA Development Using .NET Technologies

Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabricDavid Chou
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologiesssuser3a47cb
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesHarish Ranganathan
 
Net35 Overview
Net35 OverviewNet35 Overview
Net35 Overviewllangit
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talkpooyad
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecturerahmed_sct
 
Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Clint Edmonson
 
Futura – An Innovative Web Operating System
Futura – An Innovative Web Operating SystemFutura – An Innovative Web Operating System
Futura – An Innovative Web Operating Systemvittalp88
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?LANSA
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
 
Composite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureComposite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureMike Walker
 
Web 2.0 using Microsoft Technologies
Web 2.0 using Microsoft TechnologiesWeb 2.0 using Microsoft Technologies
Web 2.0 using Microsoft TechnologiesAbhishek Kant
 
Introduction to Visual Studio LightSwitch
Introduction to Visual Studio LightSwitchIntroduction to Visual Studio LightSwitch
Introduction to Visual Studio LightSwitchSYMBIONT, INC.
 

Semelhante a Rapid RIA Development Using .NET Technologies (20)

Silverlight 3.0
Silverlight 3.0Silverlight 3.0
Silverlight 3.0
 
Windows Azure AppFabric
Windows Azure AppFabricWindows Azure AppFabric
Windows Azure AppFabric
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Architecting RIAs
Architecting RIAsArchitecting RIAs
Architecting RIAs
 
Unit 3-SOA Technologies
Unit 3-SOA TechnologiesUnit 3-SOA Technologies
Unit 3-SOA Technologies
 
Developing for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data ServicesDeveloping for Astoria: ADO.NET Data Services
Developing for Astoria: ADO.NET Data Services
 
Kma share point 2010 overview infra and dev technical info
Kma share point 2010 overview infra and dev   technical infoKma share point 2010 overview infra and dev   technical info
Kma share point 2010 overview infra and dev technical info
 
Net35 Overview
Net35 OverviewNet35 Overview
Net35 Overview
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0Intro to VS 2010 & .Net 4.0
Intro to VS 2010 & .Net 4.0
 
Futura – An Innovative Web Operating System
Futura – An Innovative Web Operating SystemFutura – An Innovative Web Operating System
Futura – An Innovative Web Operating System
 
Basics of Silverlight 1
Basics of Silverlight 1Basics of Silverlight 1
Basics of Silverlight 1
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Can IBM i play with SOA?
Can IBM i play with SOA?Can IBM i play with SOA?
Can IBM i play with SOA?
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Composite Applicaitons and OBA Architecture
Composite Applicaitons and OBA ArchitectureComposite Applicaitons and OBA Architecture
Composite Applicaitons and OBA Architecture
 
Web 2.0 using Microsoft Technologies
Web 2.0 using Microsoft TechnologiesWeb 2.0 using Microsoft Technologies
Web 2.0 using Microsoft Technologies
 
Introduction to Visual Studio LightSwitch
Introduction to Visual Studio LightSwitchIntroduction to Visual Studio LightSwitch
Introduction to Visual Studio LightSwitch
 
Access SharePoint Remotely
Access SharePoint RemotelyAccess SharePoint Remotely
Access SharePoint Remotely
 

Rapid RIA Development Using .NET Technologies