Математика

Физика

Химия

Биология

Техника и    технологии

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руб.

Назад

Заказ

На главную страницу