today software magazine n9/2013

Upload: serghei-cebotari

Post on 03-Apr-2018

237 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/29/2019 Today Software Magazine N9/2013

    1/52

    T O D A Y

    S O F T W A R E

    No. 9 Martie 2013 www.todaysoftmag.ro www.todaysoftmag.com

    M A G A Z I N E

    esignadap

    tivunmof

    tsauonec

    esitate?

    Proiectecu

    lturaleini

    iatedeocompanie

    deIT

    TwitterBootstrapn

    AplicaiiW

    eb

    Recenzia crii:OSGi in Action

    Google Web Toolkit - O vedere deansamblu

    De ce anul 2013 e un an bun pentrusoftware?

    Cluj IT Cluster

    Implementarea unui sistem de metrici desucces ntr-o companie software

    Introducere n Grails III

    Provocrile unui lider - partea II

    Cine este Business Analyst-ul i dece a avea nevoie de unul?

    Barcelona mobile world

    Agili sau Apatici? Cum ctigmechipa de partea proiectului.n cutarea domeniului perfect

    ABAP n Eclipse

  • 7/29/2019 Today Software Magazine N9/2013

    2/52

  • 7/29/2019 Today Software Magazine N9/2013

    3/52

    6

    Cluj ITCluster

    E C IT C

    8

    Proiecte culturale iniiate deo companie de IT

    F P

    9

    Istoria IT-uluiClujean (IV)

    - Harta IT

    M M

    10

    Mobile World Congress- Barcelona 2013

    C N, EMBA

    13

    TwitterBootstrap nAplicaii Web

    I B

    16ABAP E

    V I

    19

    Google Web Toolkit- O vedere de ansamblu

    Ax L

    22

    Implementarea unui sistem demetrici de succes ntr-o

    companie software

    R M

    26

    n cutareadomeniului perfect

    R P

    28

    Design adaptiv un moft sau onecesitate

    B N

    31

    Microsoft n lumeaOpen-Source

    R V

    33

    Provocrile unui lider- partea II

    M M

    35

    Cine esteBusiness Analyst-ul i de cea avea nevoie de unul?

    D H

    37

    Introduceren Grails (III)

    T B

    40

    Agili sau Apatici? Cumctigm echipa de parteaproiectului.

    A L

    42Recenzia crii: OSGi n Action

    S D

    44

    De ce anul 2013 e un an bunpentru software?

    M N

    45

    GrowthHackingaplicat

    M V

    48

    Psihologia iniierii imeninerii comportamentului

    A O

    50

    Gogu iAgile

    S B, P.D.

  • 7/29/2019 Today Software Magazine N9/2013

    4/52

    4 nr. 9/2013 | www.todaysoftmag.ro

    Am vzut n numrul trecut statisticile reeritoare la reuita proiectelor care aratc rata de succes este de 24% considernd rezultatele anului 2009. Pentru a dimi-nua riscurile unui eec, ecare companie se adapteaz situaiilor dicile aplicndmecanisme menite s transorme poteniale pierderi ntr-o reuit. ntr-o perspectivgeneralizat olosirea intensiv a unor procese sau echipe cu grad ridicat de experien sepot impune ca demersuri i soluii eciente. Domeniul I a avut o cretere spectaculoasn Romnia iar acum este un moment oportun s ne gndim la best practice-uri ce se

    pot aplica att la nivel individual ct i la nivel de companie. Denirea i implementareaacestora vor asigura n timp o predicie mai bun a rezultatelor bazate pe statistici KPIcomune (key perormance indicator) disponibile la nivel de comunitate. Salutm n elulacesta ninarea Cluster-ului I Clujean i sperm s vedem iniiative similare i n restulmarilor orae din Romnia.

    La nalul lunii ebruarie a avut loc la Barcelona evenimentul Mobile World Congress,cel mai important la nivel global. Felicitm iniiativa ANIS de a acilita pentru 11 compa-nii romneti participarea la acesta ntr-un stand comun romnesc.

    Contientiznd valoarea pe care o coner unei comuniti dezvluirea identitiisale culturale precum i conservarea patrimoniului acesteia, rma Gemini Solutionsdemonstreaz cum domeniul I se poate implica activ i ecient n sprijinirea proiectelorculturale romneti. Detalii despre ecare dintre aceste iniiative vei gsi n prima parte

    a acestui numr SM.

    Luna mriorului debuteaz cu o serie de evenimente la care suntei invitai:Startup Weekend - se adreseaz celor ce au o idee de startup vor s ac parte dintr-

    unul. oate biletele au ost vndute deja de cteva sptmni....even mammoths can be AGILE este la a doua ediie iar acum va avea loc la Cluj

    i Bucureti. Vei avea parte de o zi n care reprezentanii companiilor locale precum ispeakeri internaionali vor vorbi despre cum se aplic Agile n organizaiile din care acparte.

    Innovation Days este organizat de ctre cluster-ul de I Cluj i este primul evenimentpublic al acestuia.

    Numrul 9 SM v aduce o serie de articole interesante cum ar olosirea ra-

    mework-ului Twitter Boostrap n aplicaii web, introducerea n lumea SAP prin olosireaABAP n Eclipse. Urmeaz o re-amintire/introducere in GWTurmat de Implementareaunui sistem de metrici de succes ntr-o companie soware . ot n aceai ser avem parteaa doua din Provocrile unui lider, De ce avem nevoie de un business analyst n cadrul uneicompanii sau Cum ctigm echipa de partea proiectului. Revenind pe partea tehnic,menionm n cutarea domeniului perect, Design adaptiv - un mo sau necesitate , parteaa III-a din Introducere n Grails i recenzia de carte OSGI in Action. Cteva articole ine-dite:Microso n lumea Open-Source, Growth Hackingaplicat ce v nva cum s creteiaudiena unui site bazat pe modul de interaciune a utilizatorilor.

    Ovidiu ManFondator i CEO al Today Sofware Magazine

    Ovidiu Man, [email protected]

    Fondator i CEO al

    Today Sotware Magazine

    editorial

  • 7/29/2019 Today Software Magazine N9/2013

    5/52

    5www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    Redacia oday Sofware Magazine

    Fondator / Editor n chie: Ovidiu [email protected]

    Editor (startups i interviuri): Marius [email protected]

    Graphic designer: Dan [email protected]

    Colaborator marketing: Ioana [email protected]

    Colaborator social media: Rodica [email protected]

    raductor: Cintia [email protected]

    Reviewer: avi [email protected]

    Reviewer: Adrian [email protected]

    Produs deoday Soware Solutions SRL

    str. Plopilor, nr. 75/77Cluj-Napoca, Cluj, [email protected]

    www.todaysomag.rowww.acebook.com/todaysomag

    twitter.com/todaysomag

    ISSN 2284 6352

    Copyright oday Soware Magazine

    Reproducerea parial sau total a articolelordin revista oday Soware Magazine

    r acordul redaciei este strict interzis.

    www.todaysomag.rowww.todaysomag.com

    Silviu [email protected]

    Consultant Java@ .msg systems Romania

    Marius [email protected] senior sotware developerin cadrul Nokia, n prezentondatorul platormei MintakaResearch

    Radu [email protected]

    Senior Sotware Engineer@iQuest

    Simona Bonghez, [email protected]

    Speaker, trainer i consultant nmanagementul proiectelor,

    Owner al Conucius Consulting

    Radu [email protected]

    QA i Web designer@ Small Footprint

    Listaautorilor

    Martin [email protected]

    CEO @ Neverail Group.

    Bogdan [email protected]

    UX/UI Design Lead@ Endava

    Victor [email protected]

    SAP IT Consultant@ .msg systems Romania

    Mircea [email protected]

    Co-ondator i coordonator@ Use Together

    Ana [email protected]

    Coordonator proiecte@ AICC

    Florin [email protected]

    Director general@ Gemini Solutions

    Codrua Nicolescu, [email protected]

    Executive Director@ADESCO

    Ioan [email protected]

    Senior Web Developer

    @ 3Pillar Global

    Alex [email protected]

    Senior Developer@ HP

    Ramona [email protected]

    Measurements & Best Practices@ ISDC

    Daniela [email protected]

    Business Analyst@ Endava Iai

    Adrian [email protected]

    Project Manager i SotwareEngineering Manager@ Bitdeender

    Tavi [email protected]

    Development lead@Nokia

    Mihai [email protected]

    CTO@ Yonder

    Antonia [email protected] aproape 10 ani trainer, psi-holog, consultant sub ormde antreprenor, intraprenori antreprenor din nou

  • 7/29/2019 Today Software Magazine N9/2013

    6/52

    6 nr. 9/2013 | www.todaysoftmag.ro

    business

    Cluj IT Cluster

    Unclusterinovativ

    Conceptul de cluster a ost introdus n1990 de Michael Porter ca ind o concen-trare geograc de companii interconectatedintr-un anumit domeniu de activitate.n timp, clusterele au devenit un subiectde interes pentru guverne, companii idiverse instituii, n principal pentru c au

    potenialul de a crete perormana rme-lor din cluster, de a introduce inovaia i dea stimula creterea domeniului respectiv.

    CLUJ I este un cluster inovativ ninatn octombrie 2012 dup un model care arela baz un grup de companii din acelaidomeniu, universiti cu rol de a generaactiviti de cercetare de care pot bene-cia companiile, dar i instituii publice ialte organizaii cu rol de catalizator, cares sprijine direct iniiativele, s acilitezenanarea sau s ajute n networking. La

    acest moment, din punct de vedere orga-nizatoric CLUJ I este o asociaie care areca membri: 23 de companii de I, douuniversiti, UBB i UCN, respectiv apteinstituii publice i organizaii cu rol cata-lizator. Asociaia CLUJ I Cluster esteconsiderat oarte reprezentativ pentruindustria I la nivel local, dar i naional.

    Membrii clusterului au contientizatc trebuie s coopereze pentru a puteaadresa dierite provocri n diverse arii deactivitate, de la pregtirea orei de muncla cercetare i dezvoltare sau promovareacompetenelor, pentru aceste scopuri indormate grupuri de lucru n interiorul clus-terului. Lista complet a membrilor estedisponibil pe site-ul ocial al clusterului

    www.clujit.ro

    Clujul ca hub IT regional inovativ

    Cluj I Cluster este de apt o iniiativde business cu scopul de a crete compe-titivitatea n I, de a ace mai vizibil imai atractiv industria I din Romnia,respectiv de a poziiona Clujul ca un hubI regional inovativ. Viziunea acestui clus-ter este ca la nivelul anului 2017 s devinunul dintre cei mai credibili urnizori dinEuropa de Est pentru produse i servicii I

    inovative, respectiv s e recunoscut ca sis-tem de suport organizaional.

    Clusterul are susinerea guvernului ia autoritilor locale, care consider CLUJI ca o iniiativ de importan naional,respectiv o serie de personaliti din busi-ness i din sectorul public au ost atrasentr-un Consiliu Strategic al clusterului,

    avnd un rol important pentru lobby.

    Prioritile clusterului pentru urmtoa-rea perioad sunt:

    1. Extinderea prezenei internaionaleprin competitivitate ridicat i prin pro-duse sau servicii inovative;

    2. Dezvoltarea unui mecanism decooperare eicient ntre universiti i

    industria I, care s aib ca rezultat unnumr ct mai mare de specialiti Ioarte bine pregtii;

    3. Realizarea Cluj I City, unde comu-nitatea I s aib toat inrastructuranecesar pentru a-i desura activita-tea, pentru a inova i pentru a colabora.

    P e n t r u e x t i n d e r e a p r e z e n e i

    internaionale, clusterul va oarte activ na promova capabilitile membrilor si i vaurmri s genereze proiecte internaionalecare s e realizate prin participarea mem-

    brilor clusterului. De asemenea, clusterulva colabora cu guvernul pentru a cretevizibi litatea sectorului I din Romniai pentru a stimula exporturile. La acestmoment cele mai importante piee pentrucompaniile membre sunt SUA, Germania,Marea Britanie, Canada, dar se lucreazi cu clieni din Austria, Frana, Elveia,Olanda, rile scandinave i din EuropaCentral i de Est sau din Orient Japonia,China sau Coreea.

    n acelai timp, inovarea este vzutca unul din actorii cheie pentru cretereaprezenei pe pieele internaionale. Pentrua ace trecerea de la dezvoltarea sowaren regim outsourcing la dezvoltarea de

    Recunoscut ca un centru I important n regiune i cu tradiie n domeniul tehnic, Clujul se dovedete a un mediu avorabilpentru apariia unui cluster inovativ. i cum n ultima perioad clusterele sunt vzute ca un motor pentru dezvoltarea regional

    i inovare, clusterul CLUJ I ormat recent se bucur att de atenia comunitii I, ct i cea a autoritilor.

  • 7/29/2019 Today Software Magazine N9/2013

    7/52

    7www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINEbusiness

    produse inovative, clusterul are n vedererealizarea unor proiecte n comun pe bazaunor preocupri similare i a unor proiectede cercetare care s genereze produse ino-vative, respectiv s aci liteze inanareaproiectelor R&D, prin investiii private sauprin parteneriate public-privat. Alt aspectimportant de luat n calcul cnd se discutdespre inovare este creterea numrului despecialiti I i crearea unei structuri ver-ticale care s permit generarea de produsecomplexe.

    n ce privete obiectivul de a cretenumrul de specialiti oarte bine

    pregtii, eorturile se vor concentra pea crete calitatea procesului educaionalpentru a rspunde cerinelor industriei I,prin ncurajarea schimbrilor n program

    i prin competiie n educaie. Clusterulva lucra pentru a identica i a promovametode prin care guvernul poate susineuniversitile n ce privete cretereacalitii studiilor, ncurajarea programelorde practic i dezvoltarea de soluii alter-native, cum ar nvmntul vocaional.

    CLUJ I Innovation City este unproiect de dezvoltare urban bazat pe unconcept Brained City. Obiectivul este de aconcentra capitalurile internaionale pen-tru stimularea i dezvoltarea de proiecte itehnologii inovative n domeniul I, ntr-un mediu de lucru creativ, ceea ce va atragemulte companii I. Proiectul include dez-voltarea de spaii de birouri, laboratoarede cercetare i sli de curs, spaii publice,uniti de nvmnt preuniversitar, dar

    i hoteluri sau restaurante, plus serviciilenecesare pentru uncionarea unei astel deplatorme de aaceri i dezvoltare n dome-niul I.

    CLUJ I Innovation Cityva proiec-tat s ocupe aproximativ 300 de hectarei se estimeaz c investiiile totale se vorridica la circa 300 mil. EUR, astel nct n20 ani s poat gzdui 20.000 specialitiI. Serviciile complementare de care va nevoie vor genera la rndul lor numeroaselocuri de munc, ceea ce va avea un impactpozitiv la nivel social i economic.

    Echipa Cluj IT [email protected]

  • 7/29/2019 Today Software Magazine N9/2013

    8/52

    8 nr. 9/2013 | www.todaysoftmag.ro

    cultur

    Proiecte culturale iniiate de o companie de IT

    Dac un asemenea deziderat vi se parenaiv, poate ar trebui s tii c organizaianu e alctuit din puti boemi: nucleul aso-ciaiei este ormat din membri ai echipeide la Gemini Solutions. Cum se mpac

    munca ull time la o companie de sowarecu conceperea i organizarea de proiecteculturale? E o pasiune comun ce nt-rete coeziunea grupului proesional deingineri, spune Florin Prlea, directorulgeneral al Gemini Solutions i preedinteleAICC Romnia.

    Primul proiect important lansat deAICC este site-ul Romanian Letters(http://romanianletters.ro), un portal cereunete link-uri externe care au n primplan cte un subiect romnesc, ie c e

    vorba de personaliti, de locuri specialesau chiar de vinuri romneti. ScopulRomanian Letters nu este de a arta c aranoastr este mai bun sau mai rea dectoricare alta, ci doar de a-i preui unicita-tea. Vrem s redescoperim Romnia, aratdescrierea de pe site-ul proiectului. Larndul su, Florin Prlea spune: Trebuies ne opunem scderii calitii inormaiilorpe care publicul le obine din mass media,inormaii despre ce a mai gtit OanaZvoranu i ce diet are Daniela Crudu. nspiritul acestei opoziii, AICC a ncheiat

    i un parteneriat cu radioul Activ eFeM,astel nct Romanian Letters a devenit iemisiune radioonic. n iecare sear demari, ncepnd cu ora 18.00, membriiasociaiei sunt gazda emisiunii RomanianLetters, care i propune, ca i site-ul, s

    promoveze Romnia de dincolode stereotipuri. Emisiunea poate ascultat online (http://active-em.ro/) sau pe recvena 92,7FM (Bucureti).

    Site-ul cu poveti rumoasedespre Romnia nu este sin-gurul proiect al AICC. Anultrecut, multe dintre punc-tele cheie ale scenei culturalebucuretene (Ateneul Romn,Ac ad emi a Ro m n , Pa la tu luu) au gzduit expoziii cu imagini alepuin cunoscutelor statui de daci realizatede artiti antici romani n timpul domnieilui raian. Expoziiile au ost organizatesub egida Statui de Daci, acesta iind

    un alt proiect important derulat de asoci-aie. Site-ul http://statuidedaci.rovizeazaducerea n atenia publicului a acestorstatui, care se al astzi n muzee dinlumea ntreag. Site-ul conceput de AICCreunete otograi i descrieri ale acestorstatui, precum i detalii despre locurile ncare acestea se al. Portalul a ost con-ceput n colaborare cu istoricul LeonardVelcescu, doctor n istoria artei la colePratique des Hautes tudes (Sorbona) ilaureat cu Premiul Eudoxiu Hurmuzachial Academiei Romne (decembrie 2012).

    Activitatea AICC este doar la nceputi echipa are planuri mari pentru 2013.Inclusiv organizarea, n luna mai, a uneiserii de evenimente care s marcheze ani-versarea a 1900 de ani de la inaugurarea,la Roma, a Columnei lui raian. Pentru

    Gemini Solutions, implicarea soci-al este o datorie, dup cum spuneFlorin Prlea: Guvernul i minis-terele nu pot ace totul, societateacivil suntem i noi, mediul privatde aaceri. Dac nu noi, atunci cine?

    Gospodinele, pensionari? Evident, etreaba noastr.

    Nimic pe lumea asta nu serezum la stereotipuri. Romnia nu

    e ara vampirilor. Nici a cinilor vagabonzi,nici a ceretorilor, nici a hackerilor.

    Romnia nu se rezum ns nici la CasaPoporului, nici la Nadia i Hagi, nici lammligu i srmlue.

    Noi credem c Romnia e o mbinarede oameni i locuri, tradiii i mncruri,vinuri i istorii. Dac vrei, e o mbinare dearome. Arome care nu ne ac mai buni saumai ri dect alte popoare, dar ne ac, cusiguran, unici.1

    1 prezentarea proiectului Romanian Letters http://romanianletters.ro

    Asociaia Identitate Cultural Contemporan (AICC) s-a nscut n 2012, dintr-o dorin de a lupta mpotriva stereotipurilorasociate Romniei i de a arta c trim ntr-o ar reasc. De altel, rescul este conceptul pe care membrii ONG-ului linvoc cel mai des n discuiile despre necesitatea proiectelor derulate de ei. Demersurile lor ar putea traduse ca o ncercare

    de a demonstra c Romnia nu e ara altel, n care totul este posibil, ci o ar reasc, normal.

    Ana [email protected]

    Coordonator proiecte@ AICC

    Florin [email protected]

    Director general@ Gemini Solutions

  • 7/29/2019 Today Software Magazine N9/2013

    9/52

    9 nr. 9/2013 | www.todaysoftmag.ro

    Istoria IT-ului Clujean (IV)Harta IT

    istorie

    Primele rme din I-ul clujean au avutca obiect de activitate principal, comerulcu echipamente hardware. Rspunznd i

    unei cereri existente n pia, absolveniiperioadei precedente de pionierat, s-auconormat mai ales curentului mondialde rspndire al calculatorului personal.Analogic cu stivele hardware/sotware ,peste acest strat iniial s-au dezvoltat ulte-rior servicii de telecom (de la reele decartier improvizate, la soluii proesioniste),servicii complete de inrastructur I pen-tru mediul de aaceri, distribuia de soluiisoware, customizarea acestora, iar n nalproducia local, att n regim outsource,

    ct i orientat spre produse proprii. Existeorturi ca n viitorul apropiat s mai adu-gm un strat: scena startup-urilor.

    n mod natural aceast stiv a servicii-lor economice a ost nsoit de o dezvoltaresimilar a specialitilor. Pornind de laspecialiti n administrarea sistemelor I,trecnd prin multe iteraii de programatorii ajungnd n cele din urm la antrepreno-rii actuali. Important de menionat este cmediul economic a preluat de mult timp,o parte din eortul social de pregtire aacestor specialiti. De la simplelejob-uri de

    administratori de Internet-Cae, la cursuridedicate liceenilor i studenilor clujeni, lacursuri specializate pentru angajai n inte-riorul companiilor, pn la multitudineade comuniti de specialiti i antrepre-nori locali, att de active n ultimul timp.mi amintesc i acum contrastul ntreprograma de liceu: Pascal, C++ (n cazuriericite), FoxPro, i cursurile de Java pentruliceeni oerite de Recognos sau la acultatede ctre IQuest. Acestea aveau loc acumcincisprezece, respectiv doisprezece ani, i

    aveau un rol undamental n creterea nive-lului specialitilor i implicit al proiectelordezvoltate n mediul aacerilor I local. nmod natural, au urmat multe alte iniiative,dar odat cu explozia numrului de rme

    din domeniu, a aprut enomenul de spe-cializare n cadrul rmelor, iar atenia ctreeducaie s-a diluat mult. Doar recent comu-

    nitatea de antreprenori, a reluat acesteiniiative educaionale i le urez un impactcel puin egal cu al predecesorilor.

    Evoluiile de mai sus pot uor urm-rite, comparnd evoluia numrului derme, natura serviciilor acestora, numruli prolul angajailor, numrul i prolulclienilor acestora, etc. Aa ajungem la noultitlu al articolului: Harta I. Din nevoiade a valida cronologic inormaiile de maisus, am ncercat s ac o list a companiilorI clujene, aranjate dup data ninrii, i

    care s conin unele detalii despre activi-tatea lor: evoluia numrului de angajai,a cirei de aaceri, proilului, etc. Dupcteva cutri n memorie, iar mai apoi peBestJobs, Aries, Cluster I, am gsit un can-didat pentru rolul de prima companie I desucces pe piaa I: NE Brinel (ninat n1991). Dar lucrurile s-au complicat repede,de la simpla ncadrare a evoluiei sinu-oase ntre hardware i sotware a primeicandidate, pn la descoperirea ocupan-telor locurilor urmtoare, evoluia din aniinouzeci a companiilor locale, ncepe sa se

    piard cu trecerea timpului.Prin urmare am scos de la naalin un

    proiect mai vechi, care atepta un motivsuicient de bun pentru a se materializa:realizarea unei hri, ideal interactiv iinteligent, care s permit explorareavizual a evoluiei I-ului clujean. Foartepe scurt, ar trebui s e genul de aplicaiebogat n inormaii vizuale, simplu deolosit, avnd acel actor de Uau care otransorm instant n jucrie preerat.n culise, ar exista o baz de date iniial,

    cu inormaiile de mai sus, iar scena ari plin de buline colorate, ancorate pehart n dreptul sediilor diverselor rme,dimensionate procentual i mapate petot elul de iltre ce permit interogarea

    datelor. Bineneles c actorul de Uau nueste complet, r animarea ct mai vesela bulinelor, pentru a indica evoluia n timp

    a ecosistemului.Pentru nceput recurg tot la ajutorul

    cititorilor n realizarea urmtorului plan: gsirea unei surse de date sucient de

    detaliat pentru a trezi un interes iniial.De exemplu o list a rmelor de prol dela: Camera de Comer i Industrie Cluj,ANAF, sau alternative ca BestJobs, Ariespopulat cu inormaiile de mai sus; dezvoltarea unei aplicaii simple

    bazat pe Google Maps; promovarea i construirea unei

    comuniti capabil s valideze, actuali-zeze i mbogeasc datele astel nct spermit extragerea unor inormaii maivaloroase;

    Cer ajutorul comunitii, pentru charta nu poate aduce benecii dect dacutilizatorii ei neleg relaia de directproporionalitate ntre calitatea/cantitateade inormaii pe care o pot extrage i cea pecare o adaug. Practic utilitatea crete, prinaportul de date utile i valide.

    nchei, ca de obicei, ateptnd eed-

    back, recomandri pentru punctele de maisus i ajutorul dumneavoastr.

    itlul plnuit al articolului curent era: De la nvmnt la dezvoltare proesional i dezvolta ideea de preluare, de ctre mediulprivat, al rolului de motor al I-ului n perioada post-comunist. Pe scurt, att accesul la resursele de calcul, ct i la pregtireaspecializat au ost transerate de la stat spre companii private.

    Marius [email protected]

    Fost senior sotware developerin cadrul Nokia, n prezentondatorul platormei MintakaResearch

  • 7/29/2019 Today Software Magazine N9/2013

    10/52

    10 nr. 9/2013 | www.todaysoftmag.ro

    Mobile World Congress - Barcelona 2013Ce nseamn pentru companiile din Romnia?

    business

    APPSCEND

    Care sunt produsele sau serviciile pe carele vei prezenta la Mobile World Congress2013?

    La MWC vom prezenta Appscend,o platorma cloud based ce aciliteazdezvoltarea de aplicaii mobile native,cross-platorma iOS & Android, precumi suita de tool-uri de management ce sunt

    asociate acestui produs.Din punct de vedere al tool-urilor demanagement vorbim despre:

    1. Appscends mCMS ( mobile contentmanagement system ) - sistemul de admi-nistrare a inormaiilor din aplicaiilemobile.

    2. Smart Push Notiications: plat-orma avansat de targetare, trimitere imanagement al noticrilor n aplicaiilenative.

    3. Appscend App Analytics : siste-mul de msurare a indicatorilor de

    perorman din interiorul aplicaiilormobile, similar cu sistemul web GoogleAnalytics.

    4. Appscend Mobile Monetization:integrarea cu cele mai populare reelede publicitate n mediul mobil precumi preintegrarea cu sistemul In AppPurchases - Apple i In-app-billing- Android.

    Anul 2012 a adus i o serie de inovaiitehnice platormei noastre, care contribuiela o experien complet a companiilor

    care caut o platorma complet pentru a-idezvolta strategia mobil. Cel mai mare pasn a a ost realizat prin lansarea pe piaa unuiramework numit Dolphin, singuruldin lume ce oer capacitatea programato-rilor de PHP s dezvolte aplicaii mobilecross-platorm olosind cel mai popularlimbaj de scripting pentru tehnologii web.

    n prezent avem peste 3000 de compa-nii nregistrate i peste 2500 de aplicaii nlucru. Cele 300 de aplicaii lansate deja cuplatorma Appscend ating 1 milion de useridin toate continentele.

    Ce ateptri avei de la acest eveniment?2. De la MWC 2013 avem ateptri

    oarte mari. Avem dejaprogramate numeroasentlniri cu parteneri iclieni strategici, i, la el can iecare an este o oartebun oportunitate de ainorma o audiena selectdespre ce acem i cum pro-dusele pe care le realizm

    contribuie undamental lasuccesul strategiei compa-niilor ce vor s mbriezeoportunitatea oerit demediul mobile.

    AROBS

    Care sunt produsele sau serviciile pe carele vei prezenta la Mobile World Congress2013?

    1. Servicii: dezvoltare i testare de aplicaiimobile; dezvoltarea de soware n regimoshore i nearshore;

    nchiriere de personal.2. Produse: OptimallSFA soluie pentruautomatizarea orei de vnzri dez-voltat pe platorma Android

    Ce ateptri avei de la acest eveniment?n primul rand se dorete ca

    reprezentanii AROBS s ale care sunttendinele n domeniu n urma particip-rii la sesiunile de comunicare i discuiilor

    n perioada 25-28 ebruarie a avut loc n Barcelona cea de-a cincea ediie a GSMA Mobile World Congress. Este organizat dectre GSM Association (GSMA), ondat n 1995 i nglobeaz aproape 800 de operatori de teleonie mobil din peste 200 de ri.Evenimentul este cel mai mare din industria dispozitivelor mobile, iar prin prezentul articol publicm ateptrile a trei companiiromneti care particip la eveniment. Aceste mini interviuri au ost realizate cu ajutorul Business Days, www.businessdays.ro.

  • 7/29/2019 Today Software Magazine N9/2013

    11/52

    11www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    purtate cu expozanii i vizitatorii trgului.Al doilea obiectiv l reprezint identicarea de

    clieni poteniali pentru serviciile noastre de dez-voltare i testare de aplicaii mobile, respectiv desoware outsourcingpentru dezvoltarea i testareade aplicaii Web i cloud.

    QualteHCare sunt produsele sau serviciile pe care le vei

    prezenta la Mobile World Congress 2013?IQteh platorma de business disponibil pe

    iOS, Android i BlackBerry;IQroute soluie integrat destinat dome-

    niului transport i logistica avnd o importantcomponent mobil;

    MobIO mobile reporting.

    Ce ateptri avei de la acest eveniment?QUALEH este prezent pentru al doilea an

    ca i expozant n cadrul evenimentului MWC2013 i urmrim n primul rnd consolidarea par-teneriatelor ce le-am dezvoltat ncepnd cu anultrecut. Soluiile noastre IQcrm i IQsa, destinaten principal pentru zona enterprise, au nregistrato cretere important n 2012 i suntem siguric acest trend se va menine i n urmtorii ani.Pentru 2013 ne prezentm la Barcelona cu dounoi aplicaii IQroute i MobIO.

    IQroute a ost devoltat din necesitatea i pebaza specicaiilor unora dintre partenerii notrii integreaz toate acilitile necesare companiilor

    de transport i logistica, ncepnd de la partea deserver, baze de date precum i componenta mobil utilizat de oeri, supervizori i manageri.

    MobIO este un nou concept n regiune i a ostdezvoltat ca o soluie de mobile reporting, careajut companiile atunci cnd este necesar accesul

    i prelucrarea diver-selor inormaii pedispozitive mobile.Practic orice com-panie are i va aveanevoie n v i itorde inormaii din

    cadrul sistemelorinterne pe echipa-

    mente mobile aa cum i reprezentanii companiilor i desoaractivitatea din ce n ce mai mult ind mobili n aara sediului r-mei. MobIO aciliteaz accesul uor i sigur la inormaii utile dinsistemele interne de producie, gestiune i contabilitate, logistici transport.

    Codrua Nicolescu, [email protected]

    Executive Director@ADESCO

    Ovidiu Man, [email protected]

    Fondator i CEO@Today Sotware Magazine

  • 7/29/2019 Today Software Magazine N9/2013

    12/52

    12www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    Comunitate dedicat tehnologiilor Java.Website: http://www.transylvania-jug.org/Data ninrii: 15.05.2008 / Nr. Membri: 521 / Nr. Evenimente: 40

    Romanian esting Community

    Comunitate dedicat QA.Website: http://www.romaniatesting.roData ninrii: 10.05.2011 / Nr. Membri: 573 / Nr. Evenimente: 1

    GeekMeet Cluj

    Comunitate dedicat tehnologiilor web.Website: http://geekmeet.ro/

    Data ninrii: 10.06.2006 / Nr. Membri: 530 / Nr. Evenimente:15 (Cluj)

    Cluj.rb

    Comunitate dedicat tehnologiilor Ruby.Website: http://www.meetup.com/cluj-rb/Data ninrii: 25.08.2010 / Nr. Membri: 128 / Nr. Evenimente: 32

    Te Cluj Napoca Agile Sofware Meetup Group

    Comunitate dedicat metodelor Agile de dezvoltare soware.Website: http://www.agileworks.roData ninrii: 04.10.2010 / Nr. Membri: 292 / Nr. Evenimente: 22

    Cluj Semantic WEB MeetupComunitate dedicat tehnologiilor semantice.Website: http://www.meetup.com/Cluj-Semantic-WEB/Data ninrii: 08.05.2010 / Nr. Membri: 137/ Nr. Evenimente: 19

    Romanian Association or Better Sofware

    Comunitate dedicat oamenilor cu experien din I indierent detehnologie sau specializare.Website: http://www.rabs.roData ninrii: 10.02.2011 / Nr. Membri: 199/ Nr. Evenimente: 11

    Comunitatea SM

    Comunitate construit n jurul revistei oday Sofware Magazine.Website: http://www.todaysomag.roData ninrii: 06.02.2012 / Nr. Membri: 456 / Nr. Evenimente: 5

    Voi continua, deja tradiia de numrul trecut, i am s vorbesc despre nouti n peisajul local. n aceast perioad antreprenori-atul a ieit n eviden, att prin activitate i evenimente, ct i prin apariia de noi iniiative i organizaii. ntlnirilor periodiceale OpenCoee, OpenConnect, i ransylvania Innovation Ventures, s-a alturat i Startup Lounge, o iniiativ ClujHub. otei au pornit i Startup ransilvania, un auto-declarat one stop shop al startup-urilor din ransilvania. Cu Startup Weekend stnds nceap i StartupLive conrmat, mi-am depit limita de utilizare al cuvntului startup i le urez succes tuturor antreprenorilor.

    ransylvania Java User Group

    Calendar

    Februarie 28

    Monthly Meetupwww.meetup.com/abara-de-estare-Cluj/

    Martie 1-3

    Startup Weekend - Recomandat SMcluj.startupweekend.org/

    Martie 3

    Ubuntu Global Jam Cluj-Napoca

    loco.ubuntu.com/events/venues/Romania/936/detail/

    Martie 6

    Monthly Meetup - abra de testare

    www.meetup.com/abara-de-estare-Cluj/

    Martie 7

    Ruby 2.0.0 - ce este nou, i ce nseamn asta pentru noi

    www.meetup.com/cluj-rb/

    Martie 12

    Ruby 2.0.0 - AgileWorks Remote Open Space

    www.meetup.com/he-Cluj-Napoca-Agile-Sotware-Meetup-Group/

    Martie 15

    ...even mommoth can be Agile

    colorsinprojects.ro/eveniment-cluj

    Martie 15

    Yonder Open Days

    yonderopendoors.eventbrite.com

    Martie 20-21

    Cluj I - Innovation days

    www.clujit.ro/cluj-it/agenda/

    Joi/sptmnal

    OpenConnectwww.acebook.com/groups/355893314491424/

    Miercuri/bilunar

    OpenCoeewww.acebook.com/opencoeecluj

    Comuniti IT Cluj-Napoca

    comuniti

  • 7/29/2019 Today Software Magazine N9/2013

    13/52

    13www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    Ca orice alt dezvoltator web, preer spetrec ct mai puin timp pe partea de UI,dar n acelai timp mi-ar plcea ca produsulnal s arate extraordinar. Pentru aceastaam cutat continuu resurse i unelte care sm ajute s ajung la acest rezultat.

    Cteva dintre resursele disponibile n

    acest moment i care ajut nu doar la rea-lizarea n timp mai scurt a unei intereeprietenoase, moderne dar i la adugareade valoare prin prisma experienei pe careo are utilizatorul nal n olosirea produsu-lui livrat vor prezentate n acest articol.

    FrameworkpentruUI-TwitterBootstrap1

    Twitter Bootstrap este un rameworkpentru design HML/CSS i Javascriptprin ncapsularea unor uncionaliti dinjQuery. De asemenea, este un ramework

    care are ca principal sarcin oerireaelementelor necesare pentru realizareaunui produs inisat ntr-un timp scurt.Ca proiect open-source, iniiat de echipade dezvoltare de la witter, a prins oarterepede n comunitatea online, avnd untrend exponenial pe mai multe direcii.Astel, nu doar c a ajuns la versiunea2.2.x i c este printre cele mai populareproiecte open-source pe GitHub, dar nacelai timp librria a declanat dezvolta-rea unor tere librrii i extensii care au ca

    scop completarea i ranarea unui pachetntreg de resurse necesare n jurul acestuiramework.

    1 http://twitter.github.com/bootstrap/

    Printre aceste resurse pot menionate: emplate-uri de witter Bootstrap

    (licene libere sau comerciale) Fonturi noi Elemente i componente UI Alte elemente estetice utile (sgei,

    librrii pentru grace, generatoare tem-plate-uri, etc)

    witter Bootstrap mai oer nc o aci-litate, care nu este deloc uor de trecut cuvederea: plaja de compatibilitate cu marileweb browser-e este oarte bun, incluzndi Internet Explorer 7. Iar la nivelul dispozi-tivelor mobile, acestea sunt suportate prinimplementarea unui CSS responsive.

    n privina suportului pentru device-urimobile, witter Bootstrap nu poate nlocuiun ramework destinat exclusiv acestora,

    cum ar jQuery Mobile, care e construit idenit ca unramework weboptimizat pen-tru smartphones i tablete, pe cnd witterBootstrap oer doar suport pentru aces-tea prin crearea de layout-uri responsive nuncie de device-ul care l acceseaz.

    La baza dezvoltrii continue a ra-mework-ului witter Bootstrap estepre-procesorul LESS, ales datorit vite-zei de compilare a codului (de 6 ori mairapid ca SASS), i a eleganei i utilizriiJavaScript-ului. Ca rezultat, oer unui dez-

    voltator posibilitatea ajustrii design-uluiprin denirea/setarea unui set de variabile/parametri i recompilarea surselor LESS

    Twitter Bootstrapn Aplicaii Web

    mi place s m denesc ca dezvoltator web, ceea ce nseamn, o persoan care reali-zeaz aplicaii web mai degrab dect una care realizeaz site-uri web de prezentare,acestea din urm intrnd dup prerea mea n responsabilitatea i execuia unui web

    designer. Cu toate acestea, aplicaiile web au componenta lor de intera web, de aceea ncazul echipelor mici sau chiar one man show/reelancer, e nevoie de ajutor n realizareaunei interee care s ac experiena utilizatorului plcut prin aspect i uoar n utili-zare, iar munca depus pentru aceasta s e ct mai redus ca eort i timp.

    programare

    Ioan [email protected]

    Senior Web Developer@ 3Pillar Global

  • 7/29/2019 Today Software Magazine N9/2013

    14/52

    14 nr. 9/2013 | www.todaysoftmag.ro

    rezultnd un nou set de iere de stil (CSS).LESS, nu este singur pre-procesor

    de CSS disponibil, existnd n momentulde a mai multe pre-procesoare printrecare s-au remarcat printre dezvoltatorii deront-end: LESS, SASS i SCSS. Folosireaacestora aduce o valoare adugat oricruiramework deront-end. ns modul lor deuncionare este asemntor, ecare ncer-cnd s oere dezvoltatorului uurin n ascrie un cod de calitate, i dezvolta un pro-dus nit.

    Browser-ul web ind capabil s inter-preteze doar iiere de stiluri CSS, codulscris pentru aceste pre-pocesoare estecompilat genernd un set de stiluri CSSinterpretabile de broswere.

    Aceste pre-procesoare au aprut cao necesitate n urma limitrilor pe care

    le implic olosirea stilurilor CSS (lipsavariabilelor, i a acilitii de reolosire astilurilor n mai multe selecii CSS).

    Dei la prima vedere, olosirea aces-tor pre-procesoare ar putea consideratca o munc adiional n realizarea uneiaplicaii sau pagini web, una dintre avan-tajele majore este ctigarea de timp ndezvoltare, alturi de un cod mai curat(DRY = Dont Repeat Yoursel), un ierde CSS mai curat i uor de ntreinut.

    Template-uripentruTwitterBoostrapCa urmare a succesului i popularitii

    ctigate de acest ramework html/css auaprut comuniti i pagini web cu scopdeclarat de a oeri (gratis i/sau comercial),pachete de interee utilizator completei gata de integrat n aplicaii din diversedomenii.

    Unul dintre cele mai populare, {wrap}bootstrap oer template-uri pe categorii:

    Administrare i Dashboard, Pagini de prezentare, Pagini Business i Corporate, Portooliu i Galerii Foto.Pe lng acest serviciu comercial

    exist multe altele care oer template-uri complete sub o licen gratuit, unul

    dintre acestea ind Bootmetro, replic sti-lul Metro Style, oerit de noul Windows 8.(http://aozora.github.com/bootmetro/)

    IntegrareajQuerynTwitterBoot-strap

    jQuery a ost integrat nc de la primeleversiuni, i alturi de el cteva plugin-uricare se olosesc n mod uzual: erestremodale, reprezentare pe tab-uri,tool tip-uri, carousel, dar i ctevaelemente mai noi scroll spy, aixcare adaug un plus de noutateoricrei pagini web.

    La utilizarea pachetului witterBootstrap, pe lng posibilitatea dea-i construi singur pachetul olo-sind unciile pre-procesoruluiLESS local instalat, se poate utiliza

    i personalizarea pachetului prindeinirea de variabile, parametrii chiar plugin-uri necesare nainte de adownloada acest pachet de pe site-ul carel gzduiete. Acest lucru se poate traducen personalizarea i micorarea pachetuluiexpus utilizatorului nal, rezultnd o vitezmai mare de ncrcarea a paginii web.

    Sau olosind uncionalitatea librrieiJQuery plot:

    Pe lng plugin-urile puse la dispoziiede ctre echipa din spatele acestui pachet,exist numeroase site-uri care complemen-teaz cu diverse extensii, de la reprezentri

    graice ale unor inormaii utile, pn laextinderea unor widget-uri clasice la unnivel superior.

    Pentru integrarea acestora, witterBootstrap oer dou metode, una din-

    tre acestea, iind interesantpentru ca nu cere cunotinede Javascript pentru utilizare.Metoda aceasta olosete doarcod HML cu atribute speci-ale ataate tag-urilor existent

    pentru declanarea unoruncionaliti Javascript:

    Launch modal

    Cea de-a doua metod se bazeaz peapeluri Javascript:

    $(#myModal).modal(options)

    n exemplul din urmtoarea imagine,se poate vedea: navigaie x top cu dropdown, grupuri de butoane, ull calendarwidget, i datepicker calendar.

    Un set curat i cu o oarecare amprentde widget-uri este oerit i de cei de la FuelUX Controls.

    Printre care datagrid-ul complet oeritde acetia este i cel prezentat n urmtoa-rea gura2:

    Font-uri pentru reprezentarea icoanelor3

    O alt tendin este olosirea unui ontn reprezentarea icoanelor pentru anumiteaciuni i reprezentarea de inormaii auxi-liare pentru inormaii prezentate. Unuldintre acestea: FontAwesome, este chiardeinit ca iind un ont iconic dezvoltatpentru a olosit mpreun cu ramework-ul witter Bootstrap. Dar nu este singurul,el iind complementat de cteva ont-uri

    din aceeai categorie.Un exemplu este Socialico, care oer

    un set de caractere destinat reprezent-rii iconielor celor mai populare reele desocializare.

    E o metod nou de prezentare ainormaiilor de tip icoane, care vine i cumulte avantaje precum: scalabilitatea repre-zentrii r pierderea calitii (ont-ul indreprezentat vectorial), o amprent mai mic(dimensiune mai mic a iierelor), mai

    puin munc de Photoshop i binenelesde creare/modicare stiluri CSS; dar i cucteva dezavantaje: o limitare n privina

    2 http://exacttarget.github.com/uelux3 http://ortawesome.github.com/Font-Awesome/

    programare

  • 7/29/2019 Today Software Magazine N9/2013

    15/52

    15www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    numrului de icoane disponibile n ie-care ont, i chiar o mic problem de SEO(google bot nu poate s interpreteze literax care e randat pentru user n broswer-ul web ca iind icoan reprezentnd

    aciunea de Login).

    Integrarea template-urilor ntr-un Frame-work PHP MVC complet.

    Pachetul witter Bootstrap este inde-pendent de tehnologia server side olosit,ceea ce l ace atractiv pentru web designeri

    i dezvoltatori web, indierent de limbajul

    de programare utilizat.Folosirea acestui pachet de UI, mpre-

    un cu un ramework de tip MVC avansat,care pe lng uncionalitatea standard, iun design arhitectural oer i un generatorde module de tip CRUD (Create/Remove/Update/Delete i altele dac se intervine) ar un caz complet de implementare de tipRapid Aplication Development (RAD) curezultate i privind experiena user-ului.

    n nalPachetul witter Bootstrap, prezentat

    n acest articol, nu este singurul disponibiln momentul de a pe internet. Un altpachet interesant este Foundation, ajunsla versiunea 3.2 i oerit de cei de la ZurbFoundation. Din nou este vorba despre unramework UI, construit de data aceasta

    olosind pre-procesorul SASS, dar careoer acilitii asemntoare cu witterBootstrap.

    oate acestea nu reprezint dect ocolecie de resurse pus la dispoziiepe mai multe pagini web, dar care pot combinate ntr-o orm unitar n pro-dusul inal. Rmne ns tot n sarcinadezvoltatorului s apeleze la simul creativi analitic pentru a crea o intera util iacil pentru utilizatorul nal combinndresursele.

  • 7/29/2019 Today Software Magazine N9/2013

    16/52

    16 nr. 9/2013 | www.todaysoftmag.ro

    ns, dac un programator neamiliari-zat cu mediul SAP va presupune c Eclipsenu e dect un alt IDE, un dezvoltatorABAP va recunoate imediat c tranziiactre acest nou IDE nu este una care spoat i cut cu una, cu dou. Motivulconst n aptul c ntreg procesul de dez-voltare ABAP se desoar dup un alttipar dect cel ntlnit n mod obinuit laproiectele dezvoltate utiliznd platormaEclipse. n rndurile ce urmeaz vom ana-

    liza aceste procese, dierenele dintre ele imodul n care a ost proiectat integrareaABAP n Eclipse pentru a le soluiona.

    Dezvoltarea sotware utiliznd EclipseIDE

    Pentru nceput vom arunca o privireasupra modului n care se desoar unproces tipic de dezvoltare soware atuncicnd se utilizeaz un IDE precum Eclipse.Analiza se realizeaz n special din perspec-tiva integrrii continue i a modului n careaecteaz aceasta procesul de dezvoltare.

    Fig. 1 Proces tipic pentru versionare iintegrare continu utiliznd un IDE pre-cum Eclipse

    n mod obinuit n aceste situaii pro-iectul se al stocat ntr-un repositorycentral, ns dezvoltarea propriu-zis sedesoar local. Fiecare developer va aveao copie local a proiectului, iar dezvoltareaare loc cu ajutoril IDE-ului de pe propriulcalculator, care pune la dispoziie o serie detool-uri i uncionaliti n acest scop. O

    dat ce dezvoltarea a ost nalizat, modi-crile pot transerate napoi n repository.Prin acest proces se realizeaz implicit oversionare a modicrilor, se rezolv pro-blema accesului concurent la obiecte, iarconsistena proiectului este asigurat prinbuild-urile realizate periodic pe baza codu-lui din repository.

    Dezvoltarea sotware bazat pe plat-orma SAP

    Pentru a evidenia dienele dintre dez-voltarea soware ABAP i modul de lucru

    prezentat anterior, vom prezenta ctevadintre aspectele care in de spe-ciicul SAP. O dat ce acesteaspecte au ost analizate putemace o evaluare mai precis aconsecinelor pe care le aducecu sine trecerea pe ABAP nEclipse.

    Landscape-ul de sisteme SAP imanagementul transporturilor

    n cazul unui proiect SAP

    tipic, avem de-a ace cu unlandscape de sisteme , ecaresistem avnd un rol bine denit,cum ar i dezvoltare, QA, inte-grare, producie.

    ABAP n Eclipse

    n timp ce reputaia SAP a ost construit pe baza soluiilor de business pe care com-pania e capabil s le oere clienilor si enterprise, platorma tehnic din spateleacestor soluii nu a ost neaprat n centrul ateniei. Iniiativele SAP din ultima peri-oad dau ns de neles c dorete s schimbe acest lucru. Printre aceste iniiative senumr i decizia de a porta mediul clasic de dezvoltare ABAP de pe interaa obinuitSAP GUI pe o platorm modern cum este Eclipse.

    programare

    Figura 1 - Proces tipic pentru versionare i inte-

    grare continu utiliznd un IDE precum Eclipse

    Victor [email protected]

    SAP IT Consultant@ .msg systems Romania

  • 7/29/2019 Today Software Magazine N9/2013

    17/52

    17www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    Dezvoltarea se ace doar pe sistemul dedevelopment, iar atunci cnd un programa-tor ABAP eectueaz o modicare pe acestsistem, ea este salvat n registrul intern deversionare al sistemului i asignat unuitransport request.

    Acest requesteste practic un containeral crui rol este(printre altele) s grupezemai multe astel de modicri eectuate pesistem. O dat ce implementarea s-a nche-iat, request-ul e olosit pentru a transportamodicrile respective de pe sistemul dedevelopment pe celelalte sisteme din lan-dscape, urmrind anumite ci de transportpredenite.

    Paradigma de dezvoltare server-siden cazul proiectelor SAP, dezvoltareapropriu-zis nu are loc prin editarea locala obiectelor, ci live pe application server-ulABAP. Acest lucru aduce cu sine o seriede alte probleme care trebuie rezolvate,precum:

    1. Problema accesului concurent laacelai obiect, rezolvat prin utilizarea

    de lock-uri pesimistice1 la nivelul e-crui obiect2

    2. Stabilirea momentului n care omodiicare devine activ n sistem.Atunci cnd un obiect este editat, oversiune inactiv a acestuia este creat,versiune ce conine toate modiicrileeectuate asupra obiectului. Pentru camodiicrile s aib eect la runtime,obiectul trebuie activat. Prin activare,application server-ulABAP va generan sistemul nou versiune de runtimeobject pentru obiectul editat.

    ABAP WorkbenchPentru a acilita dezvoltarea server-side

    i editarea obiectelor din R/3 Repository ,application server-ulABAP pune la dispozi-ie un mediu de dezvoltare integrat: ABAP

    Workbench. Acesta este ormat din tool-uri

    diverse, menite s suporte ntregul ciclu dedezvoltare soware.

    Dezvoltarea sotware n mediul SAPnu ar i posibil r aceste tool-uri. n

    1 Lock-ul este obtinut nainte de a edita un obiect.Consecinta este ca orice obiect afat deja n editare de catre un altutilizator nu mai poate accesat dec t n mod read-only.

    2 Granularitatea acestor lock-uri depinde de tipul deobiect care este editat(de ex. n cazul unctiilor ntreaga unctia va blocata, n timp ce n cazul unei clase lock-ul este creat la nivel demetoda a clasei)

    consecin orice mediu de dezvoltare carese vrea un nlocuitor pentru workbench-ulABAP trebuie s pun la dispoziie acesteuncionaliti.

    ABAPnEclipsePrimele ncercri de a porta workbench-

    ul ABAP n Eclipse au avut loc acumaproape un deceniu, iar de atunci i pnacum diverse companii au creat plugin-uri care s permit dezvoltarea ABAP nEclipse,plugin-uri care ntre timp au ajunsla un nivel oarte bun de maturitate.

    Cu toate acestea, n cadrul acestui arti-col ne vom ndrepta atenia ctre soluiacare, dei a ost lansat de mai puin de unan, probabil se va impune n scurt timpn aa celorlalte alternative, i asta pentruaptul c este soluia ocial lansat chiar

    de SAP.

    SAP ADTABAP Development ools(AD)

    este numele oicial sub care este promo-vat pachetul care ace posibil dezvoltareaABAP n Eclipse. Conorm SAP, scopulAD este creterea productivitii progra-matorilor ABAP prin punerea la dispoziiea unui mediu de lucru care integreaz capa-bilitile workbench-ului ABAP ntr-ointera puternic i modern bazat pe

    platorma Eclipse.Pentru a obine un mediu de dezvoltareABAP puternic, e nevoie ca tool-urile careormeaz Workbench-ulABAP s e cutedisponibile i pentru platorma Eclipse.ntrebarea la care ne-am propus s gsimrspuns este: Cum se realizeaz integrareadintre Eclipse i ABAP pentru a ace acestlucru posibil?

    Rspunsul scurt: Expunerea de servicii

    Figura 2 - SAP System Landscape Figura 3 - Utilitarele care ormeaz

    Workbench-ul ABAP, i care permit mani-

    pularea obiectelor din R/3 repository

  • 7/29/2019 Today Software Magazine N9/2013

    18/52

    18 nr. 9/2013 | www.todaysoftmag.ro

    RES3 n application server-ulABAP, iconsumarea acestor servicii din Eclipse.

    Pentru a elabora rspunsul - pachetulAD este ormat din dou componente:

    O extensie a application serveru-lui Netweaver ABAP4 , care permitedeinirea unor resurse n backend-ulABAP, resurse ce pot adresate pe bazaunui URI(unique resource identiier).Applicat ion Server-ul expune acesteresurse la respectivele adrese, permind

    astel unui client RES s le consume O serie deplugin-uri Eclipse menite

    s consume serviciile RES i s creezeinteraa dintre dezvoltator i serverulABAP

    Practic, prin analogie, putem compa-rara Eclipse cu un browser web, dar carepermite navigarea nu pe pagini web, ciprin repository-ulde obiecte R/3 . n acestel modul de dezvoltare rmne n continu-are server-based: obiectele nu sunt stocate

    local ci editate direct pe server prin inter-mediul serviciilor RES.Operaiile tipice pentru dezvolta-

    rea ABAP(where-used list, veriicarea&activarea de obiecte, managementul trans-porturilor etc.) se realizeaz de asemeneaprin apelarea unor servicii n back-endiprezentarea lor n mod corespunzator peinteraa Eclipse.

    ADT SDKAvnd n vedere arhitectura orientat

    pe servicii a AD, care aduce cu sine un

    potenial ridicat de extindere i reutilizare,SAP a hotrt s pun la dispoziia pro-gramatorilor i un Soware DevelopmentKit(SDK) pentru AD. SDK-ul permiteoricui s creeze tool-uri tere care potmbunti/uura procesul de dezvoltareABAP.

    innd cont de dimensiunea comuni-tii Eclipse, e de ateptat ca i aceasta scontribuie n mod decisiv la dezvoltarea imaturizarea rapid a platormei AD. Unproiect pilot bazat pe AD SDK a ost por-

    nit deja i are ca scop integrarea SAPLink5n Eclipse.3 Denitia conceptului de servicii RES: en.wikipedia.

    org/wiki/Representational_State_ranser4 Acest enhancement este disponibil n backend-ul

    ABAP doar ncepnd cu Netweaver 7.31 SP04(lansat n iunie 2012)5 S A P L i n k e s t e u n t o o l c a r e u u r e a z

    RezultatulDac din punct de vedere tehnic amconstat c au ost gsite o serie desoluii ingenioase pentru a ace inte-grarea ABAP n Eclipse posibil, ncontinuare vom analiza ABAPDevelopment ools i dinperspectiva uncionalitiloroerite la momentul de a.

    Conexiunea la sistemeRealizarea conexiunii ctre un

    anumit application server ABAP serealizeaz prin intermediul proiecte-lor Eclipse. Fiecare proiect ABAP n Eclipsese mapeaz pe un singur sistem i coninedatele de conectare pentru acesta. n acestel devine posibil conectarea din Eclipsesimultan ctre mai multe sisteme SAP.

    CodingDac n cadrul workbench-ului ABAP

    editarea codului e posibil att n modsource-code based ct i orm-based,n Eclipse abordarea orm-based nu va mai suportat. SAP argumenteaz c studiileeectuate n acest sens au demonstrat cdezvoltarea source-code based utilizndun editor puternic este mai ecient decteditarea codului surs ragmentat norm-uri multiple.

    Dincolo de acest aspect, puterea i fe-xibilitatea editorului din Eclipse pot aducepe termen lung multe benecii programa-torilor ABAP.

    Funcii & Tool-uriVeriicarea i activarea obiectelor se

    numr printre unciile care au ost inte-grate complet n Eclipse nc din primaversiune AD i uncioneaz la el de binen Eclipse ca i n SAP GUI.

    De asemenea, prin utilizarea Eclipse,utilizatorul va avea parte de doua sisteme

    de versionare ale modiicrilor indepen-dente: att cel de pe application server-ulABAP ct i cel local din Eclipse.

    n categoria tool-urilor portate completpe Eclipse intr cel pentru managementultransporturilor: AD oer ntreaga paletde uncii necesare pentru gestiunea requ-est-urilor direct din interaa Eclipse.

    Cu toate acestea, din pcate nu se poatespune acelai lucru i despre celelalte tool-uri considerate eseniale pentru dezvoltareaABAP. Utilitarele olosite pentru editarea

    obiectelor de Data Dictionary, a screen-uri-lor i a altor obiecte nu au ost nc portaten interaa Eclipse. Ca o msur provizoriedistribuirea aplicaiilor ABAP, permind crearea de pachete deobiecte(nuggets), i exportarea/importarea acestora n sistemeleSAP

    n ncercarea de a compensa pentru acestneajuns, atunci cnd se dorete editareaunui astel de obiect, utilizatorul va aveasurpriza de a vedea c tool-ulrespectiv,rulnd n interaa obinuit SAP GUI, va

    pornit i aat n cadrul unui tab Eclipse.

    Conorm SAP, o parte din aceste tool-uri vor i integrate n release-urile ADviitoare, n timp ce pentru altele actual-

    mente sunt evaluate noi soluii, care petermen lung se muleaz mai bine pe strate-gia de termen lung gndit de SAP.

    DebuggingUnul dintreeature-urile eseniale care

    au lipsit din prima versiune AD a ostposibilitatea de a utiliza debugger-ulEclipsepentru depanarea aplicaiilor ABAP.

    Sritul anului 2012 a adus ns i onoua versiune de AD (2.0), iar printrembuntirile acestei versiuni se numr

    i integrarearamework-ului pentru testarei debugging ABAP cu debugger-ulnativEclipse.

    ConcluzieDei s-ar putea ca momentan muli

    dintre dezvoltatorii ABAP s e nc reti-cieni n ceea ce privete migrarea dela workbench-ul ABAP ctre ABAP nEclipse(i asta pe bun dreptate avnd nvedere lacunele pe care cel din urm le pre-zint n momentul de a), este de ateptatca pe viitor, odat cu maturizarea acestuia,

    balana s se ncline ctre AD.SAP i-a cut public intenia de a

    nu mai investi n dezvoltarea workbench-ului ABAP classic, i chiar mai mult - de ancuraja trecerea ctre Eclipse prin oerireaanumitor uncionaliti n exclusivitateprin AD. Un exemplu reprezentativ naceast direcie este SAP HANA Studio,colecia de tool-uri pentru gestiunea bazeide date in-memorySAP HANA, disponibildoar n Eclipse. Lund n considerare acetiactori, trecerea dezvoltatorilor ABAP ctre

    Eclipse nu mai pare att o incertitudine, ctmai degrab o chestiune de timp.

    ABAP n Eclipse

    programare

    Figura 4 -Arhitectura ADT

    Figura 5 -Aplicaie SAP GUI inte-

    grat ntr-un tab Eclipse

  • 7/29/2019 Today Software Magazine N9/2013

    19/52

    19www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINEprogramare

    n esen, GW este un set de instru-mente care permite crearea de aplicaii webcomplexe, cu un minim de cunotine deHML / Javascript. Acest lucru este posibildatorit compilatorului care translateazcod Java n cod HML / JS. De exemplu,crearea unui buton n GW se poate realizaastel:

    Button button = new Button(Click here).

    Secvena de cod Java de mai sus va translatat n:

    .

    AvantajeGW conine n mod implicit anumite

    componente grace dinamice i reutiliza-bile. Acestea pot i extinse i modiicatedup necesiti.

    De asemenea, GW oer un sistemde gestionare a istoriei aplicaiei, utili-

    znd butonul Back al browser-ului. Acestmecanism este oarte util deoarece n lipsalui, butonul cauzeaz prsirea aplicaiei,cnd de apt utilizatorul ar dori s revin laaciunea anterioar n interiorul aplicaiei.

    Un alt mare avantaj al GW-ului estec asigur suport pentru debug standardnJava. Mai exact, aplicaia ruleaz ntr-unbrowser web sub orm de cod JavaScript,dar n codul Java putem inspecta valori,pune breakpoint-uri , exact ca i cumaplicaia ar executat n Java.

    Promisiunea pe care Google o aceprin GW e similar cu promisiunea pecare Sun a cut-o cu Java: Write once,run anywhere. Astel, dac Java pro-mite independena a de platorma pe

    care ruleaz un program, GW promiteindependena a de browser-ul pe careruleaz aplicaia web.

    Nu n ultimul rnd, erorile comune deJavaScript cum ar i incompatibilitate detipuri sau erori de scriere, sunt detectate nmod implicit de ctre compilator, deoarececodul e scris n Java.

    GWTitehnologiileweb

    GWT i JavaScriptPentru a olosi GW trebuie s

    acceptm un ciclu de dezvoltare de tipscrie compileaz ruleaz. Acest aptncetinete viteza de implementare a unuiprodus n comparaie cu JavaScript, underezultatele se vd imediat ce codul estescris.

    Vestea bun e c cei de la Google s-augndit i la aceasta, de aceea n GW exist

    un mod de a rula aplicaia numit DevMode,n care codul scris n Java e translatat nJavaScript la momentul executrii, liniecu linie. Drept urmare, tot timpul aplicaiaruleaz ultimul cod scris, ceea ce nseamnc se poate ace o modicare n cod, plus orencrcare a paginii n browser i modi-crile cute sunt deja vizibile.

    n caz c este necesar, se poate scrie codJavaScript care nu va modicat de compi-lator. Pentru acest lucru se declar metodejava native, iar codul JavaScript se scrie

    ntr-un comentariu sub declaraie.public static native String

    getNativeLocationURL() /*-{var currentURL = $doc.location.href;return currentURL;

    }-*/;

    Google Web ToolkitO vedere de ansamblu

    Prezentul articol este o iniiere n Google Web ookit (GW) pentru cei care nu aumai lucrat cu pn acum cu acesta, dar i o surs de inormaii interesante despreGW pentru cei care sunt amiliari cu acest mediu de dezvoltare.

    Alex [email protected]

    Senior Developer@ HP

  • 7/29/2019 Today Software Magazine N9/2013

    20/52

    20 nr. 9/2013 | www.todaysoftmag.ro

    GWT i CSSChiar dac majoritatea componentelor

    grace puse la dispoziie de ctre GW auun aspect bun din punct de vedere vizual,de cele mai multe ori dorim s modicmelul n care arat aplicaia web. n acest cazsunt necesare cunotine de CSS. Desigurse pot olosi i librrii de CSS pentru aajunge mai rapid la un rezultat satisctor.

    GW oer suport pentru editarea cla-sei de CSS a unui element la rulare. Spreexemplu, pe butonul denit n introducereaarticolului putem aplica o clas CSS oarteuor, olosind metoda setStyleName:button.setStyleName(awesomeButton);

    otodat, exist suport i pentru adu-garea sau eliminarea de nume de clase.

    GWT i HTML

    Lucrul cu GW nu nseamn c suntemconstrni la un anumit set de componenteweb. n nal va generat tot cod HML ide aceea exist suport pentru componenteHML pure.

    Nu este obligatoriu nici ca o aplicaies e n ntregime scris n GW: se poateintroduce pe o pagin web doar o compo-nent GW n cazul n care se dorete capagina s rmn neschimbat n rest.

    De asemenea, GW oer suportdirect pentru elemente HML5. De exem-

    plu, pentru a verica dac tag-ul video deHML5 e suportat n browser-ulcurent (ncare e deschis aplicaia), se poate apelasimplu:Video.isSupported();

    Structura unui proiect GWTUn proiect care olosete GW este

    compus din trei pachete mari: Client,Shared i Server.

    Codul din pachetele Client i Sharedva i translatat de compilatorul GW ncod HML i JavaScript. Din acest motiv,

    codul din aceste dou pachete este limitatla un subset de clase din Java, numit JREEmulation Library. Codul din pachetulServer este cod pur Java i poate olositoate clasele disponibile.

    n linii mari, n pachetul Client se afcodul care descrie interaa graic. Dinacest pachet nu se pot olosi direct claseledenite n pachetul Server.

    n pachetul Shared se af obiectele detranser de date, prin intermediul crora setranser inormaia ntre aplicaia web i

    server. Clasele din acest pachet pot acce-sate i de ctre codul din Server i de ctrecodul din Client. Ele sunt privite dreptclase Java de ctre codul de pe Server dar, nacelai timp, sunt translatate n Javascript

    de ctre compilator, pentru olosirea lor ncodul din interaa grac.

    n pachetul Server sunt clasele careasigur ncrcarea datelor din alte surse:baze de date, integrri cu alte produse, etc..Acestea pot chiar s lipseasc complet, cazn care aplicaia web generat de compila-tor poate instalat pe orice server web,chiar i r suport Java. n aceast situaieeste vorba de o aplicaie care nu necesitdate persistente (de exemplu: un calculatoronline sau o aplicaie care i gestioneazdatele olosind servicii web).

    Pentru a i apelat cod din pachetulServer de ctre Client se creeaz apeluriasincrone. De exemplu, pentru o metodmyMethod, dintr-un serviciu myService,apelul myService.myMethod se va exe-cuta instant, iar dup un anumit timp se va

    apela metoda onFailure sau onSuccess dinAsyncCallback.

    myService.myMethod(myParam1, myParam2, newAsyncCallback() {public void onFailure(Throwable caught) {

    handleException(caught);}

    public void onSuccess(ResultType re-sult) {

    doSomethingWithResult(result);}

    }

    Unde i cum este olosit GWTGW este olosit de anumite produse

    Google i de multe companii mari att din

    domeniul public, ct mai ales din dome-niul privat. Multe dintre aplicaiile scrisen GW nu sunt publice, ind olosite ninteriorul organizaiilor.

    Dintre produsele publice scrise nGW putem aminti: Google AdWords,Google Flight, Google Web Fonts, exten-sia Speed racer de la browser-ulChrome,versiunea desktop a jocului Angry Birds,Google Groups i interaa de administrarede la Blogger.

    Este demn de menionat un eort cutde programatorii Google n timpul lor liber,de a porta jocul Quake2 n GW. Mai exactau olosit o portare deja existent n Java a

    jocului, iar cu ajutorul GW au reuit s lruleze sub orma unei aplicaii web. Pentrua unciona modul multi-player au olositWebSocket din HML5.

    Framework-uri bazate pe GWTGW se al la baza a numeroase

    ramework-uri sau produse utile pentruprogramare.

    GX de la Sencha este o librriecuprinztoare de componente grace, carepot olosite ntr-o aplicaie web. Oer isuport pentru ncrcarea de seturi mari dedate, cu paginare client-side sau server-sidei alte avantaje.

    Vaadin este unramework pentru dez-voltarea de aplicai i RIA (Rich InternetApplications), care se concentreaz maimult pe partea de server. Mai exact, nGW este posibil ca un click pe un butons nu genereze un apel la server, ci s actua-lizeze alt element, sau s schimbe aranjarean pagin. n Vaadin, modul de lucru esteca orice aciune a utilizatorului s trimit

    un apel la server, pentru a determina ceeect s aib acea aciune.

    PlayN, unramework pentru dezvoltatjocuri care s ruleze pe platorme multiple(Java, Flash, Android, web), olosete GWpentru implementarea mediului de rulareweb.

    n ne, mGW este o librrie pentruGW pentru crearea de aplicaii web pen-tru dispozitive mobile.

    Comunitatea GWT

    De la lansarea GW din 2006 i pnanul trecut, Google a ost principalul actorde decizie n ceea ce privete viitorul aces-tui proiect ct i principalul contributorla codul surs. Celelalte companii care auadus mbuntiri sau au dezvoltat compo-nente pentru GW nu aveau un mod de acontribui la codul acestuia.

    Anul trecut Google a luat decizia dea niina GW Steering Committee comitetul de conducere GW. Din acestcomitet ac parte persoane care aparinunor companii ca i Vaadin, Sencha,

    RedHat i mGW. Rolul acestui comiteteste de a asigura continuitatea proiectuluii de a contribui la mbuntirea coduluiacestuia.

    ViitorulCompania Vaadin a creat un raport

    numit Viitorul GW, bazat pe un ches-tionar la care au rspuns aproximativ 1300de companii reeritor la elul n care GWeste olosit n interiorul organizaiei lor.80% din aplicaiile GW sunt dezvoltate

    n segmentul de aaceri, iar 1% sunt jocuri.Mai mult de 36% din aplicaii asigursuport pentru tablete, iar peste 25% pentruteleoane mobile.

    Reeritor la satisacie, 49% dintre cei

    Google Web Toolkit - O vedere de ansamblu

    programare

  • 7/29/2019 Today Software Magazine N9/2013

    21/52

    21www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    care au rspuns, sunt nemulumii de timpul de compilare, 34%de numrul mic de componente disponibile de la Google, iar27% de timpul de rencrcare al aplicaiei cnd aceasta ruleaza nDevMode.

    Pe de alt parte, 60% sunt mulumii de aptul c nu trebuies scrie nici o linie de JavaScript, 25% de viteza aplicaiei la rulare(cnd este instalat la utilizatorii nali), iar 15% de posibilitatea dea gsi i repara deecte rapid. Cel mai important, 89% din cei careau rspuns, ar olosi GW ntr-un proiect n viitor.

    ConcluziiFolosind GW se poate trece destul de repede de la o aplicaie

    care olosete librrii Java standard (Swing, AW) pentru interaagraic, la dezvoltarea unei aplicaii web, putnd i utilizatecunotinele de programare Java pentru a structura aplicaia ntr-un mod ecient.

    Bibliograehttps://developers.google.com/web-toolkit/

    https://developers.google.com/web-toolkit/doc/latest/DevGuideHtml5

    https://developers.google.com/web-toolkit/speedtracer/

    https://groups.google.com/orum/#!orum/gwt-steering

    http://sencha.com/gxt

    http://vaadin.com

    https://vaadin.com/gwt/report-2012

    http://code.google.com/p/quake2-gwt-port/

    http://chrome.angrybirds.com

    https://developers.google.com/playn/

    http://m-gwt.com/

  • 7/29/2019 Today Software Magazine N9/2013

    22/52

    22 nr. 9/2013 | www.todaysoftmag.ro

    O paradigm bine cunoscut spunec putem gestiona ceea ce putem msura.Mitul c anumite lucruri nu pot msu-rate este deja depit. Dac un lucru sauun aspect al vieii noastre se dovedete a cu adevrat important pentru noi i avemnevoie s l cunoatem i s l nelegemmai bine vom putea gsi modaliti de a-l

    msura.Exist uneori tendina de a evita utili-zarea msurtorilor n organizaie deoarecese presupune c acestea nu sunt exacte.Este important s nelegem dierena din-tre numrare i msurare. Prin numraredeterminm numrul exact sau valoareaunui indicator (ore lucrate, ore acturabile,numr de ani pe Facebook, numrul dedeecte), n timp ce msurarea presupuneexprimarea n termeni cantitativi a reduce-rii gradului de incertitudine, pe baza uneiasau mai multor observaii. Deci, orict de

    neclar sau inexact ar o msurtoare, eaeste valoroas n cazul n care ne spune maimult dect ceea ce tiam nainte.

    n aaceri trebuie s im pregtii slum decizii n condiii de incertitudine.Atunci cnd este vorba de decizii care auimpact major, cu ct incertitudinea estemai mare cu att reducerea acesteia va imai valoroas. Msurtorile nu trebuie sie precise, de aceea, n contextul msu-rtorilor ne reerim la intervale, praguri,tendine i nu neaprat la numere exacte.

    De cele mai multe ori nu avem nevoie deoarte multe date pentru a reduce sucientde mult gradul de incertitudine. Vom isurprini ct de mult putem nva i afa dela o cantitate mic de date ce este neleas

    i olosit corect.n industria sotware de astzi, unde

    dinamica, adaptabilitatea la schimbarei competitivitatea sunt cuvinte cheie,msurarea a devenit un proces necesar iimportant n organizaii. Convingerea cne putem baza doar pe intuiie i fer pen-tru a lua decizii ce privesc oportunitile de

    dezvoltare ale companiei nu mai este suci-ent pentru a susine obiectivele de cretereale companiei. E nevoie s tim cum sgestionm volumul de munc, resurselede care dispunem i s putem decide ncunotin de cauz ce trebuie cut, cum icnd trebuie acionat r a bjbi n beznaincertitudinilor i a presupunerilor.

    nainte de a decide punerea n aplicarea unui sistem de metrici ntr-o organizaie,este important s avem o imagine clar acapabilitilor companiei, a obiectivelor eide aaceri i a strategiei pe termen mediu

    i lung. Dac organizaia nu are o vizi-une a ceea i dorete s realizeze n viitori a ceea ce ar avea nevoie s tie, atuncimetricile colectate nu vor rspunde nevo-ilor acesteia. Un sistem de metrici este oinvestiie pe termen lung care i va artavaloarea real dup colectarea unui primset de date, care atunci cnd sunt colectatecu succes vor ajuta la revizuirea obiecti-velor, la determinarea urmtorului set demetrici care s e denit i implementat.Procesul de msurare trebuie s e neles

    ca un ciclu continuu de msurare, revizu-ire, stabilire de obiective, ranare i denirede noi metrici.

    O soluie eicient pentru deinireai punerea n aplicare a unui proces de

    Actualul articol este adresat n principal managerilor i directorilor companiilorde soware i descrie abordrile, actorii i premisele necesare a luate n con-

    siderare atunci cnd se dorete implementarea n organizaie a unui proces demsurare a indicatorilor de perorman. Ideile i recomandrile menionate n articolsunt extrase din experiena i practicile unei companii I al crei ocus este mbuntireacontinu.

    management

    Implementarea unui sistem de

    metrici de succes ntr-ocompanie sotware

    Ramona [email protected]

    Measurements & Best Practices@ ISDC

  • 7/29/2019 Today Software Magazine N9/2013

    23/52

    23www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    msurare n organizaie presupune douabordri:

    1. Abordarea de sus n jos (top-down)atunci cnd nevoile de msurare suntdeinite de ctre top-management nuncie de obiectivele de business i indi-catorii de perormant ai organizaiei;

    2. Abordarea de jos n sus (bottom-up),atunci cnd nevoile de msurare suntdenite la nivel de proiect pe baza obiec-tivelor specice ecrui proiect.

    Putem spune c un proces de msurareeste implementat cu succes atunci cndnevoile de msurare colectate n urmacelor dou abordri se ntlnesc i se com-pleteaz reciproc, iar metricile urnizeazinormaii utile pentru toate nivelurile

    de decizie din organizaie, valoarea loradugat iind recunoscut att de ctredirectori, manageri ct i de ctre angajai.

    ABORDAREATOP-DOWNObiectiveleorganizaiei

    Cnd pornim implementarea unuisistem de msurtori prin abordarea top-down, primele aspecte care vor luate nconsiderare sunt obiectivele de business alecompaniei. Acestea sunt denite i comu-nicate n cadrul organizaiei sub orma

    unor obiective SMAR exprimate n ter-meni uor de neles, ce pot n tradui nindicatori de perorman i care la rndullor pot utilizai ca i reerin la nivel deproiect. Exemple de obiective la nivel decompanie, ce pot traduse cu uurin i lanivel de proiect ar : marja de prot, gradulde satisacie al clienilor, rata plecrilor din

    rm, rata de cretere a aacerii, etc.Provocarea vine atunci cnd este vorba

    de stabilirea i comunicarea obiective-lor companiei care ac reerire la calitate.Obinerea unui certicat care atest anu-mite standarde i practici de asigurare acalitii poate considerat un obiectiv alcompaniei, dar cum anume se va traduceacesta ntr-un indicator de perormanla nivel de proiect? Setnd ca obiectiv unanumit grad de conormitate care atestrespectarea acelor standarde la nivel deproiect? Cu siguran o astel de abordarenu ar cea mai potrivit opiune. Angajaiitrebuie s neleag viziunea de calitate acompaniei i s cread n ea, nu s se simtorai s e conormi cu ceva ce poate nuneleg cu adevrat. Calitatea nu ar trebui s

    se rezume la un certicat expus pe pereteci s e perceput ca parte din ADN-uluiorganizaiei, din cultura i maturitatea sa.Calitatea st n mentalitatea i dorina dembuntire continu a angajaiilor uneicompanii. Standardele, procesele sunt doarinstrumentele necesare care s susin oastel de cultur i mentalitate.

    Este important s se ajung la un ast-el de nivel de contientizare a calitiii la un grad de maturitate adecvat norganizaie nainte de a pune n aplicare

    un proces de msurare. n lipsa acesteimaturiti metricile nu vor percepute laadevarata lor valoare i nu vor recunos-cute ca un instrument de mbuntire invare. n plus, este necesar ca la nivelde companie s existe un set de procese istandarde de lucru instituionalizate, rolu-rile i responsabilitile ind clar denite

    i nelese. Un Sistem de Management alCalitii, care s includ att asigurareact i controlul calitii trebuie s e dejan derulare iar contribuia acestuia s ierecunoscut ca ind de real ajutor i nu caun turn de control ce dirijeaz i impuneanumite standarde. Aceasta presupunec echipa de asigurare a calitii lucreazaproape de echipele de proiect, acordndsprijin i ndrumare n ecare etap a pro-iectului, croind procesele standard nuncie de specicul proiectului i venindcu recomandri privind bunele practici dinorganizaie. n paralel, controlul calitii seconcentreaz asupra tuturor activitilorde vericare i validare, cum ar cele derevizuire i de testare, pe parcursul cicluluide dezvoltare.

    Lund n considerare toate aspectelemenionate mai sus e nevoie s mai lumn calcul alte cteva premise care sunt nece-sare pentru implementarea unui proces demsurare ecient, i anume:

    utilizarea unor sisteme pentru nre-gistrarea timpului de lucru pe dieritetipuri de activiti, aplicaii pentru urm-rirea progresului pe task-uri (ex. JIRA/FS) i aplicaii pentru revizuirea codu-lui (Crucible / eam Review); existena unor standarde specice de

    congurare a acestor sisteme i aplicaiiprecum i recomandri de utilizare; disciplin privind nregistrarea

    corect i consistent a datelor n acestesisteme i aplicaii; personal calicat i instruit n colec-

    tarea i analiza de metrici; training-uri specice sau sesiuni de

    ISDC.EU/CAREERS

    WE DO PROJECTS

    WITH IMPACT. WE

    DELIVER RESULTS,

    NOT RESOURCES.

    OUR CUSTOMERS

    ARE IMPRESSED

    BY OUR AWESOME

    TECH TEAMS.

    ISDC

    ENGINEERS

    YOUR

    DREAMS!

    [email protected]

    [email protected]

    WE HIRE IN GOOD COMPANY

    L

    T

    T

    .NET ARCHITECT

  • 7/29/2019 Today Software Magazine N9/2013

    24/52

    24 nr. 9/2013 | www.todaysoftmag.ro

    transer de cunotine (KS) pe temeprivind metricile; baze de date la nivel de companie

    pentru centralizarea template-urilor,bunelor practici i a metricilor.

    Conceptul de msurare trebuie deasemenea s e neles corect, iar respon-sabilitatea pentru deinirea, punerea naplicare i gestionarea procesului de msu-rare ar trebui s e atribuit specialitilorn acest domeniu. Prin specializarea iexperiena lor acetia sunt n msur straduc un obiectiv nespecic ntr-un setde dimensiuni msurabile. Explornd ndetaliu aptele, ei sunt n msur s prezinteactorilor de decizie abordri alternativecare ac posibil evaluarea cantitativ, clar

    i oarte semnicativ a unor situaii speci-ce. Specialitii n msurare ar trebui s e,de asemenea, contieni de consideraiilepentru care anumite dimensiuni nu artrebui s e msurate (de exemplu costuleortului de msurare versus beneciul demsurare, sau uneori din motive pur etice).

    Specialitii n msurare, ca parte aechipei de asigurare a calitii, vor i ceiresponsabili de a identiica nevoile demsurare ale companiei pentru denireaprocesului de msurare, a standardelor,

    recomandrilor i metodelor care urmeazs e utilizate pentru colectarea i analizade metrici.

    Avnd n vedere obiectivele compa-niei, specialitii n msurare, mpreuncu managerul de asigurare a calitii i cuechipa de directori executivi, vor deni lanivel de companie urmtoarele:

    Sistemul de metrici necesare pentru aevalua progresul obiectivelor i pentru aidentica tendine, Procedurile de colectare a datelor

    necesare n procesul de msurare, Procedurile de analiz a metricilor

    precum i modalitatea de raportare arezultatelor, Criteriile care urmeaz a utilizate

    n evaluarea proiectelor, pentru a selectaacele proiecte care sunt relevante pen-tru procesul de msurare. Aceste criteriivor lua n considerare specicul aaceriicompaniei, tipologia de proiecte, strate-gia de dezvoltare i pot include pentruanaliz: dimensiunea proiectului idurata acestuia, relevana proiectuluipentru dezvoltarea viitoare a companiei,posibilitatea de personalizare i adaptarea sistemelor olosite pentru colectareametricilor, gradul de inovare al proiec-tului, etc. .

    Acestea iind deinite i agreate cuechipa de top-management. Este n con-tinuare responsabilitatea specialitilorn msurare ca mpreun cu echipa de

    asigurare a calitii s gestioneze pune-rea n aplicare a procesului de msurarentr-un mod planiicat i organizat. Esteimportant ca pe parcursul procesului se implicai att managerii ct i persona-lul din echipele de dezvoltare, la intervalede timp corespunztoare, specialitii nmsurare asigurndu-se c metricile suntcolectate uniorm i consistent, c acesteaau o valoare de business semniicativ,determinnd dac scopurile i obiectiveleorganizaiei progreseaz conorm planului

    sau dac sunt necesare ajustri.

    ABORDAREABOTOM-UPIndicatorideperormanaiproiectului

    Atunci cnd se ncepe dezvoltarea unuiproiect, e nevoie ca un membru al echi-pei de asigurare a calitii s ie prezentpentru a ghida managerul de proiect nstabilirea proceselor i a standardelor careurmeaz s e olosite (acestea ind selec-tate din librria de procese i standarde acompaniei) i adaptarea corespunztoare,

    croirea acestora la speciicul i nevo-ile proiectului. Acesta este momentul ncare se poate ace i evaluarea proiectului,pe baza criteriilor deinite n abordarea

    top-down, pentru a decide dac acesta sencadreaz n categoria celor care sunt rele-vante pentru utilizarea procesului standardde msurare.

    n aza de nceput a proiectului, speci-alistul n msurare mpreun cu membrulechipei de asigurare a calitii, care a ostalocat proiectului, vor ghida managerul deproiect i echipa n stabilirea obiectivelorde perorman ale proiectului, n identi-carea metricilor necesare a colectate i nelul n care acestea pot analizate pentru amonitoriza progresul obiectivelor.

    O modalitate eicient de ghidare aechipei n identiicarea obiectivelor deperorman ale proiectului presupuneadresarea unor ntrebri cum ar :

    Care sunt aspectele cheie care vor

    caracteriza perormana acestui proiect? Ce actori considerai c au impact

    semnicativ asupra calitii proiectului? Cum vei ti dac clientul este

    mulumit cu produsul pe care l oerii? Dac compania ar dispune de o libr-

    rie de date istorice, metrici colectate dinalte proiecte asemntoare, care suntinormaiile pe care ai dori s le tii?

    n cele mai multe din cazuri rspunsu-rile primite se vor reeri la aspecte ce in

    de livrarea la timp, livrarea n limita debuget, zero deecte identicate de ctreclient, un grad ct mai redus de re-work,o ct mai bun expertiz a echipei de dez-voltare, capacitatea echipei de testare,distribuia eortului pe dierite tipuri deactiviti, etc. . Uneori este util ca specia-listul n msurare s urnizeze exemple demetrici pentru a ajuta echipa s i identi-ce indicatorii de perorman.

    abelul urmtor prezint exemple deindicatori de perorman la nivel de pro-iect mpreun cu metricile care urmeaz s

    e colectate i analizate.Odat ce obiectivele de perorman

    ale proiectului sunt identiicate i agre-ate mpreun cu echipa, urmtorul pas

    Indicatori de performan Metrici (date) de colectat Analiza metricilor la nivel de proiect

    Eortul depus n proiect #ore eectuate (per iteraie)

    #ore planicate (per iteraie)

    Deviaia estimrilor per iteraie

    Deviaia estimrii la nivel de proiect

    Productivitatea story points (SP)

    unction points (FP)

    Viteza de dezvoltare ca i SP / sprint

    Ore necesare pt. dezvoltarea unui FP

    Rata de Detectare a Deectelor (RDD)

    (deecte gsite nainte de livrare raportate la

    numrul total de deecte identicate)

    #deecte gsite n revizuire (review)

    #deecte gsite de echipa intern de testare

    #deecte gsite de ctre client dup livrare

    RDD review per iteraie i tendine

    RDD testare per iteraie i tendine

    RDD client per iteraie i tendineCostul Non-Conormitilor

    (re-work)

    #ore eectuate ca re-work dup review

    #ore eectuate n xarea deectelor

    #ore eectuate n re-testare

    endinele de re-work de la o iteraie la alta

    % re-work din totalul eortului de proiect

    Implementarea unui sistem de metrici de succes ntr-o companie sotware

    management

  • 7/29/2019 Today Software Magazine N9/2013

    25/52

    25www.todaysoftmag.ro | nr. 9/2013

    TODAY SOFTWARE MAGAZINE

    presupune deinirea metricilor (datelor)care urmeaz s e colectate i recvena decolectare a acestora. Atunci cnd n librriade metrici a companiei exist deja colectatedate istorice de la proiecte similare se poatediscuta modul n care aceste metrici pot olosite n contextul proiectului curent.

    Folosind aceast abordare mem-brii echipei de proiect vor identiica einii indicatorii i valorile care deinescperormana n proiectul n care urmeazs lucreze. n acest el, ei vor n msurs se raporteze la un set de obiective clarei s lucreze pentru a atinge un nivel spe-cic de perorman, nelegnd care estelinia ce ace dierena ntre o perormani o calitate bun i una mai puin bun, unaspect extrem de important n motivarea

    echipelor.Odat denit lista de metrici, se poate

    prezenta echipei i sistemul de metrici de-nit n abordarea top-down, vericndu-secare dintre acestea au ost deja incluse nlista de metrici a proiectului lor. De celemai multe ori lista de metrici denite dectre echipele de proiect va include mareparte din metricile deinite la nivel deorganizaie. Dac exist totui metrici carenu au ost identicate de ctre echip, iarspecialistul n msurare consider c aces-

    tea ar relevante, se va discuta posibilitateaca acestea s e colectate i utilitatea lor.Folosind aceast abordare se evit demo-tivarea membrilor echipei prin impunereacolectrii unor metrici denite de ctre top-managementi a cror utilitate poate c nuo neleg.

    Lista de metrici ce urmeaz s iecolectate n cadrul proiectului trebuie s ecorect i clar neleas de ctre toi mem-brii echipei de proiect, pentru ca ulterioracestea s poat i analizate i agregate.Chiar dac poate prea evident deniia

    lor, este uimitor ct de multe interpretripot s apar. De exemplu, dac unul dintreindicatorii de perorman se reer la pro-ductivitatea exprimat prinunction points,vom avea nevoie s analizm numrul deore perunction pointla dierite etape aleproiectului i vom olosi aceste valori cai reerin pentru obiectivele altor pro-iecte sau pentru a ne poziiona a devalori le din industrie . n acest caz esteoarte important s olosim aceleai stan-darde n numrarea i analiza de unction

    points, iar atunci cnd ne raportm la eort(ore) trebuie s e clar denite activitilece urmeaz s e considerate (ex. analizacerinelor, design, codare, etc.).

    Pentru nregistrarea i colectarea de

    date vor i alocai membrii ai echipei deproiect sau specialiti n uncie de metricileagreate. Este important ca cei responsabilide nregistrarea i colectarea datelor sneleag necesitatea i utilitatea acestorai s e instruii corespunztor n standar-dele i practicile specice pentru metricilecolectate i n utilizarea sistemelor de colec-tare a acestora.

    Sistemele utilizate pentru colectareametricilor pot aceleai cu cele deja exis-tente, pe care compania le olosete pentrunregistarea timpului petrecut n proiecte,FS / JIRA, Crucible / eam Review, etc.Este de asemenea important s existe nvigoare standarde privind utilizarea acestorsisteme i recomndri de genul Cum sutilizai pentru a asigura un mod uniorm

    de nregistrare i colectare a datelor.Odat ce sistemul de metrici este n

    vigoare la nivel de proiect este impor-tant s ne asigurm c indicatorii ce suntmsurai sunt ulterior analizai i con-teaz cu adevrat la succesul proiectului.Specialistul n msurare poate participadin cnd n cnd la ntlnirile de retros-pectiv ale echipei pentru a observa eluln care datele colectate sunt analizate iutilizate n mbuntirea productivitiiechipei, a calitii produsului i n creterea

    satisaciei clientului.Specialistul n msurare se va ntlniperiodic cu managerul de proiect ileaderulechipei pentru a analiza corecti-tudinea datelor colectate, pentru a discutatendinele identiicate, pragurile stabiliteca i reerin, i pentru a evalua valoareape care metricile o aduc proiectului, a afadac exist alte nevoi identicate, sau dacexist diiculti n colectarea i analizametricilor.

    Eortul implicat n colectarea demetrici la nivel de proiect (timpul petre-

    cut, investiiile n instruire i n sistemeleutilizate), ar trebui s e evaluat nu doardin perspectiva costurilor pe care le aduceproiectului dar i din punct de vedere alvalorii suplimentare pe care acestea le aducorganizaiei. Unele metrici vor utilizateexclusiv n cadrul proiectului (de exem-plu productivitatea, atunci cnd se reerla Story Points) n timp ce altele vor puteai utilizate i la nivel de companie (deexemplu productivitatea, atunci cnd sereer la Function Points). Este de datoria

    specialitilor n msurare s se asigure cacele metrici din proiect care aduc valoaresuplimentar la nivel de companie suntselectate i salvate n librria de metrici aorganizaiei.

    Sunttoateacestepracticisufciente?Atunci cnd procesul de msurare

    mpreun cu sistemul de metrici este nvigoare pentru o perioad mai lung detimp (mai mult de un an), datele istoriceconsistent colectate vor i disponibile nlibrria de metrici a companiei. n aceststadiu, i n continuare, valorile metri-cilor pot i analizate n corelaie cu altemetrici, se pot identica tendine iar anu-mite praguri de valoare pot identicatei ulterior ajustate. Aceste inormaii suntoarte valoroase pentru companie i pot prezentate n diagrame i grace utiliznduncionalitatea Excel sau, dac este posibil,i aplicaii de Business Intelligence. Acesteinormaii trebuie s e disponibile pentruecare actor de decizie, ind utilizate n

    procesul de decizie la orice nivel pentru oestimare mai bun n procesul de oertare,pentru creterea competitivitii pe pia,pentru o mai bun alocare a resurselorn proiecte, sau pot constitui o provocarepentru echipele de proiect care i potstabili astel obiective mai ambiioase,nvnd din experiena anterioar i astelperecionndu-se continuu.

    Pare c acesta este punctul n care sepoate spune c avem n vigoare un pro-ces de msurare i un sistem de metrici de

    succes, dar putem considera oare c toateacestea sunt suciente?O companie agil , cu ocus pe

    mbuntirea continu nu se va opri aici.Pentru a concura cu succes ntr-o industriedinamic, n continu schimbare i extremde competitiv este nevoie de un mod delucru mai productiv, eicient, oerind unnivel ridicat de calitate al produselor livrate.O organizaie care i monitorizeaz conti-nuu i i gestioneaz ecient sistemul demetrici va descoperi n acesta o surs unicde avantaj competitiv.

    Procesul de msurare, sistemul demetrici i standardele aerente necesitrainare continu, n conormitate cuobiectivele organizaiei i cu specicul pro-iectelor pe care le dezvolt. Valori noi alemetricilor sunt puse la dispoziia compa-niei i e nevoie ca acestea s e analizatedin perspectiva obiectivelor de business ia poziionrii pe pia. Pe msur ce capa-bilitatea i expertiza pe partea de msurarea companiei se dezvolt i se mbuntete,se pot implementa instrumente i practici

    mai eciente i mai inteligente ca suport ncolectarea i analiza metricilor.

  • 7/29/2019 Today Software Magazine N9/2013

    26/52

    26 nr. 9/2013 | www.todaysoftmag.ro

    Domenii restricionateNu toate op Level Domains (LD)

    se pot cumpra de ctre oricine. Unul din-tre cele mai controversate LD este .edu.Acesta este unul dintre primele apte LD-uri i a ost creat n 1985 cu scopul de a

    olosit de ctre instituiile educaionaledin toat lumea. Au existat ns persoanecare au nregistrat domenii .edu n inte-res personal sau comercial. ncepnd din2001 achiziionarea acestor domenii aost restricionat. Ele pot i cumprate,n acest moment, doar de ctre instituiileeducaionale din Statele Unite ce se adre-seaz nivelului postliceal. oate domeniiledeinute pn la acel moment de ctre alteentiti au putut i pstrate. n acest eldup 2001 a nceput o vntoare de link-uri din partea domeniilor .edu despre care

    se spune ca ar avea o greutate mai mare.Alte LD restricionate sunt: .mil

    (olosit de site-urile militare din SUA),.aero (olosit numai de organizaiile dindomeniul aeronautic) sau .gov (instituiiguvernamentale ale Statelor Unite).

    Dup cum am menionat anterior,domeniile restricionate au generat de-alungul timpului o mulime de discuiilegate de modul n care sunt vzute dectre motoarele de cutare. Foarte multepersoane spun c aceste domenii sunt pri-

    vilegiate, avnd un rank mai mare datoritaptului c sunt restricionate. Acest lucrunu este adevrat. Cea mai mare parte dinrank-ulpe care l au este datorat coninutu-lui lor de calitate i a link-urilorvenite de pe

    alte site-uri (exact ca i n cazul site-urilorcare nu sunt restricionate). De