introduction to telerik openaccess orm

46
Introduction to Telerik OpenAccess ORM By Peter Bahaa 1

Upload: peterbahaa

Post on 30-Apr-2015

3.225 views

Category:

Documents


6 download

DESCRIPTION

A presentation for a Introduction about Telerik OpenAccess ORM

TRANSCRIPT

Page 1: Introduction to Telerik OpenAccess ORM

1

Introduction to Telerik OpenAccess ORM

By Peter Bahaa

Page 2: Introduction to Telerik OpenAccess ORM

2

Bio!

• Technical Team Lead of DashSoft• MSDN HDI Presenter• Technical Consultant for BeBrand.tv• Technical Consultant for LaserMarvels• Community Leader of dotnetwork.org• Past

– Technical Team Lead of BeBrand.tv

Page 3: Introduction to Telerik OpenAccess ORM

3

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 4: Introduction to Telerik OpenAccess ORM

4

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 5: Introduction to Telerik OpenAccess ORM

5

What is ORM?

• Object-relational mapping (ORM, O/RM, and O/R mapping)

• "virtual object database" that can be used from within the programming language.

Page 6: Introduction to Telerik OpenAccess ORM

6

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 7: Introduction to Telerik OpenAccess ORM

7

Why Using ORM?

• Facilitates implementing the Domain Model pattern.• Huge reduction in code.• Changes to the object model are made in one place.• Rich query capability.• Navigation.• Data loads are completely configurable.• Concurrency support.• Cache management.• Transaction management and Isolation.• Key Management.

Page 8: Introduction to Telerik OpenAccess ORM

8

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 9: Introduction to Telerik OpenAccess ORM

9

What is Telerik OpenAccess?

• Telerik OpenAccess is an Enterprise-grade .Net ORM that does the data access plumbing in desktop and web applications.

• Supporting both forward (model-first) and reverse (schema-first) mapping,

• The tool offers transparent persistence for your DAL and business objects.

• OpenAccess ORM provides tight Visual Studio integration and allows you to seamlessly create database independent code.

Page 10: Introduction to Telerik OpenAccess ORM

10

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• Fetch Demo• DSW Demo• ORM Battle Benchmarking

Page 11: Introduction to Telerik OpenAccess ORM

11

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 12: Introduction to Telerik OpenAccess ORM

12

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 13: Introduction to Telerik OpenAccess ORM

13

Visual Studio Integration

• Schema-First Approach• Model-First Approach• Powerful Wizards• Roundtrip Mapping

Page 14: Introduction to Telerik OpenAccess ORM

14

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 15: Introduction to Telerik OpenAccess ORM

15

Dynamic Data Access

• Query Languages– LINQ– OQL– SQL

• Runtime schema changes• Schema Change API

Page 16: Introduction to Telerik OpenAccess ORM

16

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support

Page 17: Introduction to Telerik OpenAccess ORM

17

Performance and Caching

• Fetch Plans• Level 2 Distributed Cache• Generic data access

Page 18: Introduction to Telerik OpenAccess ORM

18

Performance and Caching

• Fetch Plans• Level 2 Distributed Cache• Generic data access

Page 19: Introduction to Telerik OpenAccess ORM

19

Fetch Plans

• Fine-tune the fetching of the fields we are using from the database and not the whole object.

• Better performance.• Less load on the database server.

Page 20: Introduction to Telerik OpenAccess ORM

20

Fetch Plans (cont.)

Page 21: Introduction to Telerik OpenAccess ORM

21

Fetch Plans (cont.)

Page 22: Introduction to Telerik OpenAccess ORM

22

Performance and Caching

• Fetch Plans• Level 2 Distributed Cache• Generic data access

Page 23: Introduction to Telerik OpenAccess ORM

23

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 24: Introduction to Telerik OpenAccess ORM

24

Supported Database Features

• Stored Procedures• Views

Page 25: Introduction to Telerik OpenAccess ORM

