martie 2019sinf.ase.ro/cursuri/integrare/cursul 3.pdfarhitectura de integrare este un set de...

36
Martie 2019

Upload: others

Post on 26-Feb-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Martie 2019

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 se poate referi la zone tehnologice

specifice

◦ Architectura datelor

◦ Architectura informatiilor

◦ Architectura retelei

◦ 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 inf. 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 orientata 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 specializate 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…)