Breaking down data silos with the open data protocolPresentation Transcript
Breaking Down “Data Silos” with the Open Data Protocol (OData) Chris Woodruff
Who am I? Chris Woodruff MVP, Data Platform Development Chris.Woodruff@rcmt.com http://chriswoodruff.com http://deepfriedbytes.com http://nplus1.org twitter @cwoodruff
Today, the tools for capturing data both at the mega-scale and at the milli-scale are just dreadful. After you have captured the data, you need to curate it before you can start doing any kind of data analysis, and we lack good tools for both data curationand data analysis. Jim Gray Quote
What is data now?
What could data be tomorrow?
An architectural style for building loosely coupled systems defined by a set of very general constraints (principles) the Web (URI/HTTP/HTML/XML) is an instance of this style The Web used correctly (i.e., not using the Web as transport) HTTP is built according to RESTful principles services are built on top of Web standards without misusing them most importantly, HTTP is an application protocol (not a transport protocol) Anything that uses HTTP and XML (XML without SOAP) XML-RPC was the first approach for this violates REST because there is no uniform interface REST: 3 definitions
The name Atom applies to a pair of related standards. The Atom Syndication Format is an XML language used for web feeds, while the Atom Publishing Protocol (AtomPub) is a simple HTTP-based protocol for creating and updating web resources. ATOMPub
http://services.odata.org/OData/OData.svc ______________________________________/ | service root URI http://services.odata.org/OData/OData.svc/Category(1)/Products?$top=2&$orderby=name ______________________________________/ _________________/ ________________/ | | | service root URI resource path query options What is a URI?
Creation of standard Web API’s Allow internal Information Workers to be more productive Give IT staff more time to work on meaningful projects Monetize/Open Data for others to use and benefit from What are the benefits ofOData?
The beauty of Metadata
Feeds, which are Collections of typed Entries
OData services can expose Service Operations
OData services expose all these constructs via URIs
OData service may also expose a Service Metadata Document
Full SQL like Query “Language”
How we get around OData Query Navigation
Addressing entities and sets Presentation options
Examples http://.../OData.svc/GetProductsByRating?rating=5 Identifies the "GetProductsByRating" Service Operation and specifies a value of 5 for the "rating" input parameter. Service Operations(Functions)
Where can we produce Odata? WCF Data Services WCF RIA Services
Create services directly from Visual Studio Various data sources Entity Framework LINQ providers Model-driven Structural description in Entity Data Model Metadata shapes service HTTP Hosting/HTTP listener Service Runtime IQueryable (+ IUpdatable) Data Access Layer Entity Framework Custom LINQ provider Relational database Other sources
What do you need for WCF Data Services? Visual Studio 2010 SQL Server 2008 SP1 ASP.NET 4.0 WCF Data Services Framework uses ASP.NET for Authentication and Authorization
Where can we consume Odata? LINQ
Consuming from .NET Applications Demo
Open your data for others
More Information WCF Data Services Framework Home -- http://tinyurl.com/wcfdataservices WCF Data Services Framework Team Blog -- http://blogs.msdn.com/astoriateam ODataPrimer.com – http://odataprimer.com
Note about Internet Explorer Note, Internet Explorer by default renders ATOM in a friendly format that makes OData feeds unreadable. To fix this, turn off IE feed viewing by turning off the option Tools -> Internet Options -> Content -> Feeds (settings) -> Turn on feed viewing
Required Reading Wrap up The Fourth Paradigm: Data-Intensive Scientific Discovery
More Required Reading
Contact me!! email@example.com Twitter @cwoodruff MSN IM firstname.lastname@example.org