Kurs Java Web Services and XML

Web servisi predstavljaju aplikacije koje se nalaze na internet mreži i kojima možete pristupiti u svakom trenutku kako biste izvršili potrebnu komunikaciju. Sa druge strane, XML bismo mogli da definišemo kao osnovni pokretač web servisa ili, prosto rečeno, format u kome se prenose podaci koji, zahvaljujući svojoj jednostavnosti, obezbeđuje njegovu praktičnu nezavisnost.

Da biste kreirali jedan web servis, možete iskoristiti već gotove aplikacije ili započeti čitav proces njihovog podizanja od starta, pri čemu vam mogu pomoći programski jezici, gotove komponente i platforme koje sam izaberete. Ovaj kurs baviće se tehnikama koje omogućavaju prilaz, kreiranje i korišćenje web servisa pomoću Java tehnologije.

Znanja koja steknete tokom kursa osposobiće vas da rešavate glavne probleme kod platformske i jezičke zavisnosti. Pored toga, programski jezik vam pruža priliku da implementirate SOAP i web servise na svim popularnim platformama.

S obzirom na to da je ovaj kurs deo plana i programa na odseku za buduće Java programere, veštine koje razvijete predstavljaće još jedan vaš veliki korak ka statusu kvalifikovanog stručnjaka u ovoj oblasti. Istraživanja pokazuju da je Java ubedljivo najpopularniji programski jezik već nekoliko godina unazad i takav trend će se nastaviti i u budućnosti, što je dovoljan dokaz da je svaka nova tehnika za rad u njemu odličan izbor za ulazak u profesionalni svet programera.

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Java Development Program.

Kurs Java Web Services and XML - opis i ciljevi

Na kursu se obrađuju osnovi i napredni koncepte XML-a, među kojima se, između ostalih, nalaze i XML prostori imena, DTD i XSD jezici za definisanje validacionih pravila, XSL transformacije, XML XPath upitni jezik, kao i različiti tipovi pristupa parsiranju kada je reč o kreiranju XML-a. Osim toga, kurs uključuje i obradu najpoznatijih koncepata web servisa, kao i tehnologije za njihovo kreiranje.

Celokupan kurs podeljen je u četiri tematske celine koje će vam omogućiti da sa razumevanjem steknete potrebne veštine. Na početku kursa očekuje vas modul koji će vam pružiti osnovna znanja o XML-u (Extensible Markup Language), koji je jedan od čestih pojmova u kontekstu današnjeg programiranja. Osim toga, u početnoj lekciji saznaćete i šta je markap jezik, kao i sve što je važno, a tiče se razvoja XML-a. Uz to, prva tematska celina podrazumeva i lekciju koja će vam pomoći da shvatite kako funkcionišu formatiranje i validacija XML-a.

Tokom drugog modula upoznaćete se sa pojmom JAXP, koji predstavlja sastavni deo Java SE. Takođe, u ovom delu kursa naučićete kako se sprovodi parsiranje XML dokumenata i na koji način se vrši njihovo adresiranje. Ipak, to nije sve. U ovoj fazi usavršavanja steći ćete kompletnu sliku o pojmovima kao što su SAX, DOM, StAX, XPath i XSLT.

Nakon toga, sledi tematska celina u kojoj će vam predavači predstaviti još jedan skup funkcionalnosti koji je veoma bitan pri radu sa XML-om. Reč je o Java Architecture for XML Binding skupu funkcionalnosti (skraćeno JAXB).

Uz to, ove lekcije otkriće vam šta su JAXB tipovi podataka i upoznati vas sa validacijom kao procesom provere validnosti XML dokumenata u odnosu na postojeću šemu, odnosno klasni model. U poslednjem modulu saznaćete šta su web servisi i kako se oni upotrebljavaju korišćenjem programskog jezika Java. Takođe, saznaćete sve o njihovim protokolima – SOAP i REST.

Osnovni cilj ovog kursa je da vas osposobi za čitanje, pisanje i obradu XML dokumenata kroz programski jezik Java. Nakon što završite ovaj kurs, moći ćete da kreirate i upotrebljavate različite tipove web servisa pomoću Java tehnologije.

Kurs Java web servisi i XML će vam odgovoriti na pitanja:

1. Šta je XML (Extended Markup Language)?

XML (Extensible Markup Language), odnosno proširivi jezik za označavanje, predstavlja metajezik koji je stvoren tako da bude lako čitljiv, kako računarima tako i ljudima. XML se, slično kao i HTML, sastoji od tagova čija imena mogu proizvoljno da se definišu. Za razliku od HTML-a, kod koga se tagovi koriste za to da opišu dokument za prikaz u web browseru, namena tagova u XML-u je da definišu strukturu i značenje podataka. XML služi za skladištenje podataka i omogućava njihovu jednostavnu razmenu kroz različite informacione sisteme. Podaci koji su zapisani u XML formatu nezavisni su od platforme.

