2 Architectural Concerns for Object/Relational Mappers (O/R-M) with Examples in NHibernate Jeffrey Palermo Chief Technology Officer Headspring Systems,

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Feature: Identity Management - Login © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training. Windows ® 7 Compatibility Session 0 Isolation Isolation of Windows 7 Services.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
 Stephen Walther ASP.NET MVC Ninja Microsoft Corporation PV31.
Amalga UIS Modules Medical Imaging Research Foundation Quality Measures Other HealthVault Partner Applications Microsoft Partner Solutions.
Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Multitenant Model Request/Response General Model.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Announcing Demo Announcing.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
WinHEC /22/2017 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
NEXT: Overview – Sharing skills & code.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: Employee Self Service Timecard Entry © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Ian Ellison-Taylor General Manager Microsoft Corporation PC27.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
TDD, DI, and SoC with ASP.NET MVC Presented by Jeffrey Palermo CTO, Headspring Systems Microsoft MVP, MCSD.Net
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Sr. Dir. – Systems Architecture Inlet Technologies.
2 Architectural Considerations for the ASP.NET MVC Framework Jeffrey Palermo Chief Technology Officer Headspring Systems Austin, TX Session Code: ARC402.

IoCompleteRequest (Irp);... p = NULL; …f(p);
Ctrl-K, X Ctrl-K, S
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Baseline: How Are We Doing Now?
Title of Presentation 12/2/2018 3:48 PM
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

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 Architecture? What type are we speaking of? - Application architecture - Enterprise applications (lots of code) level

4 Top Concerns for O/R Mappers Compatibility Loose Coupling Testing Changing Schema Reporting Mapping Boundaries

5 Audience Participation Raise your hand if you are using the same data access method that you were 1 year ago.

6 2 Years

7 3 Years

8 4 Years

9 5 Years

10 6 Years

11 7 Years

12 8 Years

13 9 Years

14 10 Years

15 How will you switch to the next thing?

16 Compatibility

17 OBJECT / relational mapping

18

19 Loose Coupling

20 Traditional Layered Architecture Data Business Logic UI Infrastructure

21 Web Service File Solution Structure Client Business Logic Data Access DB Infrastructure

22 Layered Onion Architecture Domain Model Domain Services Application Services User Interface Infrastructure Tests DB Web Service File Application Core

23 Web Service File Solution Structure Client Core Infrastructure DB IoC Container

24 Loose Coupling (loose coupling means no project reference)

25 Testing

26 Testing (I can test anything it if has well-defined boundaries)

27 Testing

28 Testing Data Access Local database Test setup Test execution Test teardown Automate, Automate, Automate

29 Testing (I can test anything it if has well-defined boundaries)

30 Changing Schema

Table Per Type Mapping..

Table Per Hierarchy Mapping

33 Table Per Type Mapping

34 Table Per Hierarchy Mapping

35 Changing Schema

36 Reporting

37 Mapping Boundaries

38

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 Use any good O/R Mapper Keep it behind interfaces Application logic and business objects shouldn’t depend on ORM

41

Related Content Interactive Theater Sessions WUX08-TLC TDD, DI, and Other Acronyms with ASP.NET MVC Friday, 1PM-2:15PM

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 Agile Boot Camp:

Tech·Talks Tech·Ed Bloggers Live SimulcastsVirtual Labs Developer’s Kit, Licenses, and MORE! Resources for Developers

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.