Wstęp do projektowania usług internetowych: część 1 - rest

78
Budowa usług internetowych część I: REST

Transcript of Wstęp do projektowania usług internetowych: część 1 - rest

Budowa usług internetowych

część I: REST

O mnie- Łukasz (procek) Leśniewski - CTO&Founder w Ka-Boom - programista Java, Node, Mediator

Usługi są wszędzie

hi

Klient - Serwer

K

K

K

R

hi

Klient - Serwer

K

K

K

zapytanie

R

hi

Klient - Serwer

K

K

K

R

hi

Klient - Serwer

K

K

K

R

hi

Klient - Serwer

K

K

K

odpowiedź

R

hi

Klient - Serwer

K

K

K

R

https://www.ietf.org/rfc/rfc2616.txt

(tylko dla ambitnych)

Czasowniki HTTP

CRUD czasownik HTTP

create POST

read GET

update PUT

delete DELETE

Czasowniki a CRUD

https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods

Kody odpowiedzikod znaczenie

2xx ok

3xx zmiana lokalizacji

4xx wina użytkownika

5xx wina serwera

REST(ful) -dobre praktyki HTTP

pobierz wszystkie konta

GET /accounts

dodaj nowe konto

POST /accounts

pobierz konto o id = 69

GET /accounts/69

pobierz zamówienia konta, którego id = 69

GET /accounts/69/orders

dodaj nowe zamówienia konta, którego id = 69

POST /accounts/69/orders

usuń 2. zamówienie konta, którego id = 69

DELETE /accounts/69/orders/2

zaktualizować konto o id = 69

PUT /accounts/69

Nasze środowisko pracy (nie pracujemy z main!)

Środowisko serwera

App

App

App

App

App

App

App

App

App

App

App

App

App

App

App

R

R

R

baza danychR

Serwery

*wersja EE

Glassfish

- brak wsparcia komercyjnego

- projekt *porzucony* przez Oracle

- open source - darmowy

http://www.zdnet.com/article/oracle-abandons-commercial-support-for-glassfish-jee-server/

- uznanie Fortune 500 - ciągle wspierany

przez RedHat - wspracie komercyjne - dedykowane IDE

(nakładka na Eclipse)

http://jboss.org

- darmowa wersja JBoss

- aplikacje na nim oparte można transferować na JBoss

- ciągle rozwijany

http://wildfly.org

Benchmarki

Know-how: instalacja serwera

1) Rozpakować 2) cd bin 3) ./add-user.sh 4) ./standalone.sh

Ważne instrukcje - początek pracy z Wildfly

Know-how: praca nad aplikacją

Podgląd przy pomocy Postman

1. Ewolucja kodu programisty Javahttps://medium.com/@webseanhickey/the-evolution-of-a-software-engineer-db854689243#.23fycsejf

2. EJB Entity (Hibernate)http://www.tutorialspoint.com/ejb/ejb_persistence.htm

3. Wydajność Hibernatehttp://phpdao.com/hibernate_vs_jdbc/

4. Java EE SOAPhttp://serviceorientedarchitect.com/how-to-create-and-deploy-a-web-service-with-java-ee-7-and-wildfly-9/

Warto zobaczyć, przetestować

http://www.restapitutorial.comCała dokumentacja

No dobra, praca z dokumentacją wygląda

trochę inaczej

Pytania?

Dzięki!