2. Šta je XML DOM?

DOM (Document Object Model) je platforma i interfejs, nezavisan od jezika. DOM dozvoljava da programi i skripta dinamički pristupaju i ažuriraju sadržaj, strukturu i stil dokumenta. XML DOM može da se definiše kao standardni način za pristup i manipulaciju XML dokumentima. Svim XML elementima može da se pristupi korišćenjem XML DOM-a. XML DOM predstavlja W3C standard. XML DOM vidi XML dokument u obliku strukture drveta (takozvani node-tree). Drvo se sastoji iz čvorova (nodes). Početni čvor naziva se root (koren). U terminologiji ove strukture koriste se i pojmovi parent (roditelj), child (dete) i sibling (rođak). Roditeljski čvorovi imaju decu, a deca koja su na istom nivou nazivaju se rođaci. Za čvorove koji su rođaci kažemo i da su čvorovi sa istim roditeljem. Čvor koji nema dece naziva se list (leaf).

3. Šta je web servis?

Web servis je aplikacija napravljena da omogući direktnu razmenu podataka između aplikacija. Aplikacije koje međusobno komuniciraju korišćenjem web servisa ne moraju biti napisane u istom programskom jeziku, niti zavise od platforme na kojoj se izvršavaju. Komunikacija se ostvaruje pomoću standardizovanih otvorenih protokola kao što su HTTP, FTP i drugi. Web servis radi na principu slanja zahteva i dobijanja odgovora. Pojednostavljeno, to izgleda ovako – provajder web servisa definiše format za zahtev i generiše odgovor na njega.

Aplikacija šalje web servisu preko mreže ispravno definisan zahtev, nakon čega web servis izvršava određene akcije i šalje odgovor. Zapisi zahteva i odgovora web servisa obično su ili u XML ili u JSON formatu. Web servisi mogu biti javno dostupni ili privatni. Idealno bi bilo da za svaki potreban podatak postoji web servis. Na internetu se mogu pronaći mnogobrojni web servisi za preuzimanje raznih vrsta podataka, kao što su na primer vremenska prognoza, kursna lista, podaci sa berze i slično.

Dakle, web servisi su programi koji rade na mreži, a čiji se ulaz i izlaz sprovode kroz mrežne i aplikativne protokole. Pomoću njih, neki drugi programi mogu da kompletiraju različite, ponekad i veoma komplikovane operacije. Dok komuniciraju, ovi programi koriste standardne jezike, što im omogućava da se lako sporazumevaju i, što je najvažnije, da tehnološki budu potpuno različiti.

Kurs Java Web Services and XML

4. Zašto koristiti web servise?

Postoji dosta dobrih razloga za korišćenje web servisa, a najvažniji su sposobnost komunikacije između aplikacija koje ne zavise od hardvera i softverske platforme koju koriste, mogućnost da im ne smeta firewall tokom komunikacije koja se odvija preko standardnih web protokola, kao i to što aplikacije prilikom komuniciranja razmenjuju poruke u nekom od standardizovanih formata zapisa podataka, kao što je XML ili JSON.

Uzmimo na primer da je Narodna banka Srbije provajder servisa za kursnu listu. Podaci sa kursne liste mogu samo da se stave na web stranicu. U tom slučaju, web programeri moraju sa te strane da iščupaju njima potrebne podatke kako bi ih mogli koristiti u svojoj aplikaciji, na primer u web prodavnici koja prodaje proizvode u raznim valutama. Daleko bolje bi bilo da provajder napravi web servis i sve potrebne podatke (i samo njih) pošalje klijentu u ispravno formiranom XML dokumentu, na njegov upit.

Naime, ako ovo pitanje postavimo u kontekstu krajnjeg korisnika, mogli bismo reći da nam web servisi uopšte nisu potrebni, jer ih zapravo nikada nismo ni videli niti koristili. Ali ovo bi bila greška, jer praktično sve mobilne aplikacije, web aplikacije, online igre, online poslovne aplikacije i mnoge druge vrste programa u pozadini koriste upravo web servise za komunikaciju sa svojim matičnim programima, koji se nalaze na udaljenim računarima. Primetili ste da danas malo programa radi ispravno ukoliko nije na internetu. Ako se pitate sa kim to ovi programi komuniciraju preko interneta, odgovor je – upravo sa web servisima.

5. Šta je SOAP?

