introducing the silverlight cookbook

15
© 2011 Aviva Solutions 6-06-22 Introducing the Silverlight Cookbook Why, what, how and when Dennis Doomen dennis.doomen@avivasoluti ons.nl

Upload: dennis-doomen

Post on 07-Dec-2014

1.625 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Introducing the Silverlight CookbookWhy, what, how and when

Dennis Doomen

[email protected]

Page 2: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023Dennis Doomen

About Me• Principal Consultant• 14 years IT experience• C++ origins but C# since 2001• Specialties

• .NET Architecture• Scrum/XP• ALM

• Speaker• Public initiatives

• Silverlight Cookbook• C# Coding Guidelines• Fluent Assertions

• Internet• www.dennisdoomen.net• DZone MVB• @ddoomen

Page 3: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023Dennis Doomen

Defining an architecture1. Collect non-functionals2. Determine deployment environment3. Determine usage4. Select engineering principles5. Read between the lines6. Select technology7. Define reference architecture8. Build & adapt

Page 4: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023Dennis Doomen

Design Decisions• Tiers vs. Layers• Integration• Distribution• Scalability• Security• Deployment• Diagnostics• Reliability

Page 5: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

The Silverlight Cookbook• Silverlight 5• Fully automated testing (almost )• Complex domain logic• Task Based• Scalable• Responsive• Any relational DB• Overkill for most applications, so pick & choose

Dennis Doomen

Page 6: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

The traditional architecture…

Page 7: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Service Agent

DTOs

View Models

Views (XAML + C#)

Domain Model

Repositories

Database

Nhibe

rnate 3.x

(+ Fluen

t)WCF

Silverlight 5

Unit-of-Work Service Agents

Shell

Backoffice System

Application Controller

Service Interface

Workflows

External Service

Service Actions

Well-known Rich domain models Many frameworks Very flexibele× Lots of work× Lots of plumbing needed× Not using RIA frameworks× DTO conversion troubles× No eager loading

Page 8: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

As Microsoft wants it…

Page 9: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Domain Context

Changesets

View Models

Views (XAML + C#)

Entities

Database

WCF RIA Services

Silverlight 5

Entity Framework Service Agents

Shell

Backoffice System

Application Controller

Domain Service

External Service

Easy to build Simple domain models Less plumbing needed No DTO conversions needed Maximizes RIA frameworks Great for CRUD Batching× CRUD-based× Domain model not possible× No dynamic relationship

loading× Almost enum support× No 2nd level caching

Business Actions

Page 10: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Then what?

Page 11: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Service Agent

DTOs

View Models

Views (XAML + C#)

Domain Model

Repositories

Command Handlers

Database

Nhibe

rnate 3.x

(+ Fluen

t)WCF Data Services

Silverlight 5

Unit of Work Service Agents

Domain Events

Logging

Shell

Bootstrapper

Caliburn Micro

AutoFac

AutoFac

Coroutines

Backoffice System

Application Controller

Command Service

Commands

Event Handlers

Query Services

External Service

Page 12: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Recipes

Commanding

Querying

Deployment

Composition

IoC

Data Access

Concurrency

Asynchronity

Testability

Validation

Business Rules

Exception Handling

Logging

Page 13: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023Dennis Doomen

What’s Next?• Nicer Design• WinRT? HTML5?• Query Optimization• Key-Based Commanding• More CQRS• Authentication• Authorization• Globalization• Fluent Migration

Page 14: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

Background InformationMVVM, Coroutines, Commanding, Querying, Domain Events, Testable Repository Pattern

Example Code, FrameworksSilverlight Cookbook, Caliburn Micro, AutoFac, NHibernate, Fluent NHibernate, Fluent Assertions

Page 15: Introducing the silverlight cookbook

© 2011 Aviva Solutions 10 april 2023

[email protected]

Twitter@ddoomen

Blogwww.dennisdoomen.net