26
Våra sponsorer

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

Embed Size (px)

Citation preview

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

Våra sponsorer

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

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

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

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

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

REST/OData/Entity Framework

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

Why is this session relevant to me?More devicesPlatform diversityApplications has become commodityBandwidth is not infiniteSize matters

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

Agenda

What is REST?What is Entity Framework?What is WCF Data Services?What is Odata?

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

<Disclaimer> Jag avser inte att ljuga, med det jag säger är inte nödvändigtvis sant</Disclaimer>

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

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

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

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

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

Building a ”REST” Service

Level 1 - POX

Level 1 - POX

Level 2 - Resourses

Level 3 – HTTP Verbs

Level 4 – Hypermedia

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

Building a ”REST” Service

Level 2 – Using Resources

Level 1 - POX

Level 2 - Resourses

Level 3 – HTTP Verbs

Level 4 – Hypermedia

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

Building a ”REST” Service

Level 3 – Using HTTP Verbs

Level 1 - POX

Level 2 - Resourses

Level 3 – HTTP Verbs

Level 4 – Hypermedia

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

What is REST?

Using Hypermedia• Relationships between entities are defined

by links• Builds on the web architecture

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

What is REST?

Customer

Order

Order

Orders

http://.../Order(23)

http://.../Order(24)

http://.../Customer(21)

Using Hypermedia

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

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

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

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>

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

Building a ”REST” Service

Level 3 – Using Hypermedia throught ATOM

http://services.odata.org/Northwind/Northwind.svc

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

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

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

What is ADO.NET Entity Framework?Building a model using Database-First

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

What is WCF Data Services?

• formerly known as ADO.NET Data Services• represents Entity Data Model as RESTful

services• supports both xml and JSON

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

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

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

What is Odata?

• Open Data Protocol• Query over HTTP

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

What is Odata?

Query the service

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

Min egen reflektion…1995

WinApp (VB6)ODBC

2000ASP

OLEDbCOM/SOAP

2005ASP.Net + AJAX ADO.NetSOAP/

WCF

2012HTML+ JavaScript ADO.NetOData2012HTML+ JavaScript

OData

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

REST i praktiken (RESTLess)

• Skapa vyer!• WCF Data Services Toolkit

http://wcfdstoolkit.codeplex.com/

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

the end