În acest număr al revistei continuăm seria de introducere în mediul SAP printr-un nou articol în care abordăm tema SAP User Experience(pe scurt UX). Aceasta reprezintă totodată şi unul dintre subiectele prezentate la conferinţa pe tehnologii SAP organizată de msg systems luna trecută în Cluj-Napoca.
În cadrul acestui articol ne propunem să discutăm despre evoluţia "UX-ului" produselor SAP de-a lungul timpului despre aşteptările cu privire la user experience pe care clienţii le au de la o soluţie enterprise în contextul actual şi mai ales despre ce presupune strategia pe baza căreia SAP intenţionează să răspundă acestor aşteptări.
Vom începe discuţia din anii 80", perioadă în care SAP punea la dispoziţia clienţilor săi SAP R/2 - una dintre primele soluţii ERP aşa cum le ştim astăzi, aceasta oferind suport pentru câteva dintre procesele tipice întâlnite în cadrul oricărui enterprise: accounting, manufacturing, supply chain management.
Fig. 1 Terminalul SAP R/2
R/2 rula în cadrul unui "enterprise mainframe", permiţând accesul simultan al mai multor clienţi printr-un mecanism numit Time Sharing Option(TSO). Interfaţa utilizatorului cu sistemul era realizată prin intermediul unui terminal şi se baza pe o linie de comandă.
Anii 90" au adus trecerea la SAP R/3, o soluţie ERP nouă, bazată pe o arhitectură 3-tier în care nivelul "prezentare" era reprezentat de calculatorul local al utilizatorului (pentru aceasta fiind necesară instalarea unui client SAP GUI pe PC).
De asemenea acest moment a reprezentat şi prima apariţie a tehnologiei Dynpro, care în momentul actual reprezintă cea mai răspândită tehnologie UI SAP. În esenţă, fiecare Dynpro se defineşte prin layout-ul elementelor grafice de pe screen şi prin logica de flow ce poate fi ataşată diferitelor evenimente (before output / after input / on value request...)
Această abordare însă a condus în prezent la o situaţie în care în multe aplicaţii logica de procesare a datelor este strâns legată de logica de afişare a acestora, astfel încât astăzi să fie nevoie de o serie de soluţii tehnice inovative (după cum vom vedea şi în secţiunile următoarele) pentru a putea realiza o "decuplare" a acestora.
Crearea de noi Dynpro-uri se realizează de către developer cu ajutorul tool-urilor ce fac parte din Workbenchul ABAP. La adaugarea unui nou screen application, server-ul ABAP, salvează toate informaţiile necesare pentru afişarea ulterioară a screen-ului în tabele predefinite ale bazei de date din spatele server-ului aplicaţie.
La runtime clientul SAP GUI instalat pe calculatorul local iniţiază o conexiune către serverul aplicaţie, primeşte definiţia screen-ului şi se ocupă de redarea locală a acestuia (v. Fig. 2).
O dată cu trecerea în noul mileniu, un alt tip de aplicaţii a câştigat din ce în ce mai mult teren: portalurile web. Un portal SAP reprezintă o aplicaţie web care facilitează accesul la diveresele module ale soluţiei ERP printr-un punct de acces unic ("single point of entry"). Portalurile au adus o serie de îmbunătăţiri în ceea ce priveşte UX-ul soluţiilor SAP cum ar fi utilizarea unei autentificări unice pentru accesul la întreaga suita de aplicaţii ERP sau posibilitatea de configurare a interfeţei portalului în funcţie de rolul utilizatorului.
D.p.d.v. tehnic portalurile funcţionează prin redarea Dynpro-urilor într-un browser web. Pentru a face posibil acest lucru a fost nevoie de introducerea unei noi componente în cadrul arhitecturii 3-tier a sistemelor SAP R/3: serverul ITS (Internet Transaction Server).
ITS-ul funcţionează ca un middleware care intermediază comunicarea dintre serverul aplicaţie ABAP şi browser-ul web, transformând datele care ţin de layout-ul Dynpro-urilor în tag-uri HTML ce pot fi interpretate de orice browser. "Compilarea" layout-ului din format Dynpro în HTML se face pe baza unui template de conversie predefinit, specificat într-un limbaj derivat din HTML numit HTMLBusiness
Modul în care omul interacţionează cu diversele software-uri a cunoscut o schimbare radicală în ultimii ani. Aşteptările fiecăruia dintre noi de la aplicaţiile pe care le folosim în viaţa profesională sunt influenţate de aplicaţiile pe care le folosim în timpul nostru liber (Facebook, Twitter, Google...), aplicaţii care pun accentul pe simplitate şi interfeţe grafice cât mai intuitive.
Aşa se face că în ziua de azi, până şi în cazul soluţiilor enterprise, clienţii declară din ce în ce mai des că în alegerea unui software, "User Experience-ul" a devenit factorul decisiv, mai mult chiar decât funcţionalităţile pe care software-ul le oferă.
Pentru dezvoltatorii de soluţii business enterprise acest lucru înseamnă că vechile interfeţe care se caracterizau în special prin complexitate şi multitudinea de funcţionalităţi suportate, trebuie înlocuite cu unele noi care pun accentul pe simplitate, mobilitate şi caracterul intuitiv al interfeţelor.
Ţinând cont de aceste aspecte, SAP - în calitate de furnizor de soluţii business enterprise, pe locul întâi în lume - şi-a propus să devină de asemenea lider mondial în ceea ce priveşte User Experience-ul soluţiilor business. Iar pentru a atinge acest ţel au fost stabilite o strategie şi un roadmap tehnologic care se învârt în jurul a trei termeni cheie: NEW, RENEW, ENABLE. În continuare vom analiza la ce se referă fiecare dintre aceste trei elemente.
Acest aspect al strategiei SAP se bazează pe ideea că atunci când un client implementează o soluţie SAP, vor apărea inevitabil situaţii în care acesta doreşte să customizeze software-ul pentru a optimiza modul în care acesta va interacţiona cu sistemul. Din această cauză se urmăreşte oferirea unui nivel de control mai ridicat clienţilor prin uşurarea activităţii de personalizare a produselor respectiv interfeţelor SAP.
Problemele majore care împiedică atingerea acestui scop sunt flexibilitatea redusă a aplicaţiilor bazate pe tehnologii Dynpro, cunoştiinţele tehnice necesare pentru a putea personaliza aplicaţiile respective şi timpii mari necesari pentru implementarea acestor modificări.
Tehnologia SAP care vine să soluţioneze problema aceasta este SAP Screen Personas. Aceasta reprezintă o soluţie nouă (prima versiune a fost lansată la finalul anului trecut) care permite end-user-ului să redefinească layout-ul oricărui Dynpro prin intermediul unei interfeţe web drag-and-drop intuitive şi simple de utilizat. Astfel activitatea de personalizare a screen-urilor este mult uşurată, nefiind necesare cunoştiinţe tehnice iar timpul de implementare fiind mult redus.
Exemple de activităţi de personalizare sunt ascunderea de elemente grafice, stabilirea de valori implicite pentru anumite câmpuri, înregistrare unor paşi pentru automatizarea acestora sau pur şi simplu re-design-ul aplicaţiilor.
Versiunea de kernel 7.21 a server-ului aplicaţiei ABAP expune un nou serviciu prin intermediul căruia definiţia oricărui Dynpro poate fi extrasă sub forma unui Object Model.
Aplicaţia web Screen Personas se foloseşte de această interfaţă pentru a afişa Dynpro-urile în editorul Personas şi oferă utilizatorului posibilitatea de a aduce diverse modificări acestora. Varianta modificată a unui Dynpro (numită "new Flavor") este salvată pe serverul aplicaţie ABAP (cu ajutorul Add-On-ului Personas instalat în prealabil pe server) urmând ca la runtime noul "flavor" să fie aplicat pe Dynpro înainte ca acesta să fie redat în browser.
Avantajul acestei abordări este că utilizatorul poate, cu un minim de efort şi fără a avea cunoştinţe tehnice, să modifice după bunul plac modul în care arată un Dynpro, iar la runtime aplicarea acestor modificări are loc transparent pentru server-ul aplicaţie din backend. Astfel nu apar probleme de inconsistenţă, dat fiind faptul că aceleaşi verificări au loc în cadrul unei aplicaţii, fie că aceasta a fost executată prin clientul clasic SAP GUI sau în browser având aplicat un nou "flavor".
Strategia de reînnoire (RENEW) se adresează nevoii de a oferi soluţiilor SAP existente (în mare parte bazate pe tehnologie Dynpro) interfaţe noi, mai intuitive și uşor de utilizat, în concordanţă cu aşteptările deja identificate.
Cuvântul cheie în acest context este WebDynpro - o tehnologie dezvoltată practic pentru a înlocui treptat Dynpro-urile. WebDynpro înglobează un mediu de dezvoltare conceput pentru a uşura crearea de noi aplicaţii şi un mediu de execuţie care face posibilă dezvoltarea de aplicaţii independente de platforma clientului pe care va avea loc execuţia aplicaţiei.
Astfel, crearea de aplicaţii se bazează pe o abordare declarativă şi nu una imperativă, în care motto-ul este "Minimize coding, maximize design": La design-time dezvoltatorul software are posibilitate de a defini prin drag&drop tot ceea ce ţine de interfaţa utilizatorului cu aplicaţia: layout-ul screenurilor, structurile de date folosite, posibilităţile de navigare de la un screen la altul. Aceste informaţii sunt colectate şi formează "metamodelul" aplicaţiei, care la runtime va putea fi folosit pentru generarea codului sursă corespunzător.
Independenţa faţă de client este atinsă prin utilizarea mai multor motoare de randare("rendering engines"). Fiecare astfel de engine a fost conceput pentru a genera cod sursă specific pentru un anumit client/pentru o anumită platformă, iar la runtime mediul de execuţie WebDynpro alege dinamic, în funcţie de context, ce motor să folosească. Desigur utilizarea unei astfel de abordări face foarte uşoară implementarea unui engine de randare terţ, ceea ce oferă un plus de flexibilitate aplicaţiilor WebDynpro.
Acestea şi alte aspecte pe care nu le vom enumera aici fac din WebDynpro un framework de dezvoltare foarte puternic care s-a impus rapid ca şi înlocuitor al clasicelor Dynpro-urilor
Capitolul "NEW" al strategiei SAP UX are în vedere aplicaţiile noi ce urmează să fie dezvoltate în viitor, şi care ar trebui să ofere utilizatorilor o experienţă "consumer-grade", cu interfeţe intuitive construite în jurul celor mai noi tehnologii din domeniu.
În acest context menţionăm SAP UI5, o librărie JavaScript bazată pe standarde precum HTML5, CSS, JSON şi optimizată pentru dezvoltarea de aplicaţii business pentru desktop şi mobile.
UI5 se bazează pe JQuery şi poate fi privit ca un layer adiţional peste acesta, care aduce în plus un set de elemente grafice tipice aplicaţiilor business şi posibilitatea de a accesa datele din backend-ul SAP utilizând protocoale consacrate precum JSON, OData, XML.
Problema care se pune însă în cazul integrării funcţionalităţilor SAP existente cu aplicaţii noi bazate de exemplu pe UI5 este dată de multitudinea de tehnologii folosită în expunerea acestor funcţionalităţi (de ex. RFC, BAPI, MDX ...). Această diversitate face ca problema de integrare să fie una anevoiasă şi mai ales costisitoare.(v. Fig. 7 - stânga)
Netweaver Gateway este componenta SAP concepută pentru a soluţiona această problemă şi a crea un mediu omogen, în care comunicarea are loc pe baza unor protocoale standard. În acest scop, Netweaver Gateway acţionează practic ca un proxy, având rolul de a "împacheta" serviciile expuse de soluţiile SAP în interfeţe noi punându-le la dispoziţia aplicaţiilor terţe utilizând protocoale standard precum OData. (Fig. 7 - dreapta)
După ce am analizat această varietate de soluţii tehnice, ceea ce putem concluziona este că produsele SAP (şi soluţiile enterprise în general) se află într-o stare de tranziţie, fiind nevoite să se adapteze la noile cerinţe ale pieţei cu privire la User Experience. În cazul platformei SAP o serie de noi tehnologii au fost dezvoltate care vin să uşureze această tranziţie, fiecare având un scop bine definit în cadrul strategiei de dezvoltare SAP UX.