Trendi v svetu poslovne programske opreme
Hitrost razvoja in inoviranja v industriji programske opreme je tako velika, da so lahko podjetja praktično že kar takoj v zaostanku. Preverili smo, kaj danes uporabljajo tisti, ki so v ospredju.
Podjetja se zadnja leta spoprijemajo z velikansko in vse hitreje naraščajočo količino podatkov. Večina se je odločila za logičen korak – podatke predvsem hranijo, saj ne vedo točno, kaj bi z njimi. A računi za hrambo podatkov so vedno višji, zato vodstva podjetij želijo, da se ustrezno »pokrijejo«. To počno ob pomoči analitike, ki v podatkih poišče uporabne informacije, ki jih lahko podjetje pretvori v vrednost – izdelek ali storitev, za katero je nekdo pripravljen nekaj plačati. Letošnje leto se je razcvetela ponudba na področju poslovnega obveščanja in analitike (o teh rešitvah smo podrobneje pisali v prejšnji številki). Poslovna inteligenca je skupek orodij, aplikacij in metodologij, ki podjetjem pomagajo obdelati podatke, in sicer tako, da jim bodo pomagali pri odločanju. Gre za obdelavo, analizo in vizualizacijo informacij in vzorcev, odkritih v podatkih, s katerimi se odločevalci v podjetju lažje odločijo za naslednje poslovne korake in tako podjetje doseže konkurenčno prednost. A podatkovno gnane odločitve so odlične le takrat, ko podjetje uporablja pravilne podatke. Če ni tako, lahko sledi katastrofa. Orodja za čiščenje podatkov in zagotavljanje kakovosti teh podatkov postajajo vedno pomembnejša. Na področju BI je zaznati tudi trend samopostrežništva – poslovni uporabniki preprosto zahtevajo »svobodnejše« in prilagodljivejše rešitve za opravljanje analiz in pripravo poročil. Ponudniki so to razumeli, letos so samopostrežna orodja BI prava uspešnica, enako kot orodja za vizualizacijo podatkov – saj veste, slika (lahko) pove več kot tisoč besed.
Z umetno pametjo »nabildani« programi
Bržkone najbolj uporabljana in zato tudi zlorabljana besedna zveza letošnjega leta je umetna inteligenca. Ljudje jo razumemo zelo različno. Nekateri se zadovoljijo že s tem, da zna skupek programske kode opravljati preprosta opravila namesto človeka, drugi menijo, da lahko o umetni pameti govorimo šele takrat, ko rešuje kompleksne naloge (predvsem take, ki jim še tako inteligenten posameznik ni kos). Kakorkoli, ozdelovalci poslovne programske opreme so začeli svoje rešitve nadgrajevati s tehnologijami s področja umetne pameti, predvsem strojnega in globokega učenja. Slednje je lepo vidno na področju analitičnih orodij (posebej prediktivne analitike), aplikacij za upravljanje odnosov s strankami (CRM) ter orodij BI, kjer napredni algoritmi ob velikanski strojni moči najdejo vzorce in informacije, ki bi sicer ostali spregledani. Poslovna programska oprema s tem, ko bolje razume podatke, s katerimi ima opravka, in se uči navad zaposlenega, znatno pohitri njegovo delo, poleg produktivnosti pa lahko izboljša tudi kakovost opravljenega dela. Načini, kako izdelovalci poslovne programske opreme vpeljejo umetno pamet, so seveda različni. Nekateri preprosto nadgradijo posamezne funkcije programske opreme, drugi v program jasno vključijo t. i. virtualne pomočnike, spletne strani in storitve pa opremijo s klepetalnimi roboti. Potencial inteligentnih aplikacij je vsekakor velikanski – v nekaj letih utegnejo povsem spremeniti naš način dela in podobo poslovnih okolij.
Kaj zanima razvijalce programske opreme?
Vsa podjetja se seveda ne zadovoljijo z rešitvami »s polic«, temveč razvijajo svojo programsko kodo – bodisi zaradi potrebe ali le v želji, da bi dosegli (še večjo) konkurenčno prednost. Programerji imajo na voljo kup orodij, predvsem programskih jezikov in ogrodij. Priljubljenost programskih jezikov se spreminja skoraj iz leta v leto, letos so v ospredju javascript (uporablja ga kar 88 % vseh spletnih strani), typescript (uporaben predvsem za enostavnejšo gradnjo večjih javascriptnih aplikacij) ter septembra predstavljena java 9, odprtokodni jezik, ki lahko teče na katerikoli napravi in tako razvijalcem še olajša razvoj programske opreme za različne naprave – predvsem računalnike, mobilne naprave, pa tudi pametne televizorje. Na lestvici najbolj priljubljenih programskih jezikov so se letos znašli še Go, Kotlin in Applov interaktivno zasnovani Swift.
Pri programskih ogrodjih so stvari jasne, trendi kažejo na meteorski vzpon ogrodij Angular 4 (ki ga vzdržuje Google in se uporablja predvsem za gradnjo spletnih aplikacij), Spring (za »klasične« poslovne aplikacije) in Express.js (za praktično karkoli). Omeniti velja še novo knjižico React.Js, ki omogoča hitro in praktično gradnjo novih uporabniških vmesnikov.
Trendi na področju programskih arhitektur pa gredo v smeri rabe mikrostoritev, saj te omogočajo zelo zanesljivo in skalabilno gradnjo aplikacij, pri čemer je vsaka (mikro)storitev lahko napisana v drugačnem programskem jeziku in uporablja drugačne tehnologije ravnanja s podatki, a ker gre za manjše rešitve, so te programerjem hitro razumljive in lažje povezljive. Če bi programerje vprašali, katero platformo imajo najraje, bi večina glasovala za odprtokodni Docker, ki omogoča razvoj aplikacij za različna okolja, poleg tega »kontejnerski« razvojni pristop povečuje zmogljivosti delovanja in zmanjša velikost samih aplikacij.
Anketa med programerji je razkrila, da jih kar 60 % zagovarja trpežen oziroma proti napakam odporen razvoj programske kode. Eden izmed trendov, ki se šele oblikuje, pa je reaktivno programiranje. Skalabilne in interaktivne arhitekture ter vedno več pretočnih podatkov in obilica sprememb pač potrebujejo drugačne pristope – reaktivno programiranje doslej ni bilo širše znano in uporabljano (niti dokumentirano), a se utegne to v naslednjih letih spremeniti.