Tomislav Pokrajčić, Ivica Kukić - Yet Another Vehicle Tracking System (IT Showoff)

Post on 25-May-2015

1.123 views 0 download

Tags:

description

Sustav koji razvijamo je namijenjen praćenju vozila putem GPS uređaja. Na domaćem i inozemnom tržištu već postoji mnogo rješenja za ovu problematiku, ali krenuli smo u razvoj vlastitog softvera vjerujući da možemo ponuditi nešto dovoljno novo i zanimljivo. Serverska strana sustava se temelji na Java platformi i MSSQL bazi podataka, a klijentske aplikacije su građene na Adobe Flash tehnologiji. Odabir Flash platforme (aplikacije bazirane na Flex4 frameworku i Flash/AIR runtime okolinama) omogućila nam je da napravimo bitan vizualni iskorak u odnosu na konkurentska rješenja i provodimo dosta vremena na UX problematici. Serverska strana je pak drugi tip tripa jer se tamo nalaze stream processing, rule engine i ogromna količina podataka koje treba procesirati u stvarnom vremenu, pohraniti u bazu i nahraniti razne alarming, reporting, real-time UI sync i ostale module.

Transcript of Tomislav Pokrajčić, Ivica Kukić - Yet Another Vehicle Tracking System (IT Showoff)

YAVTSYAVTSYet Another Vehicle Tracking SystemYet Another Vehicle Tracking System

Ivica KukićTomislav PokrajčićBinaria d.o.o.Binaria d.o.o.

O O ččemu emu ććemo priemo priččati?ati?

ŠŠto je to sustav za prato je to sustav za praććenje vozila?enje vozila?Koji su tehniKoji su tehniččki izazovi pri implementaciji ki izazovi pri implementaciji takvog sustava?takvog sustava?Opis joOpis jošš jednog rjejednog rješšenjaenja

Osnovne funkcijeOsnovne funkcije

ZaprimanjeZaprimanje i pohranai pohrana podataka sa vozilapodataka sa vozilaPrikaz trenutne pozicije vozila na kartiPrikaz trenutne pozicije vozila na kartiPregled pozicija vozila u proPregled pozicija vozila u proššlostilosti

IzvjeIzvješštajitaji

Prijeđeni putPrijeđeni putBrzina voBrzina vožžnjenjeZaustavljanjaZaustavljanjaEkscesi (speeding, geofence alert, ...)Ekscesi (speeding, geofence alert, ...)......

OgraniOgraniččenja i pravilaenja i pravila

GeofenceGeofencePrekoraPrekoraččenje brzineenje brzinePreduga voPreduga vožžnja (kamioni)nja (kamioni)VoVožžnja u nedopunja u nedopuššteno vrijemeteno vrijemePanic buttonPanic buttonKrađaKrađa

Automatizirane akcijeAutomatizirane akcije

Notifikacija nadzornom organu (eNotifikacija nadzornom organu (e--mail, mail, sms, web/mobile klijent)sms, web/mobile klijent)Blokada rada motoraBlokada rada motoraObavijest vozaObavijest vozačču (u (““UUššli ste u nedopuli ste u nedopuššteno teno podrupodruččjeje””, , ““Vozite nedopuVozite nedopušštenom tenom brzinombrzinom””...)...)

PodruPodruččja primjeneja primjeneNadzorom do uNadzorom do ušštedetedeKontrola ponaKontrola ponaššanjaanjaZaZašštitatitaAdministrativni podaciAdministrativni podaciOptimizacija poslovanjaOptimizacija poslovanjaEfikasnost (najbliEfikasnost (najbližži djelatnik za intervenciju)i djelatnik za intervenciju)Nadzor stanja vozila (temperatura hladnjaNadzor stanja vozila (temperatura hladnjačče, e, otvaranje vrata tovarnog prostora, ...)otvaranje vrata tovarnog prostora, ...)Kontrola izlaska sa dozvoljene traseKontrola izlaska sa dozvoljene trase......

Osnovne nefunkcionalne osobine Osnovne nefunkcionalne osobine sustavasustava

Visoka pouzdanost i stalna dostupnostVisoka pouzdanost i stalna dostupnostOtpornost na pogreOtpornost na pogrešške i oporavljivostke i oporavljivostSkalabilnostSkalabilnost

TehniTehniččki izazovi pri realizaciji ki izazovi pri realizaciji

Izgradnja podrIzgradnja podršške za rad s uređajima ke za rad s uređajima Optimizacija optereOptimizacija optereććenja sustavaenja sustava Broj spojenih uređaja u sustavuBroj spojenih uređaja u sustavu Baza Baza Obrada podatakaObrada podatakaPrezentacija podataka Prezentacija podataka

Uređajni izazoviUređajni izazovi

Veliki broj razliVeliki broj različčitih GPS uređaja na tritih GPS uređaja na tržžiišštutuBroj Broj featurefeature--a proporcionalan a proporcionalan priceprice--uuKomunikacijski Babilon Komunikacijski Babilon (TCP/UDP/HTTP/SMS/...)(TCP/UDP/HTTP/SMS/...)Izgradnja zajedniIzgradnja zajedniččkog sukog suččelja prema svim elja prema svim uređajima uređajima Sustav je Sustav je device agnosticdevice agnostic

