RESTful webszolgáltatások [601867]

RESTful webszolgáltatások
Web alkalmazások fejlesztése JAX-RS segítségével
Balla Tamás
Babeș-Bolyai Tudományegyetem
Matematika és Informatika kar
Informatika szak
Témavezető: dr. Ruff Laura
2016. június 29.
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 1 / 13

Tartalomjegyzék
1Alapok
2REST Jellemzői
3Alkalmazás készítéséhez használt technológiák
4JAX-RS Jersey
5Szolgáltatások elérése
6Alkalmazás bemutatása
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 2 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

Meghatározás
REST
Representational State Transfer
Alapítója
Roy Fielding – doktori disszertációjában, 2000-ben
Mi a REST?
Kliens – szerver architektúra
A kliens HTTP üzenetek segítségével kommunikál a szerverrel
Állapot nélküli kommunikációra tervezett
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 3 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

REST
Tulajdonságok
Az adatok és műveletek erőforrásokként vannak kezelve
Erőforrásokat URI-k segítségével érhetünk el (URL, URN)
Önleíró üzenetek jellemzik
Az erőforrások manipulációja (HTTP analógia)
GET – erőforrás lekérése
POST – erőforrás aktuális állapotának a felülírása
PUT – erőforrás létrehozása
DELETE – erőforrás törlése
Erőforrások reprezentációja: XML, JSON, HTML, PDF, JPEG, MIME
Types (Média típusok), stb.
Erőforrással kapcsolatos meta adatok
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 4 / 13

Alkalmazás készítéséhez használt technológiák
Felhasznált technológiák
Maven alapú java projekt
Szerver oldal
Java EE – webalkalmazás
JAX-RS / Jersey
Alkalmazás szerver – Tomcat v7.0, Jetty
Adatbázis használat – MySQL
Hibernate ORM
Kliens oldal
HTML, CSS
AngularJS
MVC alapú javascript framework
kommunikáció a webszolgáltatásokkal, aszinkron hívásokkal
jQuery
PDFJS
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 5 / 13

Alkalmazás készítéséhez használt technológiák
Felhasznált technológiák
Maven alapú java projekt
Szerver oldal
Java EE – webalkalmazás
JAX-RS / Jersey
Alkalmazás szerver – Tomcat v7.0, Jetty
Adatbázis használat – MySQL
Hibernate ORM
Kliens oldal
HTML, CSS
AngularJS
MVC alapú javascript framework
kommunikáció a webszolgáltatásokkal, aszinkron hívásokkal
jQuery
PDFJS
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 5 / 13

Alkalmazás készítéséhez használt technológiák
Felhasznált technológiák
Maven alapú java projekt
Szerver oldal
Java EE – webalkalmazás
JAX-RS / Jersey
Alkalmazás szerver – Tomcat v7.0, Jetty
Adatbázis használat – MySQL
Hibernate ORM
Kliens oldal
HTML, CSS
AngularJS
MVC alapú javascript framework
kommunikáció a webszolgáltatásokkal, aszinkron hívásokkal
jQuery
PDFJS
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 5 / 13

Alkalmazás készítéséhez használt technológiák
Felhasznált technológiák
Maven alapú java projekt
Szerver oldal
Java EE – webalkalmazás
JAX-RS / Jersey
Alkalmazás szerver – Tomcat v7.0, Jetty
Adatbázis használat – MySQL
Hibernate ORM
Kliens oldal
HTML, CSS
AngularJS
MVC alapú javascript framework
kommunikáció a webszolgáltatásokkal, aszinkron hívásokkal
jQuery
PDFJS
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 5 / 13

Alkalmazás készítéséhez használt technológiák
Felhasznált technológiák
Maven alapú java projekt
Szerver oldal
Java EE – webalkalmazás
JAX-RS / Jersey
Alkalmazás szerver – Tomcat v7.0, Jetty
Adatbázis használat – MySQL
Hibernate ORM
Kliens oldal
HTML, CSS
AngularJS
MVC alapú javascript framework
kommunikáció a webszolgáltatásokkal, aszinkron hívásokkal
jQuery
PDFJS
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 5 / 13

