Vroče tehnologije za digitalno transformacijo

Področje IT je umeščeno neposredno pod upravo, tako da aktivno soustvarja strategije.

Vroče tehnologije za digitalno transformacijo
2. 6. 2016 InfoSRC

Vroče tehnologije za digitalno transformacijo

V prvem delu prispevka smo govorili o spletnih in mobilnih aplikacijah. V drugem delu se bomo posvetili API-jem, storitvam in »cloudifikaciji«.

STORITVE IN UPRAVLJANJE API-JEV

Storitve in njihovi API-ji postajajo ključni vezni člen med spletnimi in mobilnimi aplikacijami ter zalednim poslovnim informacijskim sistemom. API-ji igrajo pri tem ključno vlogo, saj predstavljajo vrata, ki omogočajo hiter in učinkovit dostop do virov v poslovnem informacijskem sistemu, ki so običajno težko dostopni, skriti, slabo poznani ter do katerih imajo dostop samo pooblaščeni ljudje z oddelka IT.

API-ji poleg tega predstavljajo horizontalne gradnike in s tem spodbujajo h konsolidaciji poslovne logike. Nekateri to imenujejo tudi razbijanje silosov. Z ustreznim upravljanjem API-jev namreč dosežemo konsolidacijo in ponovno uporabo poslovne logike ter preprečimo, da bo vsaka rešitev svoj silos oz. svoj steber, ki bo vključeval vse – od uporabniškega vmesnika preko poslovne logike do podatkovne baze.

Uporaba API-jev je tukaj ključnega pomena. Ne samo, da API-ji pohitrijo razvoj, saj omogočajo uporabo funkcionalnosti, ki že obstajajo, API-ji nas vodijo v smer razvoja kompozitnih aplikacij oz. sestavljanja aplikacij, s čimer pomembno skrajšajo čas razvoja.

V tem smislu API-ji predstavljajo vezni člen med »back-end«-om in »front-end«-om ter s tem osnovo pomembne vrednostne verzije – verige med razvijalci sodobnih spletnih in mobilnih rešitev ter tradicionalnim poslovnim informacijskih sistemom v ozadju.

Razvoj API-jev pa je neposredno povezan tudi z njihovim upravljanjem – API Management-om. Kot smo že povedali zgoraj, razvoj API-jev ni trivialna naloga. Razviti API-je, ki bodo prilagojeni novi generaciji spletnih in mobilnih aplikacij, različnim scenarijem uporabe, API-je, ki bodo robustni, skalabilni, varni, ki bodo omogočali različne nivoje dostopa (razvijalcev zunaj podjetja, partnerjev, znotraj podjetja itd.), ki bodo sposobni verzioniranja, analitike uporabe in tako naprej, zahteva ključna znanja in kompetence.

slika-2-lastnosti-sodobnih-apijev

Slika 2 prikazuje ključne lastnosti sodobnih API-jev, ki jih je treba nasloviti.
Vzpostavitev API-jev je naloga vsakega podjetja in ni neposredno povezana s posameznim projektom. Danes sposobnost upravljanja API-jev postaja ena od temeljnih ločnic podjetij, ki so pripravljena na digitalno transformacijo, od podjetij, ki niso. Hkrati upravljanje API-jev velja za strateško prednost v API-ekonomiji.

SlIkA 2: lASTnoSTI SoDoBnIh API-JeV

Eden ključnih korakov k vpeljavi API-jev je vzpostavitev platforme za njihovo upravljanje. Slika 3 prikazuje primer take platforme.

slika-3-orodje-za-upravljanje-z-apiji

SLIKA 3: oRoDJe zA UPRAVlJAnJe z API-JI

Za podjetja, ki so že vzpostavila storitveni nivo in arhitekturo SOA, predstavlja vpeljava API-jev naslednji logični korak. Ker v teh okoljih že vladajo koncepti storitvene usmerjenosti, je vpeljava API-jev razmeroma preprosta.

V okoljih, ki še niso vpeljala storitvenih konceptov, pa vpeljava API-jev zahteva veliko več dela. Tukaj enostavno ni bližnjic in kljub temu, da vas bodo različni ponudniki želeli prepričati, da je za upravljanje API-jev potreben samo nakup ustreznega API Management orodja, je resnica daleč stran. Uspešna vpeljava API- jev namreč zahteva konsolidacijo funkcionalnosti, njihovo izpostavljanje skozi storitvene vmesnike oz. API-je, vpeljavo konceptov storitvene usmerjenosti, šele nato pa orodje za njihovo upravljanje.