OptereOptereććenje pt.1 enje pt.1 -- Uređaji Uređaji

Veliki broj spojenih uređajaVeliki broj spojenih uređajaTrajne TCP konekcijeTrajne TCP konekcije100 bajtova svakih 10s100 bajtova svakih 10s

OptereOptereććenje pt.2 enje pt.2 -- BazaBaza

ProblematiProblematiččan upis ogromne kolian upis ogromne količčine ine podataka u kratkom vremenupodataka u kratkom vremenuPotrebna brzina = cca. 200 KB / sPotrebna brzina = cca. 200 KB / sKoliKoliččina = ina = 0.5 0.5 TB mjeseTB mjeseččnono

(SQL naredbe preko JDBC(SQL naredbe preko JDBC--a ne daju potreban red velia ne daju potreban red veliččine)ine)

OptereOptereććenje pt.3 enje pt.3 –– obrada obrada podatakapodataka

Velika koliVelika količčina nadolazeina nadolazeććih podataka nad kojima ih podataka nad kojima je potrebno obaviti kompleksnu obraduje potrebno obaviti kompleksnu obradu Sistemski parametrizirana evaluacijaSistemski parametrizirana evaluacija

System health, watchSystem health, watch--dog monitoring, ...dog monitoring, ...

KorisniKorisniččki parametrizirana evaluacijaki parametrizirana evaluacijaGeofence, prekoraGeofence, prekoraččenje brzine, ...enje brzine, ...

Rezultati obrade se oRezultati obrade se oččekuju u ekuju u ““realnom realnom vremenuvremenu”” (obavijest o voza(obavijest o vozaččevoj aktivaciji SOS evoj aktivaciji SOS gumba koja gumba koja ćće doe doćći unutar dnevnog izvjei unutar dnevnog izvješštaja taja nije prihvatljiva)nije prihvatljiva)

Prezentacija podatakaPrezentacija podataka

Cilj br.1: izbjeCilj br.1: izbjećći i ““tablitabliččnunu”” aplikacijuaplikacijuVeliku koliVeliku količčinu međusobno ovisnih inu međusobno ovisnih numerinumeriččkih podataka prezentirati na kih podataka prezentirati na jednostavan, intuitivan i atraktivan najednostavan, intuitivan i atraktivan naččininPosvetiti paPosvetiti pažžnju interakcijinju interakciji Zahtjevne akcije kroz wizard guided postupkeZahtjevne akcije kroz wizard guided postupke Jednostavne akcije trebaju biti jednostavneJednostavne akcije trebaju biti jednostavne

““the art of simplicitythe art of simplicity””

Osnovne karakteristike rjeOsnovne karakteristike rješšenjaenja

Apstrakcija vanjskih uređaja na razini Apstrakcija vanjskih uređaja na razini komunikacijskog slojakomunikacijskog slojaStream processingStream processing model model –– podaci se podaci se procesiraju prije spremanja u bazuprocesiraju prije spremanja u bazuBulk pohrana podatakaBulk pohrana podataka

OpOpććenito minimizirana potreba za pristupom bazienito minimizirana potreba za pristupom bazi

Stream processing vs. DB post processingStream processing vs. DB post processing

Stream processing je pogodniji za slijedne Stream processing je pogodniji za slijedne podatkepodatkeObradom podataka po dolasku se izbjegavaju Obradom podataka po dolasku se izbjegavaju nepotrebne r/w operacije na bazi nepotrebne r/w operacije na bazi Eliminiranje upisa nepotrebnih podatakaEliminiranje upisa nepotrebnih podatakaAritmetiAritmetiččka procesiranja je puno lakka procesiranja je puno lakšše e implementirati u Javi nego u SQL proceduramaimplementirati u Javi nego u SQL procedurama

Stream processorStream processor

Sastavni dio stream procesora je ruleSastavni dio stream procesora je rule--engineengine Validacija praValidacija pravilvilaa oblika ifoblika if--thenthenIf (speed If (speed > maxAllowedSpeed> maxAllowedSpeed)) then sendSMSAlarmthen sendSMSAlarm

Izbor izmeIzbor između koriđu korišštenja gotovih rjetenja gotovih rješšenja i enja i vlastitog custom rjevlastitog custom rješšenja je pao na potonjeenja je pao na potonje

Za pristup live podacima nije potrebno pristupanje baziZa pristup live podacima nije potrebno pristupanje bazi

GUIGUI

Fat clientFat client RIA aplikacija u Adobe Flash RIA aplikacija u Adobe Flash tehnologiji (Flash/Flex4/AIR)tehnologiji (Flash/Flex4/AIR)Razmjena podataka sa serverom u Razmjena podataka sa serverom u binarnom AMF formatubinarnom AMF formatuWeb server je potpuno rastereWeb server je potpuno rastereććen od en od zadataka vezanih uz generiranje GUIzadataka vezanih uz generiranje GUI--a a Znatna koliZnatna količčina procesiranja prebaina procesiranja prebaččena na ena na klijentaklijenta

Pitanja?Pitanja?

Hvala!Hvala!

Kontakt:Kontakt: www.binaria.hrwww.binaria.hr infoinfo@@binaria.hrbinaria.hr