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 81
Abonament PDF

Integrarea aplicațiilor din mediul Enterprise

Bogdan Ghineț
Integration Developer @ Accesa



PROGRAMARE


În acest articol, subiectul propus se referă la câteva noțiuni despre integrarea aplicațiilor din mediul Enterprise. Valorificând experiența deținută în domeniul integrării aplicațiilor, vom explica ce este și cum arată o arhitectură enterprise, cum este o arhitectură de integrare, când și de ce a apărut acest concept, care sunt beneficiile pe care le aduce și ce posibilități avem pentru implementarea unei soluții de integrare.

Ce înțelegem prin termenul de enterprise?

Mulți dintre noi asociem noțiunea de Enterprise cu o companie de dimensiuni mari sau foarte mari, cu procese lente sau ineficiente. Dar, dacă ne vom uita la modul în care este definită această noțiune în literatura de specialitate, vom observa că diferă puțin față de percepția noastră.
În termeni generali, enterprise este definit drept orice efort uman de a întreprinde ceva. În consecință, o întreprindere sau o afacere poate fi văzută ca un grup de persoane care lucrează împreună pentru a atinge scop bine definit și care își desfășoară activitatea având ca suport o anumită platformă.

Un standard în domeniul arhitecturilor Enterprise, dezvoltat de The Open GROUP, definește termenul enterprise ca fiind orice organizație sau grup de organizații care au un scop comun.

Spre exemplu, enterprise poate fi:

Prin urmare, orice organizație, indiferent de mărimea ei, de modul de organizare, de scopul ei, are o arhitectură enterprise.

Arhitectura Enterprise

Având în vedere modul în care este definit conceptul de enterprise, putem afirma că orice organizație este formată din mai multe componente care sunt structurate și aranjate astfel încât să permită, în primul rând, existența companiei și, totodată, să faciliteze îndeplinirea strategiilor și obiectivelor sale.

Existența unei arhitecturi de acest gen, face posibilă optimizarea proceselor de orice natură, manuale sau automate și integrarea acestora într-un mediu care poate răspunde mult mai ușor schimbărilor și oferă suport în dezvoltarea companiei. În plus, facilitează procesul de transformare a afacerii păstrând un echilibru între dezvoltare, inovare și eficiență operațională.

Când și de ce a apărut nevoia de integrare?

Arhitecturile enterprise, ca natură, tind să conțină numeroase sisteme și aplicații software, care furnizează diferite funcționalități pe care compania se bazează pentru a-și desfășura activitatea zilnică.

La începutul anilor '90, un număr mare de companii au adoptat ideea de produs software împachetat. Adică, un produs care să rezolve una sau mai multe dintre nevoile de business identificate la acel moment. Un exemplu popular este soluția de tipul ERP system, un modul software care promitea a fi un punct unic de intermediere între toate aplicațiile care gestionau resursele companiei.

Deoarece această abordare nu a funcționat conform așteptărilor, companiile au început să adauge soluții complementare pentru a putea gestiona și celelalte zone interes ale companiei. În figura de mai jos, putem identifica diferitele module care pot exista în infrastructura software a unei companii.

În desfășurarea activităților specifice de business, companiile sunt nevoite să evolueze pentru a putea rămâne competitive prin adaptarea continuă la cerințele și nevoile pieței. În centrul acestui proces aflat într-o continuă schimbare se află atât infrastructura software cât și cea hardware a companiilor.

Odată cu creșterea afacerii, a numărului de componente software și a cantității de informații procesate, a trebuit ca la nivelul companiilor să se găsească soluții pentru a face față provocărilor ridicate de optimizarea unei astfel de infrastructuri de aplicații.

Azi, utilizarea cât mai eficientă a informației și capabilitatea de transformare digitală sunt factori cheie pentru succesul afacerii. Nevoia tot mai mare de avea acces cât mai rapid și cât mai eficient la informații a împins companiile să găsească metode de a conecta diferitele lor sisteme informaționale.

Cum arată o arhitectură de integrare?

De obicei, infrastructura de aplicații dintr-o companie poate fi foarte complexă, compusă dintr-o multitudine de aplicații diferite și având la bază diferite tehnologii și arhitecturi.

Inițial, pentru a facilita interconectarea acestora, s-a aplicat modelul de integrare point-to-point.

Integrarea Point-to-point

Modelul Point-to-point (P2P) presupune implementarea unui conector între fiecare pereche de aplicații sau sisteme care trebuie să comunice. Acest conector va gestiona toate transformările de date, integrarea și alte servicii de mesagerie necesare pentru integrarea celor două componente.

Într-o infrastructură cu puține componente, acest model funcționează suficient de bine oferind o soluție de integrare facilă și nu prea complexă, astfel încât, modificările aduse unui sistem să fie ușor și rapid implementate.

Totuși, pe măsură ce vom adăuga noi componente în această infrastructură, va crește și numărul conexiunilor point-to-point necesare pentru a obține o integrare completă. Prin urmare, costul întreținerii unei astfel de soluții va crește exponențial.

