Kurs XML / PHP programiranja

XML ili Extended Markup Language predstavlja standaradni skup pravila koja se koriste za definisanje formata podataka u elektronskoj formi, odnosno način na koji ćemo jednostavno i brzo moći da zapamtimo podatke i prosledimo ih nekome ko će ih takođe razumeti jer koristi iste konvencije. Iako ima veoma važnu ulogu u svetu programiranja, XML se ipak često greškom svrstava u grupu programskih jezika.

Godina 1998. smatra se godinom nastanka XML-a, međutim, njegova istorija započeta je još 60-ih godina prošlog veka, kada je kompanija IBM konstruisala prvi višenamenski jezik za serijalizaciju podataka. Ovaj jezik zvao se GML, a zatim je njegovim unapređivanjem nastao prvo SGML, a kasnije i XML, kojim će se ovaj kurs i baviti.

Stvaranjem XML-a ispunjen je osnovni cilj da se kreira jezik koji će istovremeno moći jednostavno da čitaju i ljudi i računari. S obzirom na to da su brojni definisani jezici za označavanje bazirani upravo na XML-u,  znanja koja steknete tokom ovog kursa omogućiće vam da radite i u RSS-u, XHTML-u, Scalable Vector Graphicsu, MusicXML-u...

Pored toga što će vam dalje usavršavanje i napredovanje u IT svetu biti znatno olakšano zahvaljuući praktičnim veštinama sa ovog kursa, bićete spremni i da odmah započnete karijeru web programera. Poznavanjem XML-a i jednog od najpopularnijih programskih jezika - PHP-a, imaćete sve što vam je potrebno da se izdvojite iz konkurencije i u svakoj prilici dođete do visoko plaćenog radnog mesta.

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

Opis i cilj kursa XML / PHP programiranja

Kurs pokazuje osnove XML (Extensible Markup Language) jezika, odnosno njegove osnovne gradivne elemente, poput elemenata i atributa (sličnost sa HTML – HyperText Markup Language markup jezikom), prostora imena, Document Type Definitiona (DTD-a) za validaciju XML-a. Obrađuje izgled zaglavlja i tela unutar XML-a, te pokazuje kako napraviti „Well formed” – XML dokument bez grešaka i „Valid” XML (XML validiran sa DTD-om). 

U okviru kursa se obrađuje i rad sa sadržajem unutar XML elemenata i atributa, korišćenjem XML dokumenata za transfer podataka između klijenta i servera ili servera i servera, te obrada XML-a kroz različite tehnologije za rukovanje njime, kroz programski jezik PHP (SimpleXML klasa, DOMDocument klasa, xpath XML upiti, SAX XML i slično). Upoznajemo se i sa veb-servisima i njihovim kreiranjem i kontrolom, kao što su REST (Representational State Transfer), SOAP (Simple Object Access Protocol) i XML-RPC (Remote Procedure Call) tipovi servisa, te pravljenjem bezbednih veb-servisa. Na kraju vršimo komparacija XML-a i JSON-a prilikom upotrebe servisa.

Cilj ovog kursa je da se polaznici upoznaju sa osnovama XML (Extensible Markup Language) jezika, standarda prilikom transfera podataka između klijenta i servera ili servera i servera.

Polaznici će kroz kurs videti šta je to XML jezik, koji su to njegovi gradivni delovi (elementi, atributi, prostori imena, DTD – Document Type Definition za validaciju XMl dokumenta, tela izaglavlja dokumenta i slično). Polaznik će takođe biti upoznat sa time kako to izgleda dokument koji je „well formed”, odnosno bez grešaka, te kakav je to XML dokument kog zovemo validnim (koji ispunjava validacione uslove DTD-a). Pored osnove XML jezika, polaznik će se upoznati sa rukovanjem XML dokumenata kroz programski jezik PHP, sa korišćenjem klasa kao što su SimpleXML ili DOMDocument za kreiranje XML dokumenata, ali i njihovo parsiranje, ili korišćenjem xPath upita, koji nam pomažu za jednostavnije prolaženje kroz dokument i pronalazak podataka. Uz XML se vežu i veb-servisi, pa će se polaznik upoznati i osposbiti za samostalno kreiranje kompleksnih, bezbednih i funkcionalnih veb-aplikacija i servisa baziranih na XML-u.

Upoznajte se sa svim prednostima pohađanja kursa

Predavač Vladimir Marić upoznaće vas sa osnovnim ciljevima kursa i objasniće vam šta ćete sve naučiti. Proverite zašto je važno da steknete veštine koje ćete moći da iskoritite za kreiranje web servisa, ali i koje sve prednosti vam nudi celokupna oblast web programiranja, u kojoj ćete moći da radite nakon uspešno završenog kursa.

