rapid ria development using .net technologies
DESCRIPTION
With the latest generation of .NET technologies such as Silverlight 4 and WCF RIA Service, the development of RIA applications is easier than ever. This practically focused presentation aims to show, how to use these tools and other .NET technologies to develop high quality RIA applications. Moreover, we will also show, how to effectively use automatic code generating using Text Template Transformation Toolkit (T4) to extremelly reduce the time needed for their development.TRANSCRIPT
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