Showing posts with label Talend. Show all posts
Showing posts with label Talend. Show all posts

Tuesday, January 20, 2015

Integrarea datelor între sisteme cu Talend Open Studio

(Publicat în revista Today Software Magazine, Numărul 25, Iulie 2014: http://www.todaysoftmag.ro/article/1038/integrarea-datelor-intre-sisteme-cu-talend-open-studio)

Aşa cum menţiona Jonathan Bowen în cartea sa, „Getting Started with Talend Open Studio for Data Integration”, de îndată ce a apărut cel de-al doilea calculator, integrarea sistemelor a devenit o parte esenţială a muncii echipelor IT.

Complexitatea sistemelor de astăzi, împreună cu ritmul alert în care afacerile evoluează, evidenţiază nevoia de a avea la îndemână un set de unelte care să ne permită executarea rapidă a sarcinilor de integrare. De asemenea, trebuie să fim în stare să reacţionăm cu promptitudine la oportunităţile de noi afaceri.

Experienţa ne-a arătat că, de cele mai multe ori, noii clienţi vin cu cerinţa de a integra în ecosistemul acestora produsul pe care noi îl oferim. Rareori un sistem informatic funcţionează izolat, în propriul său univers. În mai multe rânduri am observat că succesul proiectului propus unui client a depins de capacitatea noastră de a integra sistemul cu produsele pe care acesta deja le folosea.

Procesul despre care vorbim poate însemna sincronizarea a două baze de date o singură dată sau recurent, consumarea unor servicii – fie ele servicii web sau de altă natură – generarea şi transferul de fişiere în diferite formate etc. Aşadar, observăm că avem de-a face cu o varietate de modalităţi prin care putem duce la îndeplinire aceste sarcini, acest lucru contribuind la creşterea complexităţii problemei. De asemenea, uneori este la latitudinea noastră să decidem modalitatea prin care vom realiza integrarea însă, de multe ori, clientul are cerinţe specifice şi în legătură cu acest aspect.

Atunci când ne confruntăm cu o astfel de situaţie, putem fie să construim manual interfaţa între sisteme, ca o soluţie custom, fie să utilizăm un tool specializat pe rezolvarea problemelor de integrare. Un astfel de tool este Talend Open Studio, care vine cu o ofertă interesantă pentru a ne ajuta la rezolvarea sarcinilor noastre de integrare.

Un overview al mediului Talend Open Studio

Talend Open Studio for Data Integration este un mediu de dezvoltare grafic care, după cum spune şi numele acestuia, este specializat în integrarea datelor între sisteme. La baza sistemului open source stă mediul Eclipse. Alături de crearea soluţiilor de integrare, Talend Open Studio cuprinde şi mecanismele necesare livrării acestora – job-urile pot fi rulate atât din interiorul mediului, cât şi ca script-uri de sine stătătoare.

Pentru modelarea proceselor, sistemul utilizează conectori. Dezvoltatorii produsului ne oferă peste 800 de astfel de conectori, care ne dau posibilitatea să conectăm cu uşurinţă baze de date, să citim informaţii din diverse surse, să transferăm fişiere şi să efectuăm operaţii asupra lor. De asemenea, avem posibilitatea de a conecta componente specializate pentru a defini procese complexe de integrare.

O bună parte din munca pe care o îndeplinim cu ajutorul Talend Open Studio este reprezentată de modelarea grafică a proceselor pe care dorim să le definim. În tot acest timp, platforma îşi face treaba de zidar în background, generând cod Java. În fond, fiecare componentă pe care o utilizăm are asociat un comportament, descris prin intermediul codului Java.

Având în vedere faptul că acesta este un tool grafic, produsul poate fi utilizat atât de programatori, cât şi de persoane care nu au cunoştinţe de programare. Totuşi, pentru a putea defini anumite comportamente complexe, este nevoie să scriem din când în când cod Java, lucru care ne determină să concluzionăm că utilizatorii care nu cunosc programare se confruntă cu anumite limitări.

Talend Open Studio este relativ uşor de folosit, este o modalitate rapidă de a modela scenarii de integrare, de cele mai multe ori reducând timpul de implementare de la săptămâni sau luni, la zile sau chiar ore, în funcţie de complexitatea proiectului. Totuşi, trebuie să avertizăm cititorii că, asemeni multor altor domenii, dacă din cauza excesului de zel sau a unui design nepotrivit facem overengineering, riscăm să obţinem o soluţie complexă, greu de înţeles pentru alţi utilizatori sau chiar ineficientă. Există şi aici necesitatea respectării unor bune practici, care să asigure calitatea soluţiei noastre.

Printre alte beneficii ale utilizării Talend Open Studio, trebuie să remarcăm că acesta este un produs open source, care permite utilizatorilor să extindă platforma după nevoie. De asemenea, utilizându-l creşte productivitatea, deoarece dezvoltatorii se pot concentra mai mult la definirea procesului decât la implementarea tehnică a acestuia. Ne sunt puse la dispoziţie o mulţime de componente, potrivite situaţiilor mai mult sau mai puţin obişnuite, cu care putem opera pentru a ne defini procesele. În plus, comunitatea utilizatorilor Talend este activă şi gata să ofere sfaturi tehnice.

Scenarii de utilizare

După cum am menționat în secțiunea anterioară, cele mai obișnuite scenarii de utilizare a proiectului Talend Open Studio sunt următoarele:

Transfer între baze de date: Atunci când sunt create sisteme noi sau cele existente sunt actualizate, este nevoie ca datele să fie migrate într-o nouă bază de date. Aceasta poate să aibă aceeași schemă sau una diferită, iar Talend Open Studio ne oferă conectorii și acțiunile necesare acestui proces.

Schimb de fișiere: Sarcinile de integrare pot necesita transferuri de date în cantități mari. Acest lucru se realizează adesea prin intermediul fișierelor. Un exemplu de astfel de fișier este clasicul CSV (comma separated values). De asemenea, este posibil ca sistemul care primește fișierul de transfer să aibă nevoie de date într-un alt format. Și acest caz este acoperit de către Studio, fiindcă ne dă posibilitatea să definim procese care efectuează transformări asupra datelor transferate. În plus, avem la dispoziție capabilități de management al fișierelor, prin operații cum ar fi transferul prin FTP sau arhivarea.

Sincronizare: Sistemele care colaborează nu sunt conectate întotdeauna la același data repository, ceea ce înseamnă că anumite informații pot fi duplicate într-un ecosistem. În consecință, avem nevoie să ne asigurăm că acestea sunt sincronizate periodic. Acesta este cazul datelor despre clienții unei companii, care pot fi prezente, spre exemplu, în sistemul de finanțe, cel de distribuție sau în platforma CRM. Talend Open Studio poate fi folosit pentru a realiza sincronizarea sistemelor, cu ajutorul unor job-uri care automatizează procesul.

ETL: Acesta este un acronim pentru Extract, Transform, Load, termeni care descriu un proces de bază pentru sistemele data warehouse. Un astfel de proces extrage date din sisteme operaționale, le transformă aplicând reguli sau funcții, iar apoi le încarcă în data warehouse. Din nou, Talend Open Studio ne face viaţa mai uşoară, ajutându-ne substanţial la implementarea acestui tip de proces.

Exemplu

Pentru a ilustra uşurinţa utilizării acestei platforme, creăm un proiect cu un job care transformă un fişier XML într-un fişier CSV. Modelul grafic pentru acest job simplu este ilustrat în figura de mai jos.


În partea stângă avem o componentă de tip tFileInputXML, iar în partea dreaptă o componentă de tip tFileOutputDelimited. Acestea sunt conectate printr-un conector Main. Înainte de a trage componenta de intrare în designer am definit un obiect metadata, căruia i-am asociat un fișier XML. Studio-ul a detectat automat schema documentului și ne-a dat posibilitatea să selectăm ce noduri să fie transferate către output. Prin intermediul conectorului Main, Talend a transferat către fișierul de ieșire exact structura pe care am definit-o, fără ca noi să scriem vreo linie de cod. Tot ce a trebuit să configurăm în componenta de ieșire a fost calea și numele fișierului CSV.
Bineînțeles, putem extinde acest job, conectând în continuare alte componente, cum ar fi cele care lucrează cu conexiuni FTP, pentru a transfera fișierul nostru către sistemul țintă.

Concluzii


În secțiunile anterioare am văzut pe scurt care este contextul în care sunt realizate procesele de integrare, ce este Talend Open Studio și care sunt beneficiile utilizării acestui produs. De asemenea, printr-un mic exemplu am încercat să ilustrăm simplitatea utilizării Studio-ului, rapiditatea implementării job-urilor și să ne facem o părere despre capacitatea acestei platforme.