SOAP (Simple Object Access Protocol) predsatavlja protokol za razmenu strukturno organizovanih podataka u decentralizovanom, distributivnom okruženju. Ovaj protokol je zasnovan na XML-u koji se koristi da bi se razmenili podaci između aplikacija, najčešće korišćenjem HTTP protokola, iako mogu da se koriste i drugi transportni protokoli. SOAP omogućava komunikaciju između aplikacija koje se izvršavaju na različitim operativnim sistemima i koje su napravljene korišćenjem različitih tehnologija i napisane u različitim programskim jezicima. SOAP omogućava klijentskoj aplikaciji da se lako poveže na udaljene web servise i zatraži udaljene metode.

Dakle, SOAP je sistem razmene informacija između dva programa koji se koristi u SOAP web servisima. Dva programa se povezuju koristeći SOAP tako što koriste HTTP protokol za osnovnu razmenu informacija, a zatim, u samim HTTP porukama, razmenjuju specifične sadržaje, bazirane na SOAP principima. Ovi sadržaji su uvek napisani jezikom XML. Pomoću XML-a, u porukama, jedan program govori drugom koju operaciju želi da izvrši i sa kojim parametrima, dok su istim jezikom napisani i rezultati izvršavanja. Zahvaljujući ovom konceptu, dva programa ne moraju biti napisana istim jezikom, niti koristiti istu izvršnu tehnologiju, sve dok su u stanju da razumeju opšte protokole i jezike, kakvi su HTTP i XML.

6. Šta je REST?

REST (Representational State Transfer) – trenutno dominantna tehnologija za pravljenje web servisa za mobilne i web aplikacije. Web servis zasnovan na REST-u naziva se RESTful servis. Kod REST-a sve može jedinstveno da se identifikuje kao resurs (slika, tekst, video-zapis, web strana i slično), i to se radi preko URL-a. Jedini protokol koji REST koristi jeste HTTP. Konkretna implementacija RESTful servisa zasniva se na četiri osnovna principa: eksplicitno korišćenje HTTP metoda, korišćenje komunikacionog protokola bez stanja (engleski, stateless protocol), URL je nalik strukturi foldera, format podataka pri transportovanju je XML ili JSON.

Dakle, REST je način komunikacije između programa, koji podrazumeva korišćenje HTTP protokola za razmenu informacija i pokretanje operacija. HTTP je protokol koji koriste svi postojeći web sajtovi. Da li su onda svi web sajtovi neka vrsta REST aplikacije? Nisu. Da bi neka aplikacija bila RESTful aplikacija, treba da koristi HTTP protokol na specifičan način, koji se razlikuje od načina na koji ga obično koriste web sajtovi. On podrazumeva da se određene HTTP metode koriste za odgovarajuće operacije nad podacima. Takođe, rezultati izvršavanja REST aplikacija gotovo nikada ne uključuju grafičke sadržaje, već isključivo podatke.

7. Šta je to interoperabilnost?

Interoperabilnost je u programiranju mogućnost interakcije različitih tehnologija. Ako, na primer, imamo jedan program napisan u jeziku Java, a drugi u jeziku JavaScript, oni ne mogu da komuniciraju, jer se njihove tehnologije razlikuju. Web servisi prevazilaze ovu prepreku, jer se u komunikaciji koriste tehnike koje su platformski i tehnološki nezavisne. Svi programski jezici poznaju protokole TCP, HTTP i jezik XML. I potrebno je samo da se, koristeći te protokole, povežu i razmenjuju informacije bez razmišljanja o tome ko se nalazi sa druge strane. Osobina programa po kojoj mogu da ostvare ovakvu vrstu konverzacije sa drugim programima poznata je kao interoperabilnost.

Plan i program predavanja:

1. Šta je XML (Extensible Markup Language)

  • Uvod u XML 
  • Formatiranje i validacija XML-a 

2. JAXP (Java API for XML Processing)

  • Uvod u JAXP (šta je markap jezik?)
  • Šta je SAX (Simple API for XML)
  • Upoznavanje sa pojmom Documet Object Model – DOM 
  • Šta je StAX i koje su njegove osobine
  • Šta je XPath i kako funkcioniše
  • Upoznavanje sa EXtensible Stylesheet Language – XSLT 

3. Java Architecture for XML Binding – JAXB

  • Marshalling and Unmarshalling 
  • JAXB tipovi podataka i njihova validacija 

4. Web servisi

  • Uvod u web servise 
  • Simple Object Access Protocol (SOAP) web servis 
  • Šta je Representational State Transfer (REST) web servis

Polaznici kursa Java web servisi i XML

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok je otvoren!

Da saznate sve o upisu, kliknite ovde