Alvin Ashcraft Eclipsys Corporation / [email protected].

of 19 /19
ASP.NET MVC Development with S#arp Architecture Alvin Ashcraft Eclipsys Corporation / [email protected]

Embed Size (px)

Transcript of Alvin Ashcraft Eclipsys Corporation / [email protected].

Page 1: Alvin Ashcraft Eclipsys Corporation /

ASP.NET MVC Development with S#arp Architecture

Alvin AshcraftEclipsys Corporation /

[email protected]

Page 2: Alvin Ashcraft Eclipsys Corporation /

Session Agenda

Introduction – Who Am I? Model-View-Controller pattern & ASP.NET

MVC NHibernate, Fluent NHibernate & MVCcontrib The S#arp Archtecture Project Building a S#arp Architecture Application Summary Additional Resources

Page 3: Alvin Ashcraft Eclipsys Corporation /

Introduction – Who Am I?

14 Years Development Experience Software Engineer at Eclipsys

Corporation – Malvern, PA Contributing Editor at DZone’s .NET


CompTIA ITProject+ Certifications Microsoft Most Valuable Professional

(MVP) – Awarded April 2009 Alvin Ashcraft’s Morning Dew –

Page 4: Alvin Ashcraft Eclipsys Corporation /

The Model-View-Controller (MVC) Pattern

MODEL – Business logic plus one or more data sources such as a relational database.

VIEW – The user interface that displays information about the model to the user.

CONTROLLER – The flow-control mechanism means by which the user interacts with the application.

Page 5: Alvin Ashcraft Eclipsys Corporation /


Released April 9, 2009 Alternative to ASP.NET WebForms Built for testability User-friendly (and SEO-friendly) URLs Clear separation of concerns Lacks rich control set available with

WebForms Demo – ASP.NET MVC 1.0 Project


Page 6: Alvin Ashcraft Eclipsys Corporation /


Object-Relational Mapping (ORM) Tool

Map data to your domain objects (.hbm.xml mapping files)

Manipulate persistent data

Handle transactions and concurrency

Page 7: Alvin Ashcraft Eclipsys Corporation /

Fluent NHibernate

An alternative to NHibernate's standard XML mapping files.

Write mappings in strongly typed C# code. Benfits:

Refactoring Readability Concise

Fluent mapping Automapping Fluent database configuration

Page 8: Alvin Ashcraft Eclipsys Corporation /

MVCcontrib Project

Adds functionality on top of the MVC Framework UI Helpers Routing Filters View Engines Lots More…

Page 9: Alvin Ashcraft Eclipsys Corporation /

The S#arp Architecture Project

Owner & Creator: Billy McCafferty Project Members

Frank Laub Simone Busoli Kyle Baley

Rapidly build maintainable web applications.

Leverage ASP.NET MVC, NHibernate and Spring.NET.

Ignore infrastructure. Focus on domain and UX.

Page 10: Alvin Ashcraft Eclipsys Corporation /

S#arp Architecture Principles

DDD-Focused Loosely Coupled Preconfigured Architecture Open-Ended Presentation

jQuery Yahoo UI Widgets ASP.NET AJAX

Page 11: Alvin Ashcraft Eclipsys Corporation /

S#arp Architecture Project Tiers

Page 12: Alvin Ashcraft Eclipsys Corporation /

Configuring the Development Environment

Detailed Documentation in S#arp Architecture Reference Guide document.

Software Prerequisites Visual Studio 2008 SP1 NUnit v2.4.8 T4Toolbox v9.1.20.1 ASP.NET MVC 1.0

Install Visual Studio S#arp Architecture Project Template

Configuring IIS Demo - Configuration

Page 13: Alvin Ashcraft Eclipsys Corporation /

Building a Simple Application - Overview

Music Store Chinook Database 1.1 ( Index will list data for entities

Artists Albums Tracks Playlists Customers Invoices

Create/Edit records Demo – Create the Project

Page 14: Alvin Ashcraft Eclipsys Corporation /

Mapping the Model to the Data

Manual Mapping XML Mapping Fluent NHibernate

CRUD Scaffolding Demo – Mapping Data

Page 15: Alvin Ashcraft Eclipsys Corporation /

Music Catalog – Feature Options

Filtering View Data Using Custom View Data to Access

Multiple Repositories (Entity Lists) Support for Different View Engines Add some jQuery flair

Submit via AJAX Add Edit-in-Place Add jQuery UI tabs jQuery Grid Options

Demo – Feature Options

Page 16: Alvin Ashcraft Eclipsys Corporation /


Fill out your evals Book & shirt giveaway After Party @ Shanachie in Ambler All slides and sample code will be

posted to Philly .NET site Thank our sponsors!

Page 17: Alvin Ashcraft Eclipsys Corporation /

DZone Refcardz


Silverlight 2 by Chad A. Campbell

Core .NET by Jon Skeet ASP.NET by Holger

Schwichtenberg Design Patterns by Jason

McDonald Spring Confirguration by

Craig Walls Windows PowerShell by

Bruce Payette jQuery Selectors by Bear

Bibealt & Yehuda Katz

Professional Cheat Sheets for Developers!

Page 18: Alvin Ashcraft Eclipsys Corporation /

Additional Resources

S#arp Architecture on Google Code: S#arp Architecture Discussion Group: S#arp Architecture Community Site: S#arp Architecture Wiki: Billy McCafferty’s Blog: Virtual ALT.NET S#arp Architecture Presentation – 04/22 @ 10pm: DimeCasts.NET Episodes by Kyle Baley:

Episode #75: Introduction to S#arp Architecture Episode #97: Another look at Sharp Architecture: Validation, Design Decisions and Automapping Episode #102: Taking a look at how to modify the T4 templates used by Sharp Architecture

NHibernate Best Practices with ASP.NET:

Summer of NHibernate Screencast Series: Rob Conery’s MVC Storefront Project: Stephen Walther’s ASP.NET MVC Application Building Series: James Gregory’s Blog (Fluent NHibernate): Great ASP.NET MVC & NHibernate Bloggers: Phil Haack, Scott Guthrie, Scott Hanselman,

Simone Chiaretta, Keyvan Nayyeri, Nick Berardi, Oren Eini, Derik Whittaker, Tim Barcz, Ben Scheirman, and more…

Page 19: Alvin Ashcraft Eclipsys Corporation /

ASP.NET MVC with S#arp Architecture

Alvin Ashcraft