Android u ERP svetu

Za samo par godina pametni telefoni i tableti su nas navikli da sa sobom nosimo kompjuterske aplikacije bez kojih ne možemo. Na Android platformi, pored zabave, mogućnosti da pretražujemo Internet i komuniciramo sa drugima, dostupni su i poslovni programi. Jedan takav program razvio je beogradski GoPro.

Komunikacija korisnika sa srcem ERP sistema nije nešto novo – module za mobilne uređaje razvijaju kako sami proizvođači ERP‑ova, tako i nezavisne softverske kuće. I svi oni, bez obzira da li se radi o poslovima prodaje, izveštavanja ili manipulacijom robe u skladištima – da navedemo samo neke najčešće primene mobilnih aplikacija – rade odlično, na zadovoljstvo korisnika. I kako to obično biva, svaka od njih ima poneko „ali“, tako da za budući razvoj i plasman novih rešenja itekako ima i potrebe i prostora.

GoPro nam je dobro poznat na polju implementacije Microsoft Dynamics NAV‑a. Za kratko vreme ovaj tim vrhunskih stručnjaka je stekao i reputaciju i poverenje korisnika. Velika snaga tima je u primeni inovativnih rešenja, uz hvatanje u koštac sa izazovima koje pred njih postavljaju potrebe korisnika. Na jednom od projekata prepoznata je potreba pokrivanja poslovnih procesa za terenske komercijaliste i to u složenom i dinamičnom okruženju. Pretraga ponuđenih rešenja za NAV nije dala željene rezultate, jer su sa jedne strane ona koja su u najvećoj meri (mada i dalje ne i u potpunosti) ispunjavala projektne zahteve bila skupa, dok su ekonomski prihvatljiva rešenja, zbog isuviše malog stepena zadovoljenja potreba korisnika, vodila u pravcu dodatnog razvoja, redukcije postavljanih ciljeva i produženja vremena implementacije. Postoji i treći put – razvoj sopstvenog rešenja, a u GoPro‑u vrlo brzo prihvatili taj izazov, uz punu veru u svoje znanje, snagu i iskustvo.

Pregršt izazova

GoPro NAV OnTheGo mobilna aplikacija je nastala imajući u vidu brojne zahteve od kojih ćemo ovde pomenuti samo neke. Potrebno je da se omogući nesmetan rad za nekoliko desetina terenskih komercijalista, a da se pritom održe maksimalne performanse sistema u kojem više od sto korisnika neprestano napadaju bazu podataka. Aplikacija mora da omogući rad u uslovima kada nema direktnog pristupa serveru ili je ta veza bitno ugrožena smetnjama u komunikaciji. Set podataka dostupnih korisnicima na mobilnom uređaju treba, pored osnovnih informacija i funkcionalnosti, da pruži praktično isti nivo kao i kada se koriste standardni moduli ERP‑a koji su u stalnoj i kvalitetnoj vezi sa bazom podataka. Vodilo se računa i o „sitnicama“: uređaji koji se koriste na terenu treba da budu laki i jednostavni za upotrebu, sa dugim vremenom automnog rada, dok je na polju izabranih tehnologija za razvoj aplikacije dobro da se krene u pravcu koji će za niz godina biti atraktivan i perspektivan. I taman kada su pomislili da je tu kraj, neko u timu je izvukao poslednji izazov iz rukava – zašto bi razvili aplikaciju koja će da radi samo sa Dynamics NAV‑om, a ne i sa ostalim ERP‑ovima koji mogu da po dobro standardizovanom protokolu razmenjuju podatke?

Na polju funkcionalnosti koje su na raspolaganju korisnicima GoPro NAV OnTheGo aplikacije nije se štedelo i razvijen je sistem koji pokriva sve aktivnosti u prodaji koje su dostupne ako se radi kroz standardni desktop klijent za Dynamics NAV. Da bismo vam približili mogućnosti NAV OnTheGo‑a, zamislićemo jedan mogući scenario.

