Rapid RIA Development Using .NET Technologies
-
Upload
petr-hosek -
Category
Documents
-
view
2.508 -
download
0
description
Transcript of Rapid RIA Development Using .NET Technologies
Výstavní 230/24, 149 00 Praha 4, [email protected], www.baud.cz
RAPID RIA DEVELOPMENT
USING .NET TECHNOLOGIES
Augustin Šulc
Petr Hošek
GOALS
Outline> Preliminary
> Architecture
> Data Source
> Web Server
> Client
> Rapid Development
Demo ApplicationProject-management tool
PRELIMINARY
Rich Internet ApplicationDesktop-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 SilverlightInteractive UX
ARCHITECTURE
Common ArchitectureThree-Layered Services Architecture
Application LayersSeparation of concerns, high cohesion & loose coupling
DATA SOURCE
Data StoreConventional relational database
WEB SERVER
Domain ModelAbstracting relational schema
Domain Model> ADO.NET Entity Framework
> LINQ to SQL
> Nhibernate, etc.
Application Service LayerExposing domain functionality
Application Service Layer> WCF web services
> WCF Data Services
> WCF RIA Services
WCF Web ServicesExposes functionality via operations
WCF Data ServicesExposes data via context
Data Services over Web Services> Batching and transactions
> Automatic change tracking
> Limited client LINQ
WCF RIA ServicesExposes domain via context
RIA Services over Data Services> Metadata propagation
> Localization and validation
> Full client LINQ
CLIENT
Model and ResourcesDelivered via service contract
Presentation LayerSeparation of UX from business logic
Model-View-ViewModel patternViewModel as mediator for View and Model
MVVM Implementations> Prism 4
> Caliburn
> MVVM Light Toolkit, etc.
Prism 4Guidance for Silverlight applications
CaliburnPowerfull client framework for Silverlight
Caliburn over Prism 4> Convention over configuration
> Focus on real cases
> Out-of-the-box functionality
Caliburn.Micro90%of Caliburn in 10% of code
RAPID DEVELOPMENT
Development Tools.NET Framework, Visual Studio, Expression Blend, etc.
Frameworks & LibrariesWCF RIA Services, Caliburn, MEF, etc.
Even More Rapid!Model-driven code generation
T4Template-based text generation framework
T4RIATemplate for WCF RIA Services
T4RIAGenerating services, metadata and localization
Summary> Web & desktop applications alternative
> Three layered service architecture
> Model-View-ViewModel
> Rapid development
RIA DevelopmentEasy 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