service oriented architecture

24
Valentin Stanciu 341C5

Upload: zlata

Post on 25-Jan-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Service Oriented Architecture. Valentin Stanciu 341C5. De ce SOA?. Companie mare  mult cod duplicat Se poate reclicla codul in mai multe proiecte Interactiunea cu serviciile unei companii externe Posibilitatea de a standardiza interfata de access la serviciile oferite - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Service Oriented Architecture

Valentin Stanciu 341C5

Page 2: Service Oriented Architecture

De ce SOA?Companie mare mult cod duplicat

Se poate reclicla codul in mai multe proiecte

Interactiunea cu serviciile unei companii externePosibilitatea de a standardiza interfata de

access la serviciile oferite

Se poate ascunde ce este in spate

Page 3: Service Oriented Architecture

Arhitectura simplaBrowserWeb ServerOrder-ProcessingDatabase ServerDatabase

Page 4: Service Oriented Architecture

Arhitectura simpla extinsaDorim sa mai adaugam o facilitate.Partea de procesare a comenzilor are nevoie

de a procesa platile prin card de credit/ debitNu ne intereseaza cum proceseaza cardurile

de credit/ debit, ne intereseaza doar rezultatul si cum sa ii trimitem datele Black Box

Page 5: Service Oriented Architecture

Componente elementareNici o componenta nu face mai mult decat

este necesar.Componenta de “Credit Checking” doar

verifica plata cu cardul. Nu ofera si alte servicii.

Pentru alte servicii necesare se creeaza alte componente.

Page 6: Service Oriented Architecture

Componente interschimbabileO componenta trebuie sa acopere un rol bine

definitFormat de intrare bine definitFormat de iesire bine deinitDaca 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

Page 7: Service Oriented Architecture

Separarea in layereToate componentele pot fi impartite in 2

layereBusiness logic

Alcatuit din componente care rezolva sarcinile de logica si calcul

Plumbing Alcatuit din componente ce sustin layerul sus

mentionat prin menajarea resurselor calculatorului si transformarea datelor intr-un format intelesOrder

ProcessingCredit

Checking

Presentation Service

Data Service

Business logic

Plumbing

Page 8: Service Oriented Architecture

Refolosirea codului existentDe multe ori nu se poate incepe de la zeroIncercam sa refolosim componente deja

existente prin folosirea unor Adaptoare ce ajuta la comunicarea cu celalalte componente

Business logic

Plumbing

Invoicing

Adaptor Order

ProcessingCredit

Checking

Presentation Service

Data Service

Page 9: Service Oriented Architecture

SOA SupervisorArhitectura sistemului poate deveni foarte

complexaTrebuie 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

Page 10: Service Oriented Architecture

Exemplu SOAMagazinul emag.ro are nevoie de detaliile despre

produsele primite de la furnizoriMulti furnizori si multe produse, nu se poate

actualiza de manaTornado foloseste o arhitectura interna de tip SOAAseSoft foloseste o aplicatie monobloc pentru

gestiuneTornado in 2 zile pune la dispozitie o adresa web

cu functii publice pentru a cere informatii despre un produs sau a lua catalogul complet

AseSoft scrie de la zero un serviciu dedicat pentru nevoile emag.ro

Page 11: Service Oriented Architecture

FunctiiO componenta poate pune la dispozitie mai

multe functii avand acelasi context logicToate pot refolosi aceiasi componenta de

interfataex: un serviciu web

Page 12: Service Oriented Architecture

Servicii WebInternetul a dat posibilitatea ca mai multe

servicii din contexte diferite sa foloseasca acelasi mediu de comunicare

Standarde servicii web:XML – date definite intr-un mod ce poate fi citit de orice

aplicatieWSDL – definirea comenzilor acceptate de o componentaSOAP – limbaj standard de conversatie intre componente

Page 13: Service Oriented Architecture

Business ProcessAvem toate componentele definite, cum le

folosim?Avem nevoie de o imagine de ansamblu a traseul

datelor si a interactiunii componentelorUn proces “business” este alcatuit din persoane,

servicii, adaptoare si o forma de management a parilor ce il alcatuiesc

El prin definitie nu este neaparat automatizat, in multe companii o mare parte este manuala

Ex: intr-un spital, “acceptarea unui pacient” este un business process