Tokom redovnih poslovnih aktivnosti na terenu često se javlja potreba da se kreira novi potencijalni kupac. Umesto popunjavanja formulara ili zapisivanja podataka u beležnicu, komercijalista direktno kreira novi zapis sa svim podacima koji su relevantni i čuvaju se u centralnoj bazi podataka. Beleže se i kontakti vezani za kupca. Ma koliko su ovi podaci važni za korisnika ERP‑a, u prodaji su još važniji pravovremeni i tačni podaci o robi koja se nudi: cena, raspoloživost, rok isporuke, akcijska prodaja… NAV OnTheGo će uvek pružiti traženu informaciju, pa čak i ako ne postoji veza sa serverom, jer je na samom mobilnom uređaju mala baza podataka koja se, kad god je to tehnički moguće, sinhronizuje sa centralnom bazom podataka.

Pođimo korak dalje i zamislimo da je kupac zainteresovan da poruči artikle. Komercijalista tokom razgovora kreira ponudu koja može da, posle sinhronizacije sa centralnom bazom i provere podataka, putem e‑mail servisa u ERP‑u da bude dostavljena kupcu. Ako je on prihvati, iz ponude se, bez intervencije „nekoga u centrali“, prelazi u status porudžbine kupca. I pre nego što komercijalista izađe iz prostorija kupca posao ne samo da je zaključen, već je i pokrenut proces isporuke robe. Brže od ovoga ne može.

Tokom ugovaranja komercijalista ima mogućnost da radi sa više cenovnika, da prati statuse robe koje nema na stanju ali je poručena i očekuje se da uskoro stigne (ovde su na raspolaganju podaci kako o količini, tako i o planiranom roku u kojem će roba biti na lageru). Za postojeće kupce vidljive su informacije o isporučenoj robi, statusu porudžbna, ranijim ponudama, dospelosti potraživanja… NAV OnTheGo komercijalisti omogućava potpuni uvid u poslovni odnos sa kupcem, ali i daje odgovor na svako pitanje važno za kvalitetnu prodaju.

Postoji još niz aktivnosti u kojima GoPro NAV OnTheGo omogućava da vam kancelarija bude gde god da se nalazite. Tu su evidentiranje poslovnih aktivnosti, kreiranje i ažuriranje planova rada, komunikacija sa saradnicima i menadžmentom u formi standardizovanih poslovnih aktivnosti, a u cilju stvaranja uslova za kvalitetnu prodaju. Bez ove aplikacije za većinu ovih poslova bilo bi potrebno provesti značajan broj sati u telefonskim razgovorima, slanju elektronske pošte ili u kancelariji. Ovako, sve može da se uradi i sa terena ili uveče, kada se dođe kući. Spisak mogućnosti zbog kojih je NAV OnTheGo prava kancelarija za terenskog komercijalistu je daleko duži, mi smo izdvojili samo neke u meri koliko nam prostor dozvoljava.

Mudra rešenja

Razvoj je istovremeno pokrenut u dva pravca. Jedan deo GoPro tima programera posvetio se razvoju na nivou ERP rešenja, dok je drugi krenuo u razvoj korisničke aplikacije. Prvima je naizgled posao bio jednostavniji. Logično rešenje za komunikaciju koja može da bude platformski nezavisna je SOAP u saradnji sa Web servisima. Obe tehnologije su snažno implementirane u same Microsoft Dynamics proizvode, a i većina drugih ERP sistema na isti način komunicira, odnosno razmenjuje podatke sa eksternim aplikacijama. Ipak, nije sve bilo tako lako. Pored postojećih Web servisa za NAV koje je trebalo prilagoditi javila se potreba za razvojem novih, a svi su prošli kroz rigorozni tretman optimizacije i bezbednosti, kako u pogledu zaštite privatnosti, tako i u pogledu pouzdanosti prenosa podataka od i ka SQL serveru. Optimizacija Web servisa je bila veliki izazov za programere, jer su postavljena i ispunjena očekivanja da se ni na strani klijentske aplikacije, ni na strani servera ne oseti nikakvo usporenje uzrokovano prenosom podataka. U cilju postizanja boljih performansi, tamo gde je to bilo moguće, primenjen je direktan pristup podacima na SQL serveru. Sve je razvijeno po modularnom principu i u dva sloja. Osnovni sloj je zadužen za povezivanje sa bazom podataka, autentikaciju, transfer i privremeno skladištenje informacija, bezbednost i upravljanje kontaktima. U višem, aplikativnom sloju je poslovna logika, odnosno tu su smešteni objekti i funkcionalnosti nalik onima u samom ERP sistemu i bez kojih je nemoguće izvoditi poslovne aktivnosti. Da budemo jasniji, u ovom sloju je sve što vam je potrebno da razmenjujete sa bazom podatke o kupcima, asortimanu, količinama u skladištu, pravite porudžbine, saznajete neophodne podatke o prodatoj i plaćenoj robi…

