Sunteți pe pagina 1din 36

Martie 2018

1. Arhitecturi de integrare (continuare)


2. Modele de arhitecturi de integrare:
 Mainframe si terminale
 Aplicatii client-server
 Aplicatii multinivel
 Arhitectura Peer to Peer
 Arhitectura orientata pe servicii
 Aplicatii in cloud
3. Modele de integrare
 Integrare punct la punct
 Integrare Hub and Spoke
 Integrare bazata pe SOA
 Architecturi bazate pe tehnologii specifice
◦ Architectura orientate pe date
◦ Architectura orientate pe informatii
◦ Architectura retea
◦ Arhitectura Web

 Architectura are in vedere modul de realizare a


interactiunilor intre diferite componente tehnologice si
in cadrul solutiei per ansamblu
◦ Arhitectura de aplicatii
◦ Arhitectura de solutii
◦ Arhitectura de integrare
◦ Arhitectura intreprinderii
 Scopul arhitecturilor de sistem este de a asigura
integrarea componentelor sistemului (in vederea
asigurarii unei functionari optime a sistemului ):
◦ Compatibilitate
◦ Consistenta
◦ Flexibilitate
◦ Eficienta
 Integrarea sistemelor este un domeniu tehnic al arhitecturii
intreprinderii, care se ocupa de studiul unor aspecte precum
interconectarea sistemelor, schimbul electronic de date,
schimbul de date dintre produse si medii de calcul distribuite.

 Alti termeni inruditi:


◦ EAI (Enterprise Application Integration)
◦ BPI (Business Process Integration)
 Arhitectura de integrare este un set de standarde, principii,
reguli, instrumente si sabloane de proiectare care guverneaza
interactiunea intre componentele sistemului, aplicatii, procese si
persoane din cadrul si dinafara companiei.

 Din punct de vedere al sistemului, arhitectura de integrare, se


ocupa de definirea starilor si granitelor obiectelor,
componentelor, subsistemelor, de datele care trebuie
schimbate, interfetele care trebuie expuse, moduri de invocare
ale acestora, promptitudinea raspunsurilor etc

 Scopul arhitecturii de integrare este sa transforme inspiratia


spontana intr-o metodologie stiintifica ce poate fi repetata
 Mainframe si terminale

 Aplicatii client-server

 Aplicatii multinivel

 Arhitectura Peer to Peer

 Arhitectura orientata pe servicii

 Aplicatii in cloud
 Era precursoare aparitiei PC-lor
 Toate procesarile se realizau pe un server
mainframe central
 Clientii erau doar un ecou a raspunsurilor
primite de la server
 Programe populare: CICS, DB2, COBOL,
VSAM, …
 Foarte matura si stabila
 Arhitectura rigida – lipsa de flexibilitate
 Ramane o optiune tehnologica pentru
anumite domenii (aparare, companii
aeriene, vreme…)
 Au devenit populare in anii ‘80
 Clienti mai inteligenti, preiau o parte
din procesarea necesara datorita
disponibilitatii unor PC-uri mai
puternice.
 Cele doua componente ale aplicatiei
trebuie gestionate impreuna si
sincronizate
 Aplicatii populare: Email, tiparire in
retea, www, …
 Foarte matura si stabila
 Mai multa flexibilitate si o complexitate
mai ridicata
 Un pas inainte spre calcul distribuit si modularizare
 Separare logicii de business de nivelul datelor si nivelul
prezentare
 Mai flexibil si mai scalabil
 Nivelul client– browsere Web, aplicatii mobile

 Nivelul server Web– servere web care raspund cererilor


HTTP

 Nivelul de integrare- server de aplicatii, sistem de


mesagerie, enterprise service bus, conectori/adaptori, …

 Nivelul EIS (Enterprise Integrated System) – baze de


date, sisteme back-office (ERP, CRM, …), aplicatii
interne/ invechite, …
 Specializarea aplicatiilor componente
 Flexibilitatea implementarii
 Cuplare slaba
 Scalabilitate
 Nu e desemnat serverul si clientul
 Procesarea este distribuita mai
echitabil intre masini
 Example – muzica, filme, partajare
fisiere
 Aplicatiile
colaboreaza prin
intermediul unei
retele de servicii
distribuite
 Serviciile sunt
componente bine
definite care pot fi
gestionate in mod
dinamic
 Se pot pastra in
cloud diferite
componente
 Aplicatiile comunica
prin intermediul
Internetului
 Integrare intre
aplicatiile in cloud si
aplicatiile interne ale
companiei
 Contextul procesarii distribuite
 Orientare spre utilizarea de standarde
 Abordare bazata pe componente pentru a promova
reutilizarea
 Facilitarea reutilizarii si partajarii
 Decuplare sau cuplare slaba
 Configurabilitate
 Extensibilitate si scalabilitate
• Valoarea procesarii distribuite
• Scalabilitate
• Alocarea resurselor implicate
• Reducerea blocajelor
• Alinierea la distribuția geografică a întreprinderii
• Limba și alte cerințe ale pieței locale
• Reglementările locale
• Ciclurile de dezvoltare si implementare rapide ofera o mai
buna agilitate companiilor locale pentru a raspunde
schimbarilor pietelor locale
• Descentralizarea permite functiilor companiei sa opereze
rapid si relativ independent, imbunatatind performantele
• Consistenta

• Interschimbarea

• Plug-and-play

• Suport si mentenanta

• Independenta de furnizor
• Abstractizare si incapsulare

• CE face vs. CUM face

