Rapid RIA Development Using .NET Technologies

Post on 08-Jul-2015

2.508 views 0 download

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 of Rapid RIA Development Using .NET Technologies

Výstavní 230/24, 149 00 Praha 4, mail@baud.cz, 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