Evoluţia reţelelor de calculatoare şi a protocoalelor de

Download Report

Transcript Evoluţia reţelelor de calculatoare şi a protocoalelor de

Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Construirea Aplicatiilor de tip SOA
Matei Petruţ-Bogdan
342C5
[email protected]
18.07.2015
Protocoale de comunicaţie – Prezentări Laborator
1
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
18.07.2015
Protocoale de comunicaţie – Prezentări Laborator
2
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
Termen introdus de Yefim Natis
cercetare (1994):
intr-o lucrare de
“SOA este o arhitectura software care porneste de
la o definitie de interfata si construieste
intreaga topologie a aplicatiei ca o topologie de
interfete, implementari de interfete si apeluri de
interfete”
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
The SOA implementation rely on a mesh of software services.
http://en.wikipedia.org
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ? | Serviciu ?
Serviciu ?
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ? | Serviciu ?
• Nevoia de informație din domenii diverse
• În context local informația este stocată sub diferite forme (documente,
multimedia, metadate, etc)
• În mod general informația este stocată în mod binar
• De obicei există o colecție de date disponibile la un anumit moment
de timp
• Din această colecție doar o parte reprezintă informații
• Exemplu : Baza de date este o colecție de date dar o cerere
formulată în conformitate cu necesitățile reprezintă o informației
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ? | Serviciu ?
In concluzie, un serviciu ...
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ? | Serviciu ?
Pune la dispoziția utilizatorului informaţii
• Este de două tipuri :
1. Local
2. La distanță (remote)
• În esenţă este o aplicaţie ce oferă utilizatorului
informaţii în urma apelării unor proceduri bine
definite.
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
The SOA implementation rely on a mesh of software services.
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
Arhitectura simplă:
•
•
•
•
•
Browser
Web Server
Order-Processing
Database Server
Database
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
Dorim sa mai adaugam o facilitate ?
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
• Partea de procesare a comenzilor are nevoie
de a procesa platile prin card de credit/ debit
• Nu ne intereseaza cum proceseaza cardurile
de credit/ debit, ne intereseaza doar rezultatul
si cum sa ii trimitem datele  Black Box
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOA ?
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
REGULI SOA
REGULI
in dezvoltarea serviciilor
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
REGULI SOA
1. Componente interschimbabile
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
1.COMPONENTE INTERSCHIMBABILE
• O componenta trebuie sa acopere un rol bine definit
• Format de intrare bine definit
• Format de iesire bine deinit
• Daca modificam logica interna unei componente, celalalte
componente care interactioneaza cu aceasta nu trebuie
modificate
• Avand acestea definite, o componenta poate fi refolosita
oriunde este nevoie, de catre oricine, daca respecta standardul
de intrare/ iesire
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
REGULI SOA
2. Componente elementare
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
2. COMPONENTE ELEMENTARE
• Nici o componenta nu face mai mult decat
este necesar, de exemplu:
– Componenta de “Credit Checking” doar verifica
plata cu cardul. Nu ofera si alte servicii.
• Pentru alte servicii necesare se creeaza alte
componente.
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Componentele de baza SOA
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
COMPONENTE DE BAZA SOA
•
Furnizor de serviciu (Serviciu) - ofera
procese in forma de servicii
•
Consumator de serviciu (Consumator)
– serviciile oferite de furnizor sunt
apelate de consumator
– poate gasi descrierea serviciului intrun registru de servicii si apoi poate
sa se conecteze si sa invoce acel
serviciu
•
Registru de Servicii (permise de
Broker) – intre furnizor si consumator
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
COMPONENTE DE BAZA SOA
Broker de servicii
• Arhitectura sistemului poate deveni foarte complexa
• Trebuie sa vedem ca totul merge comform planului de la un
capat la celalalat (end-to-end)
• Monitorizeaza fiabilitatea sistemului si anunta in cazul in care
serviciile nu au performanta dorita sau au erori
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
COMPONENTE DE BAZA SOA
Registrul SOA
• Baza de date cu servicii:
–
–
–
–
Nume
Descriere
Autor
Drepturi
• Publica servicii
• Colecteaza metadate despre servicii
• Ca o piata cu produse
18 iulie 2015
Intergrarea Sistemelor Informatice
22
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Gruparea Serviciilor pe nivele
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
GRUPAREA SERVICIILOR PE NIVELE
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
GRUPAREA SERVICIILOR PE NIVELE
• Nivelul operational
– include aplicatii de tip CRM (Customer Relationship Management)
si ERP (Enterprise Resource Planning), implementari ale
sistemului mai vechi, orientate obiect, aplicatii inteligente
• Nivelul componentelor intreprinderii:
– foloseste aplicatii server pentru a implementa componentele,
gestiunea volumului de munca si echilibrarea traficului
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
GRUPAREA SERVICIILOR PE NIVELE
• Nivelul de servicii:
– cuprinde serviciile fondate si expuse: pot fi descoperite sau legate
static si apoi invocate
– furnizeaza un mecanism prin care se realizeaza servicii la rulare,
folosind functionalitatea data de interfata
– interfetele sunt exportate ca descrieri de servicii si expuse pentru
a fi folosite; ele pot exista izolate sau ca servicii compuse
• Nivelul de compunere a proceselor:
– compunerea serviciilor expuse la nivelul anterior
– serviciile sunt “impachetate” intr-un flux si astfel actioneaza
impreuna ca o singura aplicatie; aceste aplicatii suporta cazuri de
utilizare si procese specifice
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
GRUPAREA SERVICIILOR PE NIVELE
• Nivelul prezentare sau acces
• Nivelul integrare
– permite integrarea serviciilor prin introducerea unui set de capabilitati de
baza: rutare inteligenta, medierea protocoalelor si alte mecanisme de
transformare, de obicei descrise ca ESB (Enterprise Service Bus)
– Web Services Description Language (WSDL) specifica conectarea, ceea
ce implica o locatie la care serviciul este furnizat; pe de alta parte, un
ESB furnizeaza un mecanism de specificare a locatiei independenta
– pentru integrare
• Nivelul QOS:
– furnizeaza capabilitati necesare pentru a monitoriza, gestiona, mentine
QOS: securitate, performanta, valabilitate
– este un process de background
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Procesul de modelare a
arhitecturii orientate pe servicii
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Procesul de modelare
Consta in trei pasi:
1.Identificarea serviciilor
2.Clasificarea serviciilor
3.Realizarea serviciilor
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
PROCES DE MODELARE
1.Identificare serviciilor
– descompunerea domeniului in ariile si
subsistemele sale, incluzand descompunerea
proceselor sau fluxului in subprocese si cazuri
de utilizare
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
PROCES DE MODELARE
2.Clasificare Serviciilor
• clasificare ar trebui sa fie realizata ca o
ierarhie, care sa reflecte natura compusa a
serviciilor
– detaliile componentelor care implementeaza
serviciile: date, reguli, servicii, profiluri
configurabile
– trimiterea de mesaje si specificatiile
evenimentelor
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
PROCES DE MODELARE
3.Realizarea Serviciilor
• construirea unei serii de obiecte si
componente de nivel scazut, cu
granularitate fina si apoi construirea unui
serviciu granulat aspru din acestea.
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOFTWARE AS A SERVICE
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
SOFTWARE AS A SERVICE
• Odata cu izolarea servicilor si definirea interfetei de
intrare/iesire devine posibila vanzarea servicilor
• Ex: O firma are un serviciu de calculat impozitul
anual al angajatilor. Face acest serviciu public si
percepe o taxa pentru folosirea lui de catre firme
externe si obtine o noua sursa de profit
• Clientul plateste pentru fiecare folosire a aplicatiei
• Se observa un trend ascendent in servicii accesibile
pe internet in urma unei sume de bani
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Avantaje
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
AVANTAJE
• Companie mare  mult cod duplicat
– Se poate reclicla codul in mai multe proiecte (Resurse refolosite)
• Interactiunea cu serviciile unei companii externe
– Posibilitatea de a standardiza interfata de access la serviciile
oferite
• Se poate ascunde ce este in spate
• Adaptabilitate – se pot face schimbari ale sistemului cu un
minim de efort si complexitate, in mai putin timp si cu mai putini
bani
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Dezavantaje
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
DEZAVANTAJE
Servicii slab cuplate !
– probabil cel mai critic element intr-un sistem SOA
– are impact direct asupra abilitatii de a fi scalata usor, usurinta in
schimbare, de incredere
– cuplarea stransa presupune ca daca functia A este foarte
dependenta de functia B, schimbarile asupra uneia determina
schimbari si asupra celeilalte
– cuplarea slaba evita cat mai multe dependente posibile la toate
nivelele aplicatiei, permitand componentelor si serviciilor sa
opereze fara sa fie nevoie de informatii de la alte componente sau
servicii
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
IN CONCLUZIE ...
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
IN CONCLUZIE
•
Crearea cu succes a aplicatiilor orientate pe servicii presupune
– separarea si modularizarea logicii de business pentru a facilita refolosirea
si flexibilitatea
– folosirea de servicii slab cuplate pentru a putea fi dezvoltate rapid cand
cerintele se schimba
– proiectarea unei granularitati potrivite a serviciilor
– planificarea si implementarea tuturor pasilor din procesul de modelare
•
Companie mare  mult cod duplicat
– Se poate reclicla codul in mai multe proiecte (Resurse refolosite)
•
Interactiunea cu serviciile unei companii externe (SAS)
– Posibilitatea de a standardiza interfata de access la serviciile oferite
•
18.07.2015
Adaptabilitate – se pot face schimbari ale sistemului cu un minim de efort
si complexitate, in mai putin timp si cu mai putini bani
Protocoale de comunicaţie – Prezentări Laborator
40
Universitatea Politehnica Bucureşti - Facultatea de Automatica si Calculatoare
Va mulţumesc!
• Referinte:
1. “Service Oriented Architecture for Dummies” by Judith
Hurwitz, Robin Bloor,Carol Baroudi and Marcia Kaufman
2. http://www.wikipedia.org
18.07.2015
Protocoale de comunicaţie – Prezentări Laborator
41