Upload
waylon-siner
View
216
Download
1
Embed Size (px)
Citation preview
Våra sponsorer
REST/OData/Entity Framework & BizTalk Certification CramMikael Håkansson - Enfo Zystems MVP BizTalkhttp://blogical.se/blogs/mikaelTwitter: @wmmihaa
Johan Hedberg- Enfo Zystems MVP BizTalkhttp://blogical.se/blogs/johanTwitter: @JoHed
Kommande events…
23:e MajBizTalk - EDI & B2B Mikael Håkansson & Anders Wasén
12:e JuniWindows Azure Service Bus- Connectivity and Messaging Alan Smith
Sommar Kollo with Johan Hedberg Helsingborg 26:e Juni, Stockholm 27:e Juli + 21:a Aug
REST/OData/Entity Framework
Why is this session relevant to me?More devicesPlatform diversityApplications has become commodityBandwidth is not infiniteSize matters
Agenda
What is REST?What is Entity Framework?What is WCF Data Services?What is Odata?
<Disclaimer> Jag avser inte att ljuga, med det jag säger är inte nödvändigtvis sant</Disclaimer>
What is REST?
• Representational State Transfer• Introduced by Roy Fielding in 2000• Not bound to XML• Focuses on resources (nouns)• Resources are exposed through URI’s• Utilizes all HTTP verbs (GET, PUT, POST & DELETE)• Supports caching• Light weight• Interoperable
What is REST?
*Developed by Leonard Richardson Källa: http://martinfowler.com/articles/richardsonMaturityModel.html
Richardson’s Maturity Model *
Level 1 - POX
Level 2 - Resourses
Level 3 – HTTP Verbs
Level 4 – Hypermedia
=RESTful
Building a ”REST” Service
Level 1 - POX
Level 1 - POX
Level 2 - Resourses
Level 3 – HTTP Verbs
Level 4 – Hypermedia
Building a ”REST” Service
Level 2 – Using Resources
Level 1 - POX
Level 2 - Resourses
Level 3 – HTTP Verbs
Level 4 – Hypermedia
Building a ”REST” Service
Level 3 – Using HTTP Verbs
Level 1 - POX
Level 2 - Resourses
Level 3 – HTTP Verbs
Level 4 – Hypermedia
What is REST?
Using Hypermedia• Relationships between entities are defined
by links• Builds on the web architecture
What is REST?
Customer
Order
Order
Orders
http://.../Order(23)
http://.../Order(24)
http://.../Customer(21)
Using Hypermedia
What is REST?
Using Hypermedia
<Person> <id>16</id> <FirstName>Mikael</FirstName> <LastName>Håkansson</LastName> <Children> <Person> <id>20</id> <FirstName>Linus</FirstName> <LastName>Håkansson</LastName> </Person> <Person> <id>21</id> <FirstName>Pontus</FirstName> <LastName>Håkansson</LastName> </Person> <Person> <id>22</id> <FirstName>Matilda</FirstName> <LastName>Håkansson</LastName> </Person> </Children></Person>
Resourses
What is REST?
Using Hypermedia
<Person> <id href="Person(16)">16</id> <FirstName>Mikael</FirstName> <LastName>Håkansson</LastName> <Children href="Person(16)/Children"/></Person>
<Persons> <Person> <id href="Person(20)">20</id> <FirstName>Linus</FirstName> <LastName>Håkansson</LastName> </Person> <Person> <id href="Person(21)">21</id> <FirstName>Pontus</FirstName> <LastName>Håkansson</LastName> </Person> <Person> <id href="Person(22)">22</id> <FirstName>Matilda</FirstName> <LastName>Håkansson</LastName> </Person></Persons>
Building a ”REST” Service
Level 3 – Using Hypermedia throught ATOM
http://services.odata.org/Northwind/Northwind.svc
What is ADO.NET Entity Framework?• an object-relational mapping (ORM)
framework for the .NET Framework• supports both “Database First” and “Model
First” along with “Code First” • supports all ADO.NET providers
What is ADO.NET Entity Framework?Building a model using Database-First
What is WCF Data Services?
• formerly known as ADO.NET Data Services• represents Entity Data Model as RESTful
services• supports both xml and JSON
What is WCF Data Services?
Expose the model as a RESTful service
Level 1 - POX
Level 2 - Resourses
Level 3 – HTTP Verbs
Level 4 – Hypermedia
What is Odata?
• Open Data Protocol• Query over HTTP
What is Odata?
Query the service
Min egen reflektion…1995
WinApp (VB6)ODBC
2000ASP
OLEDbCOM/SOAP
2005ASP.Net + AJAX ADO.NetSOAP/
WCF
2012HTML+ JavaScript ADO.NetOData2012HTML+ JavaScript
OData
REST i praktiken (RESTLess)
• Skapa vyer!• WCF Data Services Toolkit
http://wcfdstoolkit.codeplex.com/
the end