33 Rad s RESTful Web uslugama

Size: px
Start display at page:

Download "33 Rad s RESTful Web uslugama"

Transcription

1 33 Rad s RESTful Web uslugama Tokom devedesetih godina prošlog stoljeća Web se počeo masovno koristiti pa su novim Web aplikacijama pristupali milijuni ljudi širom svijeta. U isto vrijeme, bilo je dostupno mnoštvo zastarjelih aplikacija koje su se mogle koristiti samo unutar jedne tvrtke. Bile su napisane na raznim programskim jezicima i instalirane na brojnim vrstama računala. U takvom okruženju postojala je potreba da se podaci tvrtke izlože široj publici što je rezultiralo izradom standardnog sučelja za pristupanje podacima preko Weba. Razlika između tradicionalnih JSP/Servlet/JSF aplikacija i Web usluga je u tome što Web usluge pružaju samo podatke i ne zanima ih kako izgleda korisničko sučelja. Na primjer, osiguravajuća kuća može ponuditi informacije o svojim proizvodima ili investicijski fond može izložiti svoje podatke kroz Web uslugu koja vraća XML dokumente. Klijenti nisu morali znati da se aplikacija osiguravajuće kuće izvršava na računalu tvrtke Sun Microsystems ili da investicijski fond koristi računala tvrtke IBM. Java EE obuhvaća specifikaciju za dvije implementacije Web usluga JAX-WS i JAX-RS, o kojima ću govoriti u nastavku. Pogledajte još jednom arhitektonski dijagram u poglavlju 25 i obratite pažnju na to da sam ove API-je stavio na dva mjesta: jednom u prezentacijski sloj i jednom u sloj podataka. Web usluge promatrajte kao mehanizam za izlaganje korisnih podataka koji se mogu preuzimati preko protokola HTTP. Tisuće javno dostupnih Web usluga nude različite API-je za uzimanje neke vrste podataka. Mnoštvo korisnih Web usluga pronaći ćete u imeniku Programmable Web, na adresi Velika poduzeća koriste privatne Web usluge za svoje interne potrebe, također. SOAP Web usluge Prvi standard za objavljivanje i konzumiranje Web usluga bio je protokol Simple Object Access Protocol (SOAP) temeljen na XML-u. Web klijenti bi formirali HTTP zahtjeve i primali odgovore koristeći SOAP sintaksu. Klijenti su morali znati samo popis usluga koje neka organizacija nudi, imena ponuđenih operacija (funkcija) i adresu krajnje točke na koju se moraju spojiti da bi mogli koristiti uslugu.

2 482 poglavlje 33 Rad s RESTful Web uslugama Imenik usluga može se objaviti pomoću jezika Web Services Description Language (WSDL) koji je prilično doslovan. U Java EE svijetu, SOAP poruke mogu se obraditi na način JAX-WS API-ja, bez potrebe za imenikom usluga. Iako su SOAP Web usluge doslovne, i dalje se često koriste kao jednostavan način za integraciju sa softverskim proizvodima trećih proizvođača. Neke SOAP usluge su javno dostupne. Na primjer, Web stranica nudi opise i WSDL lokacije informacija i usluga kao što su vremenske prognoze, provjera adrese u SAD, pretvaranje vrijednosti valuta i cijene dionica. Možete ih integrirati u aplikaciju, ali sami morate osigurati korisničko sučelje koje će ih prikazivati. RESTful Web usluge REST je kratica za representational state of transfer (reprezentativno stanje prijenosa). Web usluge koje se temelje na REST načelima nazivamo RESTful usluge. Za razliku od SOAP-a, REST nije protokol, već način (jednostavniji od SOAP-a) za razvoj Web usluga. dr. Roy Fielding definirao je REST načela u svojoj doktorskoj tezi: Svaki resurs na Webu ima jedinstven ID. Koriste se uniformna sučelja: HTTP Get, Post, Put, Delete i tako dalje. Resurs može imati više reprezentacija (tekst, JSON, XML, PDF i tako dalje). Zahtjevi su bez stanja između zahtjeva se ne čuvaju podaci koji se odnose na klijent. Resursi se mogu povezivati. Resursi se trebaju moći spremati u cache memoriju. REST aplikacija se može izraditi u slojevima Jednostavnije rečeno resurs je svaki objekt kojem možete pristupiti korištenjem hiperveze. Svaki resurs ima uniformni identifikator resursa (URI). Na primjer yakovsresume identificira jedinstveni resurs s mojim životopisom na lokaciji com. Životopis se može čuvati na poslužitelju kao obična datoteka ili se može čuvati u bazi podataka i uzeti preko JDBC upita, ali se u svakom slučaju možete predstaviti (poslužiti) u više formata, kao što su PDF, XML ili JSON. REST resursi moraju podržavati standardne HTTP zahtjeve bez stanja. Ako ste za SOAP koristili proizvoljna imena podržanih operacija (na primjer, getcitybyzipcode), za REST koristite standardne HTTP metode kao što su Get, Post, Put i Delete. Susreo sam se s brojnim Web aplikacijama koje su koristile samo HTTP metode, GET za čitanje sadržaja na poslužitelju i POST za ažuriranje sadržaja ili skrivanje HTTP parametara unutar HTTP zaglavlja, ali REST je stroži kad je riječ o tome. U RESTful svijetu trebate koristiti GET za preuzimanje podataka, POST za izradu novih resursa, PUT za ažuriranje i DELETE za uklanjanje resursa. Svaka od standardnih HTTP metoda ima određene karakteristike: GET: sigurnost, idempotencija, mogućnost spremanja u cache PUT: idempotencija

