ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 43
Abonament PDF

TFS ca platformă de colaborare (I)

Dorin Cazan
Service specialist @Siemens



PROGRAMARE


Team Foundation Server (presc. TFS) promite a fi o soluție "out of the box" pentru toată platforma de ALM din cadrul unei organizații ce poate fi utilizată atât pentru gestionarea proiectelor, cât și pentru a urmări work-flow-ul în echipe, pentru a gestiona codul sursă  și pentru a compila și testa software-ul. Puteți face acest lucru fie cu Team Foundation Server instalat pe un server propriu fie prin utilizarea Visual Studio Online în cloud.

Potrivit Microsoft, acestea sunt câteva din caracteristicile majore, care sunt incluse în Team Foundation Server:

TFS poate fi cel mai bine descris dacă ținem cont de cele două aspecte principale ce-l definesc. Pe de o parte, reducându-l la funcția primară pentru care am folosi TFS într-o organizație,  putem spune că TFS este o platformă de colaborare ... sau, altfel spus, nu este decât o colecție de tool-uri care permit colaborarea la un proiect atât a membrilor echipei de dezvoltatori cât și de clienții și partenerii acestei echipe. Această colecție de tool-uri centralizate le permite să lucreze împreună mai eficient. Se pot împărtăși planurile de proiect și notebook-uri, evaluări intermediare, coduri sursă. Organizația se bazează pe o instalare "out of the box" de TFS sau pe consolidarea și îmbunătățirea elementelor ce însumează TFS-ul ca soluție ALM, prin modificarea sau adăugarea de noi elemente și scenarii de utilizare pentru a alătura noi funcționalități eficiente. Pe de altă parte, dincolo de ceea ce are de oferit TFS "out of the box", se poate spune că TFS este o platformă de colaborare proiectată special pentru integrare și extensibilitate. Prin intermediul API-ului (Application Programming Interface) se poate adapta Team Foundation Server la nevoile organizațiie, proiectului și echipelor individuale prin adaptarea și atașarea de noi funcționalități. Extensiile pot îngloba schimbări simple precum redenumirea unui câmp într-un work item, dar și pentru a integra un tool sau o funcționalitate complet nouă.

Extensibilitatea platformei TFS

Extensibilitatea TFS este dată de structura sa multi-tier, pe mai multe niveluri, precum și de diferite modele cu care un utilizator poate interacționa în scopul de a adapta sau adăuga noi funcționalități. Team Foundation poate fi adaptat nevoilor individuale ale echipei și a proiectului folosindu-se unul dintre următoarele modele puse la dispoziție de Microsoft:

  1. Client object model (cum sugerează și numele, se aplică la computerele pe care se utilizează TFS respectiv interfața la această platformă, Microsoft Visual Studio), poate fi folosit în scopul de a influența comportamentul TF atunci când vine vorba de controlul versiunilor, work item tracking și a build-urilor.

  2. Server object model (se aplică pe application tier), poate fi folosit în scopul de a integra instrumente suplimentare în Visual Studio, în crearea de rapoarte și chiar în crearea de evenimente ce pot declanșa anumite acțiuni, cum ar fi copierea unui build pe share-ul clientului după ce s-a schimbat build quality-ul unui build ce a fost compilat cu succes.

  3. Build process object model, în scopul de a personaliza procesul de compilare. Puteți personaliza șablonul procesului de construcție cât și activitățile pre- și post-implementare.

Fig 1. TFS multi-tier environment

