Математика | ||||
Pro ADO.NET Data Services: Working with RESTful Data - 2009 John Shaw str 304 | ||||
Pro ADO.NET Data Services: Working with RESTful Data - 2009 John Shaw
2009 by John Shaw and Simon Evans Contents at a Glance Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvi Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii PART 1 ?????????? ADO.NET Data Service Fundamentals CHAPTER 1 The Foundations of ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . . 3 CHAPTER 2 Addressing RESTful ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . 25 CHAPTER 3 ADO.NET Data Services Development . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 PART 2 ?????????? ADO.NET Data Services in the Real World CHAPTER 4 Exposing Existing WCF SOAP Services and .NET APIs Through ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . 121 PART 3 ?????????? ADO.NET Data Services from the Outside CHAPTER 5 ASP.NET and AJAX Solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 CHAPTER 6 Mashing Up Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 CHAPTER 7 Silverlight 2.0 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 CHAPTER 8 Using ADO.NET Data Services with BizTalk . . . . . . . . . . . . . . . . . . . . . 257 PART 4 ?????????? The Future of ADO.NET Data Services CHAPTER 9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 vii Contents Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv About the Technical Reviewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvi Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii PART 1 ?????????? ADO.NET Data Service Fundamentals CHAPTER 1 The Foundations of ADO.NET Data Services . . . . . . . . . . . . . . . . 3 The Concept of Set- Based Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 The Concept of Object Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 The Concept of Service Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 RESTful Thinking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 The ABCs of Windows Communication Foundation . . . . . . . . . . . . . . . . . . . . 6 Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Contracts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Endpoint = Address + Binding + Contract . . . . . . . . . . . . . . . . . . . . . 11 Hosting Endpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Don’t Forget the Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Standing on the Shoulders of Giants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 The Universal Service Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Atom and JSON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Data Service Hosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Data Service Clients. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Reports of My Death Have Been Greatly Exaggerated . . . . . . . . . . . . . . . . 19 LINQ to Something . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Defining LINQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 LINQ to Local Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 LINQ to Remote Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 viii ??CONTENTS CHAPTER 2 Addressing RESTful ADO.NET Data Services . . . . . . . . . . . . . . 25 Brief History of the Web Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 HTTP Verb Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Scoping Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 What Makes a Service RESTful? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 HTTP Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Addressability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Statelessness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Getting Started: Setting Up the Environment . . . . . . . . . . . . . . . . . . . . . . . . 31 Visual Studio 2008 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Development Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Trying the New Data Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Addressing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Entities (Resources) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Entity Keys (Resource Keys) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Entity Associations (Resource Navigations) . . . . . . . . . . . . . . . . . . . . . 51 Service Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Data Representations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Formulating Queries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Sorting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Page Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 Expanding Related Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 Filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Hosting Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Surfacing Custom Data Sources Using CLR Classes . . . . . . . . . . . . . . . . . . 67 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 CHAPTER 3 ADO.NET Data Services Development . . . . . . . . . . . . . . . . . . . . . . 71 ADO.NET Data Services Assemblies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Debugging Data Services Using Fiddler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Client Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 DataServiceContext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 DataServiceQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Creating Local Client Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Language Integrated Query Support . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Creating, Updating, and Deleting Data (CUD Operations) . . . . . . . . . 90 ??CONTENTS ix Entity Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Merging Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Lazy Loading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Asynchronous Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Try Before You Buy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 More Data Services Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 Scalar Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Data Interceptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Query Interceptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Change Interceptors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Service Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Batching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Implementing Concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Securing Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Inheritance of Host Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Resource Visibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Intercepting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Service Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Error Handling Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Handled Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Unhandled Exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 HTTP Status Code Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 PART 2 ?????????? ADO.NET Data Services in the Real World CHAPTER 4 Exposing Existing WCF SOAP Services and .NET APIs Through ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . 121 The Legacy Customer Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Drivers for REST Support in the Customer Service . . . . . . . . . . . . . . . . . . 128 Refactoring the Customer Service for ADO.NET Data Services . . . 128 Adding an ADO.NET Data Service Endpoint to the Refactored Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Implementing Write Operations in the Customer Data Service . . . 141 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 x ??CONTENTS PART 3 ?????????? ADO.NET Data Services from the Outside CHAPTER 5 ASP.NET and AJAX Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 The Evolution of Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 The ASP.NET Server- Side Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 Commonly Used ASP.NET Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Forms and Postbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 State Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 The Page Life Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Partial Postbacks with the Update Panel . . . . . . . . . . . . . . . . . . . . . . 162 Putting It All Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Using ADO.NET Data Services with ASP.NET Server Side . . . . . . . 163 ASP.NET Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Authorization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Authentication and Authorization in ADO.NET Data Services . . . . . 176 The ASP.NET AJAX Client- Side Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Common AJAX Library Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . 177 Introducing the Script Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 The Importance of Retail Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Calling ADO.NET Data Services Using the Microsoft AJAX Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 Binding Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 Public and Private Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 Mixing ASP.NET Client and Server Models . . . . . . . . . . . . . . . . . . . . . . . . . 192 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 CHAPTER 6 Mashing Up Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Let’s Do the Mash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Sources of Mashups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Intersecting Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Mashup Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 Using Microsoft Popfly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 Mashup Design Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Web Page Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Sharing Mashups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 ??CONTENTS xi Block Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 XML Definition Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 JavaScript Class Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Handling Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Developing Popfly Blocks with Data Services . . . . . . . . . . . . . . . . . . . . . . . 214 Data Retrieval Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Creating a Data Services Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Creating a Restaurant Rating Mashup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 Enterprise Mashups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 SharePoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 CHAPTER 7 Silverlight 2.0 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 The Web Application Spectrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Light Up the Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Silverlight Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Layout Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Input Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 Shape Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Data Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Binding Single Object Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 Binding to Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Consuming Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Consuming SOAP Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Consuming ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . 243 Consuming Other REST and POX Services . . . . . . . . . . . . . . . . . . . . 244 Handling Cross- Domain Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 Web Page Interoperability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Accessing the HTML DOM from Managed Code . . . . . . . . . . . . . . . . 246 Accessing Silverlight Managed Code from JavaScript . . . . . . . . . . 247 Debugging Silverlight Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256 CHAPTER 8 Using ADO.NET Data Services with BizTalk . . . . . . . . . . . . . . 257 Why BizTalk? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 Publish-and-Subscribe Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 259 Message Standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Transformations (Mapping) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 xii ??CONTENTS Pipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Orchestrations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 Configuring Your Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 BizTalk 2006 R2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 BizTalk 2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 BizTalk and ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Review List of BizTalk Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 Configuring the WCF- Custom Adapter . . . . . . . . . . . . . . . . . . . . . . . . 270 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 PART 4 ?????????? The Future of ADO.NET Data Services CHAPTER 9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Where Are We? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Benefits of Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 Drawbacks of Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 Main Players . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 Where Does ADO.NET Data Services Fit In? . . . . . . . . . . . . . . . . . . . 295 One for the Road . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 SQL Server Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 Oslo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 Entity Framework V2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Astoria vNext . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 Enriched Data Source Plug- in to Support High Scale Needs . . . . . 301 Friendly Feeds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Offline ADO.NET Data Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 Alignment with SQL Server Data Services . . . . . . . . . . . . . . . . . . . . . 303 ASP.NET DataServiceDataSource Server Control . . . . . . . . . . . . . . . 304 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 Цена: 200руб. |
||||