3
Sofia, Bulgaria | 9-10 October A bit about what I will talk about.. This presentation is all about practical tips, technology applied rather than technology presented. The case for disconnected data Mechanisms to represent disconnected data DataSets and Business Objects Stand in.NET 2.0, and compare the two Code Examples. And what happens when you throw the future in the mix? This presentation is all about practical tips, technology applied rather than technology presented. The case for disconnected data Mechanisms to represent disconnected data DataSets and Business Objects Stand in.NET 2.0, and compare the two Code Examples. And what happens when you throw the future in the mix?

6
Sofia, Bulgaria | 9-10 October The Connected – Lets be Practical! If amazon.com maintained an open database connection, for every visitor on their site. About 40 million visitors a day At an average, lets assume that each visitor were to stay online for 5 minutes. Lets to be fair, assume, no connection pooling. If amazon.com maintained an open database connection, for every visitor on their site. About 40 million visitors a day At an average, lets assume that each visitor were to stay online for 5 minutes. Lets to be fair, assume, no connection pooling.

7
Sofia, Bulgaria | 9-10 October Connected – GEE WHIZ!! Total number of average open connections 40,000,000 / (24 * 60/5) = 312,500 Total licensing cost on an Oracle database – Ouch amount of $. Total licensing cost on SQL Server – Also an Ouch amount of $. And dont forget the nuclear power plant to run your servers. Total number of average open connections 40,000,000 / (24 * 60/5) = 312,500 Total licensing cost on an Oracle database – Ouch amount of $. Total licensing cost on SQL Server – Also an Ouch amount of $. And dont forget the nuclear power plant to run your servers.

8
Sofia, Bulgaria | 9-10 October Connected – But its not just about $ What about a distributed architecture? Web Services? Disconnected Salesman? The whole UDDI concept – a.k.a. Microsoft and IBMs idea for World Piece. What about a distributed architecture? Web Services? Disconnected Salesman? The whole UDDI concept – a.k.a. Microsoft and IBMs idea for World Piece.

13
Sofia, Bulgaria | 9-10 October Disconnected Data Two choices Business Objects The DataSet family. Two choices Business Objects The DataSet family.

14
Sofia, Bulgaria | 9-10 October Business Objects - Pros A class instance that holds your data, and represents it in a semi structured hierarchical fashion that is specific to your domain. You can put smarts in your business object. Your business object means something – its not a dumb bucket of data. A class instance that holds your data, and represents it in a semi structured hierarchical fashion that is specific to your domain. You can put smarts in your business object. Your business object means something – its not a dumb bucket of data.

15
Sofia, Bulgaria | 9-10 October Business Objects - Cons You have to write them You loose the basic ability to work with data Sorting Searching Filtering Your business objects, are a complete reinvention, in every system you will ever work on. You have to write them You loose the basic ability to work with data Sorting Searching Filtering Your business objects, are a complete reinvention, in every system you will ever work on.

16
Sofia, Bulgaria | 9-10 October The DataSet family - Pros Built into the framework. You dont have to write it. Comes with a decent ability to search/sort/filter etc. You can even add limited smarts to your DataSet by adding partial classes or strongly typing the DataSet. Built into the framework. You dont have to write it. Comes with a decent ability to search/sort/filter etc. You can even add limited smarts to your DataSet by adding partial classes or strongly typing the DataSet.

17
Sofia, Bulgaria | 9-10 October The DataSet family - Cons Limited smarts Its really just a dumb bucket of data. Not semi-structured or hierarchical Just rows and columns. Limited smarts Its really just a dumb bucket of data. Not semi-structured or hierarchical Just rows and columns.

19
Sofia, Bulgaria | 9-10 October DataSet or BO? So are you more of a DataSet person? Or a Business Object person? WHAT AN AWFUL CHOICE TO MAKE!! On one hand I loose the ability to validate and represent my data. On the other, I loose searching/sorting, and have to perform a lot of work translating to and from the underlying data store. Which is why I am looking forward to ADO.NET vNext and LINQ. So are you more of a DataSet person? Or a Business Object person? WHAT AN AWFUL CHOICE TO MAKE!! On one hand I loose the ability to validate and represent my data. On the other, I loose searching/sorting, and have to perform a lot of work translating to and from the underlying data store. Which is why I am looking forward to ADO.NET vNext and LINQ.

25
Sofia, Bulgaria | 9-10 October vNextvNext.. Makes working with Business Objects easier. LINQ ADO.NET eF LINQ to Entity LINQ to SQL.. Makes working with Datasets easier. LINQ to DataSet.. Makes working with Business Objects easier. LINQ ADO.NET eF LINQ to Entity LINQ to SQL.. Makes working with Datasets easier. LINQ to DataSet

26
Sofia, Bulgaria | 9-10 October Demo #2 How LINQ makes working with Business Objects easier.

27
Sofia, Bulgaria | 9-10 October Demo #3 LINQ to DataSet – How does that help?

28
Sofia, Bulgaria | 9-10 October ADO.NET vNext –high level overview Its about bridging the conceptual and logical model. The 4 models Its about bridging the conceptual and logical model. The 4 models PresentationConceptualLogicalPhysical

35
Sofia, Bulgaria | 9-10 October What about DLINQ? Its called LINQ to SQL now You can use it where the logical model and the conceptual model are the same. Further Reading ADO.NET vNext CTP http://shrinkster.com/i5y http://shrinkster.com/i5y DLINQ and LINQ http://shrinkster.com/i5x http://shrinkster.com/i5x Its called LINQ to SQL now You can use it where the logical model and the conceptual model are the same. Further Reading ADO.NET vNext CTP http://shrinkster.com/i5y http://shrinkster.com/i5y DLINQ and LINQ http://shrinkster.com/i5x http://shrinkster.com/i5x

37
Sofia, Bulgaria | 9-10 October Clearing a few misconceptions ADO.NET vNext is unlike other ORMs in the market place. Minimalist approach, rather than everything and the kitchen sink. ADO.NET vNext introduces the concept of Client Views and thus set based theory in object oriented code. Queries are more sophisticated than simple string matching It takes the approach of attacking the conceptual model, rather than get mired in object to relational translation. ADO.NET vNext is unlike other ORMs in the market place. Minimalist approach, rather than everything and the kitchen sink. ADO.NET vNext introduces the concept of Client Views and thus set based theory in object oriented code. Queries are more sophisticated than simple string matching It takes the approach of attacking the conceptual model, rather than get mired in object to relational translation.