• Componente bine definite care pot fi usor inlocuite fara a


declansa efecte in cascada

• Componentele bine definite ar trebui sa fie configurabile


• Pentru ca componentele si serviciile sa fie partajabile si reutilizabile:
• Functiile si scopul componentelor si serviciilor ar trebui sa fie bine
definite;
• Componentele si serviciile partajabile se bazeaza, de obicei, pe
standarde
• Interfetele ar trebui sa ramana relativ neschimbate, indiferent de
schimbarile implementarilor

• Compromis intre reutilizabilitate si cost


• Caracteristici cheie ale integrarii slab cuplate
• Interfete bazate mai degraba pe semantica decat pe sintaxa
• Respectarea de standarde
• Integrare asincrona
• Utilizarea unui middleware de integrare
• Avantaje
• Minimizarea interdependentelor intre sisteme
• Timp
• Formatul informatiilor
• Technologie

• Reduce efectele in cascada si ofera posibilitate de plug-and-play


• Schimbare dinamica a comportamentului sistemului

• Satisfacerea unor cerinte diferite fara a schimba sistemul in sine

• Exemplu: setarile de sistem

• Limitari in configurabilitate si solutii de compromis


• Procesare batch
• Cele mai mari intarzieri
• Cea mai ieftina

• Integrare asincrona
• Aproape in timp real
• Mai scumpa

• Integrare in timp real


• Cea mai scumpa
• Sistemele se vor schimba si vor evolua

• Este necesar sa se prevada potentialele schimbari ale sistemului chiar


daca ele nu sunt necesare in prezent

• Trebuie asigurata din momentul proiectarii sistemului abilitatea de a


schimba, creste, adapta si evolua

• Arhitectura este cheia


 Tehnologiile existente
 Standardele curente si in dezvoltare
 Tendintele din industrie
 Cultura organizationala
◦ Sistemele invechite din companii sunt o mare piedica in calea unei arhitecturi
IT eficiente
◦ In loc sa se depuna eforturi pentru spargerea acestora (dificil, riscant), o
strategie mai buna ar fi realizarea de punti de comunicare cu acestea
 Arhitectura deschisa
◦ Schimbarile sunt proiectate in arhitectura
◦ Ofera un cadru pentru adaugare/ inlocuire/ inlaturare/ actualizarea
componentelor sistemului, pastrand scalabilitatea
◦ Ofera sistemului mai multa flexibilitate, dar solicita mai mult timp si
mai multe resurse pentru implementare. Costuri mai mici la nivelul
ciclului de viata, dar mai mari in prima parte
 Arhitectura inchisa
◦ Schimbarile nu sunt prevazute de la inceput, fiind ingreunate de
arhitectura sistemului
◦ Modificări aduse sistemului pot duce la o perturbare semnificativă a
funcționalității actuale a sistemului
◦ Costul inițial mai mic și punerea în aplicare mai rapida, dar costul
total probabil mai mare(TCO)
 Nici un sistem nu este 100% deschis sau 100% inchis
 Integrare punct la punct
 Integrare Hub and Spoke
 Integrare bazata pe SOA
 Caracteristici
• Directa, legaturi strans cuplate intre cele doua sisteme
• Interfete spcializate dezvoltate pentru scopuri precise (date fixe,
formate de date, etc.)
• Necesita o cunoastere foarte buna a formatului in care trebuie sa
fie datele care vor fi schimbate

 Avantaje
• Rapida si eficienta

 Dezavantaje
• Numarul de conexiuni si complexitatea creste exponential
• Interdependenta conduce la efecte in cascada si e dificil de
schimbat
• Costuri de mentenanta ridicate
http://msdn2.microsoft.com/en-us/library/bb220799.aspx
 Caracteristici
• Hub-ul actioneaza ca acționează ca intermediar (middleware) care
mediază diferențele specifice aplicației.
• De obicei, implementat sub forma de Message Broker.
• Monitorizare si control centralizate deoarece toate transformarile de
mesaje, rutarile, maparile sunt realizate in Hub.

 Avantaje
• Decupleaza aplicatiile care trimit si primesc date, permitandu-le
schimbul independent

 Dezavantaje
• Incarcare si timp de raspuns suplimentar
• Scalabilitatea poate fi limitata din cauza tuturor sarcinilor care sunt
in hub
 Caracteristici
• Procesarea integrarii este distribuita intre punctele finale
• serviciile independente de tehnologie permit plug-and-play (Lego)
• Se utilizeaza adaptor si Enterprise Service Bus (ESB)

 Avantaje
• Permite flexibilitate si reutilizare maxima
• Reduce costul de dezvoltare

 Dezavantaje
• Necesita investitii care pot fi dificile pentru realizarea schimbarii de
paradigma
• Pot aparea probleme (performanta, limitari)
 Integrare la nivelul datelor
◦ Operatii directe pe seturile de date
◦ Implica transformarea, unirea si coordonarea mai multor surse de date

 Integrare la nivelul aplicatiilor


◦ Schimbul de informatii se face prin interfete de aplicatii bine definite (API) fara
sa aiba loc expunerea datelor din spate
◦ Aplicatiile din spate au un control si o protectie mai buna pentru datele utilizate

 Integrare la nivelul proceselor de business


◦ Integrarea si orchestrarea diferitor procese de business pentru a oferi clientilor
servicii perfect unificate. De obicei implica si sisteme si oameni.

 Integrarea extinsa a intreprinderii


◦ Permit colaborarea inafarea companiei (cu parteneri, furnizori…)

S-ar putea să vă placă și