»cloudifikAcijA« in mikroStoritve

Tretji pomemben steber digitalne transformacije pa je prehod v oblak, ali »cloudi kacija«. Na tem področju verjetno vlada največ dezinformacij in napačnega razumevanja, ki ga tudi sam srečujem vsakodnevno. Prehod v oblak namreč z vidika digitalne transformacije ne pomeni, da imate na vašem strežniku nameščeno tako ali drugačno virtualizacijo, kot vas morda prepričujejo vaši sistemci.

»Cloudifikacija« pomeni zmožnost hitrega in učinkovitega dostopa do računalniških resursov. Z drugimi besedami, to pomeni, da so vaše aplikacije in vaši sistemi pripravljeni na XaaS – Everything as a Service.

Aplikacije, razvite za potrebe digitalne transformacije, morajo biti sposobne učinkovitega izvajanja v oblaku. Učinkovito izvajanje v oblaku pa pomeni storitveno zasnovo. Pomeni, da so aplikacije sestavljene iz več delov – storitev, ki so neodvisne, ki med seboj komunicirajo preko vmesnikov oz. API-jev in ki jih lahko neodvisno horizontalno skaliramo na oblačnih okoljih tipa IaaS in PaaS. Večina najpopularnejših okolij danes temelji na vsebniških tehnologijah tipa Docker.

Razvoj takih aplikacij je danes neposredno povezan z uporabo arhitekture mikrostoritev (microservices). Mikrostoritve so arhitekturni vzorec, prilagojen izvajanju v oblaku. Kljub temu, da nam bi tudi tukaj bilo lažje vreči nekaj peska v oči in reči, ah, mikrostoritve so samo še en »buzz-word«, ki ga tako ali tako že uporabljamo (saj znamo zgraditi REST-storitev), je resnica drugačna.

Vpeljava arhitekture mikrostoritev zahteva pomembne premike pri načrtovanju aplikacij. Zahteva upoštevanje vzorcev ene odgovornosti, atomarnosti, robustnosti, zmožnosti kompozicije in tako naprej. Hkrati pa zahteva uporabo izbranega ogrodja za mikrostoritve. Slika 4 prikazuje spletno stran ogrodja KumuluzEE, ogrodja za razvoj mikrostoritev v Javi EE, dobitnika nagrade za najboljšo inovacijo v Javi – Java Duke’s Choice Award Winner 2015.

slika-4-orodje-za-mikrostoritve-ekumuluze

ZAKLJUČEK

Razvoj dobrih, učinkovitih in sodobnih aplikacij za podporo digitalni transformaciji je sposobnost, ki bo odločala o zmagovalcih ter poražencih v tem procesu. Zato je ne gre vzeti zlahka. Pri tem je treba skrbno izbrati izvajalce oz. tiste, ki jim boste zaupali digitalno prihodnost vašega podjetja. Kljub temu, da sem že povedal, naj poudarim še enkrat – razvoj rešitev za digitalno transformacijo zahteva ne samo poznavanje, pač pa izkušnje pri uporabi sodobnih pristopov.

Po eni strani je to sposobnost razvoja spletnih in mobilnih aplikacij, katerih uporabniška izkušnja vas bo ločevala od konkurence – v pozitivnem smislu. Po drugi strani je to zmožnost in sposobnost integracije z zalednimi sistemi, ki ne more temeljiti na integracijah point-to-point, saj bo tak pristop vodil k tesno sklopljenim rešitvam, ki jih bo težko prilagajati, spreminjati in popravljati. Integracija mora potekati preko API-jev, ki pa morajo biti zgrajeni po konceptih storitvene usmerjenosti. In tretji vidik je »cloudi kacija«, ki pomeni, da bodo vaše rešitve zgrajene tako, da se bodo učinkovito izvajale v oblaku. S tem ciljam predvsem na arhitekturo mikrostoritev, ki je neločljivo povezana s tranzicijo v oblak.

»Cloudifikacija« pa pomeni še nekaj – pomeni premik v dojemanju razvoja in trajanja razvoja, ki se od trajanja, ki smo ga merili v letih, premika v trajanje, ki ga merimo v mesecih, morda celo v tednih. Čeprav »bogokletno« v očeh tradicionalnih IT-jevcev, pa je ravno ta premik ključen za vas in vaše podjetje, saj vam bo omogočil, da na igrišču digitalne ekonomije igrate in reagirate hitro – hitreje od vaših konkurentov. In to je glavni del enačbe preživetja v digitalni ekonomiji.

Če uživate v člankih, jih delite s prijatelji. Lepe stvari je lepo deliti.