Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading…
Transcript

REST Nirvána

Mikroszervizek

  • Uniform Interface
  • Resource alapú
  • Önleíró
  • HATEOAS
  • Stateless
  • Cacheable
  • Client-Server
  • Layered System
  • Code on Demand (optional)

Roy Fielding

Statikus Kiterjesztés

Streaming Minden

+ Badges

+ Subscriptions

Level 3 - Hypertext / Hypermedia

Player

+ Messages

+ Comments

<a href="google.com"

rel="search">

Keresés

</a>

Campaign

<form method="post"

action="/search">

<input type="text"

name="searchField"/>

</a>

HATEOAS == Állapotgép

Level 2 - HTTP metódusok

GET /events/123/rsvps?date=20141104&status=YES HTTP/1.1

Mi egy mikroszerviz ?

  • sok URI, sok metódus
  • HTML4 nem támogatja csak a GET és POST metódusokat
  • tényleg szinte minden API

=

+

?

Level 1 - Resources

  • sok URI
  • kevés HTTP metódus
  • legtöbb "REST" API

POST /events/1234 HTTP/1.1

<RSVPRequest>

<user id = "foo"/>

<status>YES</status>

</RSVPRequest>

Események Mindenfele

Mikroszerviz Keretrendszerek

Level 0 - XML RPC

1 URI, 1 metódus

Mikroszerviz vs SOA vs Monolith

POST /eventService HTTP/1.1

<newEventRequest date = "2010-01-04" venue = "park"/>

Leonard Richardson

GET Player

Conway Tétel

fordítottja

+ Extra

Player

+ Extra

Player + Extra

+ Extra 1

DevOps

+ Extra

SSE

Web

Socket

Hypertext

Application

Language

{

"_links": {

"self": {

"href": "/users/mike"

},

"curies": [

{

"name": "ht",

"href": "http://haltalk.herokuapp.com/rels/{rel}",

"templated": true

},

{

"name": "bla",

"href": "http://haltalk.herokuapp.com/rels/{rel}",

"templated": true

}

],

"ht:posts": {

"href": "/users/mike/posts"

}

},

"username": "mike",

"bio": null,

"real_name": "Mike Kelly"

}

+ Extra 2

GET Player

+ Extra

Player

SOLID Alkalmazás szinten

GET

POST /events/12/rsvps HTTP/1.1

<RSVPRequest>

<user id = "foo"/>

<status>YES</status>

</RSVPRequest>

HTTP/1.1 201 Created

Location: /rsvps/56

<RSVP date="20141108">

<event id = "123" />

<user id = "foo"/>

<status>YES</status>

</RSVP>

Player

Mindent vagy nem REST!!

Player

Learn more about creating dynamic, engaging presentations with Prezi