25

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 26: Introduction to Telerik OpenAccess ORM

26

Application Scenarios Support

• Disconnected API• Partial Trust• Lazy Loading• Automatic Change Tracking

Page 27: Introduction to Telerik OpenAccess ORM

27

Application Scenarios Support

• Disconnected API• Partial Trust• Lazy Loading• Automatic Change Tracking

Page 28: Introduction to Telerik OpenAccess ORM

28

Disconnected API

• OpenAccess unique ObjectContainer API concept has been the first ORM feature supporting disconnected data scenarios.

• The offline ObjectContainer API shares a common interface with the online ObjectScope API

• The ObjectContainer serves as a bag which can hold object network, provides serialization, change tracking and the ability to apply changes in a round-trip fashion to the database.

Page 29: Introduction to Telerik OpenAccess ORM

29

Application Scenarios Support

• Disconnected API• Partial Trust• Lazy Loading• Automatic Change Tracking

Page 30: Introduction to Telerik OpenAccess ORM

30

Partial Trust

• Most O/R products do not support the partial trust paradigm out of the box.

• Most commonly the support was tied to severe limitations of the products functionality.

• Most popular products like Linq To Sql and Entity Framework had issues on their own with the partial trust support.

Page 31: Introduction to Telerik OpenAccess ORM

31

Partial Trust (Cont.)

Page 32: Introduction to Telerik OpenAccess ORM

32

Application Scenarios Support

• Disconnected API• Partial Trust• Lazy Loading• Automatic Change Tracking

Page 33: Introduction to Telerik OpenAccess ORM

33

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support

Page 34: Introduction to Telerik OpenAccess ORM

34

Integration

• Telerik Reporting • SQL Azure• RIA Services• Asp.Net and MVC• Silverlight and Ado.Net Data Services

Page 35: Introduction to Telerik OpenAccess ORM

35

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 36: Introduction to Telerik OpenAccess ORM

36

Database Support

• Microsoft SQL Server 2005/2008 Express• Oracle Server 9.2, 10.x, 11.x • Microsoft SQL Azure • Advantage Database Server 8.1 • SQL Anywhere Server 10.x • Microsoft SQL Server 2000/2005/2008 and

Compact 3.5• Oracle Database 10g Express Edition • Firebird Server 2.x • MySQL 5.x

Page 37: Introduction to Telerik OpenAccess ORM

37

Features!

• Visual Studio Integration• Dynamic Data Access• Performance and caching• Supported Database Features• Application Scenarios support• Integration• Database Support• Technical Support

Page 38: Introduction to Telerik OpenAccess ORM

38

Technical Support

• Free even for trial versions• Consulting more than a regular technical support• Choose the way that fits you:

– Support Tickets– Product Documentation– Forum– Telerik Blogs– Telerik TV– Knowledge base– Code Library– Webinars– Telerik Trainer – Product Resource Pages

Page 39: Introduction to Telerik OpenAccess ORM

39

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 40: Introduction to Telerik OpenAccess ORM

40

CRUD Demo

Page 41: Introduction to Telerik OpenAccess ORM

41

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 42: Introduction to Telerik OpenAccess ORM

42

DSW Demo

Page 43: Introduction to Telerik OpenAccess ORM

43

Agenda

• What is ORM?• Why using ORM?• What is Telerik OpenAccess ORM?• Features!• CRUD Demo• DSW Demo• ORM Battle Benchmarking

Page 44: Introduction to Telerik OpenAccess ORM

44

ORM Battle Benchmarking

• Performance Scorecard• LINQ Scorecard• Single CRUD Graph• Multiple CRUD Graph• LINQ Graph• Queries Graph• Paging Graph• Fetch Graph• Materialization Graph

Page 45: Introduction to Telerik OpenAccess ORM

45

Questions?

Page 46: Introduction to Telerik OpenAccess ORM

46

Thank You

• My Blog: www.peterbahaa.net• [email protected]