1 / 25

RESTful webservices med JAX-RS

RESTful webservices med JAX-RS. En introduktion Av Martin Wahlman, Java-teamet. Agenda. RESTful webservices Introduktion Användningsområden JAX-RS Bakgrund Api:et Implementationer Exempel Frågor!. Introduktion. RESTful webservices. Webservices finns överallt!.

Download Presentation

RESTful webservices med JAX-RS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RESTful webservices med JAX-RS En introduktion Av Martin Wahlman, Java-teamet

  2. Agenda • RESTful webservices • Introduktion • Användningsområden • JAX-RS • Bakgrund • Api:et • Implementationer • Exempel • Frågor!

  3. Introduktion RESTful webservices

  4. Webservices finns överallt!

  5. SOAP har funnits länge Baserat på XML Mycket pratigt! SoapUI används för att testa webservicen <?xml version="1.0"?> <soap:Envelopexmlns:soap="http://www.w3.org/2003/05/soap-envelope"> <soap:Header> </soap:Header> <soap:Body> <m:GetStockPricexmlns:m="http://www.example.org/stock"> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope> Väletablerat Metodbaserat

  6. RESTful, ett annat sätt att tänka webservices

  7. Använder valigtvis HTTP-protokollet GET POST PUT DELETE

  8. Returnerar vanligtvis XML eller JSON Mer frihet Mindre pratigt = mindre bandbredd Använder en browser för att testa Lösare definierat

  9. En arkitektur, inte ett protokoll En URI definierar en resurs (substantiv) inte en aktion (verb)

  10. Riktlinjer för RESTful webservices

  11. Client – Server

  12. Stateless

  13. Cacheable

  14. Uniform Interface Databas Server Klient Selectcar GET en bil av en viss modell Representation av bilen POST ändring av färg på bilen Updatecar Operationen lyckad PUT ny bil Insertcar Operationen lyckad Removecar DELETE bil Operationen lyckad

  15. Användningsområden Rika Webbapplikationer Mobila applikationer Klientapplikationer som behöver ett snabbt och lätt API mot servern Överhuvudtaget applikationer med ett rikt klientgränssnitt!

  16. För och nackdelar + Du är inte beroende av XML och SOAP. + Lätt-testat från browsern. + Mycket standardiserat protokoll, GET, PUT, POST, DELETE. + Liten overhead. + Enkel och lättförståelig arkitektur. + Gömmer inget under ytan - Det kan ibland vara svårt att tänka resurser och inte funktioner. - Det finns ingen standardiserad implementation. - WSDL har ett mycket välstrukturerat innehåll. - WSDL har ett mycket väldefinierat kontrakt. - Protokoll beroende.

  17. Ett Java API för RESTful services JAX-RS

  18. Ett Java-API för RESTful services Använder annotations Annotations: Ett sätt att konfigurera ramverk direkt i java-klasser.

  19. JAX-RS 1.1 med som standard i Java EE 6 JAX-RS 2.0 är på G! Planerad release mitten av 2012

  20. Annoteringar i API:et • @Path– Ingången till en RESTful service. Här anger du vilken path som ska vara accesspunkt till denna resurs i servicen. • @GET, @PUT, @POST, @DELETE, @HEAD – Beskriver typ av accesspunkt. • @Produces– Vilken mimetype som funktionen ska returnera. Kan exempelvis vara JSON, XML eller text. • @Consumes– Vilken mimetype som kan tas emot av funktionen. • @PathParam, @QueryParam, @MatrixParam, @HeaderParam, @CookieParam, @FormParam, @DefaultValue – Används för att binda parametrar som kommer med requestet till paramterar i funktionen.

  21. Implementationer av JAX-RS

  22. Apache CXF • Större biblotek som inkluderar flera specifikationer såsom JAX-WS, JAX-RS. • Inte bara ett REST bibliotek. Mest känd för sin SOAP funktionalitet. Jersey • Oracles (tidigare suns) referens-implementation. Skeppas INTE med JDK:n. • Integrerar väl med Spring. • Lätt att extenda. RESTEasy • JBOSS implementation av JAX-RS. • Lätt att börja använda om man använder JBOSS och Seam sen tidigare. Restlet • OpenSource ramverk som är lite av en pionjär. Fanns innan JAX-RS. • Mycket bra och aktivt community.

  23. Nyheter i 2.0? Ett API för klient-applikationer i JAVA Hanterare (filter) Validering av data genom Bean Validation API Förbättrat stöd för Java DependencyInjection API

  24. Exempel!

  25. FRÅGOR!

More Related