“There is nothing so terrible as activity without insight” - Johann Wolfgang von Goethe, German poet
U junu 2009. godine smo bili pri kraju treće godine studija na Fakultetu tehničkih nauka na odseku za Računarsku tehniku i računarske komunikacije. Nismo previše razmišljali kada nam je ponuđena letnja praksa. Imali smo izbor od dva razvojno-istraživačka projekta, AMUSE i INSIGHT. Svako se odlučio u skladu sa svojim ličnim preferencijama i željama. Mi sa boljom intuicijom odabrasmo INSIGHT. Šala mala, nije tu nikad bilo konkurencije. Dve ekipe, dva različita fokusa, dva različita mentora, ali u istoj misiji – naučno-istraživački rad, put u novo, ne znajući šta nas sve čeka, ali sigurni u profesore koji nas vode. Podsvesno, osećali smo da je to put koji moramo da prođemo da bismo postali pravi inženjeri. “Be great or be gone”, što bi rekli Ameri.
O tehnologiji
Naš put su bile web tehnologije, mrežni protokoli - razvoj rešenja za monitoring i dijagnostiku mreža uređaja digitalne televizije. Dobili smo neophodnu opremu, dobili smo mentore, prof. Ištvana Pappa i Milana Bjelicu i inženjere koji će nam pomoći, sa nama raditi, rasti i napredovati uz projekat. Po prvi put smo osetili kako izgleda naći se u jednom profesionalnom okruženju, kako izgleda imati svakodnevne obaveze, kako izgleda istraživati i svoja istraživanja pretakati u opipljive rezultate.
Za one koji će da preskoče tehnološke detalje, ukratko. INSIGHT je
Naš sistem se sastoji iz dva dela – servera i klijenta.
Server (Insight ACS) predstavlja centralnu tačku sistema i sa krajnjim uređajim u mreži „priča“ preko TR069 mrežnog protokola.
Server je implementiran u Java programskom jeziku (tačnije Java EE). Koristi kao platformu Jboss aplikativni server, a važni delovi njegove arhitekture su baza podataka i Infinispan Cache skladište podataka. Njegov osnovna namena prikuplja podataka sa krajnjih uređaja, njihovih parametara rada te izdavanje komandi i upravljanje određenim segmentima njihovog funkcionisanja. Server može da funkcioniše pod raznim operativnim sistemima – Windows, Linux, CentOS i drugi.
Klijent (Insight TR069 client) je softverska biblioteka realizovana u programskom jezikom C. Kasnije je razvijena i verzija u programskom jeziku Java pogodna za Android operativni sistem. Biblioteka omogućava uvezivanje biblioteke na operativni sistem ugrađenih uređaja kao što su televizori, uređaji pametni kuće, modemi i slično. Funkcija biblioteke jeste da omogući komunikaciju sa serverom sa jedne strane i sistemskim komponentama uređaja sa druge strane.
Naš sistem je morao da omogući nadgledanje cele mreže set-top boks uređaja, uvid u kvalitet signala na teritoriji, mogućnost instaliranja nove verzije softvera na uređaju na daljinu. Prilikom analize sistema pojavile su se i nove mogućnosti koje bi proširile spektar funkcionalnosti – ubrzo je razvijena mobilna aplikacija za Android platformu koja je trebala postati osnovno oruđe operatera-instalatera na terenu. „Frontend“, grafička korisnička sprega je razvijena korišćenjem GWT alata.
Glavni koncept je model podataka koji predstavlja virtuelizaciju funkcija uređaja. Model podataka predstavlja stablo parametara sa kojima biblioteka barata i koje server čuva. Model podataka ima svoje sastavne članove – parametre, objekte i atribute i oni definišu dinamiku sistema.
Zatim je dodat i interpreter Lua skript jezika koji je omogućio brže obavljanje određenih grupnih operacija nad uređajima.
A kako je nama bilo
Tokom razvoja polako smo „lečili dečije bolesti“, učili smo zajedno i mi i naši mentori. Uveli smo i dnevne „stand-up“ sastanke i Scrum metodologiju razvoja softvera. Uveli smo periodični „release“ kao demo trenutnog stanja sistema. Sistem je postajao veći i obimniji a mi sa njim inženjeri.
Icing on the cake
Nakon dve godine sazrevanja i učenja, mi smo postali inženjeri, a INSIGHT je evoluirao i doživeo svoj komercijalni debi. INSIGHT komponente su prilagođene sistemima tzv. pametne kuće i sa novorazvijenim delovima gradiće osnovu ponude ovih sistemi na stranim i domaćem tržištu.
2013. godine bili smo na sajmovima IFA (Berlin) i IBC (Amsterdam) sa AMUSE ekipom. O tom predivnom iskustvu neki drugi put. Mi tamo zaključismo da radimo na tehnologiji kojom se bave svetski poznate kompanije iz oblasti potrošačke elektronike. Ne zaostajemo za njima. Uz to, zahvaljujući postignutim rezultatima, na ICCE Berlin i ostalim eminentnim svetskim i domaćim konferencijama smo objavili 20-ak radova iz naše oblasti istraživanja.
Mi smo se na naš Mont Everest popeli. Nastavljamo u istom duhu, sa mnogo iskustva iza nas i novim izazovima ispred. Usput, pomažemo novajlijama, odavno više nismo “rookie”…. :)