Server
JAX-RS – Java API for RESTful Web Services
Jersey
JAX-RS (JSR 311 & JSR 339) specifikáció – referencia implementáció
Annotációkon alapszik
Milyen útvonalon lesz elérhető a szolgáltatás @Path
HTTP method @GET, @POST, @PUT, @DELETE, @HEAD
HTTP content-type annotációk @Consumes, @Produces
Paraméter annotációk @PathParam, @QueryParam, @FormParam
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 6 / 13

Server
JAX-RS – Java API for RESTful Web Services
Jersey
JAX-RS (JSR 311 & JSR 339) specifikáció – referencia implementáció
Annotációkon alapszik
Milyen útvonalon lesz elérhető a szolgáltatás @Path
HTTP method @GET, @POST, @PUT, @DELETE, @HEAD
HTTP content-type annotációk @Consumes, @Produces
Paraméter annotációk @PathParam, @QueryParam, @FormParam
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 6 / 13

Server
JAX-RS – Java API for RESTful Web Services
Jersey
JAX-RS (JSR 311 & JSR 339) specifikáció – referencia implementáció
Annotációkon alapszik
Milyen útvonalon lesz elérhető a szolgáltatás @Path
HTTP method @GET, @POST, @PUT, @DELETE, @HEAD
HTTP content-type annotációk @Consumes, @Produces
Paraméter annotációk @PathParam, @QueryParam, @FormParam
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 6 / 13

Jersey példa kód
@Path (" sheet ")
public class RestSheetMusic {
@GET
@Path ("/ SheetmusicBySheetID /{ id}")
@Produces ({ MediaType . APPLICATION_JSON })
public SheetMusic sheetm ( @PathParam ("id") Integer id) {
SMServiceImpl service = new SMServiceImpl ();
SheetMusic sm = service . getSheetmusicById (id);
return sm;
}
@PUT
@Consumes ({ MediaType . APPLICATION_JSON })
@Produces ({ MediaType . APPLICATION_JSON })
public SheetMusic addSheetMusic ( User user ) {
SMServiceImpl service = new SMServiceImpl ();
return service . insertSheetmusic ( user );
}
}
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 7 / 13

Szolgáltatások elérése
AngularJS aszinkron hívás
Parancssorból curlsegítségével
curl -v GET
http://localhost:8080/BscProject/rest/sheet/getAllInstrument -H
’Accept:application/json’
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 8 / 13

Szolgáltatások elérése
AngularJS aszinkron hívás
Parancssorból curlsegítségével
curl -v GET
http://localhost:8080/BscProject/rest/sheet/getAllInstrument -H
’Accept:application/json’
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 8 / 13