Izbor Android platforme za klijentsku aplikaciju je, tek na prvi pogled, neočekivan. Dugi niz godina na polju mobilnih ERP aplikacija, ako isključimo one koje su pokretane kroz neki Web browser, vladala su Windows Mobile rešenja.

Situacija se sada bitno izmenila u korist Android platforme koja je danas ubedljivo ispred Windows‑a za mobilne uređaje. Ovde ne govorimo samo o širokom spektru uređaja na kojima se aplikacija može koristiti – mislimo na pametne telefone i tablet računare velikog broja proizvođača gde za svakoga postoji onaj pravi, bilo po performansama, bilo po ceni, nego i po samom operativnom sistemu koji ima perspektivu, kvalitetnim razvojnim alatima, standardizovanim programskim komponentama i ogromnoj zajednici programera koji otvoreno razmenjuju iskustva i znanje. Krajnji rezultat je da je danas na Android platformi moguć razvoj kvalitetnih aplikacija za vrlo kratko vreme i po ceni koja je izuzetno atraktivna.

Prva ključna odluka GoPro programera bila je vezana za stabilnost internet veze. Osnovni način pristupa vezan je za prenos podataka kroz mrežu mobilne telefonije, a kvalitet te veze varira, bilo da govorimo o lokaciji, bilo da govorimo opterećenju same mreže. Rešenje koje je primenjeno i koje smanjuje rizike nemogućnosti korišćenja aplikacije ili sporog prenosa podataka u realnom vremenu je da se ugradi lokalna baza podataka koja se, kada je to potrebno i moguće, sinhronizuje sa centralnom bazom podataka na moćnom SQL serveru.

GoPro NAV OnTheGo je u skladu sa pozitivnim iskustvima na ovoj platformi razvijena korišćenjem Java programskog jezika, Android SDK i Content Providers paketa za pristup podacima u lokalnoj bazi podataka i za razmenu informacija sa drugim programima pisanim za Android (klijent za elektronsku poštu, kalendar, kontakti…). Pošto se radi o standardnim i široko zastupljenim razvojnim alatima, zagarantovana je kompatibilnost sa postojećim, ali i budućim verzijama Android‑a i programa pisanih za ovaj operativni sistem. Android aplikacije i ERP komuniciraju, kako smo već pomenuli, pomoću SOAP Web servisa. Većina modernih ERP‑ova u sebi ima ugrađen mehanizam objavljivanja biznis logike u formi Web servisa kao način da drugi sistemi komuniciraju sa njim.

Posle samo nekoliko meseci intenzivnog razvoja GoPro NAV OnTheGo aplikacija se našla u primeni i to kod korisnika čije je poslovanje suštinski zavisno od rada više desetina prodavaca na terenu i koji je i ranije koristio mobilnu aplikaciju.

Ovakvo produkciono okruženje predstavlja pravi izazov jer pruža mogućnost da se svi nedostaci brzo uoče. Na sreću korisnika i ljudi iz GoPro‑a period testiranja je prošao za tren, a rad u stvarnom životu je pokazao da su dostignuti ambiciozno zadati ciljevi.

Izvor: PC Press | Autor: Milan Bašić (Objavljeno u časopisu PC#202)