3 Rad s podacima u formatu JSON 483 DELETE: ne-idempotencija POST: Ništa od navedenog Sigurnost znači da metoda ne mijenja resurs. Mogućnost spremanja u cacahe memoriju je jasna sama po sebi klijentska aplikacija može spremiti rezultat u cache memoriju. Idempotencija znači da, bez obzira na to koliko puta pozovete metodu, rezultat će uvijek biti isti. Na primjer, ako ime osobe promijenit iz Smith u Johnson, bez obzira na to koliko puta pokušate ažurirati resurs te osobe sa imenom Johnson, prezime će i dalje biti Smith. Ili, bez obzira na to koliko puta pokušate izbrisati resurs sa jedinstvenim identifikatorom, izbrisat ćete samo taj resurs, bez ikakvog utjecaja na druge podatke. Dok klijent komunicira s poslužiteljem i jedan i drugi mogu slati i primati aplikacijske podatke u različitim formatima. Razmotrimo najpopularniji format koji se koristi u Web aplikacijama: JSON. Rad s podacima u formatu JSON Format JSON temelji se na sintaksi doslovnih vrijednosti JavaScript objekata. Svi Web preglednici znaju kako parsirati JSON bez potrebe za korištenjem bilo kakvih programskih dodataka ili proširenja. Budući da većina današnjih Web aplikacija koristi JavaScript s klijentske strane, nije ni čudo da je JSON postao de facto standardan način za oblikovanje podataka na Webu, zamjenjujući XML, koji je bio popularan devedesetih godina. Evo primjera kako se instanca entiteta Stock može predstaviti u XML-u: <stock> <country>usa</country> <currency>usd</currency> <price>43.12</price> <symbol>ibm</symbol> </stock> U JSON formatu, isti resurs izgledao bi ovako: stock : { country : USA, currency : USD, price : 43.12, symbol : IBM Usporedba formata XML i JSON Domen javne službe omogućava da pretražujete geografske i statističke informacije o zemljama, gradovima i tako dalje. Najvećim dijelom ova lokacija koristi RESTful Web usluge. Da biste usporedili kako su isti podaci predstavljeni u formatima XML i JSON, posjetite Web stranicu

4 484 poglavlje 33 Rad s RESTful Web uslugama Razvoj takozvanih jednostraničnih Web aplikacija (engl. Single Page Web Applications, SPA) je trend u današnjem HTML5 svijetu. SPA se odnosi na aplikacije koje ne osvježavaju cijelu Web stranicu već samo neke njene dijelove preuzimanjem svježih podataka upućivanjem AJAX zahtjeva. Googleov klijent Gmail je dobar primjer SPA aplikacije. Kad stigne nova poruka, dodaje se samo jedan novi red na Web stranicu koja prikazuje sadržaj prijemnog poštanskog sandučića. Poslužitelj šalje samo unaprijed oblikovane podatke koje preglednik smješta na zaslon koristeći HTML, JavaScript i CSS. Nikakav HTML se ne generira na poslužitelju, kao u slučaju kad se koriste tehnologije JSP, JSF ili servleti. Rest ili Websockets Budući da RESTful Web usluge tokom komunikacije između poslužitelja i klijenta šalju samo podatke (bez HTML oblikovanja), efikasnije su u smislu količine prijenosa podataka preko mreže kad se usporede sa servletima i tehnologijama JSP i JSF. Ali, RESTful usluge se temelje na protokolu HTTP koji dodaje HTTP zaglavlja podacima koji se šalju između klijenta i poslužitelja. Ako trebate poboljšati protok podataka tako što ćete eliminirati ova teška zaglavlja, razmislite o tome da koristite protokol WebSocket o kojem smo govorili u poglavlju 28. Za aplikacije koje se odvijaju u realnom vremenu. Ako koristite WebSocket, povećava se i responzivnost aplikacije jer nema potrebe za ponovnim uspostavljanjem HTTP veze za svaki zahtjev i nema dodatnih zaglavlja. SPA aplikacije moraju koristiti nekakav format za razmjenu između poslužitelja i klijenta. Budući da je JSON vrlo popularan, Java EE specifikacija standardizira njegovu obradu u dokumentu JSR 353. Java aplikacijski poslužitelji obično implementiraju specifikaciju obrade formata JSON u posebnim JAR-ovima, kako biste je mogli koristiti sa samostalnim Java SE aplikacijama. Na primjer, GlassFish se isporučuje s datotekom glassfish4/ glassfish/modules/javax.json.jar koju možete dodati samostalnim aplikacijama. Paket javax.json uključuje klase koje podržavaju dva načina za formiranje JSON podataka iz Jave: Object Model API: s ovim API-jem Java kôd prvo treba izraditi stablo objekata koje predstavlja JSON podatke u memoriji, a zatim ga poslati u I/O tok. Streaming API: ovo je API kojim upravljaju događaji i koji šalje događaje kad naiđe na početak ili kraj JSON objekta ili kad pronađe ključ ili vrijednost u podacima. Streaming API generira rezultat u zadani tok (na primjer, datoteku ili mrežnu vezu). Iako možete izraditi Java klijentsku aplikaciju koja parsira i generira JSON, JSON najčešće daju ili konzumira JavaScript kôd u pregledniku. U ovom poglavlju uključeni su primjeri parsiranja JSON formata u poslužiteljskoj Java aplikaciji, pod pretpostavkom da poslužitelj primi ili izgradi znakovni niz u JSON formatu. Potpuni prikaz primjene formata JSON na klijentu i poslužitelju potražite u Oracleovoj dokumentaciji JSON Processing Tutorial.

5 Rad s podacima u formatu JSON 485 Čitanje JSON podataka pomoću Streaming API-ja Sljedeći odlomak koda pokazuje kako se može strukturirati podataka u JSON formatu koristeći Streaming API. Parser šalje odgovarajući događaj dok parsira JSON znakovni niz i vi trebate napisati kôd za obradu događaja koji vas zanimaju: JsonParser parser = Json.createParser(new StringReader(jsonData)); while (parser.hasnext()) { JsonParser.Event event = parser.next(); switch(event) { case START_ARRAY: case END_ARRAY: case START_OBJECT: case END_OBJECT: case VALUE_FALSE: case VALUE_NULL: case VALUE_TRUE: System.out.println(event.toString()); break; case KEY_NAME: System.out.print(event.toString() + + parser.getstring() + - ); break; case VALUE_STRING: case VALUE_NUMBER: System.out.println(event.toString() + + parser.getint()); break; U ovom primjeru, kôd obrađuje samo događaje parsera VALUE_TRUE (JSON element ima vrijednost true), KEY_NAME (pronađeno je ime u paru ključ/vrijednost) i VALUE_NUMBER (pronađena je brojčana vrijednost). Pisanje JSON formata pomoću Streaming API-ja Sljedeća klasa JavaTOJSONStreaming pravi instancu klase Product, pretvara je u JSON oblikovan znakovni niz i sprema je u datoteku product_from_stream.json: public class JavaToJSONStreaming { public static void main(string[] args) { Product prd1 = new Product(777, Gucci Handbag, ); try (OutputStream fos = new FileOutputStream( product_from_stream.json ); JsonGenerator jsongenerator = Json.createGenerator(fos);) { jsongenerator.writestartobject(); jsongenerator.write( id, prd1.id); jsongenerator.write( description, prd1.description); jsongenerator.write( price, prd1.price); // Da biste izradili ugniježđene JSON objekte, smjestite ih

6 486 poglavlje 33 Rad s RESTful Web uslugama // u par writestartobject() i writeend() jsongenerator.writeend(); catch (IOException ioe) { ioe.printstacktrace(); Objekt Json pravi generator JsonGenerator koji zapisuje JSON podatke na izlaz kao tok podataka. U ovom primjeru izlaz je datoteka predstavljena varijablom fos. Ispustio sam deklaraciju klase Product kako bi primjer bio kraći, ali obje klase, i Product i JavaToJSONStreaming, pronaći ćete u pratećem izvornom kodu knjige. Ako pokrenete ovaj program, dobit ćete datoteku sa sljedećim sadržajem: { id :777, description : Gucci Handbag, price : Imajte na umu da, ako će program raditi kao samostalna aplikacija, morate uključiti JAR datoteku koja implementira JSON Processing API (poznat i pod imenom JSON-P API) u CLASSPATH aplikacije. Ako će se program izvršavati na poslužitelju, svaki Java EE poslužitelj već uključuju takvu JAR datoteku i nije potrebna promjena CLASSPATH varijable. Zapisivanje JSON podataka s Object Model API-jem Nasuprot Streaming API-ju, Object Model API zahtijeva da izgradite cijeli JSON objekt u memoriji i tek nakon toga zapišete cijelu stvar na odredište. Da bih vam to pokazao, ponovo sam napisao klasu JavaToJSONStreaming iz prethodnog odjeljka: public class JavaToJSONObject { public static void main(string[] args) { Product prd1 = new Product(777, Chanel Handbag, ); try (OutputStream fos = new FileOutputStream( product_from_object.json ); JsonWriter jsonwriter = Json.createWriter(fos);) { JsonObjectBuilder prdbuilder = Json.createObjectBuilder(); prdbuilder.add( id, prd1.id).add( description, prd1.description).add( price, prd1.price); JsonObject prdjsonobject = prdbuilder.build(); System.out.println( prdjsonobject: + prdjsonobject); jsonwriter.writeobject(prdjsonobject); // Čita i parsira novu datoteku JsonReader jsonreader = Json.createReader(new FileReader( product_from_object.json ));

7 RESTful Web poslužitelj 487 JsonObject jsonobject = jsonreader.readobject(); System.out.println(jsonObject); catch (IOException e) { e.printstacktrace(); JsonObjectBuilder inicijalizira model i omogućava da dodajete parove ključ/vrijednost koji će predstavljati JSON objekt. Klasa Json sadrži metode za izradu objekta graditelja, što uključuje metodu build() za izradu znakovnih nizova u JSON formatu. JsonWriter zapisuje JSON objekt u datoteku, a JsonReader čita i parsira novu datoteku. Ako ne morate zapisivati JsonObject u datoteku, možete ga pretvoriti u String pozivanjem prdjsonobject.tostring(). Zatim, na primjer, možete poslati String Web klijentu. RESTful Web poslužitelj Java EE specifikacija uključuje JAX-RS API za izradu Web poslužiteljskih i klijentskih programa za RESTful Web usluge. Svi Java EE aplikacijski poslužitelji implementiraju JAX-RS. Ja ću nastaviti koristiti GlassFish poslužitelj koji dolazi s JAX-RS implementacijom poznatom pod imenom Jersey i nećete morati preuzimati nikakve dodatne biblioteke za pokretanje izvornog koda iz ovog poglavlja. Pogledajmo kako implementirati RESTful Web usluge tako što ćemo redizajnirati naš primjer poslužitelja cijena dionica. Reprezentacija resursa (u ovo slučaju dionica) se može razlikovati i određena je tipom medija. Razvoj RESTful aplikacije sa JAX-RS API-jem je jednostavan: 1. Napravite malu Java klasu koja proširuje javax.ws.rs.core.application, koja registrira aplikaciju na Java EE poslužitelju. 2. Napravite i označite REST krajnju točku, koja je POJO. 3. Definirajte Java zrno koje će se pretvoriti u XML, JSON ili neki drugi format za komunikaciju s klijentskom aplikacijom. 4. Napravite bilo koji broj pomoćnih klasa koje implementiraju logiku aplikacije. Sljedeći odjeljak pokazuje kako se to može izvesti. Izrada aplikacije Isti Java EE poslužitelj može udomljavati više RESTful Web usluga. Kako bi se poslu žitelju olakšalo usmjeravanje klijentskih zahtjeva odgovarajućoj aplikaciji, svaka od njih treba se preslikavati na određeni predložak URL adrese. U starijim verzijama sustava Java EE to se moglo izvesti samo dodavanjem konfiguracije u datoteku web.xml. To više nije potrebno. Samo izradite klasu koja proširuje javax.ws.rs.core.application i označite je koja sadrži fragment URL adrese za identificiranje aplikacije. Klasa aplikacije StockQuoteApplication izgleda ovako:

8 488 poglavlje 33 Rad s RESTful Web uslugama package lesson33; import javax.ws.rs.applicationpath; import resources ) public class StockQuoteApplication extends Application { To je sve što je Java EE poslužitelju potrebno da bi aplikaciji preusmjeravao sve zahtjeve koji u URL adresi sadrže uzorak resources. Usmjeravanje tako počinje, ali aplikacija može imati veći broj krajnjih točaka. Kako biste identificirali pravu, potrebna je koju ćete vidjeti u odjeljku Izrada krajnje točke StockService. Izrada Java zrna Stock Klijent i RESTful poslužitelj moraju se složiti oko formata podataka za komunikaciju. Na primjer, JSON, XML i tako dalje. Dok je JAX-RS specifikacija za implementiranje RESTful Web usluga, JAXB ej specifikacija za pretvaranje podataka u format XML i iz njega. Na primjer, označavanje Java zrna može pokrenuti JAXB kostur za obradu XML-a, koji Java zrno pretvara u XML ili JSON dokument prije nego što ga pošalje Web klijentu koji ne zna za format Java objekta. Primjer 33-1 prikazuje Java zrno po imenu Stock označeno Primjer 33-1: Java zrno Stock import public class Stock { private String symbol; private Double price; private String currency; private String country; public Stock() { public Stock(String symbol,double price, String currency, String country) { this.symbol = symbol; this.price = price; this.currency = currency; this.country = country; public String getsymbol() { return symbol; public void setsymbol(string symbol) { this.symbol = symbol;

9 RESTful Web poslužitelj 489 public Double getprice() { return price; public void setprice(double price) { this.price = price; public String getcurrency() { return currency; public void setcurrency(string currency) { this.currency = currency; public String getcountry() { return country; public void setcountry(string country) { this.country = country; Java kôd na strani poslužitelja može preuzimati podatke o određenoj dionici i napraviti instancu klase Stock, koja se mora pretvoriti u traženi format podatak i poslati ga Web klijentu. U odjeljku o formatu JSON u ovom poglavlju dajem primjer kako se java klasa može pretvoriti u JSON znakovni niz. Izrada krajnje točke StockService Klasa krajnje točke su ulazna vrata Web usluge. Njena je uloga pronaći i pozvati Java metodu sa potpisom koji odgovara zahtjevu klijenta. Na primjer, ako krajnja točka primi HTTP zahtjev GET sa jednim parametrom, klasa krajnje točke treba imati metodu koja uzima jedan argument i označena je Klasu krajnje točke morate označiti tako da poslužitelj preusmjerava klasi samo određene zahtjeve. Morate označiti i metode te klase kako biste zadali koja metoda treba obrađivati GET zahtjeve, koja PUT zahtjeve i tako dalje. Evo popisa napomena koje se najčešće koriste s REST krajnjim Klasa korijenskog resursa (POJO). Ova napomena zadaje predložak URL adrese koji ta klasa obrađuje. Klasa krajnje točke ima najmanje jednu metodu Metoda klase koja treba obrađivati HTTP zahtjeve GET. Možete imati više metoda označenih i svaka može dati rezultat drugačijeg MIME Metoda klase koja obrađuje HTTP zahtjeve Metoda klase koja obrađuje HTTP zahtjeve Put.

10 490 poglavlje 33 Rad s RESTful Web Metoda klase koja obrađuje HTTP zahtjeve Navodi MIME tip (ili tipove) za odgovor. Na primjer application/ Navodi MIME tip (ili tipove) koje resurs može konzumirati kad ih klijent Injektira fragment URI-ja u parametar metode (na primjer, Injektira parametar iz URL adrese u parametar metode (na primjer stock=ibm). Koristi se sa zahtjevima HTTP Injektira vrijednost iz polja za unos HTML obrasca u pruženu Java varijablu ili argument metode. Sljedeća klasa StockService primjer je RESTful krajnje točke koja može vratiti cijenu dionice zadane URI-jem kao što je stock/ibm. Klasa StockService je označena s nekoliko napomena. Prva koja se može koristiti s klasom ili metodom. JAX-RS preslikava zahtjeve klijenta na metode klase. Ako se za klasu zada više njihove vrijednosti će se usporediti s URL fragmentima za pronalaženje odgovarajuće metode. Primjer 33-2: REST krajnja točka za /stock ) public class StockService application/xml, application/json {symbol public Stock getstock(@pathparam( symbol ) String symbol) { Stock stock = StockServiceHelper.getStock(symbol); if (stock == null) { return new Stock( NOT FOUND, 0.0, --, -- ); application/x-www-form-urlencoded ) public Response symbol ) String currency ) String price ) String country ) String country) { if (StockServiceHelper.getStock(symbol)!= null) return Response.status(Response.Status.BAD_REQUEST).entity( Stock + symbol + already exists ).type( text/plain ).build(); double pricetouse;

11 RESTful Web poslužitelj 491 try { pricetouse = new Double(price); catch (NumberFormatException e) { pricetouse = 0.0; StockServiceHelper.addStock(new Stock(symbol, pricetouse, currency, country)); return Response.ok().build(); Jedna od metoda u StockService je označena a druga Jedna od njih se automatski poziva kako bi obradila odgovarajuće HTTP zahtjeve. Pogledajmo kako naš Java EE poslužitelj usmjerava HTTP GET zahtjev za preuzimanjem resursa podataka o IBM-ovim dionicama predstavljenog URI-jem: Prvo, Java EE poslužitelj parsira URI i pokušava pronaći Java klasu koja odgovara vrijednosti što je u našem slučaju resources (pogledajte odjeljak Izrada aplikacije ). RESTful poslužitelj zatim traži klasu označenu /stock ) i usmjerava ovaj zahtjev klasi StockService. Budući da URI ne završava sa /stock, proces pronalaženja podudaranja se nastavlja. Naš URI nakon riječi stock sadrži simbol dionice (/IBM), a napomena na razini {symbol ) pomaže poslužitelju da pronađe (i pozove) odgovarajuću metodu: getstock(). symbol ) govori da poslužitelj treba injektirati vrijednost simbola dionice uključen u URI u argument symb metode getstock(). Slika 33-1 prikazuje napomene uključene u proces @Path Slika 33-1: Parsiranje URI-ja s MIME tip naveden u znači da metoda getstock() može dati podatke u formatu XML ili JSON. Programeri odgovorni za izradu klijentskog dijela moraju osigurati da zaglavlje klijentskog HTTP zahtjeva uključuje traženi MIME format u zaglavlju Accept. Ako se ne pronađu metode koje daju sadržaj u traženom MIME tipu, klijent će primit HTTP pogrešku 406, s kojom ćete vidjeti na djelu u vježbi na kraju ovog poglavlja. Jedan HTTP klijent može zahtijevati podatke o dionicama u formatu JSON, a drugi u formatu XML, ali oba formata poslužuje ista metoda getstock().

12 492 poglavlje 33 Rad s RESTful Web uslugama Metoda addstock() označena je kako bi konzumirala podatke iz HTML obrasca koje pošalje klijent. Ona se poziva kad je primljen zahtjev HTTP POST. Ako REST krajnja točka ne može konzumirati traženi MIME tip, klijent će primiti pogrešku 415. injektira vrijednosti iz HTML obrasca u metodu addstock(). Ako Web klijent neće koristiti HTML obrazac već će slati HTTP GET zahtjev s parametrima, morate koristiti Dionica MSFT smatra se drugim resursom i može se predstaviti URI-jem /Lesson33/resources/stock/MSFT. Tako krajnja točka StockService može pružati podatke o različitim dionicama sve dok znate njihove URI-je. Klasa StockService koristi pomoćnu klasu StockServiceHelper prikazanu u primjeru stockservicehelper_class. Radi jednostavnosti, ova klasa ima dvije izravno upisane dionice, ali bi u stvarnom svijetu bila povezana s nekim od kanala za pružanje financijskih informacija. Ona koristi statički inicijalizator koji poziva metodu generatestocks() u prvoj referenci na StockService. Primjer 33-3: Klasa StockServiceHelper public class StockServiceHelper { public static void addstock(stock stock) { stocks.put(stock.getsymbol(), stock); public static void removestock(string symbol) { stocks.remove(symbol); public static Stock getstock(string symbol) { return stocks.get(symbol); private static Map<String, Stock> stocks = new HashMap<>(); static { generatestocks(); private static void generatestocks() { addstock(new Stock( IBM, 43.12, USD, USA )); addstock(new Stock( AAPL, 120.0, USD, USA )); Izrada RESTful klijenata Klijentska aplikacija koja komunicira s poslužiteljskom krajnjom točkom može se napisati u bilo kojem programskom jeziku koji podržava HTTP zahtjeve. REST klijenti obično su HTML aplikacije koje koriste JavaScript funkcije koje upućuju takve zahtjeve.

13 Kontekst i injektiranje pomoćnih resursa 493 Budući da se ova knjiga bavi Java programiranjem, neću pisati o tome kako se to radi u JavaScriptu, već ću vam na kraju poglavlja pokazati kako se koristi alat Postman pomoću kojeg možete testirati RESTful usluge iz preglednika Chrome. Budući da se RESTful aplikacije mogu graditi u slojevima, moguće je sljedeći primjer scenarija: HTML klijent zahtijeva resurs implementiran u Javi, koja dalje postaje klijent za drugi resurs implementiran na drugom poslužitelju, recimo.net. To je sasvim dopušteno jer obje tehnologije podržavaju JSON kao format za razmjenu podataka. Ako trebate pisati RESTful klijente u Javi, upotrijebite JSON API o kojem smo govorili ranije u ovom poglavlju. Kontekst i injektiranje pomoćnih resursa Kad se Java kôd izvršava unutar Java EE kontejnera, on će možda koristiti instance nekih objekata. U poglavlju 29 upoznali ste se s injektiranjem JNDI resursa, ali možete injektirati i instance objekata aplikacije. Java EE specifikacija obuhvaća JSR 346 koji definira kontekste i injektiranje pomoćnih resursa (engl. Contexts and Dependency Injection, CDI). Na primjer, klasa StockService možda treba stroj za modeliranje koji će primijeniti neke algoritme tehničke analize kako bi dao preporuke za kupovanje ili prodaju dionica. Na primjer, možete napisati klasu TechAnalysisEngine koja implementira sučelje Recommendations, a ako koristite CDI, ne morate sami praviti instancu klase. Možete zatražiti od kontejnera da injektira instancu te klase u kôd korištenjem CDI Inject koju možete dodati prije polja, konstruktora ili metode. Sljedeći primjer injektira argument /stock ) public class StockService { Recommendations public void setrecommendationsengine(recommendations theengine){ this.theengine = application/xml, application/json {symbol public Stock getstock(@pathparam( symbol ) String symbol) { Stock stock = StockServiceHelper.getStock(symbol); String traderecommendations = theengine.getrecommendations(stock);...

14 494 poglavlje 33 Rad s RESTful Web uslugama CDI zrno je POJO kojim Java EE kontejner može upravljati. Ako planirate koristiti CDI, morte dodati praznu datoteku bean.xml koja Java EE kontejneru signalizira da pronađe CDI zrna u aplikaciji. Da nastavimo primjer sa strojem za tehničku analizu, možete ga definirati na sljedeći način: public interface Recommendations { public String getrecommendations (Stock stock); Sukladno tome, CDI zrno može se deklarirati na sljedeći način: public class TechAnalysisEngine implements Recommendations{ public TechAnalysisEngine(){ public String getrecommendations(stock stock){ String recommendations; // Ovdje implementira logiku tehničke analize return recommendations; Primjer upotrebe jednostrukog objekta Ne želite da Java EE kontejner pravi više instanci klase TechAnalysisEngine. Jedna instanca može posluživati više klijentskih zahtjeva. Samo označite klasu TechAnalysisEngine i CDI će je injektirati samo jednom. Kako biste bili sigurni da koristite CDI, uvezite javax.inject.singleton implementaciju što nije isto kao i izrada jednostruke EJB komponente implementirane u javax.ejb.singleton. Ali, što ako više klasa implementira sučelje Recommendation? Kako će kontejner znati koju implementaciju treba injektirati? Kako bi se izbjegla dvosmislenost, trebate koristiti prilagođene napomene kvalifikatora. Na primjer, možete deklarirati na @Target({TYPE, METHOD, FIELD, PARAMETER) Fundamental { Sada možete označiti drugu klasu koja također implementira sučelje public class FundamentalAnalysisEngine implements Recommendations{ public FundamentalAnalysisEngine(){

15 Pokušajte sami 495 public String getrecommendations(stock stock){ String recommendations; // Ovdje implementira logiku fundamentalne analize return recommendations; Red koji injektira instancu klase FundamentalAnalysisEngine u StockService public void setrecommendationsengine(recommendations theengine) {... Dvosmislenost je riješena! Budući da instance objekata ne pravite ručno, morate imati način da zadate koliko dugo će injektirana instanca živjeti. To se radi korištenjem napomena @ Više detalja o tim napomenama možete pronaći u poglavlju CDI u Java EE tutorijalu koji je dostupan na adresi Java EE primjeri Ovim poglavljem završavamo pregled odabranih Java EE 7 tehnologija. GitHub repozitorij na adresi javaee7-samples sadrži mnoštvo Java EE 7 primjera koda koji ilustriraju primjenu svih Java EE 7 JSR-ova. Pokušajte sami Vaš je zadatak da osposobite kôd u vezi s primjerom koji pruža cijene dionica. Morate izraditi Eclipse projekt i u njega kopirati odlomke koda sa prateće Web lokacije knjige. Zatim morate instalirati aplikaciju na GlassFish poslužitelj i pokrenuti je. Zahtjevi vježbe Trebate imati instaliranu javu i poslužitelj GlassFish v4. Napomena Izvorni kôd i resurse primjera možete preuzeti sa stranice knjige na Primjeri za ovu vježbu nalaze se u datoteci Lesson33.zip.

16 496 poglavlje 33 Rad s RESTful Web uslugama Savjeti Eclipse IDE for Java EE Developers sadrži predložak za izradu REST resursa. Kad pokrenete Eclipse projekt, desnom tipkom miša pritisnite ime projekta, odaberite stavku New i zatim RESTful Web Service from Patterns (Java EE 7). Eclipse će izraditi klasu s napomenom sličnu onoj iz primjera 33-2 koju možete urediti tako da zadovoljava potrebe vaše aplikacije. Korak po korak 1. U Java EE perspektivi okruženja Eclipse izradite dinamički Web projekt pod nazivom Lesson Preuzmite izvorne datoteke za poglavlje Izradite pakete lesson33 i lesson33.service. 4. Kopirajte klasu StockQuoteApplication u mapu lesson Kopirajte klase Stock, StockService i StockServiceHelper iz preuzetog koda u mapu lesson33/service. 6. Instalirajte projekt Lesson33 na poslužitelju GlassFish. Desnom tipkom miša pritisnite ime poslužitelja, odaberite stavku Add and Remove i u iskačućem prozoru premjestite stavku Lesson 33 iz lijevog okvira u desni tako što ćete pritisnuti gumb Add. Zatim pritisnite gumb Finish. RESTful usluga je instalirana na poslužitelju. 7. Kao klijent upotrijebite preglednik Google Chrome s programskim dodatkom Postman REST Client. Otvorite Chrome i pokrenite Postaman sa adrese bit.ly/18jpmha. 8. U polje za URL adresu na vrhu unesite sljedeću URL adresu 9. Pritisnite gumb Send i RESTful usluga odgovorit će podacima u formatu JSON. Prozor dodatka Postman trebao bi izgledati kao na slici Slika 33-2: Preuzimanje resursa stock/ibm korištenjem dodatka Postman REST Client

17 Pokušajte sami 497 GlassFish poslužitelj pronašao je REST krajnju točku StockServer i na njoj pozvao metodu getresource( IBM ). 10. Uklonite IBM iz URL adrese tako da izgleda kao ova: Lesson33/resources. Pritisnite gumb Send i dobit ćete pogrešku 405 jer krajnja točka StockService nema metode označene koje ne trebaju argumente. 11. Da biste testirali novu funkcionalnost Add NEw Stock, odaberite POST s padajućeg izbornika za metodu, odaberite karticu x-www-form-urlencoded, pritisnite gumb URL Params i popunite parametre potrebne metodi addstock() iz StockService. Kad pritisnete gumb Send, prozor dodatka Postman izgledat će kao na slici Slika 33-3: Dodavanje nove dionice pomoću POST zahtjeva RESTful krajnja točka odgovara metodi addstock() označenoj POST sa četiri argumenta. Kako biste osigurali da su podaci za dionicu MSFT dodani na stranu poslužitelja, zadajte GET zahtjev Lesson33/resources/MSFT.

Sberbank Business Online na Mozilla FireFox

Sberbank Business Online na Mozilla FireFox Sberbank Business Online na Mozilla FireFox Verzija 1.6 Srpanj 2016. Sberbank d.d. Stranica 1 SADRŽAJ 1 INSTALACIJA... 2 2 POKRETANJE MOZILLE FIREFOX... 3 2.1 IMPORT SECURITY MODULA... 4 2.2 AUTOMATSKI

More information

Uputstvo za podešavanje mail klijenta

Uputstvo za podešavanje mail klijenta Uputstvo za podešavanje mail klijenta 1. Podešavanje Thunderbird mail klijenta 1.1 Dodavanje mail naloga Da biste podesili Vaš mail klijent (u ovom slučaju Thunderbird) da prima i šalje mail-ove potrebno

More information

Upute za postavljanje Outlook Expressa

Upute za postavljanje Outlook Expressa Upute za postavljanje Outlook Expressa Prije postavljanja klijenata morate obavezno obaviti prvu prijavu na web mail kako bi aktivirali vaš račun na novom sustavu. Ukoliko niste obavili prvu prijavu, nećete

More information

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi

Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi Osnove programskog jezika C# Čas 5. Delegati, događaji i interfejsi DELEGATI Bezbedni pokazivači na funkcije Jer garantuju vrednost deklarisanog tipa. Prevodilac prijavljuje grešku ako pokušate da povežete

More information

PREDMET. Osnove Java Programiranja. Čas JAVADOC

PREDMET. Osnove Java Programiranja. Čas JAVADOC PREDMET Osnove Java Programiranja JAVADOC Copyright 2010 UNIVERZITET METROPOLITAN, Beograd. Sva prava zadržana. Bez prethodne pismene dozvole od strane Univerziteta METROPOLITAN zabranjena je reprodukcija,

More information

VDSL modem Zyxel VMG1312-B10A/B30A

VDSL modem Zyxel VMG1312-B10A/B30A VDSL modem Zyxel VMG1312-B10A/B30A Default Login Details LAN IP Address http://192.168.2.1 User Name user Password 1234 Funkcionalnost lampica Power lampica treperi kratko vrijeme nakon uključivanja modema,

More information

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets

CSS CSS. selector { property: value; } 3/20/2018. CSS: Cascading Style Sheets CSS CSS CSS: Cascading Style Sheets - Opisuje izgled (appearance) i raspored (layout) stranice - Sastoji se od CSS pravila, koji defini[u skup stilova selector { property: value; 1 Font face: font-family

More information

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt

Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući Java konstrukt Funkcionalno programiranje Interoperabilnost jezika Scala i Java Prevođenje u Java bajt kod Svi Java tipovi imaju ekvivalentan tip u jeziku Scala Većina Scala koda se direktno preslikava u odgovarajući

More information

Uputa za instaliranje programske potpore za operativni sustav WINDOWS

Uputa za instaliranje programske potpore za operativni sustav WINDOWS ZABA SignErgy Desktop aplikacija Uputa za instaliranje programske potpore za operativni sustav WINDOWS SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE

More information

VRIJEDNOSTI ATRIBUTA

VRIJEDNOSTI ATRIBUTA VRIJEDNOSTI ATRIBUTA Svaki atribut (bilo da je primarni ključ, vanjski ključ ili običan atribut) može i ne mora imati ograničenja na svojim vrijednostima. Neka od ograničenja nad atributima: Null / Not

More information

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a

UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a UPUTSTVO ZA KORIŠĆENJE NOVOG SPINTER WEBMAIL-a Webmail sistem ima podršku za SSL (HTTPS). Korištenjem ovog protokola sva komunikacija između Webmail sistema i vašeg Web čitača je kriptovana. Prilikom pristupa

More information

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb,

Case Study Hrvatska pošta: Korisničko iskustvo iz snova. Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, Case Study Hrvatska pošta: Korisničko iskustvo iz snova Tomislav Turk Samostalni sistem inženjer, Combis d.o.o. Zagreb, 27.12.2018. Sadržaj Hrvatska pošta prije projekta Izazovi projekta Tehnologije korištene

More information

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević

Sveučilište u Zagrebu PMF Matematički odsjek. Mreže računala. Vježbe 08. Zvonimir Bujanović Slaven Kožić Vinko Petričević Sveučilište u Zagrebu PMF Matematički odsjek Mreže računala Vježbe 08 Zvonimir Bujanović Slaven Kožić Vinko Petričević Uvod: (X)HTML i CSS Na ovim i idućim vježbama naučit ćemo osnove jezika za opisivanje

More information

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo

Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Osnove programskog jezika C# Čas 4. Nasledjivanje 2. deo Nasledjivanje klasa Modifikator new class A { public virtual void F() { Console.WriteLine("I am A"); } } class B : A { public override void F()

More information

JavaScript i HTML DOM

JavaScript i HTML DOM 4. vježbe iz WEB programiranja četvrtak, 22. ožujka 2012. JavaScript 1. dio JavaScript i Što je DOM? Kako JS koristi DOM? Pristup elementima dokumenta Promjena i učitavanje vrijednosti tagova Primjer 1.

More information

PROGRAMIRANJE. Amir Hajdar

PROGRAMIRANJE. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Klase i objekti u Javi Primjer kroz klasu Krug Atributi i metode Inicijalizacija objekata (konstruktori) Polymorphism Statičke varijable i metode This Klase i objekti u

More information

GUI - događaji (Events) i izuzeci. Bojan Tomić

GUI - događaji (Events) i izuzeci. Bojan Tomić GUI - događaji (Events) i izuzeci Bojan Tomić Događaji GUI reaguje na događaje (events) Događaj je neka akcija koju korisnik programa ili neko drugi izvrši korišćenjem perifernih uređaja (uglavnom miša

More information

PARALELNO PROGRAMIRANJE

PARALELNO PROGRAMIRANJE Predavanje 09 Odjel za matematiku 1 PARALELNO PROGRAMIRANJE POSIX threadovi za C++ Predavanje 09 Odjel za matematiku 2 Programske niti (thread) unutar procesa Danas ćemo se upoznati s POSIX thread bibliotekom

More information

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA

PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA PRINCIPI SOFTVERSKOG INŽENJERSTVA TIM NAZIV_TIMA SPECIFIKACIJA BAZE PODATAKA ZA PROJEKAT NAZIV_PROJEKTA Veb knjižara - Specifikacija baze podataka 1 10.04.2017. Verzija V 1.0 Datum: 20. mart 2017. Istorija

More information

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb,

Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, Microsoft Hyper-V Server 2016 radionica EDU IT Pro, Zagreb, 13.04.2017. Podešavanje Hyper-V Servera 2016 za RSAT upravljanje Dario Štefek Lokacije za preuzimanje: Microsoft Hyper-V Server 2016 https://www.microsoft.com/en-us/evalcenter/evaluate-hyper-v-server-2016

More information

Prva recenica. Druga recenica.

Prva recenica. Druga recenica. Algoritmi i programiranje Predavanje 4 METODE LOKALNE, GLOBALNE VARIJABLE I KONSTANTE METODA je imenovani izdvojeni slijed naredbi koji rješava određeni zadatak i po potrebi se poziva jednom ili više puta

More information

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365

Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje. Office 2013 / Office 365 Windows 8 Licenciranje, razlike u verzijama Windows Server 2012, VDI Licenciranje najprodavanijeg servera, što je novo, VDI licenciranje Serverski proizvodi Server 2012, System centar 2012, SQL 2012, Sharepoint

More information

PKI Applet Desktop Application Uputa za instalaciju programske potpore

PKI Applet Desktop Application Uputa za instalaciju programske potpore 1 SADRŽAJ 1. UVOD 3 2. PODRŽANI OPERATIVNI SUSTAVI 3 3. PROGRAMSKI PREDUVJETI ZA INSTALACIJU PROGRAMSKE POTPORE 3 4. INSTALACIJA PROGRAMSKE POTPORE 3 5. DEINSTALACIJA PROGRAMSKE POTPORE 6 2 1. Uvod PKI

More information

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0.

Učitati cio broj n i štampati njegovu recipročnu vrijednost. Ako je učitan broj 0, štampati 1/0. Kontrolne naredbe Primjeri: Opšti oblik razgranate strukture (if sa ) if (uslov) Naredba 1 ili blok naredbi1 Naredba 2 ili blok naredbi2 Učitati broj x i štampati vrijednost double x, z; Scanner in=new

More information

VB komande. Programiranje 1

VB komande. Programiranje 1 VB komande Programiranje 1 Zadatak 1: Sastaviti program koji se sastoji iz jedne ListBox kontrole, jedne Textbox kontrole i dva komandna dugmeta. Klikom na prvo komandno dugme umeće se u ListBox sadržaj

More information

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010

Programiranje Programski jezik C. Sadržaj. Datoteke. prof.dr.sc. Ivo Ipšić 2009/2010 Programiranje Programski jezik C prof.dr.sc. Ivo Ipšić 2009/2010 Sadržaj Ulazno-izlazne funkcije Datoteke Formatirane datoteke Funkcije za rad s datotekama Primjeri Datoteke komunikacija između programa

More information

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak...

Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Informatika Uvod u C#,.NET Framework i Visual Studio... nastavak... Prof. dr. sc. Tomislav Pribanić Izv. prof. dr. sc. Vedran Podobnik Doc. dr. sc. Marija Seder Sveučilište u Zagrebu Fakultet elektrotehnike

More information

Kako pokrenuti aplikaciju P-touch Editor

Kako pokrenuti aplikaciju P-touch Editor Kako pokrenuti aplikaciju P-touch Editor Verzija 0 CRO Uvod Važna napomena Sadržaj ovog dokumenta i specifikacije proizvoda podliježu izmjenama bez prethodne najave. Tvrtka Brother zadržava pravo na izmjene,

More information

Uputstvo za korišćenje logrotate funkcije

Uputstvo za korišćenje logrotate funkcije Copyright AMRES Sadržaj Uvod 3 Podešavanja logrotate konfiguracionog fajla 4 Strana 2 od 5 Uvod Ukoliko je aktivirano logovanje za RADIUS proces, može se desiti da posle određenog vremena server bude preopterećen

More information

Izrada VI laboratorijske vježbe

Izrada VI laboratorijske vježbe Izrada VI laboratorijske vježbe 1. Programirati proceduru koja se aktivira sa Standard palete alatki klikom na button Fajlovi. Prilikom startovanja procedure prikazuje se forma koja sadrži jedan list box

More information

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom

Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom Vjež ba 3-3: Ražvoj ASP.NET MVC 4 Pogleda s Ražor sintaksom U ovoj vježbi trebate dodati sljedeće view-ove u OnlineVrijednosnice aplikaciju: Details view za Graf model objekte ovaj view će prikazivati

More information

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja -

ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja - ARDUINO KROZ JEDNOSTAVNE PRIMJERE - pripreme za natjecanja - PRIPREMA 5-2015 DVOSMJERNA SERIJSKA KOMUNIKACIJA Paolo Zenzerović, mag. ing. el. Zagreb, 2015. 2 ARDUINO KROZ JEDNOSTAVNE PRIMJERE DVOSMJERNA

More information

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET

UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET UNIVERZITET U BEOGRADU ELEKTROTEHNIČKI FAKULTET Katedra za elektroniku Računarska elektronika Grupa br. 11 Projekat br. 8 Studenti: Stefan Vukašinović 466/2013 Jelena Urošević 99/2013 Tekst projekta :

More information

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS

Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje. WEB programiranje HTML & CSS Sveučilište u Zagrebu Fakultet strojarstva i brodogradnje WEB programiranje HTML & CSS Autor/i: Juraj Benić 2018 1. Zadatak Kreirati stranicu kojoj će naslov biti Zadatak 1. i veličina teksta 20px te staviti

More information

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi.

Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Obrada izuzetaka Šta je izuzetak? Događaj koji se javlja u toku izvršenja programa i kvari normalno izvršenje. Kada se desi izuzetak, sistem pokušava da pronađe način da ga obradi. Prosleđuje izuzetak,

More information

Vežbe - XII nedelja PHP Doc

Vežbe - XII nedelja PHP Doc Vežbe - XII nedelja PHP Doc Dražen Drašković, asistent Elektrotehnički fakultet Univerziteta u Beogradu Verzija alata JavaDoc za programski jezik PHP Standard za komentarisanje PHP koda Omogućava generisanje

More information

Naredbe za kontrolu toka

Naredbe za kontrolu toka Naredbe za kontrolu toka Naredbe za kontrolu toka Nakon odslušanog bit ćete u stanju: objasniti semantiku naredbi za kontrolu postupaka navesti sintaksu naredbi if, if-else i case u programskom jeziku

More information

VHDLPrimeri Poglavlje5.doc

VHDLPrimeri Poglavlje5.doc 5. VHDL opis kola koja obavljaju osnovne aritmetičke funkcije Sabirači Jednobitni potpuni sabirač definisan je tablicom istinitosti iz Tabele 5.1. Tabela 5.1. cin a b sum cout 0 0 0 0 0 0 0 1 1 0 0 1 0

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Naredbe ciklusa for petlja Naredbe ciklusa Veoma često se ukazuje potreba za ponavljanjem nekih naredbi više puta tj. za ponavljanjem nekog

More information

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list.

Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj list. Ime i prezime: Asistent: Predava : Programiranje (C) 1. kolokvij 14. 4. 2003. 1. 2. 3. 4. 5. 6. 7. Uputa: Zabranjeno je koristiti bilo kakva pomagala. Rje²enja pi²ete desno od zadatka. Predajete samo ovaj

More information

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar

PROGRAMIRANJE. Teme. Packages Reference objekata Inheritance nasljeđivanje Exceptions. Amir Hajdar PROGRAMIRANJE Amir Hajdar Teme 2 Packages Reference objekata Inheritance nasljeđivanje Exceptions Packages API Application Programmer Interface Sve klase ponuđene u sklopu Java jezika, uključujući i kompajler

More information

Računarske osnove Interneta (SI3ROI, IR4ROI)

Računarske osnove Interneta (SI3ROI, IR4ROI) Računarske osnove terneta (SI3ROI, IR4ROI) Vežbe MPLS Predavač: 08.11.2011. Dražen Drašković, drazen.draskovic@etf.rs Autori: Dražen Drašković Naučili ste na predavanjima MPLS (Multi-Protocol Label Switching)

More information

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta

String. String. Kreiranje string objekta pomoću string literala (konstanti) Kreiranje string objekta String string ili znakovni niz (string) nije niz znakova u Javi su stringovi klase String paketa java.lang!!! Usporedba: char gf = G ; Niz znakova String char [] gf = { G, e, o, d, e, t, s, k, i ; String

More information

progecad NLM Korisničke upute

progecad NLM Korisničke upute progecad NLM Korisničke upute Sadržaj Uvod... 2 Kako započeti... 2 progecad NLM Server instalacija... 2 progecad NLM Server registracija... 2 Dodavanje licenci i aktivacija... 3 progecad instalacija i

More information

Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010.

Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010. Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu (MS Windows XP) ver 1.1, lipanj 2010. Upute za pristup bežičnoj mreži Medicinskog fakulteta u Splitu na Microsoft Windows XP operativnom sustavu

More information

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije

OUR KNOWLEDGE FOR YOUR SUCCESS. Iskustva u razvoju i implementaciji ADF aplikacije Iskustva u razvoju i implementaciji ADF aplikacije Sadržaj Opis aplikacije za AZ Mirovinski Fond Internacionalizacija aplikacije Integracija sa Oracle Reports Iskorištenje postojeće PL/SQL logike Kreiranje

More information

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7

4.1 Učitavanje podatka tipa string Učitavanje brojčanih vrijednosti Rad sa dinamičkim objektima... 7 Java zadaci Zadaci 1. Priprema novog projekta... 1 2. Organizacija klasa u fajlove... 2 3. Ispis vrijednosti u konzolni prozor... 3 4. Učitavanje vrijednosti sa konzolnog prozora... 4 4.1 Učitavanje podatka

More information

Programski jezik JAVA PREDAVANJE

Programski jezik JAVA PREDAVANJE Programski jezik JAVA PREDAVANJE 8 2018 www.etf.ac.me Polja za potvrdu i Radio tasteri Polja za potvrdu i radio tasteri nijesu uzajamno isključivi, što znači da ako imate pet polja za potvrdu u jednom

More information

dr. sc.. Josip Musić Originalne slideove izradio:

dr. sc.. Josip Musić Originalne slideove izradio: Uvod u programiranje Programiranje 1 (450) Poglavlje 1 Uvod u računala, Microsoft.NET i VB.NET (dio 2 od 2): Pregled.NET platforme dr. sc.. Josip Musić jmusic@fesb.hr 1 Originalne slideove izradio: Teo

More information

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); }

namespace spojneice { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Spojnice using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO;

More information

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu

Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Single Sign-On s Officeom 365 na Kineziološkom fakultetu Sveučilišta u Zagrebu Stipe Gorenjak, Kineziološki fakultet Sveučilišta u Zagrebu e-mail: stipe.gorenjak@kif.hr Sponzori Ugasite mobitele. Hvala.

More information

Sveučililište J.J. Strossmayera u Osijeku Odjel za matematiku. Davor Kolarević JavaScript na poslužiteljskoj strani. Diplomski rad

Sveučililište J.J. Strossmayera u Osijeku Odjel za matematiku. Davor Kolarević JavaScript na poslužiteljskoj strani. Diplomski rad Sveučililište J.J. Strossmayera u Osijeku Odjel za matematiku Davor Kolarević JavaScript na poslužiteljskoj strani Diplomski rad Osijek, 2018. Sveučililište J.J. Strossmayera u Osijeku Odjel za matematiku

More information

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce)

Geant2 - JRA1. Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) Geant2 - JRA1 Upravljanje mjerenjem i performansama mreža (perfsonar, baza multi-domain nadzorne usluge) Danijel Matek (Srce) 21.11.2007, CUC2007, Rijeka Što je to JRA1? Glavni zadatak JRA1 (Performance

More information

ILM implementacija DWH baza u T-mobile

ILM implementacija DWH baza u T-mobile ILM implementacija DWH baza u T-mobile Bojan Šumljak, PS Consultant Hrvoje Dubravica, PS Head Consultant www.snt-world.com 1 Što je ILM? - information Lifecycle Management praksa primjenjivanja pravila

More information

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa

Uvod u programiranje - vežbe. Kontrola toka izvršavanja programa Uvod u programiranje - vežbe Kontrola toka izvršavanja programa Naredbe za kontrolu toka if, if-else, switch uslovni operator (?:) for, while, do-while break, continue, return if if (uslov) naredba; if

More information

operativni sistem part 2

operativni sistem part 2 operativni sistem part 2 zagrevanje... update komandna linija, nastavak... mnoštvo programa (jezik se zaboravlja ako se ne govori) scripting, bash, sh malo uvoda u Python, IDLE, idle malo C (ni)malo IDE,

More information

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM

PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I POLIMORFIZAM PITANJA ZA II KOLOKVIJUM NASLJEĐIVANJE, VIRTUELNE FUNKCIJE I 1. Definicija svake klase sadrzi kljucnu rec iza koje se navodi ime klase: class public extends 2. Kada je funkcija clanica definisana izvan

More information

Modbus TCP i dva PLC S7 1200

Modbus TCP i dva PLC S7 1200 Industrijski sistemi i protokoli Modbus TCP i dva PLC S7 1200 1 Modbus TCP i dva PLC S7 1200 Laboratorijski deo - obavezno: Detaljno proučiti i testirati već napravljeni projekat za PLC-ove, koji se nalazi

More information

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0

Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 POM - Pomoć korisnicima Uputstva za instaliranje čitača Datalogic Skorpio u operativnom sistemu Windows 7 i višim POM-NA-XX-46, V3.0 IZUM, 2016 COBISS, COMARC, COBIB, COLIB, IZUM su zaštićeni znaci u posedu

More information

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1

pojedinačnom elementu niza se pristupa imeniza[indeks] indeks od 0 do n-1 NIZOVI Niz deklarišemo navođenjemtipa elemenata za kojim sledi par srednjih zagrada[] i naziv niza. Ako je niz višedimenzionalni između zagrada[] se navode zarezi, čiji je broj za jedan manji od dimenzija

More information

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u

Mrežni koncepti (koncept, skica, nacrt, plan) o Pregled na najvažnije koncepte mreže. Slanje paketa sa Argon-1 prema Neon-u Mrežni koncepti (koncept, skica, nacrt, plan) Arhitektura tu protokola o Pregled na najvažnije koncepte mreže Protokol slojevi Encapsulation Uvod u mreže. Mrežna apstrakcija Ova prezentacija koristi primjer

More information

Sigurnost AJAX tehnologije CCERT-PUBDOC

Sigurnost AJAX tehnologije CCERT-PUBDOC Sigurnost AJAX tehnologije CCERT-PUBDOC-2008-04-224 Sigurnosni problemi u računalnim programima i operativnim sustavima područje je na kojem CARNet CERT kontinuirano radi od 1996. godine. Rezultat toga

More information

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA Sustavi za praćenje i vođenje procesa Seminarski rad LOGIČKI ANALIZATOR (PC kao instrument) 26. svibnja 2007. Ivan Grubišić 0036404380 1. Logički analizator Logički

More information

9. RAD S DATOTEKAMA PODATAKA

9. RAD S DATOTEKAMA PODATAKA Rad s datotekama 7-1 9. RAD S DATOTEKAMA PODATAKA U programiranju se često radi sa skupovima podataka koji se čuvaju na jedinicama perfernih memorija, a koji se organizuju u posebne cjeline koje nazivamo

More information

Serijalizacija u.net okruženju

Serijalizacija u.net okruženju INFOTEH-JAHORINA Vol. 11, March 2012. Serijalizacija u.net okruženju Stefan Tešanović, Željko Gavrić studenti prvog ciklusa studija Fakultet za informacione tehnologije, Slobomir P Univerzitet Doboj, BIH

More information

TP-LINK. Kratki priručnik za instalaciju. Bežični modem router N600 Dual Band Gigabit VDSL2. Izaberite odgovarajući program za određivanje postavki:

TP-LINK. Kratki priručnik za instalaciju. Bežični modem router N600 Dual Band Gigabit VDSL2. Izaberite odgovarajući program za određivanje postavki: TP-LINK The Reliable Choice Kratki priručnik za instalaciju Bežični modem router N600 Dual Band Gigabit VDSL2 Izaberite odgovarajući program za određivanje postavki: CD Setup Wizard Samo za korisnike sustava

More information

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju

TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom. Priručnik za korištenje i brzu instalaciju TP-LINK TL-WPA4220 strujni prijenosnik Internet ili IPTV signala s bežičnim modulom Priručnik za korištenje i brzu instalaciju Sadržaj ŠTO JE TP-LINK TL-WPA4220... 3 KAKO KORISITI TP-LINK TL-WPA4220...

More information

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133

Binarne hrpe. Strukture podataka i algoritmi VJEŽBE 26. siječnja / 133 Binarne hrpe Potpuno binarno stablo binarno stablo u kojem svaki čvor koji nije list ima točno 2 nasljednika. Binarna hrpa potpuno binarno stablo u kojem svaki čvor koji nije list ima veću ključnu vrijednost

More information

Instalacija i podešavanje računara, sa WindowsXP OS-om, za pristup Internetu preko modemskih linija RCUB-a

Instalacija i podešavanje računara, sa WindowsXP OS-om, za pristup Internetu preko modemskih linija RCUB-a Instalacija i podešavanje računara, sa WindowsXP OS-om, za pristup Internetu preko modemskih linija RCUB-a Podešavanje Dial-Up Networking-a Ovo podešavanje se vrši iz Control panel-a (Start - Settings

More information

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine

Sadržaj. Verzija 03/2017 Primjenjuje se od 20. novembra godine Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera 6 8 Cloud usluge 6 9 Aktivni servisi koji nijesu u

More information

Backup i Restore C particije ili Windowsa sa NORTON-om

Backup i Restore C particije ili Windowsa sa NORTON-om BRZO KOPIRANJE I RESTAURIRANJE DISKOVA (programski paket Norton SystemWorks) OBJAŠNJENJE Backup i Restore C particije ili Windowsa sa NORTON-om Je li vam se nekada srušio operativni sustav ili pokvario

More information

Programske paradigme Funkcionalna paradigma

Programske paradigme Funkcionalna paradigma Programske paradigme Funkcionalna paradigma 1. čas: Uvod u funkcionalno programiranje. Programski jezik Haskel. Upoznavanje sa razvojnim okruženjem. Tipovi podataka. Funkcionalno programiranje Stil u programiranju

More information

HR imago WI-FI PORTAFON KONEKCIJE

HR imago WI-FI PORTAFON KONEKCIJE HR imago WI-FI PORTAFON KONEKCIJE INSTALACIJA APLIKACIJE Instalirajte aplikaciju SafeSmart sa Google Play Store ili App Store, na vaš mobitel ili tablet. ios ANDROiD Napomena: Za prvu instalaciju, molimo

More information

Zadatci Small Basic za 7. Razred ( programa)

Zadatci Small Basic za 7. Razred (  programa) Zadatci Small Basic za 7. Razred (www.smallbasic.com-preuzimanje programa) 1. Nacrtaj slijedeći crtež pomoću naredbi u small basic-u. Boje odaberite po svojim željama. GraphicsWindow.Width = 600 Visina

More information

OBJEKTNO ORIJENTISANO PROGRAMIRANJE

OBJEKTNO ORIJENTISANO PROGRAMIRANJE OBJEKTNO ORIJENTISANO PROGRAMIRANJE PREDAVANJE 12: NASLEĐIVANJE Miloš Kovačević Đorđe Nedeljković 1 /17 OSNOVNI KONCEPTI - Statički i dinamički tipovi podataka - Prepisivanje metoda superklase - Polimorfizam

More information

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA. SMTP autentikacija

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA. SMTP autentikacija SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINARSKI RAD IZ PREDMETA SUSTAVI ZA VOĐENJE I UPRAVLJANJE PROCESIMA SMTP autentikacija Dejan Božić 0036376981 Zagreb, 05.06.2005. SADRŽAJ 1.

More information

CLOUD SERVER UPUTE ZA KORISNIKE

CLOUD SERVER UPUTE ZA KORISNIKE CLOUD SERVER UPUTE ZA KORISNIKE Opis usluge, aktivacija, korištenje, deaktivacija PROSINAC 2016. CLOUD SERVER: UPUTE ZA KORISNIKE 2 SADRŽAJ SADRŽAJ... 2 UKRATKO O USLUZI... 4 Resursi... 4 NAJČEŠĆA PITANJA...

More information

Session 12. RESTful Services. Lecture Objectives

Session 12. RESTful Services. Lecture Objectives Session 12 RESTful Services 1 Lecture Objectives Understand the fundamental concepts of Web services Become familiar with JAX-RS annotations Be able to build a simple Web service 2 10/21/2018 1 Reading

More information

Pametna komunikacija na Internetu preko REST protokola

Pametna komunikacija na Internetu preko REST protokola Pametna komunikacija na Internetu preko REST protokola Davor Lozić, dr. sc. Alen Šimec Tehničko veleučilište u Zagrebu, Vrbik 8, 10000 Zagreb, Hrvatska, dlozic@tvz.hr, alen@tvz.hr Abstract - REST protokol

More information

1 Povezivanje uređaja radi konfiguracije

1 Povezivanje uređaja radi konfiguracije Sadržaj omota Kratki priručnik za instalaciju Bežična pristupna točka 300Mbps N MODEL BR. TL-WA901ND TL-WA901ND Adapter za napajanje 1 Povezivanje uređaja radi konfiguracije Kabel Ethernet CD Kratki priručnik

More information

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme

Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme INFOTEH-JAHORINA Vol. 12, March 2013. Razvoj hibridnih mobilnih aplikacija pomoću PhoneGap platforme Igor Dujlović Elektrotehnički fakultet Banja Luka Banja Luka, BiH dujlovic@gmail.com Zoran Đurić Elektrotehnički

More information

Programiranje III razred

Programiranje III razred Tehnička škola 9. maj Bačka Palanka Programiranje III razred Konverzija tipova Konverzija tipova Prilikom komunikacije aplikacije sa korisnikom, korisnik najčešće unosi ulazne podatke koristeći tastaturu.

More information

Upute za VDSL modem BiPAC 8700VNXL R3

Upute za VDSL modem BiPAC 8700VNXL R3 Upute za VDSL modem BiPAC 8700VNXL R3 Default Login Details LAN IP Address User Name Password http://192.168.2.1 user user Funkcionalnost lampica LED Stanje Opis Power LAN 1-4 WLAN WPS USB Crvena svijetli

More information

Objektno orjentirano programiranje

Objektno orjentirano programiranje Objektno orjentirano programiranje Predavanje 4 Objektno orijentirani koncepti Konstruktori Metoda koja se poziva prilikom stvaranja novog objekta Svojstveni su OO programiranju Imaju isto ime kao i klasa

More information

3. homework assignment; JAVA, Academic year 2016/2017; FER

3. homework assignment; JAVA, Academic year 2016/2017; FER 3. homework assignment; JAVA, Academic year 2016/2017; FER Napravite prazan Maven projekt, kao u 1. zadaći: u Eclipsovom workspace direktoriju napravite direktorij hw03-0000000000 (zamijenite nule Vašim

More information

Wireframes, Mockups, Prototypes

Wireframes, Mockups, Prototypes Wireframes, Mockups, Prototypes Wireframe je važan alat u dizajnu i razvoju nekog proizvoda Koriste ga svi sudionici uključeni razvoj proizvoda (dizajneri, programeri, project manageri ) Wireframe je nacrt

More information

IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU

IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU SVEUČILIŠTE U SPLITU PRIRODOSLOVNO-MATEMATIČKI FAKULTET ZAVRŠNI RAD IZRADA INTERAKTIVNOG TESTA U ANGULAR OKRUŽENJU Student: Krešimir Sudar Mentor: doc.dr.sc. Ani Grubišić Split, rujan 2016. Sadržaj 1.

More information

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end.

b) program deljiv3; uses wincrt; var i:integer; begin i:=3; while i<100 do begin write(i:5); i:=i+3; end; end. NAREDBA CIKLUSA SA PREDUSLOVOM WHILE 1.Odrediti vrednosti s i p nakon izvrsenja sledecih naredbi za dato a=43, a=34, a=105 program p1; var a,s,p:integer; write('unesite a:');readln(a); p:=a; s:=0; while

More information

AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić

AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić AJAX Asychronous JavaScript And XML (...mali delic WEB 2.0 standarda) Tutorijal za osnovno koriscenje AJAX-a - Vladica Savić Šta je zapravo AJAX? AJAX je skraćenica od Asynchronous JavaScript And XML.

More information

Informatika. 11. Internetske usluge. Izv. prof. dr. sc. Vedran Podobnik Izv. prof. dr. sc. Tomislav Pribanić Doc. dr. sc.

Informatika. 11. Internetske usluge. Izv. prof. dr. sc. Vedran Podobnik Izv. prof. dr. sc. Tomislav Pribanić Doc. dr. sc. Vojni studiji Preddiplomski studij Studij vojnog vođenja i upravljanja Informatika 11. Internetske usluge Ak.g. 2017./2018. Izv. prof. dr. sc. Vedran Podobnik Izv. prof. dr. sc. Tomislav Pribanić Doc.

More information

Cjenovnik usluga informacionog društva

Cjenovnik usluga informacionog društva Cjenovnik usluga informacionog društva Verzija: 01/2018 Sadržaj 1 Web hosting 3 2 Registracija domena 3 3 Internet marketing 3 4 E mail paketi 4 5 Virtuoz 4 6 Internet Security servis 5 7 Kolokacija servera

More information

Izrada web aplikacije u razvojnom okruženju Spring

Izrada web aplikacije u razvojnom okruženju Spring SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE I INFORMATIKE V A R A Ž D I N Stjepan Čolak Izrada web aplikacije u razvojnom okruženju Spring ZAVRŠNI RAD Varaždin, 2015. SVEUČILIŠTE U ZAGREBU FAKULTET ORGANIZACIJE

More information

KLASIFIKACIJA JELENA JOVANOVIĆ. Web:

KLASIFIKACIJA JELENA JOVANOVIĆ.   Web: KLASIFIKACIJA JELENA JOVANOVIĆ Email: jeljov@gmail.com Web: http://jelenajovanovic.net PREGLED PREDAVANJA Šta je klasifikacija? Binarna i više-klasna klasifikacija Algoritmi klasifikacije Mere uspešnosti

More information

DA LI POSTOJI SAMO JEDNA "ISPRAVNA" ARHITEKTURA WEB POSLOVNIH APLIKACIJA

DA LI POSTOJI SAMO JEDNA ISPRAVNA ARHITEKTURA WEB POSLOVNIH APLIKACIJA DA LI POSTOJI SAMO JEDNA "ISPRAVNA" ARHITEKTURA WEB POSLOVNIH APLIKACIJA Zlatko Sirotić, univ.spec.inf. Istra informatički inženjering d.o.o. Pula Stranica 1 Malo marketinga Stranica 2 Autor je (bar neko

More information

RAČUNARSKI PRAKTIKUM II

RAČUNARSKI PRAKTIKUM II Prirodoslovno-matematički fakultet Matematički odsjek Sveučilište u Zagrebu RAČUNARSKI PRAKTIKUM II Predavanje 07 - Uvod u PHP 4. svibnja 2015. Sastavio: Zvonimir Bujanović PHP PHP Interpretirani skriptni

More information

Numerical Computation

Numerical Computation GNU Octave Numerical Computation vrlo često u tehnici retko stvarni problemi imaju closed-form solution čak i kad imaju, pitanje upotrebljivosti mnogo detalja numerički pristup u početku tretirano kao

More information

modifier returnvaluetype methodname(list of parameters) { // Method body; }

modifier returnvaluetype methodname(list of parameters) { // Method body; } Početna grupa, 28.11.2015. Metodi 1. Metodi opšti oblik metoda: modifier returnvaluetype methodname(list of parameters) // Method body; 2. Ime metoda: početno slovo je malo, a zatim slijede slova, cifre

More information

Vježbe 8 Analiza rastera

Vježbe 8 Analiza rastera Vježbe 8 Analiza rastera Sadržaj današnjih vježbi: a) Primjena filtera b) Analiza nagiba padine c) Reklasifikacija rastera d) Clip e) Cost distance analiza f) Buffer analiza g) Ekstrakcija rasterskih vrijednosti

More information

Implementacija MVC arhitekture u JSP tehnologiji

Implementacija MVC arhitekture u JSP tehnologiji INFOTEH-JAHORINA Vol. 12, March 2013. Implementacija MVC arhitekture u JSP tehnologiji Jelena Ćosović, Miljan Radojičić studenti drugog ciklusa studija Elektrotehnički fakultet Istočno Sarajevo, Bosna

More information

PROGRAMSKA PODRŠKA ZA DVODIMENZIJSKU GRAFIKU NA WEB-U

PROGRAMSKA PODRŠKA ZA DVODIMENZIJSKU GRAFIKU NA WEB-U SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA DIPLOMSKI RAD br. 1748 PROGRAMSKA PODRŠKA ZA DVODIMENZIJSKU GRAFIKU NA WEB-U Merlin Rebrović Zagreb, rujan 2008. Posvećujem ovaj rad baki Dragici.

More information