După cum putem observa în imaginea de mai sus, numărul de conectori necesari pentru a integra un număr de opt sisteme depășește valoarea de trei zeci.

Ținând cont și de faptul că fiecare conector va trebui dezvoltat și gestionat separat, aplicarea acestui model de integrare în arhitecturile complexe devine extrem de dificilă ajungând să fie imposibil de gestionat.

Integrarea EAI

Termenul Enterprise Application Integration a fost menționat pentru prima dată în anul 1996, într-o publicație Gartner Group din SUA, unde au fost analizate abordările întâlnite la un anumit număr de companii mari în încercarea de a explica apariția unor serii de probleme în integrare.

EAI poate fi definit ca fiind procesul prin care datele existente într-o aplicație software sunt puse împreună cu datele provenite dintr-o altă aplicație sau sistem.

De cele mai multe ori, termenul EAI este asociat cu tehnologiile middleware având ca rol primordial interconectarea aplicațiilor existente în arhitectura enterprise prin simplificarea și automatizarea proceselor de business.

Ca alternativă la modelul de integrare P2P, unde posibilitatea de a eșua în procesul de conectare a unei infrastructuri complexe crește pe măsura creșterii numărului sistemelor ce trebuie integrate, soluțiile EAI au la bază conceptul de middleware folosit în centralizarea și standardizarea metodelor de integrare aplicabile întregii infrastructuri enterprise.

Sistemele EAI înglobează adaptoare de conexiune pentru transformarea de protocol, procese de transformare a informației pentru conversia datelor din formatul sistemului sursă într-un format care să poată fi înțeles de sistemul destinație, servicii de orchestrare și rutare, cât și alte componente adiacente.

Modelul propus de EAI slăbește conexiunile strâns cuplate din modelul punct-la-punct. O aplicație poate să trimită un mesaj fără a avea nevoie să cunoască locația consumatorului, care sunt informațiile de care acesta are nevoie, sau utilitatea mesajului transmis. Toate aceste informații putând fi gestionate de implementarea EAI.

În concluzie, acest tip arhitectural este mult mai flexibil, componentele putând fi eliminate sau adăugate în funcție de nevoie, oferind în același timp un mediu de dezvoltare simplificat, unde un serviciu poate fi refolosit de mai multe aplicații.

Moduri de implementare EAI

Există două mari topologii de implementare a arhitecturii EAI , fiecare cu avantajele și dezavantajele ei.

Modelul Hub-and-spoke - Enterprise Application Integration tradițional

Prima implementarea EAI de pe piață a încorporat toate funcționalitățile necesare integrării într-o componentă centrală numită broker.

Această componentă centrală, cunoscută și sub numele de Hub va folosi niște adaptoare Spokes pentru a conecta și transforma datele într-un format pe care să o înțeleagă.

Printre atribuțiile componentei hub regăsim transformarea/translatarea mesajului de intrare într-un format cunoscut de sistemul destinație și rutarea acestuia către consumatorul final.

Printre avantajele oferite de acest model găsim:

Conform statisticilor în domeniu, acest model arhitectural a fost implementat cu succes de câteva companii, dar majoritatea proiectelor de integrare bazate pe arhitectura Hub-and-spoke a eșuat.

Modelul ESB

În urma încercărilor de a depăși problemele cauzate de folosirea modelului hub and spoke , a apărut un nou mod de implementare EAI, numit the bus. În timp ce folosește tot o componentă centrală pentru distribuirea mesajelor, acesta reușește să împartă celelalte sarcini de integrare altor componente distribuite în rețea.

Pe măsura evoluției acestui nou model arhitectural, au fost adăugate noi componente care oferă funcționalități precum: securitatea, mecanisme de înregistrare și tratare a excepțiilor, urmărire a mesajelor, etc.

Într-un final, a rezultat o arhitectură care permite dezvoltarea de soluții de integrare ușoare, fiabile și personalizate, cu un grad mare de abstractizare față de nivelul de aplicație, care urmează un model consistent și care pot fi implementate și configurate cu un efort minim, independent de aplicațiile sau sistemele pe care le conectează. Acest model arhitectural este cunoscut drept Enterprise Service Bus.

Modelul de integrare ESB are la bază arhitectura SOA oferind un mediu format din servicii distribuite care comunică între ele în rețea.

În domeniul EAI există o serie de producători de soluții ESB, iar în ciuda diferențelor dintre acestea cele mai multe oferă următoarele funcționalități de bază:

Având la dispoziție detaliile prezentate mai sus, avem un punct de plecare pentru alegerea soluției de integrare potrivită nevoilor din arhitectura pe care vrem să o abordăm.

Pentru mai multe detalii despre zona de enterprise integration, ne găsiți și la:

https://www.meetup.com/Business-Integration-Community-Cluj-Napoca/

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