La Siemens, una dintre diviziile ce utilizează TFS a dezvoltat un tool care adaugă funcționalități adiționale pentru work item tracking. Printre funcționalitățile suplimentare care sunt disponibile după instalarea acestui tool pot fi  enumerate următoarele: câmpuri și tab-uri suplimentare, funcționalitatea de a reactualiza cache-ul structurii work item-urilor, verificarea permisiunii utilizatorilor fără a fi nevoie de a intra în interfața administrativă, pentru a crea template-uri pentru diversele work item-uri folosite (fără a fi nevoie să se instaleze extensia oferită de Microsoft (Power Tools for Visual Studio) și posibilitatea de a se asocia și sincroniza work item-uri din diferite TFS Team Collections sau chiar servere de TFS.

Printre alte îmbunătățiri, care au fost aduse la instalarea noastră de TFS în scopul de a facilita și de a spori scenariile de utilizare nu numai pentru dezvoltatorii noștri dar și pentru clienții noștri se numără un tool ce poate copia build-urile de pe droplocation pe share-ul clientului în urma unor acțiuni și evenimente predefinite, instrumente pentru export și importarea de build definitions, integrarea cu instrumente de traducere, integrare cu alte produse PLM cum ar fi Team Center, check-in policies, securitate sporită pentru version control prin folosirea de folder-e și branch-uri securizate pe bază de IP direct în source control și multe altele.

Ar trebui remarcat faptul că Microsoft are un site numit Visual Studio User Voice, care poate fi folosit pentru a trimite sugestii și idei la Microsoft pentru a îmbunătăți TFS si\sau Visual Studio. Nu toate sugestiile vor fi puse în aplicare, dar este bine de știut că se poate transmite ideile direct către Microsoft și că este posibil să se obțină o funcționalitate nouă, benefică tuturor utilizatorilor de TFS fără a fi nevoie să înveți cum funcționează TFS și cum puteți utiliza TFS API în scopul de a dezvolta o extensie suplimentară.

Ca și în cazul tuturor platformelor de colaborare, există și unele neajunsuri care trebuie luate în considerare. Principalele mele nemulțumiri sunt legate de modul în care funcționează TFS, mai exact de faptul că este necesară o conexiune\comunicare constantă și activă între PC-ul utilizatorului și serverul de TFS. Dacă, de exemplu, aveți o pană de curent sau 'pica' rețeaua timp de 1 oră, procesul de  dezvoltare de aplicații este forțat să stagneze. Motivul este că TFS va marca toate fișierele ca read-only pe sistemul utilizatorului până când se realizează un check-out. Dacă nu puteți comunica cu server-ul, nu puteți face check-aut și prin urmare nu le puteți edita. Dacă, pe de altă parte, le-ați dat check-out înainte și ați terminat de editat, nu puteți da check-in în timp ce conexiunea cu server-ul de TFS nu este realizată; în unele cazuri nu se poate da check-in chiar și după ce serverul este din nou disponibil, deoarece fișierul *.sln este marcat ca fiind offline și, uneori, nu reușește să se reconecteze la server în mod automat. În acest caz veți fi întâmpinați cu un mesaj asemănător:

This solution is offline.  
[Team Foundation Server: https://tfsURI:443/tfs/collection/project]
The solution was offline during its previous session and will remain offline.

În trecut era necesar să intervenim în Windows registry sau să-I dăm rebind la fișierele *.csproj pentru a putea continua activitatea de dezvoltare, dar se pare că Microsoft a lucrat la remedierea acestei probleme din moment ce nu am mai întâlnit-o în ultima vreme. 

TFS nu este  "un sistem închis" așa cum s-ar crede, ci poate fi integrat și cu alte sisteme 3rd party pentru source control și issue tracking. Unele dintre funcționalitățile care sporesc extensibilitatea și flexibilitatea TFS este capacitatea sa de a integra și de a lucra cu alte pachete software, dar fără a se limita în mod necesar doar la produsele Microsoft (cum ar fi Microsoft Project Server, SharePoint, Excel și Outlook), ci si de la alte companii si dezvoltatori, spre exemplu ClearCase (IBM), GIT și Eclipse.

Noi funcționalități pot fi dobândite și prin instalarea suitei Microsoft Test Manager, un client de TFS separat, ce îți permite să faci testare software, dându-ți  posibilitatea de a planifica și executa teste și de a administra atât mediile de testare fizice cât și cele virtuale.

Microsoft a introdus Team Foundation Server Express și VisualStudioOnline (cunoscut și sub numele de Team Foundation Service, o versiune de TFS în cloud). TFS Express este o soluție optimală pentru studenti, dezvoltatori independenți și echipe mici de până la cinci developer-i. Versiunea de TFS Express este gratuită și poate fi instalată pe PC-ul personal fără a fi necesară crearea unui server specializat. Dacă se consideră mai apoi că se dorește un upgrade la o versiune comercială de TFS, se poate realiza acest lucru cu ușurință și fără a pierde datele și istoria aferentă elementelor din version control. Dacă nu ești convins că TFS ar putea reprezenta o soluție viabilă pentru echipa ta și nu vrei să investesti bani într-un mediu de testare, Visual Studio Express sau varianta în cloud, VisualStudioOnline (de asemenea gratuită pentru studenți și echipe de până la 5 dezvoltatori) reprezintă un punct de pornire solid, fără a crește costurile. 

Beneficiile lucrului cu TFS pentru nondezvoltatori

Asa cum sugerează titlul acestui articol, scopul nu este doar acela de a prezenta funcționalitățile TFS doar pentru software developers, ci și de a descrie scenarii de utilizare a TFS-ului în care și echipe de nondezvoltatori ar putea beneficia de pe urma acestei platforme. 

Desigur că Siemens, pe lângă alte domenii de activitate, se ocupă și de dezvoltarea de aplicații pentru produsele proprii - în acest scop folosește mai multe platforme, printer care și TFS… dar aceasta nu schimbă faptul că aceia care se ocupă de dezvoltare și testare nu sunt și utlizatori finali. Pe lângă aceștia mai există și alte echipe care sunt implicate mai mult sau mai puțin în procesele aferente unui proiect de dezvoltare. Există numeroase alte echipe ce interacționează frecvent atât cu dezvoltatorii cât și cu utilizatorii: printre aceștia se numără trainer-i, project manager-i, configuration manager-I și echipele de suport tehnic.

De ce s-ar gândi cineva să folosească funcționalitățile oferite de TFS și pentru echipe de non-dezvoltatori? 

Răspunsul este simplu: Începând cu TFS 2015 Microsoft a introdus o schimbare majoră în sistemul de licențiere pentru Visual Studio online și TFS prin adăugarea licenței de tip Stakeholder. Această licență poate fi acordată în mod gratuit unui număr nelimitat de utilizatori; aceștia vor putea crea și edita elementele de lucru, vedea dashboard-urile și Kanban board-urile.

Potrivit MS scopul acestei licențe este de a facilita comunicarea în cadrul proiectului și de a permite întregii organizații de a participa activ la dezvoltarea proiectelor. Prin aceasta Microsoft pune bazele unui nou început si redirecționează accentul pe dezvoltarea scenariilor diverse de utilizare a TFS-ului.

Partea a doua a articolului va fi publicată în numărul 44 / februarie al Today Software Magazine.

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects

Dorin Cazan a mai scris