You are on page 1of 18

Laboratorijska vjeba 1 :

Implementacija interfejsa putem web servisa: SAOP web servisi

Cilj

U procesu implementacije usluga/servisa jedna od kljunih taaka jeste uspostavljanje integracionih


interfejsa izmeu razliitih sistema radi dobavljanja podataka i osiguravanja neprekidnosti izvravanja
procesa. Ostvarenje komunikacije izmeu sistema se najee realizuje putem web servisa, zbog
prednosti koje web servisi obezbjeuju po pitanju interoperabilnosti, jer je format podataka
razumljiv za sve aplikacije i sisteme, razvijene u razliitim programskim jezicima i na razliitim
platformama. Cilj laboratorijske vjebe jeste implementacija web servisa koristei Java programski
jezik i uoavanje razlike izmeu SOAP (engl. Simple Object Access Protocol) i REST (engl.
Representational State Transfer) web servisa.

SOAP bazirani web servisi, ili tipini web servisi, koriste SOAP protokol, koji definie XML (engl.
Extensible Markup Language) standard za razmjenu podataka, i WSDL (engl. Web Services Description
Language) koji omoguava opis funkcija odreenog web servisa. RESTful Web servisi, kao
jednostavnija alternativa SOAP i WSDL baziranim servisima, prenose podatke preko standarnih
interfejsa (HTTP) bez dodatnog sloja, kao to je SOAP. REST se oslanja na standardne metode HTTP
protokola (GET, PUT, POST, DELETE) i na URI (engl. Uniform Resource Identifier) adrese resursa,
odnosno REST servisi podrazumijavaju da se svakom resursu pristupa preko njegovog URI-a. Kljune
karakteristike REST web servisa: eksplicitno koritenje HTTP-a, na serveru se ne pamti stanje sesije
(stateless servisi), resursi su potpuno izloeni putem URI-a, mogu je prenos XML-a, JSON (engl.
JavaScript Object Notation) ili oboje.

Okruenje i alati

Na prvoj laboratorijskoj vjebi e se koristiti:

Eclipsa IDE
Apache server

Zadaci za laboratorijsku vjebu

Zadatak 1: Implementirati web servis CustomerData sa potrebnom metodom (getCustomer) koja na


osnovu ulaznih parametara vraa potrebni set podataka iz baze korisnika.

a. Mogui ulazni parametri su:


i. CustomerID jedinstveni ID korisnika
b. Izlazne parametre organizovati kao listu vrijednosti sa parametrima:
i. ID korisnika
ii. Ime i prezime korisnika/naziv pravnog lica
iii. Tip korisnika (pravno lice, fiziko lice)
iv. Klasa korisnika
v. Adresa (Ulica, mjesto, broj)
vi. Vrijednost korisnika
vii. Datum kreiranja korisnika
viii. Status korisnika (Aktivan, Neaktivan)
c. Kreirati klijenta za pozivanje web servisa i publishovati web servis
d. Analizirati wsdl implementiranog servisa (SOAP web servis)
e. Testirati web servis kroz SoapUI alat

Zadatak 2: Implementirati web servis GetCustomerServices sa metodom getService koja na osnovu


ulaznih parametara vraa odreeni set podataka.

a. Mogui ulazni parametri su:


i. CustomerID id korisnika
ii. UserID ID usluge
b. Izlazni parametri su:
i. Ukoliko je ulaz CustomerID odgovor web servisa treba da sadri listu usluga
korisnika
ii. Ukoliko je ulaz UserID odgovor web servisa treba da sadri informacije o
konkretnoj usluzi
iii. Podaci: ID korisnika, ID usluge, Username, ime i prezime korisnika/naziv
pravnog lica, datum startanja usluge, datum prekida usluge, status usluge,
klasa usluge.
c. Kreirati klijenta za pozivanje web servisa i publishovati web servis
d. Analizirati wsdl kreiranog web servisa
e. Testirati SOAP web servis kroz SoapUI alat

Napomena: Realizacija zadataka se radi prema uputama koji su dati kao dodatak.

Izvjetaj sa laboratorijske vjebe

Izvjetaj sa prve laboratorijske vjebe nosi 2 boda.


Izvjetaj sa laboratorijske vjebe je potrebno poslati najkasnije do 30.10.2016.

Zadaci za izvjetaj:

Zadatak 1: Za web service CustomerData:

a) dodati novu metodu sa novim ulaznim parametrom parentID koji vraa hijerarhiju korisnika
b) simulirati bazu korisnika kao zapise u txt fajlu, te prilikom poziva web servisa izvriti provjeru
da li korisnik postoji u tekstulanom fajlu i vratiti podatke o korisniku

Zadatak 2: Za web service GetCustomerServices:

a) dodati novu metodu addService metoda na osnovu ulaznog seta parametara kreira novi
servis
b) simulirati bazu servisa (ServicesDB) kao zapise u txt fajlu, te prilikom poziva metode
addService izvriti upis u txt fajl, ukoliko usluga ve ne postoji kreirana, ukoliko postoji vratiti
odgovarajui odgovor.
Dodatak 1: Primjer kreiranja SOAP web servisa

1. Pokrenuti Eclipse razvojni alat.


2. File > New -> Other -> Web -> Dynamic Web Project
3. Kreirati paket i dodati klasu:
4. Implementirati metodu:
5. Generisati web servis i klijenta:
6. Provjeriti enpoint web servisa i pristupiti endpointu kroz browser:

7. Pristupiti wsdl-u:
8. Testirati web servis kroz generisani klijent:
9. Analizirati request i reposne format poruke.
Dodatak 2: Uputstvo za instalaciju

1. Preuzeti alate za instalaciju iz foldera D:\SSMK\Instalacije i kopirati folder na eljenu lokaciju.


2. Preuslov za koritenje eclipse alata i apache servera jeste instaliran java JDK (Java
Development Kit). Provjeriti da li na raunaru postoji instaliran java JDK i instalirati po
potrebi. U folderu se nalazi jdk za 64-bitni windows sistem (jdk-7u79-windows-x64.exe). Po
potrebi skinuti 32-bitnu verziju i pokrenuti instalaciju.
3. Po uspjeno zavrenoj instalaciji jave provjeriti/konfigurisati environment varijable:
JAVA_HOME i PATH:

JAVA_HOME

PATH

4. Otpakovati sadraj eclipse-jee-kepler-SR2-win32-x86_64 u isti folder - nije potreba nikakva


dodatna instalacija eclipse alata.
5. Otpakovati sadraj apache-tomcat-7.0.64 u isti folder nije potrebna nikakva dodatna
instalacija apache alata, samo je potrebno povezati apache sa eclipse alatom.
6. Otvoriti sadraj eclipse otpakovanog foldera. U fodleru se nalazi eclipse.exe za pokretanje
eclipse alata. Pokrenuti eclipse alat.

7. Nakon to se eclipse pokrene, otvoriti prikaz Servers i konfigurisati apache server, odnosno
dodati putanju na folder gdje je raspakovan apache:

a. Kliknuti opciju za kreiranje novog servera:

b. Odabrati Tomcat v7.0 Server i opciju Configure runtime environments


c. Odabrati intelacioni direktorij i odabrati jre7.
d. Server je dodan, kliknuti na server da se otvore dodatne i opcije konfiguracije
podesiti prema slici.
U sluaju da je port 8080 zauzet, primijeniti port i pokuati pokrenuti.

8. Pristupiti http://localhost:8080

You might also like