Download presentation
Presentation is loading. Please wait.
Published byAlison Stokes Modified over 8 years ago
2
2 Architectural Concerns for Object/Relational Mappers (O/R-M) with Examples in NHibernate Jeffrey Palermo Chief Technology Officer Headspring Systems, LP Session Code: ARC401
3
3 Architecture? What type are we speaking of? - Application architecture - Enterprise applications (lots of code) - 400 level
4
4 Top Concerns for O/R Mappers Compatibility Loose Coupling Testing Changing Schema Reporting Mapping Boundaries
5
5 Audience Participation Raise your hand if you are using the same data access method that you were 1 year ago.
6
6 2 Years
7
7 3 Years
8
8 4 Years
9
9 5 Years
10
10 6 Years
11
11 7 Years
12
12 8 Years
13
13 9 Years
14
14 10 Years
15
15 How will you switch to the next thing?
16
16 Compatibility
17
17 OBJECT / relational mapping
18
18
19
19 Loose Coupling
20
20 Traditional Layered Architecture Data Business Logic UI Infrastructure
21
21 Web Service File Solution Structure Client Business Logic Data Access DB Infrastructure
22
22 Layered Onion Architecture Domain Model Domain Services Application Services User Interface Infrastructure Tests DB Web Service File Application Core
23
23 Web Service File Solution Structure Client Core Infrastructure DB IoC Container
24
24 Loose Coupling (loose coupling means no project reference)
25
25 Testing
26
26 Testing (I can test anything it if has well-defined boundaries)
27
27 Testing
28
28 Testing Data Access Local database Test setup Test execution Test teardown Automate, Automate, Automate
29
29 Testing (I can test anything it if has well-defined boundaries)
30
30 Changing Schema
31
Table Per Type Mapping..
32
Table Per Hierarchy Mapping
33
33 Table Per Type Mapping
34
34 Table Per Hierarchy Mapping
35
35 Changing Schema
36
36 Reporting
37
37 Mapping Boundaries
38
38
39
39 Mapping tips Use collection mappings only where necessary Leverage component mappings Keep database details in the database Don’t expose collections as properties (do you support collection.Clear())?
40
40 Use any good O/R Mapper Keep it behind interfaces Application logic and business objects shouldn’t depend on ORM
41
41
42
Related Content Interactive Theater Sessions WUX08-TLC TDD, DI, and Other Acronyms with ASP.NET MVC Friday, 1PM-2:15PM
43
43 About me CTO, Headspring Systems Software management consultant Agile coach MCSD.Net Microsft MVP, ASPInsider Certified ScrumMaster Director, Austin.Net User Group Board member, AgileAustin INETA speakers bureau U.S. Army Veteran Party with Palermo www.partywithpalermo.com Agile Boot Camp: www.headspringsystems.com/training
44
www.microsoft.com/teched Tech·Talks Tech·Ed Bloggers Live SimulcastsVirtual Labs http://microsoft.com/msdn Developer’s Kit, Licenses, and MORE! Resources for Developers
45
45 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.