Kurs XML / PHP programiranja ć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 da bude lako čitljiv i računarima i ljudima. XML, slično kao i HTML, sastoji se od tagova čija imena mogu proizvoljno da se definišu. Za razliku od HTML-a, gde se tagovi koriste da opišu dokument za prikaz u web browseru, namena tagova u XML-u je da definiše 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 kriptografija i PHP enkripcija?

Kriptografija je naučna disciplina koja se bavi proučavanjem metoda za slanje poruka tako da je samo primalac poruke može razumeti. U web programiranju kriptografija je jedna od osnovnih tehnologija koje se koriste za zaštitu podataka čija razmena se vrši između korisnika. Kriptografija se na osnovu ključeva može podeliti na simetričnu i asimetričnu, gde ključ predstavlja minimalnu potrebnu informaciju koju moraju poznavati osobe koje razmenjuju informacije.

Razlika između simetrične i asimetrične kriptografije je u tome što simetrična koristi isti ključ i za šifrovanje (enkripciju) i za dešifrovanje (dekripciju), dok kod asimetrične metode postoje dva ključa – javni i privatni. Enkripcija i dekripcija su jednostavne procedure, bazirane na veoma komplikovanim algoritmima, koje nije potrebno poznavati da bi se koristili u PHP-u. PHP kroz ugrađene ili dodatne funkcionalnosti omogućava sve moderne kriptografske mehanizme.

3. Šta je XML DOM?

DOM (Document Object Model) je platforma i interfejs koji je nezavistan od jezika koji dozvoljava programima i skriptama da dinamički pristupa i ažurira 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 (tzv. node-tree). Drvo se sastoji od čvorova (nodes). Početni čvor naziva se root (koren) i posmatra se kao čvor na na vrhu drveta. U terminologiji ove strukture koriste se i pojmovi parent (otac), 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).

Kurs XML/ PHP programiranja

4. Šta je web servis?

Web servis je aplikacija napravljena da omogući direktnu razmenu podataka aplikacija-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. Format zapisa zahteva i odgovora web servisa je obično ili u XML ili u JSON formatu. Web servisi mogu biti javno dostupni ili privatni. Idealno bi bilo da za svaki potrebni podatak postoji web servis. Na internetu se mogu pronaći mnogobrojni web servisi za preuzimanje raznih vrsta podataka, kao što su npr. vremenska prognoza, kursna lista, podaci sa berze i sl.

5. 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 npr. 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 da bi ih mogli koristiti u svojoj aplikaciji, npr. 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.

6. Šta je SOAP?

SOAP (Simple Object Access Protocol) je 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. U PHP-u postoji ekstenzija koja može da se koristi za pisanje SOAP servera i SOAP klijenta.

7. Šta je REST?

REST(Representational State Transfer) je 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, web strana i sl.), i to se radi preko URL-a (Uniform Resource Locator). Jedini protokol koji REST koristi je HTTP. Konkretna implementacija RESTful servisa zasniva se na četiri osnovna principa:

  • eksplicitno korišćenje HTTP metoda
  • korišćenje komunikacionog protokola bez stanja (engl. stateless protocol)
  • URL je nalik strukturi foldera
  • format podataka pri transportovanju je XML ili JSON.

Plan i program predavanja

Modul 1: Uvod i osnove XML-a

  • Uvod u XML
  • SimpleXML
  • XPath XML upiti
  • XML prostori imena i pisanje XML-a u fajlove
  • DOM XML
  • XPath DOM XML i SAX XML

Modul 2: Veb-servisi

  • Uvod u veb-servise
  • SOAP, opis, pristup i debug
  • Kreiranje SOAP i RPC veb-servisa
  • REST servisi

Kompetencije

1. Uvod i osnove XML-a

  • Osposobljavanje za korišćenje XML dokumenata, njihovo kreiranje, editovanje i čitanje kroz PHP tehnologije kao što su SimpleXML i DOMDocument.

2. Veb-servisi

  • Osposobljavanje za korištenje XML dokumenata za prenos podataka između različitih entiteta ili objekata (server, klijent), koristeći PHP tehnologije kao što su REST, SOAP ili XML-RPC veb-servisi.

Potrebno predznanje:

  • Da bi polaznik uspešno pratio kurs, potrebno je da ima advanced predznanje iz PHP tehnologije, te osnovno poznavanje HTML-a, radi njegove sličnosti sa XML-om.

Potreban softver i tehnički uslov:

  • Za ovaj kurs je potreban računar standardnih performansi, sa bilo kojim od modernih operativnih sistema. Iako se delovi kursa prikazuju na Windows operativnom sistemu, sam kod se može izvršavati i na Linux ili MacOS operativnom sistemu. Za rad sa PHP-om dovoljno je da imate instaliran WAMP, XAMPP, LAMP, Laragon ili neki drugi sistem na kojem ćete pokretati veb-server, PHP i neku vrstu SQL baze podataka.

Polaznici kursa XML/ PHP programiranja

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