Våra sponsorer. Jag avser inte att ljuga, med det jag säger är inte nödvändigtvis sant

Preview:

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

Recommended