Platformă de e-learning și curriculă e-content
pentru învățământul superior tehnic
Programul Operațional Sectorial Creșterea Competitivității Economice - POS CCE
Proiect nr. 154/323 cod SMIS – 4428 cofinanțat de prin Fondul European de
Dezvoltare Regională “Investiții pentru viitorul dumneavoastră”.
Platformă de e-learning și curriculă e-content
pentru învățământul superior tehnic
� Integrarea sistemelor informatice
13. Dezvoltarea aplicațiilor bazate pe servicii
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
De ce SOA?
� Companie mare � mult cod duplicat
�Se poate reclicla codul in mai multe proiecte
� Interactiunea cu serviciile unei companii externe
3ISI – Integrarea sistemelor informatice
� Interactiunea cu serviciile unei companii externe
�Posibilitatea de a standardiza interfata de access la serviciile
oferite
� Se poate ascunde ce este in spate
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Arhitectura simpla
� Browser
� Web Server
� Order-Processing
4ISI – Integrarea sistemelor informatice
� Order-Processing
� Database Server
� Database
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Arhitectura simpla extinsa
� Dorim sa mai adaugam o facilitate.
� 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
5ISI – Integrarea sistemelor informatice
� Nu ne intereseaza cum proceseaza cardurile de credit/ debit, ne
intereseaza doar rezultatul si cum sa ii trimitem datele � Black Box
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Componente elementare
� Nici o componenta nu face mai mult decat este necesar.
6ISI – Integrarea sistemelor informatice
� Nici 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.
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Componente interschimbabile
� O componenta trebuie sa acopere un rol bine definit
� Format de intrare bine definit
7ISI – Integrarea sistemelor informatice
� 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Separarea in layere
� Toate componentele pot fi impartite in 2 layere
�Business logic
8ISI – Integrarea sistemelor informatice
�Business 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 inteles
Order Processing
Credit Checking
Presentation Service
Data Service
Business logic
Plumbing
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Refolosirea codului existent
9ISI – Integrarea sistemelor informatice
� De multe ori nu se poate incepe de la zero
� Incercam sa refolosim componente deja existente prin folosirea unor
Adaptoare ce ajuta la comunicarea cu celalalte componenteBusiness logic
Plumbing
Invoicing
Adaptor Order Processing
Credit Checking
Presentation Service
Data Service
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
SOA Supervisor
� Arhitectura sistemului poate deveni foarte complexa
10ISI – Integrarea sistemelor informatice
� 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Exemplu SOA
� Magazinul emag.ro are nevoie de detaliile despre produsele primite de la
furnizori
� Multi furnizori si multe produse, nu se poate actualiza de mana
11ISI – Integrarea sistemelor informatice
� Multi furnizori si multe produse, nu se poate actualiza de mana
� Tornado foloseste o arhitectura interna de tip SOA
� AseSoft foloseste o aplicatie monobloc pentru gestiune
� Tornado 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Functii
� O componenta poate pune la dispozitie mai multe functii avand acelasi
12ISI – Integrarea sistemelor informatice
� O componenta poate pune la dispozitie mai multe functii avand acelasi
context logic
� Toate pot refolosi aceiasi componenta de interfata
�ex: un serviciu web
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Servicii Web
� Internetul a dat posibilitatea ca mai multe servicii din contexte diferite sa
foloseasca acelasi mediu de comunicare
13ISI – Integrarea sistemelor informatice
foloseasca acelasi mediu de comunicare
� Standarde servicii web:
�XML – date definite intr-un mod ce poate fi citit de orice aplicatie
�WSDL – definirea comenzilor acceptate de o componenta
�SOAP – limbaj standard de conversatie intre componente
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Business Process
� Avem toate componentele definite, cum le folosim?
� Avem nevoie de o imagine de ansamblu a traseul datelor si a interactiunii
componentelor
14ISI – Integrarea sistemelor informatice
� Un 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Probleme end-to-end
� Unele componente nu pot fi integrate (usor)
15ISI – Integrarea sistemelor informatice
� Inconsistenta definitiilor de date
�Ex: 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
SOA avansat
16ISI – Integrarea sistemelor informatice
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Comunicare intre servicii
� Serviciile comunica intre ele prin mesaje
� Daca mediul de transmisie a mesajelor are probleme, atunci tot sistemul de
servicii probleme
17ISI – Integrarea sistemelor informatice
servicii probleme
� Este necesara o linie Bus specializata pentru a asigura calitatea transmiterii
mesajelor
�Enterprise 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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
SOA Registry
� Multe servicii, in timp ajung sa se piarda
� Nu 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
18ISI – Integrarea sistemelor informatice
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
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
SOA Service Broker
� Componenta care leaga cu adevarat toate serviciile
19ISI – Integrarea sistemelor informatice
� Componenta care leaga cu adevarat toate serviciile
� El se uita in Registry si vede unde sa caute un serviciu si daca datele transmise
catre acel serviciu sunt conform interfetei definite
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
SOA Service Broker
� Componenta care leaga cu adevarat toate serviciile
20ISI – Integrarea sistemelor informatice
� Componenta care leaga cu adevarat toate serviciile
� El se uita in Registry si vede unde sa caute un serviciu si daca datele transmise
catre acel serviciu sunt conform interfetei definite
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Limbaje
� 6000 limbaje umane
� 8000 limbaje de programare
� Cerinte:
�Computerele inteleg limba fara ambiguitati
21ISI – Integrarea sistemelor informatice
�Computerele inteleg limba fara ambiguitati
�Faciliteaza crearea de programe
�Programele pot interactiona
4 ianuarie 2012 Intergrarea Sistemelor Informatice 21
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Markup Languages
� HTTP - adresa
� XML – decodificare mesaje
� SOAP – scriere de mesaje
22ISI – Integrarea sistemelor informatice
� SOAP – scriere de mesaje
� WSDL – descriere de interfete
� UDDI – tabel de servicii (ca o carte de telefon)
4 ianuarie 2012 Intergrarea Sistemelor Informatice 22
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Web services example
23ISI – Integrarea sistemelor informatice4 ianuarie 2012 Intergrarea Sistemelor Informatice 23
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Adaptoare
� Cruciale pentru SOA
� Ofera interfete standard
24ISI – Integrarea sistemelor informatice
� Ajuta conectarea aplicatiilor existente
� Functionare permanenta
4 ianuarie 2012 Intergrarea Sistemelor Informatice 24
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Registru SOA
� Baza de date cu servicii:
�Nume
�Descriere
�Autor
�Drepturi
25ISI – Integrarea sistemelor informatice
�Drepturi
� Publica servicii
� Colecteaza metadate despre servicii
� Ca o piata cu produse
4 ianuarie 2012 Intergrarea Sistemelor Informatice 25
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Broker Servicii
26ISI – Integrarea sistemelor informatice
� Realizeaza conectarea serviciilor
� Se bazeaza pe registru
4 ianuarie 2012 Intergrarea Sistemelor Informatice 26
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Enterprise Service Bus
� Asigura legatura intre componente
� Roluri:
27ISI – Integrarea sistemelor informatice
�Livreaza mesaje
�Interfata
�Mediere
�Securitate
4 ianuarie 2012 Intergrarea Sistemelor Informatice 27
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Straturi
28ISI – Integrarea sistemelor informatice4 ianuarie 2012 Intergrarea Sistemelor Informatice 28
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Supervizare
� SLA: nivelul serviciilor
�5 de 9 = 5 minute / an
7 de 9 = 3 secunde /an
29ISI – Integrarea sistemelor informatice
�7 de 9 = 3 secunde /an
� Raportarea performantei
� Echipamente de rezerva
4 ianuarie 2012 Intergrarea Sistemelor Informatice 29
Platformă de e-learning și curriculă e-content pentru
învățământul superior tehnic
Concluzii
� Modelul SOA este folosit
� Limbaj comun: XML
� Legaturile se bazeaza pe interfete
30ISI – Integrarea sistemelor informatice
� Componente de baza: registru si broker
� Asigurarea calitatii este scumpa
4 ianuarie 2012 Intergrarea Sistemelor Informatice 30