Ex: intr-un magazin de mobila, vanzarea unui dulap este un business process

Page 14: Service Oriented Architecture

Probleme end-to-endUnele componente nu pot fi integrate (usor)

Inconsistenta definitiilor de dateEx: date despre “client”: o fabrica, un om, o

companie?Duplicarea proceselor software

Ex: probleme la tratarea diferita a discounturilor sau preturilor oferta intre 2 componente

Page 15: Service Oriented Architecture

SOA avansat

Page 16: Service Oriented Architecture

Comunicare intre serviciiServiciile comunica intre ele prin mesajeDaca mediul de transmisie a mesajelor are

probleme, atunci tot sistemul de servicii probleme

Este necesara o linie Bus specializata pentru a asigura calitatea transmiterii mesajelorEnterprise Service Bus

Poate fi construit ca un layer peste stratul de retea ce asigura transmiterea mesajelor sau raportarea de erori in cazul in care acestea nu se transmit

Page 17: Service Oriented Architecture

SOA RegistryMulte servicii, in timp ajung sa se piardaNu vreau sa tin minte ca la 192.168.0.8 avem

serviciile de comenzi, la 192.168.0.13 avem serviciile de manangement si la 192.168.0.33 serverul web

Se foloseste un registru in care toate componentele isi inregistreaza serviciile

Poate tine minte doar unde se gasesc serviciile sau si cum se interconecteaza cu alte servicii

Se pot defini permisiuni pentru access public sau privat

Page 18: Service Oriented Architecture

SOA Service BrokerComponenta care leaga cu adevarat toate

serviciileEl se uita in Registry si vede unde sa caute

un serviciu si daca datele transmise catre acel serviciu sunt conform interfetei definite

Page 19: Service Oriented Architecture

Business Process ManagementPentru a interactiona cu usurinta cu toate

serviciile s-au dezvoltat procese care ajuta la dezvoltarea de procese

Uneltele BPM ajuta laIntegrarea functiilor noi – le inregistreaza in

registru si cum se interconecteaza cu alte componente

Integrarea functiilor unei aplicatii existente – unealta ajuta un dezvoltator sa vada ce functii sunt deja incluse in registru si sa le interconecteze

Ajuta la identificarea functiilor disponibile pentru obiectivul unui angajat

Page 20: Service Oriented Architecture

Garantarea serviciilorPentru ca un sistem sa poata fi folosit cu

succes este nevoie de garantia lipsei erorilorMulte firme ofera o garantie ca serviciul este

disponibil in 99% din timpPutine firme ofera o garantie de 99.999%

Mult mai dificil de atinsImportant pentru companiile care depind

economic de disponibilitatea servicilor un post de televiziune pierde milioane daca nu

difuzeaza 15 minute de reclame

Page 21: Service Oriented Architecture

Masurarea erorilorGaranta un anumit procentaj de raspuns

Masurarea erorilor Hardware Software

Existena unor sisteme de backup 2 baze de date 2 provideri de internet Generator de curent

Page 22: Service Oriented Architecture

Software as a serviceOdata cu izolarea servicilor si definirea

interfetei de intrare/iesire devine posibila vanzarea servicilor

Ex: O firma are un serviciu de calculat impozitul annual 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 si poate sa incerce mai multe servicii similare fara sa cumpere licenta pentru toate

Se observa un trend ascendent in servicii accesibile pe internet in urma unei sume de bani

Page 23: Service Oriented Architecture

Impartirea pe domeniiIn realitate pot exista probleme de integrare si nu

se pot pune sub aceiasi umbrela toate serviciileEx: Intr-o firma multinationala, componenta cu

manangementul personalului va avea implementari diferite pentru China si SUA datorita mediilor diferite

Serviciile pot fi impartite in domeniiFiecare domeniu are propriile componenteToate domeniile sunt guvernate de aceleasi reguli

de bazaEx: Adobe are componente particulare pentru SUA si

componente particulare pentru Romania, dar ambele domenii respecta aceleasi restrictii de securitate. Un angajat din Romania poate accesa toate resursele online (chiar daca sunt salvate pe servere in SUA)

Page 24: Service Oriented Architecture

Referinte1. “Service Oriented Architecture for

Dummies” by Judith Hurwitz, Robin Bloor,Carol Baroudi and Marcia Kaufman

2. http://www.wikipedia.org