today software magazine n35/2015

48
T O D AY SOFTWARE Nr. 35 • Mai 2015 • www.todaysoftmag.ro • www.todaysoftmag.com MAGAZINE Ce înseamnă TDD ? Acceptarea schimbării. Drumul către un bug pe lună SeedForTech Startup Weekend Cluj 2015 în retrospectivă BattleLab Robotica Totul despre PFA din punct de vedere fiscal în 2015 Loguri și metrici în Java Introducere în Couchbase - NoSQL Document Database Transfer de Date prin NFC Portretul unui tester bun Organizații bine crescute Fizbo, Simply rent Cum surprinde Microsoft viitorul Keep Calm and Start playing Dart

Upload: sergiucebotari

Post on 24-Sep-2015

44 views

Category:

Documents


4 download

DESCRIPTION

Today Software Magazine N35/2015

TRANSCRIPT

  • TSM T O D A YS O F T WA R ENr. 35 Mai 2015 www.todaysoftmag.ro www.todaysoftmag.com

    M AG A Z I N E

    Ce nseamn TDD ?

    Acceptarea schimbrii. Drumul ctre un bug pe lun

    SeedForTech

    Startup Weekend Cluj 2015 n retrospectiv

    BattleLab Robotica

    Totul despre PFA din punct de vedere fiscal n 2015

    Loguri i metrici n Java

    Introducere n Couchbase - NoSQL Document Database

    Transfer de Date prin NFC Portretul unui tester bun

    Organizaii bine crescute

    Fizbo, Simply rent

    Cum surprinde Microsoft viitorul

    Download fromWindows StoreDownload fromWindows Store

    Keep Calm and Start playing Dart

  • 6Seed For Tech

    Mircea Vdan

    8Startup Weekend Cluj 2015

    n retrospectivCristina Juc

    10MVP Academy Demo Day

    Irina Scarlat

    12BattleLab Robotica

    Ioana Bucur

    13SprintPoint

    Horia Mircea Boto

    15Cum surprinde

    Microsoft viitorul?!Paul Hrimiuc

    19Transfer de Date prin NFC

    Larisa Hoga

    21Keep Calm and

    Start playing DartKuki Edina

    2

    24Introducere n CouchbaseAlexandru Objelean

    30Portretul unui tester bunDaniela Crian

    32Ce este de fapt TDD?Alexandru Bolboac

    34Loguri i metrici n JavaVasile Mihali

    37Organizaii bine crescuteCristian Philipp

    39Fizbo, Simply rent aplicaie mobil pentru nchirieri imobiliareLucian Pop

    41Totul despre Persoana Fizic Autorizat Ioana Varga i Ioana Costea

    44Acceptarea schimbrii. Drumul ctre un bug pe lunPatks Csaba

  • 4 nr. 35/2015 | www.todaysoftmag.ro

    La eferverscena de evenimente culturale i educaionale care a cuprins Clujul n luna mai i-au adus contribuia i evenimentele din domeniul IT-ului. Unul dintre acestea, Romanian Testing Camp, a reunit o bun parte a testerilor clujeni ntr-o locaie inedit, patru sli de cinematograf dintr-un mall local, remarcndu-se mai ales prin prestigiul invitailor i al abordrilor interesante. Alt eveniment, IT Camp, ne-a invitat s cltorim n fascinanta lume Microsoft, meninnd n organizare, desfurare i selecia invitailor aceleai standarde nalte cu care ne-a obinuit din anii trecui. Pentru nceputul lunii iunie, recomandarea TSM este Techsylvania, o conferin dedi-cat antreprenorilor.

    Un alt moment pe care l plasez n categoria evenimentele pozitive ale lunii mai este colaborarea revistei TSM n regim de internship cu trei studeni. La iniiativa Cluj IT Cluster, am acceptat acum dou luni s colaborm sub forma unui program de internship pentru studeni. Studenii cu care colaboreaz TSM, lucreaz la completarea website-ului revistei precum i la implementarea unor proiecte. Domeniile lor de specializare sunt informatic, informatic economic, jurnalism i marketing. Nu insist asupra detaliilor de selecie a candidailor deoarece avem promisiunea din partea Cluj IT Cluster a realizrii unui articol destinat acestui subiect. Dar vreau s subliniez pasiunea i dedicaia studenilor care, chiar dac nu dein cunotinele unor programatori seniori, cu siguran i depesc pe majoritatea n ceea ce privete ideile noi, entuziasmul, dorina de a nva i implicarea n proiecte. Planificarea practicii de var este nc n desfurare. Dac nu avei studeni n organizaie v sugerez s o facei, pentru c i vor aduce cu siguran un aport consistent n dezvoltarea de produse noi sau mbuntirea celor existente.

    n acest numr putei gsi articole pe diverse teme de programare precum: Introducere n Couchbase, Transfer de Date prin NFC i Loguri i metrici n Java. Testarea este reprezentat de articolul cu titlul: Portretul unui tester bun. Zona Scrum/Agile, conine titluri ca : Acceptarea schimbrii. Drumul ctre un bug pe lun i Ce este TDD? V lsm s descoperii singuri restul articolelor i v dorim o lectur plcut !

    Ovidiu ManFondator al Today Software Magazine

    Ovidiu [email protected]

    Editor-in-chief Today Software Magazine

    editorial

  • 5www.todaysoftmag.ro | nr. 35/mai, 2015

    Redacia Today Software Magazine

    Fondator / Editor in chief: Ovidiu Man [email protected]

    Graphic designer: Dan Hdru [email protected]

    Copyright/Corector: Emilia Toma [email protected]

    Traductor: Roxana [email protected]

    Reviewer: Tavi Bolog [email protected]

    Contabil : Delia [email protected]

    Tipar realizat de Daisler Print House

    Produs de Today Software Solutions SRL

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

    www.todaysoftmag.rowww.facebook.com/todaysoftmag

    twitter.com/todaysoftmag

    ISSN 2284 6352

    Copyright Today Software Magazine

    Reproducerea parial sau total a articolelordin revista Today Software Magazine

    fr acordul redaciei este strict interzis.

    www.todaysoftmag.rowww.todaysoftmag.com

    Lista autorilor

    Alexandru [email protected]

    Agile Coach and Trainer, with a focus on technical practices@Mozaic Works

    Ioana Varga [email protected]

    Expert contabilManaging Partner @ A&I Consulting

    Ioana Costea [email protected]

    Expert contabilManaging Partner @ A&I Consulting

    Alexandru [email protected]

    Senior Developer@ Betfair

    Vasile [email protected]

    Senior Software Engineer@ Arobs

    Cristian [email protected]

    Senior Consultant & Managing Director@ Essential Training and Consulting

    Lucian [email protected]

    Cofondator@ Fizbo

    Patks [email protected]

    Agile Software Developer@ Syneto

    Daniela [email protected]

    Senior Tester @ ISDC Romania

    Larisa Hoga [email protected]

    Android Developer @ Yardi Romnia

    Kuki Edina

    Tester Senior Analyst

    Ioana [email protected]

    Public Relations Responsable @ BattleLab Robotica

    Horia Mircea [email protected]

    Program coordinator@ SprintPoint

    Irina [email protected]

    PR Manager @ How to Web & TechHub Bucharest

    Paul [email protected]

    Business Development Manager@ Accesa

    Mircea [email protected]

    www.clujstartups.com

  • 6 nr. 35/2015 | www.todaysoftmag.ro

    startups

    Se pot nscrie n program att antre-prenori cu proiecte aflate n stadiul de idee, ct i cei care au format deja o echip i lucreaz la produs. Fondatorii/antre-prenorii care intr n parteneriat cu Seed For Tech pot beneficia de echip pentru dezvoltarea produsului software, investiie financiar i sprijin n cercetarea de pia i validarea ideii, consultan n elaborarea strategiei de marketing, suport logistic i ulterior conexiune cu posibili investitori, clieni i mentori. Modelul este structurat n trei faze, fiecare faz adresnd un set de aspecte specifice etapelor din dezvoltarea startup-ului.

    Faza nti: Customer discovery and valida-tion

    mpreun cu fondatorii, vom trece printr-o faz de validare a ideii, cu scopul de a ajunge la problem-solution fit i de a determina fezabilitatea de business. Vrem s fim ct mai siguri c produsul software ce va fi construit rezolv o pro-blem/nevoie clar pentru un segment clar de utilizatori/clieni. Seed For Tech va ajuta antreprenorii n acest proces i poate

    pune resurse financiare (pn n 3000 de euro) pentru cercetarea de pia i preva-lidare. Aceast faz dureaz dou luni i nu necesit o implicare full-time pentru antreprenori. n acesta faz nu e nevoie s se formeze o firm nou i nu se ia nc o decizie de investiie, fiind o perioad i de cunoatere i de a vedea cum putem lucra mpreun. Dac toate aceste pregtiri i analize au fost deja fcute, atunci putem trece direct la faza a doua.

    Faza a 2-a: Product development and launch

    Aceasta este faza n care se ncepe dezvoltarea produsului. O echip tehnic (product manager/CTO, UX/UI designer, front-end dev, back-end dev) este format, iar sub coordonarea antreprenorului i sub viziunea conturat de acesta, se lucreaz la dezvoltarea produsului. Dup lansare i campania iniial, se fac alte iteraii de mbuntire a produsului i promovare, cu scopul de a ajunge la product-mar-ket fit, faza ce poate dura pn la un an. Antreprenorul este cel care conduce tot acest proces, cu sprijinul nostru.

    Seed For Tech

    O nou iniiativ a fost lansat n aceast primvar n Cluj: Seed For Tech este un fond destinat dezvoltrii de produse tech, incluznd i investiii de tip seed i sprijin n lansarea pe pia. Fondul i programul afiliat se adreseaz celor care au expertiz ntr-un domeniu de activitate, au o idee de startup n acel domeniu i se afl n cutarea unui partener mpreun cu care s dezvolte produsul i afacerea.

    Mircea [email protected]

    www.clujstartups.com

  • 7www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    Faza a 3-a: Growth and scaling n aceast faz, ne concentram pe marketing, vnzri i

    promovare, cu mententana i mbuntirea produsului. Scopul este de a redimensiona afacerea i de a intra n zona de profita-bilitate. Aceast faz poate dura civa ani, iar Seed For Tech va facilita conexiuni cu investitori ce pot furniza fonduri de cretere pn la sute de mii de euro.

    Ideea fondului a prins contur n urma interaciunilor cu diveri poteniali antreprenori. Prea multe idei rmn blocate ntru-un stadiu iniial de dezvoltare din cauza unui cumul de probleme. Aceste probleme variaz de la lipsa capitalului iniial, a unui partener tehnic, expertiz n zona de marketing sau de business i altele. mpreun cu Fortech, n calitate de investitor, am reuit s propunem o formul care s soluioneze aceste pro-vocri. Valoarea adugat a programului deriv att din aportul de resurse i expertiz, precum i din orientarea acestuia pe ter-men lung.

    Prin Seed for Tech ne dorim s contribuim att la dezvolta-rea culturii antreprenoriale, ct i la dezvoltarea ecosistemului local de startupuri. n luna mai, am avut discutii avansate cu aproximativ 20 de antreprenori, iar pn la sfritul anului ne propunem s avem ntre dou i cinci parteneriate i investi-tii de pn la 50 000 de euro. Suntem deschii la discuii i cu

    startupuri ce au deja o echip complet i un produs lansat (sau aproape de lansare) i au nevoie doar de investiie financiar.

    Detalii suplimentare privind Seed For Tech sunt disponibile pe www.seedfortech.ro sau pot fi solicitate prin e-mail la adresa [email protected].

    Young spiritMature organizationA shared vision

    Join our journey!

    www.fortech.ro

  • 8 nr. 35/2015 | www.todaysoftmag.ro

    Dup cteva edine, e-mailuri multe, telefoane i mai multe - s-a ntmplat. n 24-26 aprilie, la Exclusiv Catering, a avut loc cea de-a patra ediie Startup Weekend Cluj. Dei a durat doar trei zile, a fost un proiect foarte intens i cu rezultate mbucurtoare.

    Cele trei zile de eveniment au nceput cu prezentrile a doi speakeri, Philipp Kandal i Salim Virani, dup care gazda noastr, Adrian Pop, ne-a mprtit un pic din experiena lui privitoare la astfel de evenimente.

    n aceeai sear a avut loc sesiunea de pitching. Au fost prezentate 30 de idei, dintre care participanii au ales prin vot 12 propuneri care li s-au prut cele mai inte-resante. Ulterior s-au format echipele n jurul ideilor votate. Btlia suprem s-a dat pe designeri, care au fost n numr de ase, din totalul de 85 de participani nscrii n aceast ediie. Seara de vineri a fost un pic mai destins. Participanii au avut ansa s se cunoasc mai bine ntre ei, s desco-pere care sunt atuurile fiecruia i care este partea/ domeniul n care i-ar putea aduce contribuia. Fiecare echip a primit i cte un business canvas care s-i ajute s ntocmeasc un plan pentru proiect.

    Cea mai intens zi a fost smbt. Fiecare echip a avut ocazia s apeleze la cunotinele mentorilor, care au trecut pe la fiecare dintre ele pentru a le oferi feedback i a le mprti idei. Duminic dimineaa majoritatea echipelor aveau deja o propunere clar, iar unele dintre

    ele au avansat pn la etapa de prezentare. Dup masa de prnz atmosfera a deve-nit din ce n ce mai tensionat, pentru c eram cu toii pregtii s aflm cine vor fi ctigtorii acestei ediii. V invitm s aruncai o privire asupra celor 12 idei la care s-a lucrat timp de 54 de ore. Mai jos sunt cele 12 proiecte care au fost prezentate n faa juriului:

    Tutora (locul 3) - Oamenii nva pe oameni. O aplicaie care vrea s schimbe modul de nvare/predare/oferire a consultaiilor prin intermediul unei plat-forme on-line.

    Travique (locul 1) - O aplicaie care are ca scop prezentarea evenimentelor i a festivalurilor din Romnia pentru cei din afara rii.

    Clear Future - Au vrut s arate o nou viziune asupra educaiei superioare, att pentru studeni ct i pentru elevi.

    Timber.ro (premiul special) - O platform care faciliteaz interaciunea dintre contractori i beneficiari. De asemenea, clienii au ocazia de ntlni profesioniti din diverse domenii precum construcii, instalaii, etc. . Posibilitatea de a accesa servicii de calitate prin interme-diul unei platforme on-line care s ajute

    Startup Weekend Cluj 2015 n

    retrospectiv: 30 de idei i 12 echipe

    eveniment

    Cristina [email protected]

    Organizatoare @ Startup Weekend Cluj

  • 9www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINEprogramare

    ambele pri s ctige timp i s ajung la persoanele potrivite.Awesome 1st Date - i dorete s detensioneze atmosfera

    primelor ntlniri care pot fi destul de stinghere, prin intermediul unei aplicaii de coaching.

    Mountain Report (premiu special) - O aplicaie care te ajut s-i programezi excursia la munte n cel mai scurt timp, oferindu-i informaiile de care ai nevoie, ncepnd cu locurile de unde i-ai putea cumpra/nchiria echipamentul i pn la condiiile meteo pe care le-ai putea ntlni pe traseu.

    Flowcal - O aplicaie care s-i contorizeze nivelul de productivitate.

    CPoints - O aplicaie care te pune n legtur cu cele mai apropiate locuri unde ai putea s-i ncarci bateriile, metaforic i la propriu. Locuri de networking, de co-work, special amenajate cu surse de ncrcare a dispozitivelor electronice.

    TapSit (locul 2) - O aplicaie de mobil care i permite s vezi n timp real cte mese libere sunt n cafeneaua/restaurantul unde ai vrea s mergi, i prin intermediul creia poi s-i faci rezervare simplu i rapid apsnd un singur buton.

    SnapIt (premiul special) - Este o camer mic, pe care o poi anexa ochelarilor, pe oricare dintre laturi, prin intermediul creia poi captura imagini cu o singur apsare de buton, fr riscul de a pierde din experiena pe care o trieti.

    Foveo - O aplicaie care te ajut s-i atingi obiectivele mult mai repede. Se bazeaz pe crearea unor echipe care au scopuri comune, dar i pe obinerea de ncurajri din partea prietenilor, factori de motivare care s te ajute s obii rezultatele dorite.

    City 365 - O metod de-a obine cele mai bune experiene pe care i le poate oferi oraul, la cele mai bune preuri.

    Ctigtorii Startup Weekend Cluj 2015 au avut parte de mai multe premii techie. Travique, ctigtorii locului I, au primit un MacBook Air, din partea Telenav, trei luni de spaiu de co-work la Cluj Hub, o or de mentorat din partea The HYVE i cte un

    ncrctor solar pentru fiecare membru al echipei, din partea Pitech+Plus.

    TapSit au ctigat un Apple Watch din partea Telenav, trei luni de spaiu co-work la Cluj Hub, bilete la Techsylvania, cel mai mare eveniment de tech din Transilvania i Led Lamps din partea Pitech+Plus, pentru fiecare membru al echipei.

    Ctigtorii locului III au obinut trei luni de spaiu co-work la Cluj Hub, iar fiecare membru al echipei a ctigat un loc la Techsylvania i Led Lamps din partea Pitech+Plus.

    n acest an, trei echipe au ctigat premii speciale, acestea sunt Mountain Report - dou bilete la Pioneers Festival - cel mai mare eveniment din Europa dedicat startup-urilor, o lun de spaiu co-work gratuit la Cluj Cowork i bilete la Techsylvania; SnapIt - o invitaie la Seed For Tech Investment Program, din partea Fortech, i Timber.ro - care au trecut automat n cea de-a doua etap a programului SprintPoint.

    Suntem curioi s aflm n ce mod se vor dezvolta n viitor aceste proiecte lucrate cu att de mult drag i implicare. Vom urmri evoluia echipelor i a ideilor ca s v comunicm detalii pe parcurs, pe blogul Startup Weekend Cluj. Dac avei mai multe curioziti despre proiect ne putei urmri pe facebook i ne putei scrie pe adresa de e-mail: [email protected]

    Suntem mndri de oamenii pentru care am organizat acest eveniment, fcndu-ne o deosebit plcere s-i cunoatem pe fiecare n parte. V salutm, echipa Startup Weekend Cluj 2015: Adela Chende, Adrian Pica, Anca Suciu, Ctlina Mironescu, Cristina Juc, Cristina Tare, Fele Eniko, Irina Rotaru, Mdlina Grecu, Mircea Vadan, Philipp Kandal, Roxana Oroian, Roxana Rugin, Vlad Ciurca.

  • 10 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Organizat n parteneriat cu Telekom Romania i Bitdefender, cu sprijinul CyberGhost, Raiffeisen Bank, hub:raum, Microsoft i SendGrid, a doua ediie a pro-gramului de pre-accelerare MVP Academy s-a desfurat n perioada 23 martie 14 mai la TechHub Bucharest i a ajutat startup-urile finaliste s i defineasc mai bine produsele, pregtindu-le pen-tru urmtoarea etap n dezvoltarea lor: redimensionarea produsului n funcie de posibilitile oferite (scalarea), obinerea de investiii i ncheierea de parteneriate.

    Fiind un program educaional gratuit, adaptat nevoilor individuale ale echipelor participante, MVP Academy le-a oferit startup-urilor acces la resurse educaionale care s corespund nevoilor proprii de dez-voltare i a facilitat interaciunea direct a acestora cu mentori cu experien relevant,cu investitori de tip angel i reprezentani ai fondurilor de investiii early stage i programelor de accelerare din regiune.

    Pe parcursul programului, finalitii au nvat mai multe despre cum dezvoli un startup de succes, networking, dezvoltarea de produs & metrici, storytelling & pitch-ing, customer development, finanare sau aspecte legale participnd la workshop-urile practice susinute de profesioniti consacrai n domeniu. Printre acetia se numr Bobby Voicu (Co-Fondator, MavenHut), Paul Renaud (Executive Coach & autor al A networking book), Bogdan Rpa (ex-Master Product Owner, Adobe Romania), Alex Barrera (Co-Fondator Tech.eu & Press42), Salim Virani (Partner, Founder Centric), sau Ana Maria Andronic (Partner, Biri-Goran).

    n plus, startup-urile au beneficiat de sesiuni de mentorat 1 la 1 cu peste 50 de profesioniti i lideri cunoscui

    din industrie i au primit feedback i recomandri de la acetia. Echipele au avut astfel ocazia s i rafineze produsul discutnd cu reprezentani ai unora dintre cele mai cunoscute programe de accelerare

    la nivel internaional (Techstars London, Startupbootcamp sau Ignite 100) i cu profesioniti de excepie printre care se numr Florin Talpe, Fondator & CEO, Bitdefender, Olaf Lausen, Chief of Staff (of the CEO) and Business Development Director, Telekom Romania, sau Cristi Badea, Co-Fondator, MavenHut.

    La toate acestea se adaug sesiunile de coaching 1 la 1, discuiile de grup pe diferite teme, organizate la cererea echip-elor participante i sesiunile de pitching practice n cadrul crora fondatorii i-au perfecionat pitch-ul lucrnd sub atenta ndrumare a echipei MVP Academy i a unor profesioniti de excepie precum Jon Bradford (Managing Director, TechStars London) sau Mike Butcher (Senior Editor, TechCrunch).

    Programul s-a ncheiat vineri, 15 mai,

    cu Demo Day, eveniment care a adus mpreun 200 de personaliti de vaz din ecosistemul tech regional: investitori, programe de accelerare, antreprenori, jurnalii i profesioniti cu experien.

    Dousprezece startup-uri au urcat pe scena Cinematografului Elvira Popescu pentru a prezenta publicului rezultatele a dou luni de munc intens, crend astfel ocazia de a demara discuii cu poteniali investitori i parteneri strategici.

    Dup-amiaza a fost deschis de George Di, Program Manager MVP Academy, i a continuat cu un discurs introductiv susinut de George Lemnaru, Fondator Green Horse Games, care a mprtit audienei leciile nvate n timp ce a dezvoltat dou startup-uri care au primit finanri de la fonduri de venture capital. George a discutat despre miturile asociate cu a fi antreprenor i a ncheiat spunnd c dac eti determinat i bine pregtit vei reui, indiferent de ara n care te afli.

    Ulterior, startup-urile au urcat rnd pe rnd pe scen pentru a prezenta audienei

    12 startup-uri cu potenial i-au

    prezentat produsele pe scena MVP Academy Demo Day

    Bucureti, 19 mai 2015. Cele 12 startup-uri care fac parte din al doilea lot al programului de preaccelerare MVP Academy au urcat pe scen vineri, 15 mai, la Demo Day, pentru a prezenta rezultatele a dou luni de munc intens. Acestea au avut ast-fel ocazia s i expun pentru prima oar produsele i progresul nregistrat n faa audienei, dar i s demareze discuii cu poteniali investitori i parteneri strategici.

    startups

  • 11www.todaysoftmag.ro | nr. 35/mai, 2015

    produsele la care lucreaz i progresul nregistrat n ultimele saptmni. Echipele care au prezentat n cadrul Demo Day sunt:

    1. Accelerole: software de manage-ment pay-as-you-go care ajut companiile s gestioneze cu uurin profesionitii independeni;

    2. Catwalk15: aplicaie mobil care ajut utilizatorii s primeasc sfaturi vesti-mentare i s se inspire, oriunde i oricnd;

    3. Clepsisoft CyberFog: soluie proactiv de securitate care deviaz atacu-rile cibernetice mpotriva companiei tale;

    4. CloudHero: PaaS care automatizeaz procesele de management i scalare ale unei aplicaii pentru orice tip de public;

    5. Conversion Network: software de marketing integrat care permite marketer-ilor afiliai s i dezvolte i afacerile fr efort, cu rezultate mai bune;

    6. Inner Trends: soluie de web ana-lytics care permite utilizatorilor s pun ntrebri i s primeasc rspunsuri precise i la obiect, imediat. Este un limbaj comun pentru date i oamenii de business;

    7. myDog: platform care ajut stpnii de cini s ia legtura unii cu alii i s le ofere astfel ceilor oportunitatea de a se juca cu ali cei compatibili;

    8. SafeDrive: aplicaie mobil care mbuntete sigurana traf icului rspltind oferii care nu utilizeaz tele-fonul la volan cu puncte care pot fi apoi convertite n produse i servicii;

    9. Seeds: platform care permite uti-lizatorilor s creeze, s distribuie i s analizeze chestionare avansate pentru orice industrie;

    10. Swapr: aplicaie mobil care ajut femeile s fac schimb de haine n funcie de locaie i preferinele vestimentare ale acestora;

    11. SwipeTapSell : aplicaie care mbuntete experiena cumprtorilor,

    ajutnd magazinele online s mreasc rata de conversie de pe smartphones i tablete;

    12. Unloq: software care propune o nou modalitate de autentificare i autorizare a tranzaciilor care nlocuiete parolele cu dispozitive, oferind astfel uti-lizatorilor mai mult siguran, simplu i gratuit.

    MVP Academy a fost o investiie de timp excelent care ne-a ajutat s identificm zonele n care trebuie s ne concentrm pentru dezvoltarea produsu-lui, dar i s ne perfecionm abilitile de prezentare pentru a exprima cele mai valo-roase aspecte ale produsului i startup-ului nostru. Sunt lucruri eseniale din moment ce te lupi ntotdeauna pentru a ctiga atenia audienei , a declarant Tudor Cobla, Co-Fondator SafeDrive, startup care a fost recent medaliat cu aur n cadrul Edison Awards, la categoria Lifestyle & Social Impact.

    La finalul evenimentului, startup-urile au avut ocazia s interacioneze n mod direct cu persoanele din audien

    interesate de produsele la care lucreaz i s demareze astfel discuii despre poteniale investiii i parteneriate strategice.

    Am realizat potenialul uria al startup-urilor finaliste nc din perioada de selecie, atunci cnd am remarcat echipele puternice din spatele produselor. n ultimele dou luni, finalitii s-au implicat fervent pentru a-i crete afacerile i produsele, au lucrat intens i au sacrificat multe lucruri pentru a livra bine i rapid. Suntem mndri de fiec-are dintre ei i de evoluia lor i ne bucurm c am reuit s transformm ceea ce ar fi durat 5-6 luni n mod tradiional n dou luni intense de progres. Suntem convini c vom vedea rezultate excelente curnd! , a declarat George Di, Program Manager MVP Academy.

    Irina [email protected]

    PR Manager @ How to Web & TechHub Bucharest

  • TODAY SOFTWARE MAGAZINE

    12 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Competiia a constat n implementarea de roboi sumo autonomi, capabili s iden-tifice i s elimine de pe suprafaa de joc robotul advers n competiii de tip 1 la 1.

    n cadrul acestei ediii au participat 27 de echipe de studeni de la universitile cu profil tehnic din Romnia, care au muncit luni n ir la realizarea robotului. Construirea roboilor reprezint un proi-ect complex care implic att cunotine de inginerie electric, mecanic ct i de automatic i calculatoare.

    Echipele au fost formate din patru studeni, competiia respectnd regulile internaionale de sumo robotic n ceea ce privete dimensiunile suprafeei de joc i regulile de desfurare.

    Peste 200 de spectatori de toate vrstele au venit s vad concursul, susinndu-i favoritul cu pancarte i aplauze rsuntoare.

    Roboii puternici, luptele strnse, mul-tiplele remize au fcut ca spectacolul s se prelungeasc pn n jurul orei 20.

    .I. Dr. Ing. Septimiu Crian, organiza-torul evenimentului a afirmat n legtur cu acest concurs:

    n timpul anului abia atept s se ntmple evenimentul. n ziua concursului nici nu vreau s-aud de el. i cnd se termin

    spun: mai vreau o dat!Pe locul 1 s-a clasat robotul WOLF,

    echip care a venit pentru al doilea an consecutiv tocmai de la Bucureti ca s participe.

    Premiul publicului pentru cel mai bun design l-au luat acas cei de la ROBOTROLL. Cel mai viteaz robot a fost THORQUE, iar premiul Bosch pentru cel mai inovativ robot a fost ctigawt de NYAN.

    Evenimentul BattleLab Robotica 2015 a fost susinut de compani-ile partenere: Emerson, Yardi, Bosch, Garmin, Telenav, TME Polonia, Stratec

    Biomedical. Sponsorii au fost: MSG, Fortech, Accenture, Wenglor, Robofun i Frequentis.

    Premiile oferite au fost n valoare de peste 7000 lei i au constat n componente electronice i vouchere cadou.

    Ediia de anul urmtor i va deschide porile pentru participani internaionali i sper s i cimenteze un loc de renume n scena mondial de lupte ntre roboi.

    Facultatea de Inginerie Electric din cadrul Universitii Tehnice din Cluj-Napoca n colaborare cu organizaia studeneasc BEST Cluj-Napoca a organizat n data de 9 mai 2015 cea de-a V-a ediie a competiiei BattleLab Robotica. BattleLab Robotica cea mai mare competiie de

    megasumo robotic din Transilvania

    eveniment

    Ioana [email protected]

    Public Relations Responsable @ BattleLab Robotica

  • 13www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    Acest lucru mi-a atras atenia asupra importanei de a nelege diferena ntre un accelerator i un incubator atunci cnd vrei s intri ntr-un program de dez-voltare. O diferen este formulat de Paul Bricault, cofondatorul unui accelerator din Los Angeles, care constat c acceleratorul ia un capital al ideilor dezvoltate extern, n schimbul unei investiii i a mentoratului. La finalul celor trei sau patru luni startup-ul absolv. Incubatorul aduce o echip extern s lucreze pe ideea unui investitor. Cu ct ideea necesit mai multe resurse pentru a ajunge la maturitate, cu att capi-talul luat crete.

    Pe scurt, incubatorul dureaz mai mult i preia mai mult capital n schimbul asistenei, pe cnd programele de acceler-are sunt mai scurte, mai specializate i cer mai puin capital la final.

    De aceea, noi , echipa Star tup Transilvania, am hotrt s concepem un program de pre-accelerare care va ajuta startup-urile din zona tech i IT din Cluj-Napoca s i ating potenialul. Acest program se numete SprintPoint. n timpul celor opt sptmni ale pro-gramului, echipele vor trece printr-o serie de experiene utile i interesante, precum consiliere i mentorat de echip, pregtire

    pentru livrarea pitch-ului, workshop-uri i networking profesional.

    Programul este creat pentru echipele de profesioniti i antreprenori care doresc s aib propria afacere i le ofer acestora ocazia s pun ntrebri i s nvee de la ambasadori i mentori din domeniul tech.

    Pentru a aplica, echipa selecteaz i nscrie ideea pe baza creia se va crea plus-valoare.Gradul de efort pe care echipa l-a depus n conceperea produsului sau ser-viciului pe care vor s l livreze i nivelul de nelegere a pieei pe care vor s o acceseze se va reflecta n aceast plusvaloare.

    Programul se va derula pe perioada verii i participanii vor fi iniiai n metodologiile prezentate n dou cri foarte importante pentru orice startup tehnic. Prima este Lean Canvas de Eric Ries (2011) i cea de-a doua este Disciplined Entprepreneurship: 24 Steps to a Successful Startup, de Bill Aulet (2013). Mai multe detalii despre cri vei afla n timpul programului.

    Vrem s atragem n program acele startup-uri care au dorina de a reui. Pentru a fi eligibil(), trebuie s faci parte dintr-o echip (nu se poate s aplici n mod individual), proiectul vostru trebuie s fie mai mult dect o simpl idee. Ct despre

    tine personal, trebuie s fii capabil() s gndeti deschis, s fii dedicat() i capabil() s colaborezi, s lucrezi din greu i s nvei de la alii. Aceste caliti sunt, dup prerea noastr, eseniale pentru a reui n program.

    Pentru a-i susine dezvoltarea, pe parcursul programului SprintPoint vei participa la traininguri, la sesiuni de coaching i mentorat. Toate acestea vor avea loc la Cluj HUB, un spaiu modern de co-working n centrul oraului. Vei avea de asemenea posibilitatea s socializezi cu mentorii i investitorii din program i s participi la diferite evenimente tech, precum workshop-urile de folosire a plat-formei FiWare, Transilvania Demo Days, Techsylvania i altele. La finalul program-ului toate echipele vor avea ocazia s i susin pitch-ul ntr-un Demo Day.

    Scopul nostru, al Startup Transilvania, este s i artm c nu te nati antreprenor ci poi s nvei s devii unul.

    Fenomenul de acceleratoare de tip seed este n cretere la nivel mondial, cu un numr tot mai mare de programe active, n special n SUA dar i n alte pri ale lumii. Seed capital, acceleratoarele care ajut cu capitalul iniial, precum Y Combinator, au primit mult atenie din partea comunitii antreprenoriale i caut mereu startup-uri n faz de lansare. Acest trend a fost observat de L. Barrehag ntr-un studiu din 2012 despre acceleratoare i trei ani mai trziu, acceleratoarele de tip seed sunt mai dezvoltate ca niciodat.

    SprintPoint: un program de preaccelerare clujean care

    vrea s te ajute s reueti!

    www.3pillarglobal.com

    3Pillar Global, a product development partner creating software that accelerates speed to market in a content rich world, increasingly connected world.

    Our core competencies include:

    ProductStrategy

    ProductDevelopment

    ProductSupport

    Our oerings are business focused, they drive real, tangible value.

    startups

    Horia Mircea [email protected]

    Program coordinator@ SprintPoint

  • 14 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Transylvania Java User GroupComunitate dedicat tehnologiilor Java.Website: www.transylvania-jug.orgData nfiinrii: 15.05.2008 / Nr. Membri: 599 / Nr. Evenimente: 47

    Comunitatea TSMComunitate construit n jurul revistei Today Software Magazine.Websites: www.facebook.com/todaysoftmag www.meetup.com/todaysoftmag www.youtube.com/todaysoftmagData nfiinrii: 06.02.2012 /Nr. Membri: 2270/Nr. Evenimente: 31

    Cluj Business AnalystsComunitate dedicat analizei de businessWebsite: www.meetup.com/Business-Analysts-ClujData nfiinrii: 10.07.2013 / Nr. Membri: 91 / Nr. Evenimente: 8

    Cluj Mobile DevelopersComunitate dedicat tehnologiilor mobileWebsite: www.meetup.com/Cluj-Mobile-DevelopersData nfiinrii: 05.08.2011 / Nr. Membri: 264 / Nr. Evenimente: 17

    The Cluj Napoca Agile Software Meetup GroupComunitate dedicat metodelor Agile de dezvoltare software.Website: www.agileworks.roData nfiinrii: 04.10.2010 / Nr. Membri: 437 / Nr. Evenimente: 93

    Cluj Semantic WEB MeetupComunitate dedicat tehnologiilor semantice.Website: www.meetup.com/Cluj-Semantic-WEBData nfiinrii: 08.05.2010 / Nr. Membri: 192/ Nr. Evenimente: 29

    Romanian Association for Better SoftwareComunitate dedicat oamenilor cu experien din IT indiferent de tehnologie sau specializare.Website: www.rabs.roData nfiinrii: 10.02.2011 / Nr. Membri: 251/ Nr. Evenimente: 14

    Tabra de testareComunitate format din testeri i ali profesioniti din industria IT care, n cadrul unor ntlniri informale lunare, mprtesc din cunotinele proprii i nva din experienele profesionale ale celorlali membri.Website: www.tabaradetestare.roData nfiinrii: 15.01.2012/Nr. Membri: 1243/ Nr. Evenimente: 107

    Finalul lui mai i nceputul lunii iunie se anun plin de evenimente n zona IT-ului romnesc. V invitm s participai la I T.A.K.E 28-29 mai, ce se va desfura n Bucureti. La Cluj, n 2 iunie are loc o nou ediie a JS Camp, iar n 6-9 iunie are loc Techsylvania. Ne vedem la evenimente !!!Calendar Mai 27 (Cluj)Lansarea numrului 35 al Today Software Magazine www.todaysoftmag.ro

    Mai 27-28 (Cluj)2 Fast & Curious: Angular JS Basichttps://www.eventbrite.com/e/2-fast-curious-2x2-angular-js-workshops-tickets-16988047708

    Mai 28-29 (Bucureti)I T.A.K.E - recomandat de TSM2015.itakeunconf.com

    Mai 28 (Cluj)OpenStack Kilo Release Overviewmeetup.com/OpenStack-Cluj/events/221754372/

    Iunie 3 (Cluj)Meetup #40 - Enhance your web testing with Fiddlermeetup.com/Tabara-de-Testare-Cluj/events/221508203/

    Iunie 3 (Bucureti)Hands-on Code: Programming by Wishful Thinkingmeetup.com/The-Bucharest-Agile-Software-Meetup-Group/ events/222502856/

    Mai 28 (Bucureti)#2 AngularJS Meetup http://www.meetup.com/Bucharest-Angular-JS-Meetup/events/221929288/

    Iunie 2 (Bucureti)JS Campwww.jscamp.ro

    Iunie 3-4 (Cluj)2 Fast & Curious: Angular JS Advancedhttps://www.eventbrite.com/e/2-fast-curious-2x2-angular-js-workshops-tickets-16988047708

    Iunie 6-9 (Cluj)Techsylvania - recomandat TSMwww.itcamp.ro

    Comuniti IT

    comuniti

  • 15www.todaysoftmag.ro | nr. 35/mai, 2015

    Discursul de deschidere al lui Satya Nadella, CEO Microsoft, nu a fost att de proaspt i de vibrant precum m-am ateptat, n comparaie cu ceea ce am auzit anul trecut la Conferina din DC dedicat partenerilor. Poate c o cauz a dilurii discursului au fost audiena cu background-uri diferite i mul-titudinea de subiecte abordate. Dincolo de reiterarea viziunilor sale Cloud First, Mobile First, cu care suntem deja familiari, el a sub-liniat rolul n cretere al profesionitilor IT de a conduce transformarea n organizaii. n acest context, consider c transformarea pe care MSFT o experimenteaz este uimi-toare. Chiar oamenii care nu i apreciaz, pot remarca faptul c numrul de produse i inovaii MSFT este n cretere. E incre-dibil pentru o organizaie att de mare,

    complex i cu tradiie.Mai interesant dect discursul inaugural

    a fost discursul lui Gurdeep Singh Pall, care s-a referit la modalitatea n care Windows 10 i propune s abordeze personal compu-ting. Cred c Microsoft a fcut o treab foarte bun n zona aceasta: n loc s se concentreze pe device, ei au pus accent pe experiena utili-zatorului i au oferit o interfa consistent i familiar n raport cu toate tipurile de device-uri. innd cont de afirmaia lui Gurdeep conform creia device-ul nu este mobil, utilizatorul este, este de ateptat ca acesta s fie capabil s lucreze oricnd i de oriunde. Dac se adaug i Continuum, care faciliteaz tranziia utilizatorilor ntre interfaa touch i cea non-touch i Windows 10 Universal App ca platform de aplicaii pentru developer-i,

    n perioada 4 - 8 mai am participat la Microsoft Ignite, un eveniment aflat la prima ediie, care a reunit peste 23.000 de profesioniti n IT i oameni de business. n cadrul eveni-mentului, Microsoft a prezentat realizrile din ultima perioad precum i planurile de viitor pentru cea mai mare parte din serviciile i produsele din portofoliu. Dac te ateptai la anunuri suprinztoare, atunci te-ai aflat n locul nepotrivit, pentru c nici mcar HoloLens nu a fost prezentat.

    Cum surprinde Microsoft viitorul?!

    tendine

    Paul [email protected]

    Business Development Manager@ Accesa

  • 16 nr. 35/mai, 2015 | www.todaysoftmag.ro

    atunci rezultatul este ceva greu de depit. n plus, nu ar trebui s uitm de Cortana, asistentul perso-nal, care va fi omniprezent chiar i n situaiile n care creezi jocuri sau aplicaii business.

    Noul browser, Edge, (anterior numit Spartan) va f i l ivrat mpreun cu IE11, care, potrivit Microsoft, va beneficia de suport tot atta timp ct Windows 10. Considerat a fi mai mult o micare de marketing pentru a se detaa de trecut, Edge ncearc s vin cu noi funcionaliti care pun accentul pe aciune i interaciune (ex: permite luarea de notie) i evalueaz ca perimate benchmark-urile legate de vitez. Informaiile pot fi, de asemenea, parcurse mai uor n browser cu ajutorul Reading View (chiar i offline). Website-urile care se bazeaz puternic pe publicitate, vor putea alege dac s includ sau nu aceast funcionalitate.

    Pe lng acestea, cteva subiecte merit prezentate mai n detaliu:

    Noul Digital WorkplaceGeneraia Y intr tot mai mult pe piaa muncii: industria IT (i

    nu numai) trebuie s accepte acest val i s-l valorifice. Generaia Y sau Millennials acceseaz i folosete diferit informaia, comu-nic i colaboreaz diferit fa de generaiile anterioare, iar aceast atitudine se reflect i n mediul de lucru. Liderii care

    contientizeaz valorile la care se raporteaz noile generaii tiu c angajaii motivai, dotai cu instrumentele potrivite pot acce-lera creterea veniturilor pn la de dou ori i jumtate (http://www.haygroup.com/en/your-challenges/engaging-your-people). De aceea, astzi e mai bine s fructifici cunotinele angajailor punnd accent pe o colaborare interactiv.

    Te-ai ntrebat vreodat cum abordeaz Microsoft acest trend? Rspunsul scurt i confuz este: n moduri infinite.

    Microsoft a nceput cu Outlook (1992), SharePoint (2001),

    One Note (2003), Live Communications Server (2003) numit Lync mai trziu i, recent, redenumit Skype for Business, OneDrive (2008), Skype (achiziionat n 2011), Office 365 (2011), Yammer (achiziionat n 2012) i Delve (2014). Ultimul pare s se integreze n a patra generaie de tehnologii, aa cum a identificat Gartner (foto).

    Acest aspect creeaz confuzie n contextul n care Microsoft lanseaz mai multe tool-uri destinate colaborrii, care au funcionaliti similare sau chiar identice. Prin urmare, utiliza-torii devin frustrai i cer clarificri. Confuzia nu se oprete aici; MSFT tocmai a pierdut o alt disput1 cu Sky n Europa, pe tema nregistrrii mrcii Skype, problem care se poate amplifica n timp.

    Am participat la cteva sesiuni pe subiectul digital workplace, dar dou dintre ele s-au difereniat: 2toLead2 i Cargill, care a adoptat Yammer (dei, n prezent, Cargill folosete SharePoint 2007).

    n final, constructiv este ca discuia s se distaneze de modelul tehnolo-gie/tool vs. alt tehnologie/alt tool i s se concentreze pe identificarea con-textului organizaional, a nivelurilor la care se comunic (individual, de grup, organizaional) i s se decid cnd i ce s se foloseasc n funcie de audien i prioritate.

    13 scenarii posibile de utilizareDatorit scenariilor din ce n ce mai

    diversificate pentru SharePoint on-pre-mise, ne-am nscris n programul TAP, fiind nerbdtori s primim versiunea 2016 i s vedem ce opiuni avem.

    Cum arat viitorul? Grupurile care se autoorganizeaz repre-zint principalul concept promovat de toate aceste tool-uri, pe care le poi integra cu Delve pentru a agrega coninutul. Cum se

    1 http://www.windowscentral.com/eu-court-rules-skypes-name-too-similar-sky-

    network-claim-trademark

    2 http://www.2tolead.com/whitepaper-when-to-use-what-in-office-365

    tendineCum surprinde Microsoft viitorul?!

  • 17www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    va ntmpla acest lucru n realitate? Rmne de vzut n urmtorii ani.

    Sfat #1: Dac intenionezi s adopi Yammer la nivel organizaional, trebuie s tii c adoptarea poate fi accelerat crend un grup al creatorilor de grupuri (ambasadori/power-

    user-i) care s mprteasc bune practici, s ncurajeze folosirea tool-ului i s administreze comunitatea. De asemenea, un lucru necesar este implicarea top management-ului n comunicare.

    Sfat #2: Eti interesat s ncerci ceva nou pe lng PowerPoint sau Prezi? Atunci merit s explorezi i s foloseti Sway (http://www.sway.com).

    Sfat #3: Ia n considerare c tool-uri precum Delve pot fi percepute negativ la nivel intern din cauza temerilor asociate cu meninerea confidenialitii documentelor, a conversaiilor. Pentru a preveni escaladarea temerilor, este important o comu-nicare puternic cu stakeholder-ii.

    Enterprise MobilityDac utilizatorii sunt cei mobile i pentru ei e important s

    acceseze informaiile nu numai din birou- i poi imagina un asistent comercial care lucreaz doar de la birou?!- atunci mobi-litatea devine o provocare, mai ales la nivelul unei companii de mari dimensiuni. Abordarea Microsoft pare s se concentreze n mod particular pe securizarea datelor indiferent de locaie i s menin datele companiei sigure. Cu Intune este posibil acum gestionarea unor device-uri diverse. Folosindu-se Windows 10 Universal App aplicaiile create pot fi instalate pe orice tip device. Aici, ns, rmne o zon neacoperit deoarece companiile tre-buie s construiasc i s gestioneze aceeai aplicaie pentru orice s istem de operare mobil. La acest nivel este punctul n care se remarc ali provider-i precum Kony3.

    Pn la sfritul acestui an, adiional Windows Store, com-paniile vor putea crea propriul lor Business Store sau Company Portal unde pot des-crca aplicai i din Public Store pentru utilizare intern i/sau

    3 http://www.kony.com

    public i gestiona aplicaiile lor LOB (foto).

    IoTMajoritatea oamenilor au auzit deja de IoT sau au dezvoltat

    aplicaii pentru IoT. Pe msur ce devine din ce n ce mai tangi-

    bil i Microsoft avanseaz n aceast direcie. De exemplu, se va putea rula Windows 10 pe orice device care are putere minim de computing-Microsoft avnd deja trei versiuni diferite ale sistemu-lui su de operare-acoperind industry devices, device-uri mobile i chiar device-uri mai mici care pot s ruleze Windows IoT gratuit (foto).

    Desigur, cu platforma Windows 10 Universal ai API-uri puter-nice care faciliteaz accesul i integrarea de senzori. Microsoft i propune s ncurajeze consumul suitei Azure IoT, care nu doar c pstreaz datele colectate, dar cu ajutorul ei se poate folosi Machine Learning pentru analitice predictive, se poate gestiona ntreaga reea de senzori i multe altele.

    n timp ce consumatorii sunt interesai, n principal, de aplicaiile specifice locuinei (automatizare, securitate, enter-tainment), exist nenumrate oportuniti de business care pot fi explorate i definite n zona IoT. Dou exemple relevante sunt Connected Cow (http://www.ibtimes.co.uk/connected-cattle-how-wearables-cloud-help-farmers-get-their-cows-pregnant-1499220) de la Fujitsu, monitorizarea comportamentului conductorilor auto din cadrul companiilor de asigurri.

    Desigur, exist probleme legate de standardizare, o zon unde dou noi organizaii lucreaz la definirea unei cooperri eficiente:

  • TODAY SOFTWARE MAGAZINE

    18 nr. 35/mai, 2015 | www.todaysoftmag.ro

    AllSeen i AllJoin. Securitatea este o alt provocare legat de IoT, dar i aceasta este n curs de rezolvare.

    #Sfat: Mai multe informaii despre abordarea DIY (Do It Yourself?) se pot accesa pe www.windowsondevices.com.

    Evaluare personal Microsoft Ignite, pe o scar de la 1 la 5, unde 1 este cea mai mic not:

    Echipa: 5 (oricnd dispui s ajute); Locaia evenimentului: 4 (lipsa staiilor de tren n apropi-

    ere a fcut mai dificil accesul pentru cei cazai ntr-un hotel care nu era n apropiere);

    Disponibilitatea sesiunilor: 4 (multe dintre ele s-au repetat din cauza spaiului insuficient pentru public);

    Calitatea sesiunilor: 4 (m refer la cele business, cteva introduceri n concepte i-ar fi ajutat pe participani s neleag

    mai bine tool-urile, mai ales cele noi); Spaiul expoziional: 3 (nefiind grupai expozanii, a gsi

    ceea ce e potrivit pentru tine, ca vizitator, a fost mai dificil); Meniul: 2 (prea dulce pentru gustul meu i fr prea mare

    diversitate).

    tendineCum surprinde Microsoft viitorul?!

  • 19www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    Bineneles, mi-am dat seama c aveam i alte idei care mi-ar fi putut simplifica viaa sau care mi-ar putea face fiecare zi mai distractiv. De exemplu, mi-ar fi plcut s gsesc o modalitate de a-mi debloca telefonul fr a-l atinge sau s deschid portiera prin simpla apropiere de scaunul oferului i multe alte astfel de dorine. i apoi a aprut NFC, exact ca Mo Crciun, i cteva din aceste dorine chiar s-au ndeplinit.

    Ce este NFC? Near Field Communication (NFC) reprezint un set de

    standarde de comunicare fr fir cu raz scurt, care de obicei necesit o distan de cel mult 10 cm pentru a realiza o conexiune. NFC uureaz viaa consumatorilor din lumea ntreag datorit aplicabilitii sale: simplificarea tranzaciilor i a schimburilor de coninut digital i conectarea unor device-uri electronice printr-o simpl atingere. Un alt avantaj este faptul c NFC este compatibil cu sute de milioane de carduri i cititoare din lumea ntreag.

    Tehnologia NFC poate lua multe forme i dimensiuni, dar cele mai ntlnite sunt Tag-urile NFC (dispozitive pasive) i smartphone-urile (dispozitive active). Tag-urile variaz ca nivel de complexitate. Cele simple au memorie puin i un chip radio ataat de o anten, oferind numai o semantic de tip citit-scris. Uneori, aceste dispozitive pot fi programate pentru a fi de tip read-only. Tag-urile mai complexe ofer operaii matematice i au hardware criptografic pentru a autentifica accesul la un anu-mit sector. Cele mai sofisticate tag-uri conin sisteme de operare, permind interaciuni complexe cu codul care opereaz pe tag.

    Datele stocate pe tag pot s fie scrise ntr-o multitudine de formate, dar multe dintre API-uri se bazeaz pe un standard

    definit de NFC Forum numit NDEF (NFC Data Exchange Format).

    Chiar dac aceast tehnologie este pe pia deja de civa ani, dup prerea mea ea nc nu este folosit la potenial maxim. Primul telefon cu sistem de operare Android i suport NFC a fost lansat

    n 2010 (Samsung Nexus S), urmat de Windows in 2012 (Nokia Lumia 610) i apoi de Apple n 2014 (iPhone 6, numai pentru Apple Pay).

    De ce NFC nu are nc parte de notorietate?Informaiile de mai sus sunt de ajuns s demonstreze c NFC

    se preteaz la o gam vast de utilizri i, prin urmare, ar trebui s cucereasc un procentaj foarte mare din utilizatori i afaceri. Dar acest lucru nu se ntmpl. S ncercm s ne dm seama de ce.

    Modelele de business timpurii, cum ar fi aplicaiile de adver-tising i cele industriale nu au avut mare succes, fiind depite de tehnologii alternative cum ar fi codurile QR, codurile de bare sau tag-urile UHF, dar avantajul tehnologiei NFC este c device-urile sunt de cele mai multe ori conectate n cloud. Toate smartphone-urile pe baz de NFC au acces la aplicaii speciale, incluznd cititoare de carduri(tag-uri), spre deosebire de infra-structurile tradiionale, care impun un anumit standard (de cele mai multe ori patentat) pentru fiecare tip de card n parte, de con-trol al accesului sau platforme de pli. Spre deosebire de aceste cazuri, utilizatorii NFC se pot conecta la un third-party device NFC, care se comport ca un server pentru orice fel de aciune (sau reconfigurare).

    n urmtoarele paragrafe voi ncerca s analizez avantajele i potenialul de utilizare al acestei tehnologii din diferite puncte de vedere.

    Perspectiva de businessNFC nu este o tehnologie incredibil de inovatoare. Ca i

    Bluetooth sau WiFi, este un standard radio de comunicare wire-less. n lumea wireless, cea mai asemntoare tehnologie este RFID (radio frequency identification). Datorit costurilor mai reduse de implementare, necesitilor i modificrilor, NFC poate fi util n foarte multe situaii. Tag-urile NFC au forme diferite, pornind de la stickere simple pn la cele care se autodistrug sau care sunt rezistente la ap i condiii meteo extrem de dure. Capacitatea de citire i scriere difer i ea: de la device-uri care au doar capacitate de write-once sau read-only, pn la un numr nelimitat de operaii sau spaiu de memorie protejat prin parol.

    Toate companiile care in evidena unor obiecte ar trebui s aprecieze aceast tehnologie. Vnztorii, companiile de transport,

    Transfer de Date prin NFC

    Ca n cazul multor lucruri pe care le folosim, mbuntim, sau pe care le inovm, experiena mea cu NFC a nceput din dorina de a gsi o soluie pentru o problem simpl: s nu uit s fac anumite lucruri nainte de a iei din cas, cum ar fi s m asigur c setez temperatura corect la central. O alt soluie ar fi fost s gsesc ceva care s fac aceste lucruri n locul meu. Bineneles, mi-am dat seama c aveam i alte idei care mi-ar fi putut simplifica viaa sau care mi-ar putea face fiecare zi mai distractiv.

    programare

  • 20 nr. 35/mai, 2015 | www.todaysoftmag.ro

    spltoriile care folosesc tag-uri NFC ncorporate n pachete, haine i alte obiecte de vnzare, se pot folosi de NFC pentru a ine inventarul tuturor obiectelor.

    Un tag de tip smart poate fi introdus n orice flutura. Dac atingi tag-ul eti redirecionat ctre un site, primeti detaliile unui contact sau poi chiar accesa CV-ul unui candidat sau o biogra-fie scurt sub form de text sau imagine. Unele mall-uri, chiar din Romnia, folosesc aceste tag-uri n scopuri publicitare sau ca gift-carduri, reduceri i chiar organizeaz concursuri de treasure hunting prin intermediul lor.

    Dar de vreme ce suntem n era n care se dezvolt tot mai mult aa-numitul domeniu al Internet of Things, au aprut soluii i idei mult mai inovatoare. Companiile folosesc tag-uri pentru a urmri activitatea angajailor, dar i pentru a estima timpul anu-mitor task-uri sau pentru a administra concediile. n combinaie cu NFC, angajaii pot foarte uor s nceap i s termine task-urile proprii din orice punct al companiei s-ar afla cu ajutorul telefonului, sau, i mai convenabil, pot face asta cnd intr n birou sau prsesc locul de munc.

    Servicii medicale, marketing, pli exist foarte multe aplicaii i posibiliti. Dar aplicaia mea preferat este un device care poate fi purtat-de exemplu un inel sau o brar- i prin inter-mediul cruia se poate debloca sau deschide cu o simpl atingere, telefonul, ua sau chiar maina personal. Folosit n combinaie cu un sistem GPS, un modul NFC poate localiza orice, de la lucruri, la animale de companie pierdute sau chiar persoane.

    Care sunt prerile utilizatorilor?Dac nu lucrezi n domeniul IT sau nu eti foarte pasionat de

    astfel de lucuri, probabil c nici nu ai auzit despre aceast tehno-logie, cu toate c este disponibil pe pia deja de cinci ani.

    Utilizatorii trebuie s afle detalii despre aceast tehnologie. Dup prerea mea, i mi-e destul de greu s afirm acest lucru din postura mea de Android developer, probabil c singurul motiv pentru care aceast tehnologie nu este nc recunoscut i folosit la scar larg este c nu are susinerea iOS. Apple susine doar Apple Pay prin NFC i nu exist deloc suport API, nici mcar n cazul celei mai recente versiuni, iOS 8. Motivul principal pentru acest spaiu gol se datoreaz, dup cum chiar ei afirm, probleme-lor de securitate pe care folosirea tag-urilor le ridic. Voi investiga

    aceste ipoteze mai trziu.

    Dar dac eti developer?Dac nu eti developer de Android sau Windows, ratezi toat

    distracia. Sistemul de operare Android a fost primul care a oferit suportul API pentru a interaciona cu tag-uri NFC i a introdus noiunea de Beaming un feature care permite datelor s fie transferate via NFC ctre alte telefoane Android. Acest feature permite schimbul de bookmark-uri web, informaii de contact, instruciuni, videoclipuri pe Youtube i altele.

    Concluzie NFC ncepe s cucereasc din ce n ce mai muli utilizatori

    n fiecare zi i cu siguran ne putem folosi de aceast tehnologie n multe domenii. Dezvoltarea aplicaiilor este facil; protocoa-lele de securitate(NFC Signature RTD 2.0) pentru semnarea i verificarea integritii datelor sunt acum folosite; tag-urile cu acces protejat al memoriei sunt disponibile. Prin urmare, nu vd motive pentru care NFC nu ar trebui s cucereasc piaa n peri-oada urmtoare. Pcat c Apple pierde toat distracia.Voi ncheia acest articol aici i v atept ntr-un numr viitor pentru a analiza mai n amnunt caracteristicile NFC de pe Android.

    Bibliografie:1. http://nfc-forum.org/ 2. https://developer.android.com/guide/topics/connectivity/nfc/index.

    html 3. http://www.nearfieldcommunication.org/

    programareTransfer de Date prin NFC

    Larisa Hoga [email protected]

    Android Developer @ Yardi Romnia

  • 21www.todaysoftmag.ro | nr. 35/mai, 2015

    Asemenea oricrui frate responsabil, el nu doar ne prezint noul su gadget, ci ne invit i s-l ncercm. Am avut ocazia s aflm de ce, de unde i cum s ncepem jocul cu Dart. Iar de la prima iniiere ncoace fr s l acuzm de arogan cum apare o versiune mai nou, imediat suntem anunai.

    O prima afirmaie important despre Dart ar fi c nu se refer doar la un limbaj de programare. Este o platform complet incluznd un toolchain, obiectivul creia fiind sprijinirea etapelor de dezvoltare i lan-sare a aplicaiilor web structurate, scalabile i care au totodat o performan ridicat. Dac ar trebui s numim experi n astfel de aplicaii, fratele nostru cu singuran ar face parte din ei. Probabil v amintii de browser-ul lui propriu, Chrome sau de motorul V8 de JavaScript, fiind un urma de onoare a

    versiunii asamblate pentru automobile n ceea ce privete acceleraia i viteza dovedit n timpul navigrilor pe internet.

    Ideea din spatele Dartului este de a neutraliza discrepana dintre evoluia semni-ficativ a browser-elor i practicile de startup, dezvoltare sau mentenan a aplicaiilor web uor rmase n urm.

    Dart este all-inclusive i totui simplu de folosit, avem parte de tutoriale practice, precum API i documentaie extinse sau susinerea comunitii muli dintre progra-matori au sperana de a-l opri pe JavaScript din monarhia singuratic a browser-elor.

    Toate cele menionate mai sus, separat sau combinate, au ca rezultate realizarea mai multor aplicaii web performante, fapt care impune i mai mult spaiu comercial i DoubleClick pentru Google.

    Prezentul articol nu-i are ca int pe manageri nu a vrea s le dau idei despre optimizarea pauzelor recreaionale din birou asigurnd un singur dart i nici pe extremitii jocului binecunoscut, pentru c nu am cunotine de mprtit despre darts-ul rusesc. Tema acestui articol vine de la big-brotherul nostru cellalt, adic Dont-be-evil Google. Datorit expertizei acestuia n domeniul tehnologiilor web, n octombrie 2011, Aarhus, oraul lui Bjarne Stroustrup i Lars Bak, s-ar putea s fi fost martor la naterea unui produs revoluionar al industriei IT, fiind locul unde Dart a fost dezvluit prima oar n faa publicului larg.

    Keep Calm and Start playing Dart

    programare

    Kuki Edina

    Tester Senior Analyst

  • 22 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Limbajul de programare, Dart, are urmtoarele caracteristici: este open-source sub licen BSD; este orientat pe obiecte, permite motenirea simpl i

    polimorfismul prin Mixins i implementarea implicit a interfeelor;

    este gndit cu o singur ramur de execuie i ofer Isolates pentru realizarea operaiilor concurente, interacionnd exclu-siv prin mesaje fr s foloseasc zone comune de memorie;

    prefer Future-ul pentru a gestiona eficient procesele asin-crone i a preveni blocarea aplicaiei de ctre operaii care necesit mult timp;

    este lexically-scoped, tipurile de baz sunt opionale, exis-tnd i tipuri speciale ca Generics (tipuri parametrizate) i Iterables;

    ofer un set impozant de biblioteci de baz i creeaz pre-misele unei accesri mai facile a package-urilor provenite de la teri;

    fiind conceput pentru adoptare masiv, deine o sintax familiar att pentru utilizatorii de limbaje scripting ct i pen-tru cei obinuii cu limbajele structurate;

    se claseaz ca o alternativ recomandat pentru proiectele n care transparena, structura sau ritmul ridicat de dezvol-tare erau considerate doar avantaje; propune o schimbare din quick-and-dirty n quick-and-darty.

    Putem opta pentru editorul nativ Dart Editor sau putem alege un plugin, pe care s-l integram n IDE-ul cu care suntem deja obisnuii cum ar fi WebStorm, IntelliJ sau Eclipse.

    n ambele cazuri vom avea acces la unelte folositoare din kit-ul de dezvoltare Dart care pot fi lansate de la linia de comand:

    pub package manager pentru a lucra n mod simplu i rapid cu pachetele third-party;

    dart2js compilatorul Dart-to-JavaScript, optimizat cu tree-shaking, minificare opional, inferena tipurilor, ca la sfritul dezvoltrii, aplicaia s fie lansat cu uurin n ori-care alt browser dect Dartium. n cazul n care aveam nevoie de debugging, ne st la dispoziie maparea surselor, adic a codului dart, chiar i n Mozilla sau Internet Explorer;

    observatory unelt de profiling, pentru a verifica compor-tamentul aplicaiei n ceea ce privete performana i utilizarea memoriei interne;

    dartfmt pentru a formata codul n mod automat, con-form conveniilor din Dart Style Guide;

    docgen generator de documentaie pentru pachetele Dart.

    Maina virtual Dart VM poate fi folosit pentru a rula aplicaii de la linia de comand, scriptur-i pe servere, servere sau alte aplicaii Dart, care nu ruleaz neaprat n browser. Dart VM a fost extins recent pentru a folosi instruciuni SIMD(Single-Instruction Multiple-Data). Lund in considerare ca n ultimele procesoare aprute 30% din silicon este destinat instruciunilor SIMD, ca de exemplu NEON i vectori, maina virtual Dart profit de mai mult spaiu de execuie, reflectndu-se ulterior n primul rnd la performana aplicaiei.

    n fazele de dezvoltare este recomandat folosirea lui Dartium, o versiune special de Chromium, avnd Dart VM integrat. Se poate rencrca codul/pagina n loc de a-l recom-pila- este vorba despre nc un feature a lui Dart care ne ajut s obinem un timp mai scurt de dezvoltare, testare i debugging.

    Lista este mult mai lung, dar singurul lucru de care nu

    trebuie s uitm, e c Dart trece prin mbuntiri continue n ceea ce privete limbajul, uneltele, stabilitatea i rezultatele de benchmarking.

    Sun puin utopic? Dont be evil, citete mai departe.

    Atta vorbrie, unde este codul?Orice aplicaie scris n Dart va conine cel puin: un fiier Dart fiind alctuit din operaii Dart i avnd

    extensia .dart; o funcie main() care servete ca punct de pornire a

    aplicaiei.

    Difereniem dou tipuri de aplicaii Dart: cele pornite de la linia de comand i cele rulate din browser.

    O aplicaie Dart de tip command-line este un program inde-pendent care va fi rulat cu ajutorul mainei virtuale Dart VM ntr-o fereastr de consol. Aplicaia Dart scris pentru web va fi gzduit n cadrul unui document HTML i rulat fie din browser-ul Dartium, avnd Dart VM integrat, fie din oricare alt browser modern dup compilarea codului in JavaScript numit n prezent i limbajul de asamblare a browser-elor.

    Aspectele arhitecturale de baz pot fi aadar urmtoarele:

    Fig. 3 Aplicaie Dart compilat n JS i rulat din orice alt browser modern

    S ptrundem mai detaliat ntr-un program Dart:import dart:async;import dart:io;class Counter // fiecare clas este motenit din Object, implicit{ var _toCount; // dac numele ncepe cu _, va fi implicit privat num counted; // Funciile Get i Set(dac este cazul) vor fi furnizate implicit

    // Zahr sintactic pentru iniializarea variabilei

    Fig.1 Aplicaie tip command-line executat din Dart VM

    Fig.2 Aplicaie tip web rulat din Dartium

    programareKeep Calm and Start playing Dart

  • 23www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    _toCount // nainte de apelarea constructorului Counter (this._toCount);

    // Un exemplu a unui Named-Constructor Counter.stave (String text, String s) { for (var char in text.split()) { if (char.toLowerCase() == s.toLowerCase()) counted++; } } // Definiia unei metode, n care - fiindc returneaz o expresie - // return-ul poate fi nlocuit cu => void printCounted() => print($_toCount occurred $counted times.);}; // Funcia top-level servete ca punct de pornire a aplicaieimain() {

    // Declararea i iniializarea variabilelor var stave = S; File file = new File (Keep_Calm.txt);

    // Calculele care pot dura mult timp // vor fi gestionate n mod asincron, folosind Fu-ture Future future = file.readAsString(); future.then((String content) { var sCounter = new Counter.stave(content, S); sCounter.printCounted(); }) .catchError((e) { print (Counter encountered $e error!) });}

    Dart are o sintax familiar. n cele cteva linii de mai sus se

    vede cum sunt puse n practic ideile unui viitor Dart.Am folosit dou biblioteci de baz, io si async, constructorul

    cu nume, sintaxa fat-arrow pentru a obine funcii mai suple, interpolare de string-uri i cteva lucruri interesante n jurul lui then. Procesarea de evenimente asincron din Dart, se poate face n modul urmtor: declanm o operaie, prin metoda then() ne nregistrm la un callback care va fi apelat dup terminarea operaiei i tot n cadrul funciei then() pregtim instruciunile care la rndul lor ateapt rezultatul operaiei. Aadar, totul are loc ntr-un context lexical restrns.

    n afar de I/O i procesare asincron alte biblioteci utile din SDK sunt: core, html, math, mirrors, isolate, indexed_db, collec-tion, web_gl sau web_sql.

    De asemenea, avem acces la pachete pentru testare i mocking, la Chrome pentru testare folosind linia de comand. Recent a aprut suport nativ pentru integrare-continu folosind drone.io.

    O prim ediie a lui Dart de asociaia Ecma International a fost acceptat n mai puin de trei ani de la apariia acestuia. A obinut un loc n topul 20 al celor mai populare limbaje. Conform Tiobe Index, Dart a a ajuns nc n toamna anului trecut n faa lui F# de la Microsoft sau a Swift-ului de la Apple.

    n scurt timp va avea loc primul Dart-Summit n San Francisco, unde vom putea afla tirile cele mai actuale referitoare la strategia de lung durat, la angajamentul fa de platforma Dart, precum i noutile i ideile inovatoare despre cum putem s folosim Dart n producie.

    Pn atunci, lsai deoparte cititul i ncepei s jucai Dart! Singuri sau ntr-un hackathon mpreun cu echipa, resursele disponibile on-line i comunitatea activ pe G+, github i stacko-verflow, ne ajut s intim i s nscriem cu un singur Dart. Nu ezitai, vizitai: dartlang.org, dartosphere.org, g.co/dartisans

  • 24 nr. 35/2015 | www.todaysoftmag.ro

    Introducere n Couchbase - soluie

    NoSQL bazat pe Documente

    Alexandru [email protected]

    Senior Developer@ Betfair

    De ce NoSQL?Una din ce le mai imp or tante

    decizii luate de arhitec i , ine de alegerea tehnologiei potrivite pentru rezol-varea problemelor specifice produselor ce urmeaz a fi dezvoltate. n acest context, cnd vine vorba de alegerea ntre o baz de date relaional i o soluie NoSQL, este important s se ia n considerare cteva aspecte importante.

    Natura datelorModelul relaional este foarte potrivit

    pentru datele ce au o structur tabular, cum ar fi un registru contabil. Datele complexe, care conin multe nivele de imbricare, sunt mai greu de modelat folo-sind structuri bidimensionale. n astfel de cazuri, alegerea bazelor de date de tip NoSQL pare a fi potrivit, pentru c datele pot fi stocate n formatul JSON. Acest for-mat este suportat de marea majoritate a tehnologiilor NoSQL.

    Un alt aspect l reprezint volatilitatea datelor. Este important s se tie ct de des se va schimba i va evolua modelul de date

    . De cele mai multe ori, modelul de date nu este bine definit de la nceput i flexibilita-tea este necesar. Rigiditatea modelului de date este una dintre potenialele probleme pe care o putem avea cu baze de date relaionale.

    Eficiena de dezvoltareAgilitatea i rapiditatea de dezvoltare

    sunt caracteristicile cele mai importante n cadrul unui proces de dezvoltare. n acest sens, tehnologiile NoSQL i-au demon-strat avantajul. Folosirea formatului de tip JSON pentru modelarea datelor, le d posibilitatea programatorilor de a elabora versiuni iniiale ale produselor ntr-un timp mult mai scurt.

    Probleme operaionaleCreterea volumului de date i a num-

    rului de utilizatori, duce la degradarea performanei. Unica soluie oferit n astfel de cazuri de ctre tehnologiile relaionale, este bazat pe scalare pe vertical (hardware) care este foarte costisitoare. Pe de alt parte, tehnologiile NoSQL ofer

    n prezent, industria IT abund de termeni precum NoSQL, Big Data sau NewSQL. De multe ori, persoanele cu putere decizonal au dificulti n alegerea soluiei potrivite. n condiiile n care soluiile clasice - bazele de date relaionale sunt folo-site de mai bine de dou decenii, de ce ar trebui ncercate soluiile alternative? Marile companii apeleaz deja de civa ani la soluiile alternative ceea ce le permite s eco-nomiseasc bani, s inoveze rapid i s ajung cu produsele finale pe pia mult mai repede dect o fceau nainte. Scopul acestui articol e s prezinte soluia NoSQL bazat pe documente, care este Couchbase. Pe lng detaliile tehnice se vor gsi i motivele pentru care aceast tehnologie merit s fie aleas i cteva exemple de proiecte n care Couchbase este folosit cu succes.

    programare

  • 25www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    posibilitatea de a scala pe orizontal, prin adugarea mai mul-tor servere care, dei nu sunt foarte performante, nu necesit investiii la fel de mari ca n primul caz.

    Stocarea i analiza datelorModelele de date relaionale sunt potrivite pentru interogri

    sofisticate de date i reprezint o alegere bun cnd interogarea complex i crearea de rapoarte este critic.

    Analiza n timp real a datelor operaionale este mult mai potrivit pentru tehnologii NoSQL.

    Ce este CouchbaseCouchbase Server este o baz de date NoSQL bazat pe docu-

    mente pentru aplicaii web interactive. Aceasta ofer avantajele clasice unei soluii NoSQL, cum ar fi flexibilitatea modelului de date, uurina , performana i capacitatea de a oferi disponibili-tate 100%.

    Couchbase a aprut ca urmare a mbinrii a dou tehnologii populare NoSQL:

    Membase - ce ofer persisten, replicare i partiionare folosind tehnologia performant memcached.

    CouchDB - care a fost iniiatorul folosirii formatului JSON pentru modelarea datelor.

    Caracteristicile principale

    Model de date flexibilCouchbase folosete documentele n formatul JSON pentru

    reprezentarea obiectelor aplicaiei i a relaiilor dintre obiecte. Acest model e suficient de flexibil pentru a suporta schimbri ulterioare ale obiectelor fr a fi necesar migrarea schemei bazei de date sau planificarea unei perioade de mentenan ce ar putea perturba disponibilitatea aplicaiei. Un alt avantaj al modelului bazat pe document este uurina cu care pot fi reprezentate obiec-tele din lumea real, cu posibilitatea de a folosi mai multe nivele de imbricare, precum i folosirea atributelor pentru a reprezenta relaiile dintre obiecte.

    ScalabilitateE foarte uor s scalezi aplicaia folosind Couchbase Server,

    att n cadrul unui cluster de servere ct i la nivel de cluster-e aflate n centre de date diferite. Se pot aduga noduri noi pen-tru a ntmpina nevoia de a face fa unui trafic crescut specific perioadelor de vrf. Ce e i mai important, adugarea de servere nu necesit ntreruperea operaional a aplicaiei sau schimba-rea codului aplicaiei. Noile servere pot prelua traficul adiional i pstrez distribuia echilibrat a datelor. Couchbase ofer o partajare automat i rebalansare a datelor, ceea ce permite redi-mensionarea cluster-ului n funcie de nevoile aplicaiei.

    Uurina integrriiCouchbase ofer o suit de librrii pentru diverse limbaje de

    programare cum ar fi: Java / .NET / PHP / Ruby / C / Python / Node.js. Aceste librrii faciliteaz integrarea soluiei n orice tip de aplicaie.

    Pentru operaia de citire, Couchbase ofer un mecanism de cutare bazat pe chei. Clientul cere un document pe baza unei chei i doar serverul responsabil de gzduirea partiiei n care se afl cheia, va fi contactat.

    Couchbase ofer i un mecanism de cutare bazat pe inte-rogarea unui index (View). Cutarea este distribuit la toate

    serverele din cluster i rezultatele gsite pe toate nodurile sunt agregate ntr-un singur rspuns i trimise napoi la client.

    Pentru operaia de scriere, Couchbase ofer un mecanism de modificare bazat pe chei. Clientul trimite o solicitare de modi-ficare, n care e trimis att documentul modificat ct i cheia asociat documentului. Serverul trimite rspuns solicitrii cli-entului imediat ce documentul este salvat n memoria nodului primar (responsabil de gzduirea acelui document), ceea ce faci-liteaz obinerea unei latene mici pentru operaiile de scriere.

    Performan predictibilDesignul Couchbase-ului este centrat pe concuren

    performan i randament (throughput) ridicat. Acesta ofer timp de rspuns de ordinul milisecundelor, ceea ce mbuntete experiena utilizatorului final. De asemenea, serverul distribuie automat procesarea la toate nodurile din cluster pentru a menine performana constant i a reduce ncrcarea excesiv a unui sin-gur nod.

    Fiabilitate i securitateCouchbase ofer posibilitatea de a controla accesul la date pe

    baza combinaiei username/parola. Credenialele sunt transmise ntr-un mod securizat prin reea. Datele senzitive sunt protejate n timpul transmiterii de la client la aplicaie i viceversa.

    Fiabilitatea Couchbase-ului este dat de faptul c nu exist un singur nod care ar putea provoca indisponibilitatea siste-mului, atta timp ct datele sunt replicate pe mai multe noduri. Funcionalitile precum XDCR (Cross Data Center Replication), failover, backup i restore ajut asigurarea unei disponibiliti a sistemului n cazul unor probleme neprevzute, fie la nivel de nod sau de centru de date.

    Concepte Cheie

    Couchbase - soluie de stocare pe baz de documenteUnitatea de baz de stocare n Couchbase Server o repre-

    zint documentele. De cele mai multe ori, formatul preferat este JSON, ceea ce permite aplicaiilor s modeleze datele fr s aib constrngeri specifice modelelor de date relaionale, legate de flexibilitatea modelului. Aceasta se datoraz faptului c datele sunt stocate sub form de documente, nefiind necesare migrri de scheme.

    Coninutul documentelor poate fi i n alt format dect JSON -cum ar fi date binare- , dar avantajele folosirii formatului JSON sunt posibilitatea de a indexa i a interoga datele. Couchbase ofer un motor de cutare bazat pe JavaScript ce permite cutarea date-lor bazate pe valorile cmpurilor din documente.

    Couchbase Data

  • 26 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Data BucketsDatele sunt stocate n cluster-ul Couchbase folosind aa numi-

    tele Data Buckets. Buckets-urile sunt containere virtuale izolate, ce formeaz un group logic de date n cadrul unui cluster. Un Bucket este echivalentul unei baze de date. Bucket-urile ofer un mecanism securizat de organizare, configurare (memorie, num-rul de replici, etc.) i analiz a datelor stocate.

    vBucketsUn vBucket este o entitate logic responsabil de un subset

    din spaiul de chei ale unui cluster Couchbase, fiind folosite pen-tru distribuia uniform a informaiei n cluster. Acestea sunt responsabile att de distribuia datelor ct i de suportul replicilor pe mai multe noduri.

    Fiecare identificator de document (cheie) aparine unui vBucket. O funcie de mapare este folosit pentru determinarea vBucket-ului de care aparine un document. Aceast funcie ia ca parametru ID-ul documentului i returneaz un identificator de vBucket. Odat calculat, se consult un tabel ce ine maprile dintre vBucket-uri i nodurile gazd. Acest tabel conine un rnd pentru fiecare vBucket. Un server poate fi responsabil pentru mai multe vBucket-uri.

    Chei i metadateToate datele salvate n Couchbase reprezint documente cu

    chei asociate. Cheile reprezint identificatori unici per document, iar valorile pot fi documente n format JSON sau un stream de bii sau alte obiecte serializate ntr-o alt form.

    Cheile sunt cunoscute i ca ID-uri de documente i reprezint similarea un chei primare n SQL. O cheie poate fi format din orice caractere i trebuie s fie unic.

    Toate documentele conin metadate. Metadatale sunt stocate mpreun cu documentele i sunt folosite pentru administrarea acestora. Ele sunt de trei tipuri:

    CAS Value - o form de baz de concuren optimistic; Time to Live (ttl) timpul de expirare a unui document; Flags - o varietate de opiuni folosite la stocare, extragere,

    modificare i tergere de documente;

    Couchbase SDKCunoscut i sub numele de librrii-client, acesta reprezint

    uneltele de dezvoltare pentru diverse limbaje de programare. Sunt responsabile de comunicarea cu un Couchbase Server i ofer interfee specifice limbajelor de programare necesare pentru a efectua operaii pe baza de date. Librriile-client tiu s citeasc i s scrie datele direct de pe nodul primar. Odat cu schimbarea topologiei, librriile-client redirecioneaz solicitrile ce urmeaz ctre noile noduri gazd.

    Couchbase SDK

    ArhitecturaCouchbase a fost construit de la nceput cu fundamentele

    bazate pe o arhitectur distribuit, datele partiionate pe toate nodurile disponibile din cluster.

    ntr-o configurare tipic, o baz de date Couchbase este instalat ntr-un cluster ce folosete mai multe noduri. Librriile client se vor conecta la nodurile responsabile de datele cu care interacioneaz clientul.

    Pentru a facilita scalarea pe orizontal, Couchbase utilizeazpartiionarea bazat pe un hash care asigur distribuia uniform a datelor pe toate nodurile. Sistemul definete 1024 de partiii (numr fix) i odat ce pentru cheia unui document se calculeaz un hash asociat unei partiii - aceast partiie devine gazda documentului. Fiecare partiie are asignat un nod din clus-ter. Dac topologia cluster-ului se schimb (un nod adugat sau eliminat), sistemul se rebalanseaz prin migrarea partiiilor de la un nod la altul.

    vBuckets

    Nu exist o singur verig slab n sistem, deoarece toate nodurile dintr-un cluster sunt egale. Fiecare nod este responsa-bil doar de un set de date care i-au fost asignate. Toate nodurile dintr-un cluster ruleaz dou procese primare: data manager i cluster manager. Data manager-ul este responsabil de adminis-trarea datelor din partiiile acelui nod, n timp ce cluster manager se ocup de operaiile de comunicare ntre nodurile cluster-ului.

    Reziliena sistemului este posibil datorit replicrii de docu-mente. Procesul cluster manager coordoneaz comunicarea dintre datele replicate cu alte noduri din cluster, iar procesul data mana-ger supervizeaz replicile ce sunt asignate de ctre cluster ctre nodul local. n mod natural, partiiile replicate sunt distribuite pe mai multe noduri, astfel nct s se evite situaia n care partiiile replicate sunt stocate pe acelai nod ca cele active.

    Resilience

    programareIntroducere n Couchbase - soluie NoSQL bazat pe Documente

  • 27www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    Documentele sunt situate n Bucket-uri i documentele dintr-un Bucket sunt izolate de documentele din alte Bucket-uri din perspectiva operaiilor de cutare i interogare. Cnd se creaz un nou Bucket, este posibil configurarea numrului de replici (maxim trei) pentru acest Bucket. n cazul indisponibilitii unui nod (server crash), sistemul va detecta problema, va localiza repli-cile documentelor ce au fost plasate n acel nod i le va promova la statusul de activ. Sistemul menine o mapare de cluster care definete topologia cluster-ului, iar acest mapare este modificat la fiecare problem aprut ce afecteaz nodurile din cluster.

    Aceast funcionalitate se bazeaz mult pe implementarea librriilor-client folosite de aplicaiile ce necesit interacionarea cu un server Couchbase. Clienii sunt ntr-o comunicare conti-nu cu nodurile din cluster. Acetia extrag maparea actualizat a clusterului, dup care redirecioaneaz cererile ctre noile noduri ca urmare a schimbrii topologiei. De asemenea, clienii particip la balansarea load-ului de request-uri emise spre baza de date. Procesul responsabil de balansarea load-ului este i el distribuit ntre mai multi clieni.

    Schimbrile de topologie sunt coordonate de ctre un orchestrator, care nu este altceva dect un nod ales s joace rolul arbitrului n cazul schimbrilor de configurare din cluster. Schimbrile de topologie sunt comunicate ctre toate nodurile din cluster. Chiar i n cazul n care nodul orchestrator devine indisponibil, un alt nod poate fi ales pentru a prelua rolul de arbi-tru pentru a asigura funcionarea nentrerupt a sistemului.

    Interogarea datelorExist dou abloane de interogare a datelor din Couchbase.

    Cel mai eficient este bazat pe interogarea de chei. Dac este cunoscut cheia documentului cutat, complexitatea cutrii unui astfel de document este de O(1). Este de asemenea posi-bil cutarea documentelor multiple folosind operaia multi-get. Extragerea documentelor multiple este foarte eficient n cazul n care aplicaia client are de a face cu o list de documente, deoa-rece numrul de interaciuni este redus la minim.

    Un alt ablon de interogare a datelor este bazat pe aa numitele View-uri, cunoscut i sub numele de index. Acestea reprezint un mecanism folosit pentru interogarea de date din Couchbase. Pentru a defini un View, se creeaz un document spe-cific numit design document, care conine un cod JavaScript ce

    implementeaz operaiile de map-reduce. Design document-ele sunt legate de un anumit Bucket, ceea ce nseamn c interogrile nu se pot efectua pe mai multe Bucket-uri. Consistena eventual joac un rol important n cadrul View-urilor. Adugarea, modifi-carea sau tergerea unor documente dintr-un Bucket nu produce schimbri ce sunt vizibile imediat.

    Parametrii de interogare ofer posibilitatea de filtrare a unui index. Spre exemplu, se poate defini o cutare ce returneaz un singur document sau un set de documente aflate ntr-un interval.

    Indexii din Couchbase sunt actualizai incremental. O modi-ficare nu produce reconstrucia ntregului index. Modificrile implic doar acele documente care au fost adugate sau terse de la ultima modificare. Un index se poate configura n anumite circumstane. Spre exemplu, dup un interval de timp sau cnd un numr de documente au fost actualizate.

    PerformanaPerformana trebuie msurat folosind scenariile similare

    unui mediu din producie. Acest lucru poate ajuta s nelegem caracteristicile performanei pentru anumite tipuri de situaii i s alegem tehnologia potrivit pentru cerinele aplicaiei dezvoltate.

    Unul dintre testele de performan de referin pentru com-pararea tehnologiilor NoSQL este YCSB (Yahoo Cloud Serving Benchmark). Scopul acestuia este s se canalizeze asupra testrii diverselor tipuri de baze de date i asupra analizei performanei. YCSB este open-source, extensibil, are un numr mare de conec-tori pentru diverse tipuri de tehnologii, este reproductibil i compar latena vs randament (throughput).

    Reads P99

  • 28 nr. 35/mai, 2015 | www.todaysoftmag.ro

    Writes P99Rezultatele au artat c tehnologia Couchbase ofer latena

    cea mai mic i throughput-ul cu valori mai mari prin comparaie cu tehnologiile concurente.

    Performan i consistenPentru asigurarea consistenei, este important execuia

    operaiilor de citire/scriere pe nodurile primare. Soluiile NoSQL ce se bazeaz pe un singur nod primar sunt limitate din punct de vedere al performanei, deoarece clienii nu pot folosi la capaci-tate maxim celelalte noduri aflate n cluster. Prima alternativ este de a efectua operaia de citire pe toate nodurile (att primare ct i secundare). n acest caz, performana de citire este foarte bun, ns nu mai este garantat consistena pentru c replicarea datelor este asincron. A doua alternativ este replicarea sincron care asigur consistena datelor, ns contribuie la degradarea performanei.

    Single Primary NodePrin comparaie cu prima abordare, Server-ul Couchbase asi-

    gur consistena datelor. De asemena, acesta execut operaiile de citire doar pe nodurile primare pentru asigurarea consistenei. Singura diferen este c toate nodurile sunt utilizate la capacitate maxim, pentru c fiecare nod este primar pentru un subset de partiii de date.

    Multiple Primary Nodes

    Toate operaiile de citire/scriere sunt executate pe nodurile primare.

    MonitorizareCouchbase Server include un set complet de statistici i

    informaii de monitorizare. Statisticile sunt oferite prin interme-diul interfeelor de administrare. Una dintre ele este consola de administrare web, care include grafice n timp real a datelor de performan.

    Monitor GraphStatisticile sunt mprite n mai multe grupuri, permind

    identificarea diferitelor tipuri de probleme: Per Nod - indic utilizarea de procesor, memorie, I/O pe

    fiecare server din cluster; Per vBucket - indic statisticile de utilizare i datele de

    performan pentru fiecare vBucket; Per cozi de disc - monitorizeaza cozile folosite pentru citi-

    rea i scrierea informaiilor pe disc i ntre replici. Poate fi util pentru a vedea dac cluster-ul necesit extindere prin adugare de noduri noi.

    Exemple

    Activitatea utilizatorului n timp realEvenimentele legate de activitatea utilizatorului sunt consu-

    mate de un sistem de messaging (kafka) pentru a stoca informaiile relevante n Couchbase. Acest serviciu este capabil s rspund n timp real la urmtoarele ntrebri: cnd un anumit utilizator a fost activ ultima dat? A jucat vreodat un anumit joc? Toate interogrile pe acest serviciu se execut extrem de rapid. Bazat pe rspunsuri la aceste ntrebri, alte aplicaii sunt capabile s seg-menteze clienii pentru diverse flow-uri de business.

    Stocarea preferinelor utilizatoruluiStocarea diverselor informaii despre preferinele utilizatoru-

    lui ce pot fi folosite ntre mai multe produse ale unei aplicaii web. Aceast soluie poate fi folosit ca alternativ la folosirea sesiunii HTTP, cookie-urilor sau stocarea n baze de date relaionale.

    Managementul de promoii i monitorizarea progresuluiPromoiile sunt necesare pentru atragerea clienilor pentru a

    folosi diverse produse bazate pe criterii de calificare predefinite. Pe lng stocarea promoiilor definite, sunt stocate i documente care monitorizeaz progresul fiecrui utilizator care a optat pen-tru o anumit promoie. Sistemul este capabil s identifice n timp real dac un utilizator a ndeplinit toate cerinele promoiei i dac acord diverse tipuri de premii configurate per promoie.

    programareIntroducere n Couchbase - soluie NoSQL bazat pe Documente

  • 29www.todaysoftmag.ro | nr. 35/mai, 2015

    TODAY SOFTWARE MAGAZINE

    ConcluziiFolosirea exploziv a internetului, creterea volumului de

    date procesat de aplicaiile moderne, natura diferit a datelor, necesit o analiz foarte atent pentru alegerea tehnologiei res-ponsabil de stocarea datelor. Folosirea unei tehnologii NoSQL poate fi o decizie bun n cazul n care este necesar un model flexibil de date, suportul pentru un numr foarte mare de utiliza-tori concureni, scalabilitatea i performana sunt aspecte critice pentru a rspunde cerinelor de business.

    Couchbase este un juctor important n piaa tehnologiilor NoSQL. Acesta se comport excelent n situaiile unui load masiv att la citire ct i la scriere, oferind posibilitatea unei sca-lri facile prin adugare/eliminare de noduri din cluster n funcie de nevoile aplicaiei. Arhitectura i designul acestei tehnologii garanteaz consisten datelor i a performanei foarte bune n acelai timp. Testele au artat c aceast tehnologie este lider pe piaa soluiilor similare. Dei nu se poate spune c aceast teh-nologie e potrivit pentru orice problem, Couchbase poate fi o soluie foarte bun pentru anumite tipuri de aplicaii.

    Resurse1. RDBMS vs NoSQL;2. Couchbase Server Architecture Review;3. Betfair plus Couchbase;4. Couchbase blows competition;5. Couchbase performance benchmarking;6. No SQL performance series;7. 10 enterprise usecases for Couchbase;8. MongoDB vs Coucbase showdown.

  • 30 nr. 35/2015 | www.todaysoftmag.ro

    Este important s dezvoltm apti-tudini care ne vor ajuta s nelegem fe lu l n care se abordeaz testa-rea software-ului. Aceste aptitudini ne ajut s dobndim credibilitate i s ctigm respectul altor profesioniti implicai n dezvoltarea software.

    Cu o baz solid de aptitudini i competene avem o ans mai mare de a reui n ceea ce facem: vom fi capabili s oferim produse mai bune, i n sfrit, vom avea clieni i utilizatori mai satisfcui.

    Ce este un tester?Un tester este o persoan care tie c

    lucrurile pot fi diferite. Jerry Weinberg

    O persoan care este n msur s descopere informaii extrem de relevante ntr-un mod rapid cu privire la un produs, care folosete la maxim orice resurs care este disponibil pentru el/ea i care respect oamenii implicai n proiect. Este o per-soan n care se poate avea ncredere. Ilari Henrik Aegerter

    Definiiile de mai sus ale unui tes-ter, ne amintesc faptul c testarea ine de gndirea critic i de creativitate. Testarea nu nseamn s crezi tot ce se vede, ci n permanen s continui s pstrezi un spi-rit de investigaie. Prin urmare, dorina noastr de-a reui i de-a deveni buni tes-teri, se reflect n ctigarea respectului i ncrederii echipei noastre. Noi nu suntem acolo doar la vntoare de greeli, ci sun-tem acolo pentru a ctiga ncrederea c

    noi suntem gardienii care asigurm cali-tatea unui produs i satisfacia clientului.

    CE face un tester?Testarea nseamn punerea sub semnul

    ntrebrii a produsului cu scopul de a-l eva-lua. James Bach

    Aceast definiie a testrii include unul din cele mai importante aspecte ale tes-trii: identificarea i livrarea informaiei. Testarea presupune dezvluirea necunos-cutului. n cazul n care calitate nseamn valoare pentru o persoan (aa cum a fost definit de Weinberg), atunci testarea pre-supune descoperirea oricrui lucru care amenin aceast valoare. Pentru a des-coperi care sunt ameninrile, un tester trebuie s fie capabil s realizeze o vari-etate de activiti, cum ar fi un review al cerinelor, s adresezez ntrebri bune i s interacioneze cu produsul astfel nct s identifice orice informaie util i posibile riscuri.

    Avnd aceste definiii, vom prezenta cele mai dorite aptitudini i ce ne face pe noi s fim buni testeri.

    Dup ce am citit opiniile unor experi n domeniu (James McCaffrey, Tony Bruce, Jennifer Lent, Lorinda Brandon, Ilari Henrik Aegerter), am intervievat de aseme-nea membrii unei echipe (project manager,

    Totul ncepe cu dorina de a reuiA deveni un tester bun nu nseamn a ajunge la o destinaie, ci mai degrab a te afla n mod constant ntr-o cltorie pe trmuri noi.

    Portretul unui tester bun

    testare

    Daniela [email protected]

    Senior Tester @ ISDC Romania

  • 31www.todaysoftmag.ro | nr. 35/mai, 2015

    arhiteci, programatori i requirements engineer), reieind urm-toarea list de aptitudini:

    Bazat pe aceste rezultate doresc s subliniez cele mai impor-tante cinci aptitudini ale unui tester:

    ComunicareaDac nu poi scrie mesajul tu ntr-o propoziie, atunci nu vei

    fi capabil s l prezini ntr-o or. Dianna Booher n calitate de testeri profesioniti trebuie s avem aptitudini

    bune de scriere i de comunicare verbal. Trebuie s fim capabili s citim i s analizm cerinele produsului, s adunm informaia necesar, s planificm testarea, s scriem rapoarte clare i coe-rente pentru management (att rapoarte formale ct i rapoarte ad-hoc). Avem nevoie de abilitatea de a asculta n mod critic i de a vorbi raional n cadrul oricror ntlniri.

    Avem nevoie sa fim lideri, tehnicieni i politicieni n acelai timp. Este una dintre cele mai dificile aptitudini de gestionat, aceea de a transmite o problem n mod clar i concis, pe un ton constructiv, care s denote gravitatea problemei. Devine i mai complicat pe msur ce realizezi ct de diferit este publicul tu - pe de o parte, o problem trebuie s fie bine definit tehnic atunci cnd este adresat unui programator, pe de alt parte, s fie descris suficient de clar stakeholder-ului non-tehnic pentru a putea lua o decizie adecvat cu privire la impactul problemei asu