Acum 5 ani Microsoft lansa Dynamics NAV 2013, un produs cu o arhitectură total schimbată față de versiunile precedente, cu multe lucruri noi, dar căruia nu îi puteam spune nici pe departe “revoluționar”. Era însă numai începutul. De atunci, cu o cadență de metronom, au urmat NAV 2013 R2, NAV 2015, NAV 2016, NAV 2017. Un release major pe an și un cumulative update pe lună. An de an, termeni și concepte noi au început să-și facă apariția: Multitenant, Events, Extensions.
La 1 Decembrie a fost lansat Microsoft Dynamics NAV 2018 și, o dată cu acesta, putem spune că, cel puțin din punct de vedere al tehnologiilor folosite, revoluția a venit. Deși, la prima vedere, ceea ce vedem seamănă destul de bine cu NAV 2017, ceea ce se ascunde dincolo de UI-ul familiar, este o culminare a eforturilor începute acum 5 ani și al căror rezultat se va vedea pe parcursul anului 2018.
Mai întâi se impun câteva explicații. Voi încerca să clarific succint termenii folosiți mai sus:
Multitenant = multi-chiriaș; posibilitatea unei aplicații de a gestiona în cadrul aceleiași instanțe (instalări) mai multe entități (fiecare cu grupul sau de companii) fără ca acestea să fie vizibile între ele. O soluție elegantă pentru hosting, în cazul în care clienții aparțin unei aceleiași verticale și au customizări asemănătoare.
Events = evenimente; tehnică de programare care limitează sau elimină complet necesitatea de a modifica codul standard al aplicației în situația efectuării unor customizări pentru un client specific sau pentru o anume verticală. Aplicată corect, poate ușura enorm upgrade-ul la o versiune nouă. Pentru a realiza amploarea luată de aceste direcții noi în dezvoltarea NAV-ului, iată cum a evoluat numărul de evenimente: NAV 2016 – 128 evenimente; NAV 2017 – 226 evenimente; NAV 2018 – 1211 evenimente!
Extensions = extensii; tehnica de programare care permite extinderea funcționalității unei aplicații (NAV în acest caz) fără a modifica obiectele standard ale aplicației. O extensie poate adăuga obiecte noi sau extinde obiectele existente folosind evenimente, fără a modifica deci codul sursă al obiectelor standard.
NAV 2018 duce mai departe aceste concepte apărute în versiunile anterioare (Extensions v2) prin schimbarea întregului mediu de dezvoltare pentru extensii, renunțând la deja clasicul NAV Development Environment pentru Visual Studio Code. Aceasta este o aplicație open source, gratuită, care primește o extensie nouă numită OpenAL, ce conține tot ce este necesar pentru dezvoltarea de extensii pe NAV. Mai mult decât atât, aceste extensii (sau App-uri) vor putea fi găsite și în portalul Microsoft numit AppSource. Pentru a înțelege mai bine importanța acordată evenimentelor și extensiilor în NAV, iată cum a evoluat numărul de evenimente standard de la o versiune la alta: NAV 2016 – 128; NAV 2017 – 226; NAV 2018 – 1211.
O altă apariție surprinzătoare și care a coincis (poate nu întâmplător) cu momentele premergătoare lansării noii versiuni este și prezenta NAV (orice build de NAV 2016, 2017, 2018) în containere Docker. Ce este un container? Probabil că mulți dintre noi sunt familiarizați cu termenul de virtualizare sau de mașini virtuale. Ei bine, containerele reprezintă tot un tip de virtualizare, care, pe scurt, împachetează una sau mai multe aplicații de tip serviciu sau server și le izolează de mediul pe care rulează. Un fel de „mini”- mașină virtuală, care ne poate oferi „la cheie” o anumită resursă, fie un server Web, sau un server de baze de date sau orice altceva. Avantajul containerelor este că le putem rula la cerere, aproape oriunde, fără a fi nevoiți să instalăm sau sa dezinstalăm aplicații, să configurăm setări, etc. De ce este interesantă această abordare pentru NAV? Pentru că ușurează enorm munca de developer, permițănd aproape oricui să aibă acces la un mediu de dezvoltare sau de testare complet în doar câteva minute. Mai mult decât atât, accesul la containerele NAV se poate face imediat (pe Windows Server 2016 sau Windows 10), doar prin instalarea aplicației Docker și descărcarea/rularea acestor containere din Hub-ul Microsoft aflat pe Docker. Evident, putem face acest lucru și în Microsoft Azure, unde suportul pentru containere este un semn că această tehnologie se bucură de un interes deosebit, indiferent că vorbim de aplicații Windows sau Linux (https://aka.ms/getnav).
Ce va face Microsoft pe parcursul anului 2018 folosind tehnologiile descrise mai sus? Mai întâi va lansa (cel mai probabil în aprilie 2018 sau puțin după) o versiune de NAV în cloud de tip SaaS. Numită la această oră „Tenerife” această versiune va fi practic identică cu un NAV 2018 R2 on premises ce va apărea în aceeași perioadă. Acest produs va putea fi customizat doar cu ajutorul extensiilor v2, iar multe dintre acestea vor fi disponibile de la diverși parteneri în AppSource. Mai mult, Microsoft va pune acest produs la dispoziția partenerilor ISV (Independent Software Vendor), iar aceștia vor putea să realizeze, în cloud, pe baza lui (sau deasupra lui), diverse aplicații integrate de tip ERP destinate unor anumite verticale, folosind brandul propriu. În toamna lui 2018, va exista un nou release de „Tenerife” unificând într-un singur produs și o singură denumire (nu este lansată oficial) ceea ce până atunci se va numi încă Microsoft Dynamics NAV.
Link-uri utile:
https://docs.microsoft.com/en-us/dynamics-nav/
https://blogs.msdn.microsoft.com/nav/
https://azure.microsoft.com/en-us/blog/containers-docker-windows-and-trends/
https://blogs.msdn.microsoft.com/freddyk/