Szolgáltatások elérése
curl – Kérés Header – Válasz Header
> GET /BscProject/rest/sheet/getAllInstrument HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.46.0
> Accept: */*
> ’Accept:application/json’
>
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Content-Type: application/json
< Transfer-Encoding: chunked
< Date: Fri, 27 May 2016 15:22:35 GMT
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 9 / 13

Szolgáltatások elérése
Válasz
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 10 / 13

Alkalmazás bemutatása
Alkalmazás élő bemutatása
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 11 / 13

Jersey hivatalos oldala
AngularJS hivatalos oldala
Roy Fideling – Dissertation
JAX-RS hivatalos dokumentáció
Curl hivatalos dokumentáció
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 12 / 13

Köszönöm a figyelmet!
Balla Tamás (UBB) RESTful webszolgáltatások 2016. június 29. 13 / 13

Similar Posts

  • Coman Titiana -Violeta [304307]

    Universitatea din Craiova Facultatea de Educație Fizică și Sport Kinetoterapie și Motricitate Specială LUCRARE DE LICENȚĂ Coordonator : Prof.univ.dr. [anonimizat]: [anonimizat] : Prof.univ.dr. [anonimizat]: [anonimizat] –Violeta CUPRINS C apitolul I………………………………………………………………………..4 I. Introducere………………………………………………………………………..4 Capitolul II……………………………………………………………………….5 II.1.Anatomia si biomecanica genunchiului………………………………..5 II.2.Gonartroza………………………………………………………………………25 II.2.3.Obiective de recuperare in gonartroza…………………………30 II.3.Tratamentul in gonartroza………………………………………………..33 III. Kinetoterapia in gonartroza……………………………………………..41 Capitolul IV……………………………………………………………………50 IV.1.Concluzii………………………………………………………………………50 Bibliografie………………………………………………………………………..51…

  • RECUPERAREA FUNCȚIONALĂ A ARTICULAȚIEI COTULUI [302713]

    RECUPERAREA FUNCȚIONALĂ A ARTICULAȚIEI COTULUI Student: [anonimizat]: Șl. Dr. Ing. Doina BUCUR București Iulie 2018 [anonimizat], ci și prin pierderea productivității umane. Prin asigurarea protezelor sau a [anonimizat] o parte din această pierdere. Prin această lucrare se dorește să se evidențieze valoarea terapeutică a programelor de recuperare a cotului posttraumatic cu ajutorul dispozitivului de recuperare…

  • Motivaꭇea alegeꭇii temei [305352]

    CAPITOLUL I INTRODUCERE Membꭇul supeꭇioꭇ este o paꭇte extꭇem de impoꭇtantă a apaꭇatului locomotoꭇ caꭇe ꭇealizează integꭇaꭇea oꭇganismului în mediul înconjuꭇătoꭇ, ꭇezolvă necesitățile de inteꭇ[anonimizat], deci consideꭇat o adevăꭇață pꭇelugiꭇe a cꭇeieꭇului, ꭇezolvă pꭇehensiunea pꭇecum și apꭇopieꭇea sau depăꭇtaꭇea obiecteloꭇ de coꭇp, este mijloc de comunicaꭇe și expꭇesie, contꭇibuie la locomoție. Afectaꭇea de oꭇice fel…

  • FAC ULT ATE A DE AUTOVE HIC ULE RUTIE RE , ME C ATRONIC A si ME C ANIC A [606310]

    UNIVE RSIT ATE A TE HNIC A FAC ULT ATE A DE AUTOVE HIC ULE RUTIE RE , ME C ATRONIC A si ME C ANIC A Anexa 1 UNIVERSITATEA TEHNICĂ DIN CLUJ – NAPOCA FACULTATEA DE AUTOVEHICULE RUTIERE, MECATRONICĂ ȘI MECANICĂ SPECIALIZAREA: ………………… PROIECT DE DIPLOMĂ/ LUCRARE DE DISERTAȚIE UNIVE RSIT ATE A TE…

  • THEANNALSOFDUNAREADEJOSUNIVERSITYOFGALATIFascicle IX [600397]

    THEANNALSOF“DUNAREADEJOS”UNIVERSITYOFGALATIFascicle IX Metallurgy and Materials Science ISSN 1453 – 083X1978THE ANNALS OF “DUNAREA DE JOS” UNIVERSITY OF GALATI FASCICLE IX. METALLURGY AND MAT ERIALS SCIENCE No. 3– 2015, ISSN 1453 – 083X ASPECTS REGARDING THE MODELING DISPERSION OF THE RADIOACTIVE POLLUTANTS AND THE SIMULATION, FOR GALATI, ROMANIA Carmen – Penelopi PAPADATU “Dunarea de Jos” University…

  • STILUL DE COMUNICARE ABORDAT IN POLITICA [629508]

    STILUL DE COMUNICARE ABORDAT IN POLITICA ANALIZA COMUNICARE NONVERBALA DEBATE -UL DONALD TRUMP VS. HILLARY CLINTON “Un orator trebuie să aibă viclenia unui dialectician, gândirea unui filosof, cuvintele aproape ca ale unui poet, memoria unui jurist, vocea unui actor tragic și discursul practic al celui mai desăvâșit actor. ” – Cicero, De oratore 1. ELEMENTE…