SlideShare a Scribd company logo

Creating Awesome Web APIs is a Breeze

Presented at the O'Reilly Open Source Conference 2014 (OSCON) in Portland, OR, USA and a slight variation thereof at APIcon UK in London, UK.

1 of 58
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
http://example.com/events/oscon2014
{
69 64: 6F 73 63 6F 6E 32 30 31 34 0D,
74 79 70 65: 45 76 65 6E 74 0D,
6E 61 6D 65: 4F 53 43 4F 4E 0D,
64 65 73 63 72 69 70 74 69 6F 6E: 4F 27 52 65 69 6C 6C …
73 74 61 72 74 44 61 74 65: 32 30 31 34 2D 30 37 2D 32 …
65 6E 64 44 61 74 65: 32 30 31 34 2D 30 37 2D 32 34 54 …
6C 6F 63 61 74 69 6F 6E: 4F 72 65 67 6F 6E 20 43 6F 6E …
6F 72 67 61 6E 69 7A 65 72: 4F 27 52 65 69 6C 6C 79 0D
}
http://example.com/events/oscon2014
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
http://example.com/events/oscon2014
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
http://example.com/events/oscon2014
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
{
"@context": {
"name": "http://schema.org/name",
"description": "http://schema.org/description",
"startDate": "http://schema.org/startDate",
...
},
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
"@context": {
"@vocab": "http://schema.org/"
},
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
"@context": {
"@vocab": "http://schema.org/"
},
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
"@context": {
"@vocab": "http://schema.org/"
},
"@id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
"@context": {
"@vocab": "http://schema.org/"
},
"@id": "oscon2014",
"@type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
{
"@context": {
"@vocab": "http://schema.org/",
"startDate": { "@type": "DateTime" }
},
"@id": "oscon2014",
"@type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
{
"@context": {
...
"startDate": { "@type": "DateTime" }
"id": "@id",
"type": "@type"
},
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
{
"@context": "/contexts/event.jsonld",
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
http://example.com/events/oscon2014
HTTP/1.1 200 OK
Content-Type: application/json
Link: </contexts/event.jsonld>;
rel="http://www.w3.org/ns/json-ld#context";
type="application/ld+json"
{
"id": "oscon2014",
"type": "Event",
"name": "OSCON",
"description": "O'Reilly Open Source Convention 2014",
"startDate": "2014-07-20T16:00:00Z",
"endDate": "2014-07-24T21:00:00Z",
"location": "Oregon Convention Center",
"organizer": "O'Reilly"
}
Creating Awesome Web APIs is a Breeze
<script type="application/ld+json">
...
</script>
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
http://example.com/events/
{
"@id": "/events/",
"@type": "Collection",
"member": [ ... ],
...
"operation": {
"@type": "http://schema.org/AddAction",
}
}
{
"@id": "Event",
"@type": "Class",
"supportedProperty": {
"property": "name",
"required": true
}
}
http://example.com/events/
{
"@id": "/events/",
"@type": "Collection",
"member": [ ... ],
...
"operation": {
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
}
Creating Awesome Web APIs is a Breeze
{
"@id": "Event",
"@type": "Class",
"supportedProperty": {
"property": "name",
"required": true
}
}
http://example.com/events/
{
"@id": "/events/",
"@type": "Collection",
"member": [ ... ],
...
"operation": {
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
}
{
"@id": "Event",
"@type": "Class",
"supportedProperty": {
"property": "name",
"required": true
}
}
http://example.com/events/oregon/
{
"@id": "/events/oregon/",
"@type": "Collection",
"member": [ ... ],
...
"operation": {
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
}
http://example.com/events/oregon/
{
"@id": "/events/oregon/",
"@type": "Collection",
"member": [ ... ],
...
}
{
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
{
"@id": "EventCollection",
"@type": "Class",
"subClassOf": "Collection",
"supportedOperation": {
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
}
http://example.com/events/oregon/
{
"@id": "/events/oregon/",
"@type": "EventCollection",
"member": [ ... ],
...
}
{
"@type": "AddAction",
"method": "POST",
"expects": "Event"
}
Creating Awesome Web APIs is a Breeze
/**
* Event
*
* @HydraExpose(iri="http://schema.org/Event")
* @HydraId("event_retrieve")
* @HydraOperations( {
* "event_replace",
* "event_delete"
* } )
*/
class Event
{
/**
* The event's name
*
* @HydraExpose(iri="http://schema.org/name", required=true)
*/
private $name;
// ... other members and methods ...
}
$ php app/console hydra:generate:crud 
--entity=MLEventApiBundle:Event 
--route-prefix=/events/ 
--with-write 
--no-interaction
CRUD generation
Generating the CRUD code: OK
You can now start using the generated code!
/**
* Event controller
*
* @Route("/events")
*/
class EventController extends HydraController
{
/**
* Creates a new Event entity
*
* @Route("/", name="event_create")
* @Method("POST")
*
* @HydraOperation(
* type = "http://schema.org/AddAction",
* expect = "MLEventApiBundleEntityEvent"
* })
*
* @return MLEventApiBundleEntityEvent
*/
public function collectionPostAction(Request $request)
{
...
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze

Recommended

Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Introduction To Catalyst - Part 1
Introduction To Catalyst - Part 1Dan Dascalescu
 
PostgreSQL Database Slides
PostgreSQL Database SlidesPostgreSQL Database Slides
PostgreSQL Database Slidesmetsarin
 
DBIx::Class beginners
DBIx::Class beginnersDBIx::Class beginners
DBIx::Class beginnersleo lapworth
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우NAVER D2
 
Grails object relational mapping: GORM
Grails object relational mapping: GORMGrails object relational mapping: GORM
Grails object relational mapping: GORMSaurabh Dixit
 

More Related Content

What's hot

MongoDB - Aggregation Pipeline
MongoDB - Aggregation PipelineMongoDB - Aggregation Pipeline
MongoDB - Aggregation PipelineJason Terpko
 
Mysql query optimization
Mysql query optimizationMysql query optimization
Mysql query optimizationBaohua Cai
 
Introduction to Spring's Dependency Injection
Introduction to Spring's Dependency InjectionIntroduction to Spring's Dependency Injection
Introduction to Spring's Dependency InjectionRichard Paul
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphScyllaDB
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/ServletSunil OS
 
Advanced Postgres Monitoring
Advanced Postgres MonitoringAdvanced Postgres Monitoring
Advanced Postgres MonitoringDenish Patel
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQLJoel Brewer
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSChristian Gohmann
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPDavid J. Brenes
 
Files and Directories in PHP
Files and Directories in PHPFiles and Directories in PHP
Files and Directories in PHPNicole Ryan
 
ORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesJustin Michael Raj
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API07.pallav
 
MongoDB Aggregation
MongoDB Aggregation MongoDB Aggregation
MongoDB Aggregation Amit Ghosh
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingCarsten Ziegeler
 

What's hot (20)

MongoDB - Aggregation Pipeline
MongoDB - Aggregation PipelineMongoDB - Aggregation Pipeline
MongoDB - Aggregation Pipeline
 
Mysql query optimization
Mysql query optimizationMysql query optimization
Mysql query optimization
 
MYSQL.ppt
MYSQL.pptMYSQL.ppt
MYSQL.ppt
 
Introduction to Spring's Dependency Injection
Introduction to Spring's Dependency InjectionIntroduction to Spring's Dependency Injection
Introduction to Spring's Dependency Injection
 
MYSQL
MYSQLMYSQL
MYSQL
 
Sql Injection Myths and Fallacies
Sql Injection Myths and FallaciesSql Injection Myths and Fallacies
Sql Injection Myths and Fallacies
 
Powering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraphPowering a Graph Data System with Scylla + JanusGraph
Powering a Graph Data System with Scylla + JanusGraph
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Advanced Postgres Monitoring
Advanced Postgres MonitoringAdvanced Postgres Monitoring
Advanced Postgres Monitoring
 
Introduction to PostgreSQL
Introduction to PostgreSQLIntroduction to PostgreSQL
Introduction to PostgreSQL
 
Oracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTSOracle 21c: New Features and Enhancements of Data Pump & TTS
Oracle 21c: New Features and Enhancements of Data Pump & TTS
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Files and Directories in PHP
Files and Directories in PHPFiles and Directories in PHP
Files and Directories in PHP
 
SQL select clause
SQL select clauseSQL select clause
SQL select clause
 
ORDS - Oracle REST Data Services
ORDS - Oracle REST Data ServicesORDS - Oracle REST Data Services
ORDS - Oracle REST Data Services
 
Spring Boot and REST API
Spring Boot and REST APISpring Boot and REST API
Spring Boot and REST API
 
MongoDB Aggregation
MongoDB Aggregation MongoDB Aggregation
MongoDB Aggregation
 
OSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache SlingOSGi, Scripting and REST, Building Webapps With Apache Sling
OSGi, Scripting and REST, Building Webapps With Apache Sling
 
File system node js
File system node jsFile system node js
File system node js
 

Viewers also liked

Why and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated FutureWhy and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated FutureMarkus Lanthaler
 
The Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to ThingsThe Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to ThingsMarkus Lanthaler
 
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsMarkus Lanthaler
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraMarkus Lanthaler
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraMarkus Lanthaler
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the EngineRuben Verborgh
 
The Web 3.0 is just around the corner. Be prepared!
The Web 3.0 is just around the corner. Be prepared!The Web 3.0 is just around the corner. Be prepared!
The Web 3.0 is just around the corner. Be prepared!Markus Lanthaler
 
Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)Phil Calçado
 
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON StructuresModel Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON StructuresMarkus Lanthaler
 
Presentation For Arin6912
Presentation For Arin6912Presentation For Arin6912
Presentation For Arin6912rememberxin
 
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...Dowshan Humzah
 
SharePoint 2016 Up Close and Personal
SharePoint 2016   Up Close and PersonalSharePoint 2016   Up Close and Personal
SharePoint 2016 Up Close and PersonalRegroove
 
Good governance for new bank products
Good governance for new bank productsGood governance for new bank products
Good governance for new bank productsGrant Thornton LLP
 
Evaluación de la Educación en Ciudad de Bs As: por la mala senda
Evaluación de la Educación en Ciudad de Bs As:  por la mala sendaEvaluación de la Educación en Ciudad de Bs As:  por la mala senda
Evaluación de la Educación en Ciudad de Bs As: por la mala sendaLaura Marrone
 
Построение гиперболического параболоида
Построение гиперболического параболоидаПостроение гиперболического параболоида
Построение гиперболического параболоидаbekkermankn
 
GPS the Path to Student Success - SmarterMeasure Best Practices
GPS the Path to Student Success - SmarterMeasure Best PracticesGPS the Path to Student Success - SmarterMeasure Best Practices
GPS the Path to Student Success - SmarterMeasure Best PracticesSmarterServices Owen
 
DBW 7x20x21 - Dean Johnson, Brandwidth
DBW 7x20x21 - Dean Johnson, BrandwidthDBW 7x20x21 - Dean Johnson, Brandwidth
DBW 7x20x21 - Dean Johnson, BrandwidthDean Johnson
 
How to get Executive Buy-in for Employee Recognition
How to get Executive Buy-in for Employee RecognitionHow to get Executive Buy-in for Employee Recognition
How to get Executive Buy-in for Employee RecognitionGloboforce
 

Viewers also liked (20)

Why and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated FutureWhy and How to Optimize Your Data Architecture for an Integrated Future
Why and How to Optimize Your Data Architecture for an Integrated Future
 
The Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to ThingsThe Web Is Changing — From Strings to Things
The Web Is Changing — From Strings to Things
 
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIsStop Reinventing the Wheel! Use Linked Data to Build Better APIs
Stop Reinventing the Wheel! Use Linked Data to Build Better APIs
 
A Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and HydraA Deep Dive into JSON-LD and Hydra
A Deep Dive into JSON-LD and Hydra
 
Building Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and HydraBuilding Next-Generation Web APIs with JSON-LD and Hydra
Building Next-Generation Web APIs with JSON-LD and Hydra
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
 
The Web 3.0 is just around the corner. Be prepared!
The Web 3.0 is just around the corner. Be prepared!The Web 3.0 is just around the corner. Be prepared!
The Web 3.0 is just around the corner. Be prepared!
 
Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)Lisp Macros in 20 Minutes (Featuring Clojure)
Lisp Macros in 20 Minutes (Featuring Clojure)
 
Model Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON StructuresModel Your Application Domain, Not Your JSON Structures
Model Your Application Domain, Not Your JSON Structures
 
Presentation For Arin6912
Presentation For Arin6912Presentation For Arin6912
Presentation For Arin6912
 
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...
SOCIAL MEDIA PRESENTATION: Staff Relations - Raising our Collective Understan...
 
SharePoint 2016 Up Close and Personal
SharePoint 2016   Up Close and PersonalSharePoint 2016   Up Close and Personal
SharePoint 2016 Up Close and Personal
 
Good governance for new bank products
Good governance for new bank productsGood governance for new bank products
Good governance for new bank products
 
Evaluación de la Educación en Ciudad de Bs As: por la mala senda
Evaluación de la Educación en Ciudad de Bs As:  por la mala sendaEvaluación de la Educación en Ciudad de Bs As:  por la mala senda
Evaluación de la Educación en Ciudad de Bs As: por la mala senda
 
ренейм пптха
ренейм пптхаренейм пптха
ренейм пптха
 
Weekly plannig6 2012
Weekly plannig6 2012Weekly plannig6 2012
Weekly plannig6 2012
 
Построение гиперболического параболоида
Построение гиперболического параболоидаПостроение гиперболического параболоида
Построение гиперболического параболоида
 
GPS the Path to Student Success - SmarterMeasure Best Practices
GPS the Path to Student Success - SmarterMeasure Best PracticesGPS the Path to Student Success - SmarterMeasure Best Practices
GPS the Path to Student Success - SmarterMeasure Best Practices
 
DBW 7x20x21 - Dean Johnson, Brandwidth
DBW 7x20x21 - Dean Johnson, BrandwidthDBW 7x20x21 - Dean Johnson, Brandwidth
DBW 7x20x21 - Dean Johnson, Brandwidth
 
How to get Executive Buy-in for Employee Recognition
How to get Executive Buy-in for Employee RecognitionHow to get Executive Buy-in for Employee Recognition
How to get Executive Buy-in for Employee Recognition
 

More from Markus Lanthaler

From Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesMarkus Lanthaler
 
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with HydraFull-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with HydraMarkus Lanthaler
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraMarkus Lanthaler
 
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
Hydra: A Vocabulary for Hypermedia-Driven Web APIsHydra: A Vocabulary for Hypermedia-Driven Web APIs
Hydra: A Vocabulary for Hypermedia-Driven Web APIsMarkus Lanthaler
 
A Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy WastageA Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy WastageMarkus Lanthaler
 
JSON-LD for RESTful services
JSON-LD for RESTful servicesJSON-LD for RESTful services
JSON-LD for RESTful servicesMarkus Lanthaler
 
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Markus Lanthaler
 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesMarkus Lanthaler
 
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaMarkus Lanthaler
 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the ArtMarkus Lanthaler
 
Towards a RESTful Service Ecosystem
Towards a RESTful Service EcosystemTowards a RESTful Service Ecosystem
Towards a RESTful Service EcosystemMarkus Lanthaler
 

More from Markus Lanthaler (11)

From Strings to Things to a Web of Services
From Strings to Things to a Web of ServicesFrom Strings to Things to a Web of Services
From Strings to Things to a Web of Services
 
Full-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with HydraFull-on Hypermedia APIs with Hydra
Full-on Hypermedia APIs with Hydra
 
Creating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with HydraCreating 3rd Generation Web APIs with Hydra
Creating 3rd Generation Web APIs with Hydra
 
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
Hydra: A Vocabulary for Hypermedia-Driven Web APIsHydra: A Vocabulary for Hypermedia-Driven Web APIs
Hydra: A Vocabulary for Hypermedia-Driven Web APIs
 
A Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy WastageA Web of Things to Reduce Energy Wastage
A Web of Things to Reduce Energy Wastage
 
JSON-LD for RESTful services
JSON-LD for RESTful servicesJSON-LD for RESTful services
JSON-LD for RESTful services
 
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
Aligning Web Services with the Semantic Web to Create a Global Read-Write Gra...
 
SAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based ServicesSAPS - Semantic AtomPub-based Services
SAPS - Semantic AtomPub-based Services
 
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat SemaphobiaA Semantic Description Language for RESTful Data Services to Combat Semaphobia
A Semantic Description Language for RESTful Data Services to Combat Semaphobia
 
Semantic Web Services: State of the Art
Semantic Web Services: State of the ArtSemantic Web Services: State of the Art
Semantic Web Services: State of the Art
 
Towards a RESTful Service Ecosystem
Towards a RESTful Service EcosystemTowards a RESTful Service Ecosystem
Towards a RESTful Service Ecosystem
 

Recently uploaded

21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaSDr. Shivashankar
 
Checklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxChecklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxNoman khan
 
Integrity Constraints in Database Management System.pptx
Integrity Constraints in Database Management System.pptxIntegrity Constraints in Database Management System.pptx
Integrity Constraints in Database Management System.pptxPallaviPatil905338
 
Drone design for agricultural applications
Drone design for agricultural applicationsDrone design for agricultural applications
Drone design for agricultural applicationsturbomachinesproject
 
Haifa University Student Centre .pptxsaa
Haifa University Student Centre .pptxsaaHaifa University Student Centre .pptxsaa
Haifa University Student Centre .pptxsaassuser1cd9c9
 
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhh
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhhChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhh
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhhhazhamina
 
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Mathias Magdowski
 
Environmental studies questions &Answers.doc
Environmental studies questions &Answers.docEnvironmental studies questions &Answers.doc
Environmental studies questions &Answers.docbalbheem909
 
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPS
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPSVEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPS
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPSDeepakK547422
 
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh Rajput
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh RajputBasic Instrumentation Symbols | P&ID | PFD | Gaurav Singh Rajput
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh RajputGaurav Singh Rajput
 
Super Duplex Steel 32750 Fasteners, UNS S32750 Fasteners
Super Duplex Steel 32750 Fasteners, UNS S32750 FastenersSuper Duplex Steel 32750 Fasteners, UNS S32750 Fasteners
Super Duplex Steel 32750 Fasteners, UNS S32750 Fastenersfastenersboltss
 
Application of eddy current in industry and domestic purposes.pptx
Application of eddy current in industry and domestic purposes.pptxApplication of eddy current in industry and domestic purposes.pptx
Application of eddy current in industry and domestic purposes.pptxsukantatechedu
 
fat and edible oil processsing.ppt, refining
fat and edible oil processsing.ppt, refiningfat and edible oil processsing.ppt, refining
fat and edible oil processsing.ppt, refiningteddymebratie
 
B111_FTS_2011.06.01 Fuel Tank Safety.pdf
B111_FTS_2011.06.01 Fuel Tank Safety.pdfB111_FTS_2011.06.01 Fuel Tank Safety.pdf
B111_FTS_2011.06.01 Fuel Tank Safety.pdfKhoiTruong19
 
Unit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topologyUnit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topology22i261
 
streelmaking technology for the last 100 years.pdf
streelmaking technology for the last 100 years.pdfstreelmaking technology for the last 100 years.pdf
streelmaking technology for the last 100 years.pdfAlbertoConejoPadre1
 
Data Mining Theory and Python Project.pptx
Data Mining Theory and Python Project.pptxData Mining Theory and Python Project.pptx
Data Mining Theory and Python Project.pptxGaziMdNoorHossain
 
python presentation lists,strings,operation
python presentation lists,strings,operationpython presentation lists,strings,operation
python presentation lists,strings,operationManjuRaghavan1
 

Recently uploaded (20)

21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
21 Scheme_21EC53_MODULE-5_CCN_Dr. ShivaS
 
Checklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docxChecklist to troubleshoot CD moisture profiles.docx
Checklist to troubleshoot CD moisture profiles.docx
 
Présentation IIRB 2024 Prévibest T. Leborgne
Présentation IIRB 2024 Prévibest T. LeborgnePrésentation IIRB 2024 Prévibest T. Leborgne
Présentation IIRB 2024 Prévibest T. Leborgne
 
Integrity Constraints in Database Management System.pptx
Integrity Constraints in Database Management System.pptxIntegrity Constraints in Database Management System.pptx
Integrity Constraints in Database Management System.pptx
 
Drone design for agricultural applications
Drone design for agricultural applicationsDrone design for agricultural applications
Drone design for agricultural applications
 
Haifa University Student Centre .pptxsaa
Haifa University Student Centre .pptxsaaHaifa University Student Centre .pptxsaa
Haifa University Student Centre .pptxsaa
 
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhh
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhhChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhh
ChoiAccess.pptbuhuhujhhuhuhuhuhuhhhhhhhhhhhhh
 
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
Robust, Precise, Fast - Chose Two for Radiated EMC Measurements!
 
Environmental studies questions &Answers.doc
Environmental studies questions &Answers.docEnvironmental studies questions &Answers.doc
Environmental studies questions &Answers.doc
 
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPS
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPSVEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPS
VEHICLE POSITION AND ACCIDENT PREVENTION USING MULTISENSOR, GSM, GPS
 
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh Rajput
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh RajputBasic Instrumentation Symbols | P&ID | PFD | Gaurav Singh Rajput
Basic Instrumentation Symbols | P&ID | PFD | Gaurav Singh Rajput
 
Super Duplex Steel 32750 Fasteners, UNS S32750 Fasteners
Super Duplex Steel 32750 Fasteners, UNS S32750 FastenersSuper Duplex Steel 32750 Fasteners, UNS S32750 Fasteners
Super Duplex Steel 32750 Fasteners, UNS S32750 Fasteners
 
Application of eddy current in industry and domestic purposes.pptx
Application of eddy current in industry and domestic purposes.pptxApplication of eddy current in industry and domestic purposes.pptx
Application of eddy current in industry and domestic purposes.pptx
 
fat and edible oil processsing.ppt, refining
fat and edible oil processsing.ppt, refiningfat and edible oil processsing.ppt, refining
fat and edible oil processsing.ppt, refining
 
B111_FTS_2011.06.01 Fuel Tank Safety.pdf
B111_FTS_2011.06.01 Fuel Tank Safety.pdfB111_FTS_2011.06.01 Fuel Tank Safety.pdf
B111_FTS_2011.06.01 Fuel Tank Safety.pdf
 
Unit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topologyUnit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topology
 
streelmaking technology for the last 100 years.pdf
streelmaking technology for the last 100 years.pdfstreelmaking technology for the last 100 years.pdf
streelmaking technology for the last 100 years.pdf
 
Data Mining Theory and Python Project.pptx
Data Mining Theory and Python Project.pptxData Mining Theory and Python Project.pptx
Data Mining Theory and Python Project.pptx
 
python presentation lists,strings,operation
python presentation lists,strings,operationpython presentation lists,strings,operation
python presentation lists,strings,operation
 
Présentation IIRB 2024 Corentin Sochard - ÌTB
Présentation IIRB 2024 Corentin Sochard - ÌTBPrésentation IIRB 2024 Corentin Sochard - ÌTB
Présentation IIRB 2024 Corentin Sochard - ÌTB
 

Creating Awesome Web APIs is a Breeze