71 - Flashcards
Navedite dva glavna tipa web usluga, te ukratko objasnite njihovu izvedbu i
međusobne razlike.
● REST usluge - rukovanje XML/JSON reprezentacijama resursa koristenjem uniformnog
skupa stateless operacija. Stanje aplikacije, funkcionalnosti i sve ostalo su resursi.
● Proizvoljne web usluge - usluga moze obaviti proizvoljan skup operacija. “npr, ono kad
se uslikas pa te provuce kroz neuronsku mrezu i dobijes sebe kao lolicu”
Ukratko objasnite promjene u načelima web usluga od poslužiteljske strane
aplikacije do pametnih klijenata i usluga
Posluziteljska strana aplikacija je prije radila dohvacanje iz baze i generiranje viewova (u obliku
HTML) koji se prikazivao u pregledniku, a aplikacija je sa serverom komunicirala direktno
HTTPjem. Prelazak na pametne klijente i usluge je odgovornost prikazivanja sadrzaja prebacio
na aplikacije (HTML5 ili JS) koje sadrzaj dohvacaju pomocu izlozenih usluga koje server pruza
(dohvacanje podataka). Klijenti tako komuniciraju s izlozenim servisima koji apstraktiraju server i
njegovo unutarnje postrojenje.
Skicirajte HTTP načina spajanja i objasnite HTTP metode.
IMA SLIKA.
● HEAD - vraca header dokumenta
● GET - vraca dokument
● PUT - kreira dokument
● POST - dostavlja podatke koji ce biti koristeni da kreiraju dokument
● DELETE - brise dokument
Objasnite SOAP protokol i strukturu XML SOAP poruke.
Platformski neovisan komunikacijski protokol. Baziran na XML, a koristi se za razmjenu
informacija izmedu aplikacija HTTP protokolom. Poruka se sastoji od omotnice, bodya i
headera.
Objasnite osnove načina rada i načela REST (engl. Representational State
Transfer) arhitekture, te prodiskutirajte kroz primjer.
Stanje aplikacije, funkcionalnosti i ostalo su resursi. Svaki resurs ima URI, a podaci koji se
vracaju pozivom tog URI su najcesce u JSON ili XML formatu. Oni predstavljaju (represent)
stanje (state) tog resursa.
Nacela:
● koristenje HTTP metoda
● nema cuvanja stanja na posluzitelju, nego na klijentu (jednostavnija implementacija)
● strukturiranje aplikacije URIjem
● prijenos u XHTML (kek), XML (less kek but kek), JSON (praise be)
Na primjeru kratko prodiskutirajte korištenje XML, JSON i RSS formata podataka.
● XML je dosta verbozan, koristi HTML-like tagove za zaglavlje i za definiranje sadrzaja.
Kao i ostali formati navedeni ovdje, cuva semantiku podataka, kako bismo mogli
“desifrirati” sadrzaj poruke.
● JSON je manje verbozan od XML i koristi notaciju slicno JavaScript objektima (kako i
ime kaze). Sastoji se od curly braces, dvotocke, navodnika i zareza. Takoder cuva
semantiku, ali je laksi za pisat i citat.
● RSS je baziran na XMLu sa XSD standardom. RSS dokumenti su lista stavki
Usporedite prema osnovnim obilježjima monolitnu, uslugama usmjerenu
arhitekturu i arhitekturu mikrousluga.
● Monolitna arhitektura je tradicionalni unificirani model dizajna programa. Sve
funkcionalnosti nalaze se na jednom mjestu i usko su povezane i medusobno ovisne
(tight coupling). Nadogradnja i odrzavanje takvih aplikacija je tesko jer se cesto mora
mijenjati puno vise od jedne funkcionalnosti i uzroci na ostatak koda su skriveni.
● Uslugama usmjerena arhitektura (SOA) kombinira visestruke usluge koje rade zajedno s
ciljem pruzanja odredenih funkcionalnosti. Te funkcionalnosti koriste odvojeni sustavi.
Dodaje modularnost i time je lakse odrzavanje i dodavanje funkcionalnosti, jer se
promjenom posluzitelja ne moraju nuzno mijenjati klijenti (sucelje njihove komunikacije
ostaje isto).
● Arhitektura mikrousluga razdvaja svaku funkcionalnost u svoju uslugu, sto daje
programerima mogucnost da neovisno rade na uslugama i isporucuju ih brze. Aplikacije
razvijane ovom paradigmom nastoje imati sto manji coupling izmedu usluga, a sto vecu
kohezivnost. Moguce je lakse mijenjati koristene usluge i onda se mora brinuti samo o
uklapanju u postojecu arhitekturu.
Ukratko objasnite što su uzorak MVC i okvir WCF.
● MVC je arhitekturalni uzorak koji razdvaja kod zasluzan za podatke, logiku i uloge
aplikacije (model) od dijela za prikaz podataka i interakciju (view) i od koda koji upravlja
modelom i viewom u ovisnosti o korisnickoj interakciji (controller).
● WCF je Micro$haft okvir za izradu SOA s mogucnoscu komunikacije medu visestrukim
posluziteljima neovisno o tehnologiji ili OS. Krajnje tocke sastoje se od address, binding,
contract, behaviors. Podrzava AJAX i REST.
Ukratko objasnite od kojih elemenata/koraka se sastoji stvaranje okoline
mikrousluga u tehnologiji .NET, te navedite okoline koje također omogućuju
stvaranje ili korištenje okolina mikrousluga.
Multilayer architecture:
- data layer - baza, dbConnection, database entiteti
- repository layer - repository za svaki entity/model koji sprema/dohvaca iz baze
- service layer - servisi koji sadrže business logiku
- Web layer/api layer - rest api ili neka druga arhitektura, npr MVC, ili oboje :)
Koje okoline se mogu koristiti - pa manje vise svaka jel. imas Spring, vjv python nesto, vjv i neka
ibm/oracle/”enterprise” sranja, silverlight, WPF
Detaljnije proučite MVC, MVVM i MVP obrasce programske arhitekture i
mogućnosti njihove implementacije
…….
Opišite probleme postojećih računala visokih performansi sa stajališta potrošnje
energije.
● disipacija topline, potrosnja energije, troskovi proizvodnje, troskovi programa
● odrzavanje, hladenje, elektricna energija
● proizvodnja sklopovlja
Navedite i opišite principe uštede energije procesora i radne memorije.
S-states (stanja niske potrošnje):
● čvorovi se deaktiviraju kada nisu nužni - suspend to ram / suspend to disk / soft off
CPU:
● DVFS (Dynamic Voltage and Frequency Scaling). Koristi smanjenje struje, napona,
frekvencije kad je korisnost ispod odredenog praga.
Memorija:
● CLTT/OLTT (Closed/Open Loop Thermal Throttling). Smanjuje frekvenciju i propusnost
memorije. 35% smanjenje ukupne potrosne energije. Propusnost ogranicena na 75%.
Opišite virtualizaciju sa stajališta zelenog računarstva.
Virtualizacija moze omoguciti
● dinamicka pravila potrosnje
● upravljanje Service Level Agreements (SLA) u Cloud Computing (CC) sustavu
● DVFS
● uravnotezenje i raspodjela opterecenja
VM mogu biti inertne, a skaliranje sporo. Takoder se treba uzeti u obzir overhead kojeg VM
moze imati.
Ukratko objasnite metrike primjenjive u zelenom računarstvu: PUE, DCE, TGI i DWPE,
te njihove parametre i način izračuna. Također, analizirajte način primjene navedenih
metrika u planiranju podatkovnih središta.
● PUE - power usage effectivness - omjer potrošene energije na rad čitavog sustava i
energije potrošene na rad informatičke opreme
● DCE - Data center efficiency - postotak kolika energija se potroši na rad informatičke
upreme unutar cijelog data centra (DCE = 1 / PUE)
● TGI - the green index = ( performanse mjerenog sustava/potrosena snaga mjerenog) / (performanse referentonog sustava/potrosena snaga referenotm
referentnog)- performanse izražene u flops
● DWPE - performanse po wattu
Navedite i ukratko objasnite preporuke za razvoj energetski učinkovitijih
programa, te ih razmotrite na nekom primjeru prikazanom u MPI ili OpenMP.
● Razlikovati program kao active (pokrenut, obavlja svoju zadacu i opterecuje sistemske
resurse) ili idle (pokrenut, ali ceka dogadaj kad ce postati aktivan, npr. dok se cekaju
podaci).
● Potrebno je sto brze obaviti posao i vratiti se u idle stanje. Time se energetska
ucinkovitost povecava.
● Npr. jednostavno paraleliziranje petlje ce uzrokovat brze izvodenje, vecu energetsku
ucinkovitost i manju potrosnju energije.
Moze se uvesti:
● racunalna ucinkovitost (efikasnije strukture podataka i algoritmi)
● podatkovna ucinkovitost (smanjenje premjestanja podataka, memorijska struktura koja
drzi podatke blizu obradbenih elemenata, cache memorija)
● upravljanje kontekstom (pisanje programa koji ce se sto bolje prilagoditi okolini s ciljem
stednje energije, npr. senzori u IoT)
● izbor prikladnog jezika, okvira programiranja, aplikacije za zadatak