Arhitectura Soa și Integrare de Aplicatii Web
Universitatea POLITEHNICA București
Facultatea Automatică și Calculatoare
Departamentul Automatică și Informatică Industrială
LUCRARE DE CERCETARE
Arhitectura SOA și integrare de aplicatii Web
Coordonator Absolvent
Sl.dr.ing. Munteanu Calin Nicolae Vasluian
Anul absolvirii, 2017
Cuprins
CAPITOLUL 6. Prezentarea instrumentelor de dezvoltare
6.1 IBM WebSphere ………………………………………………………………………………..
6.2 WebSphere MQ …………………………………………………………………
6.3 WebSphere Message Broker …………………………………………………………………
6.4 Aplicația în sine
–
–
–
CAPITOLUL 6 . Prezentarea instrumentelor de dezvoltare
6.1 IBM WebSphere
În contextul actual economic dur, companiile continuă să se uite la SOA ca la un fundament pentru agilitatea și alinierea IT- ului la obiectivele afacerii. Fie pornind de la un proiect SOA de bază sau de la un proiect mai cuprinzător și avansat la nivel de intreprindere, organizațiile găsesc conectivitatea și integrarea SOA fundamentale pentru orice legătură între procesele de afaceri, aplicații precum și informații. Deși fiecare proiect SOA are obiectivele și arhitectura sa, aproape fiecare se aliniază către una sau mai mult de trei dintre afacerile majore sau nevoile majore IT. Pentru furnizare rapidă, flexibilă, acces fiabil la informații în cadrul organizației, de cele mai multe ori companiile oferă pârghii la nivelul serviciilor intreprinderilor (ESB – enterprise service bus); permițând încrederea,
gestiunea și securitatea în cadrul aplicațiilor de afaceri ce necesită vizibilitate și conducere. Companiile își extind conectivitatea SOA către parteneri și clienți, ușurând activitatea
de afaceri a organizațiilor de clienți, parteneri și furnizori.
Software-ul IBM WebSphere oferă o abordare IBM Smart SOA care să ușureze complexitatea IT împovărătoare asociată cu conectivitatea punct la punct și integrarea, menținând în același timp cele mai înalte niveluri de fiabilitate. Drept urmare, departamentul IT este capabil să furnizeze la costuri eficiente aplicații pentru a îmbunătăți fluxul de informații în cadrul organizației, poziționând afacerea într-um mediu dinamic care se adaptează cerințelor și permite IT-ului să se conecteze la noile tehnologii care sunt la cerere în ziua de azi. Rezultatul final pentru afacere este suplimentarea veniturilor și
un mai mare randament al investițiilor.
Deci, de unde începem? Ca în cazul multor companii astăzi, această agilitate și economisire începe cu un model SOA denumit ESB care oferă un nivel fundamental de mesaje fiabile, în plus servicii cu valoare adăugată pentru conectarea inteligentă a serviciilor și sistemelor din întreaga intreprindere. Împreună, denumim acest ESB “mesagerie și îmbogățire”
IBM WebSphere oferă soluții universale și garantează livrarea serviciilor, mesajelor, procesul de acțiuni, fișierele și evenimentele care să ajute organizațiile să își reducă costurile și perturbările de proces asociate cu pierderea datelor, precum și cu adresele de securitateși respectarea obiectivelor. Mai multdecât atât, cu soluții pentru mesajele cu latență mică, clienții IBM WebSphere sunt capabili de a anunța date confidențiale senzitive care sunt critice în luarea deciziilor.
IBM WebSphere ajută organizațiile să reducă riscul pierderii de informații și de necesitatea de a reconcilia comunicațiile IT prin utilizarea de sisteme de tip Queing tranzacționale care să îi ajute să își păstreze integritatea mesajelor în rețea. Suportă o soluție unificată care este dovedită și fiabilă; organizațiile pot fi asigurate că nu există costuri inutile și că procesul de perturbări este minim. Soluțiile IBM WebSphere permit servicii de mediere și îmbunătățire a capabilitățior, ca un mijloc de a perfecta satisfacerea cererii crescânde de implementare: REST (Representional state transfer), Java Script și XML, HTTP, PHP sau alte tehnologii Web 2.0 ale sistemelor, multe dintre acestea nefiind vreodată concepute pentru acest tip de integrări. Această legătură permite deschiderea către noi oportunități, o gamă largă de servicii noi ale activelor deja existente, permițând afacerii să crească în valoare.
6.2 WebSphere MQ
Websphere MQ este o modalitate de tranzitie intre componentele unui SOA.
Un istoric al versiunilor de WebSphere MQ cu functionalitatile lor:
Figura 10 – Versiunile de Websphere MQ
Ce realizeaza un WebSphereMQ :
Ofera servicii de mesagerie pentru aplicații și servicii Web care au nevoie pentru a face schimb de date și evenimente cu urmatoarele avantaje/caracteristici:
fiabilitate
integritate tranzacțională
consistența
independent de timp
ușurință și viteză
flexibilitate
de înaltă performanță
securitate
scalabilitate
Figura 11 – Legatura din aplicatii si WebSphere MQ
Cum functioneaza WebSphereMQ:
Serviciile de mesagerie sunt bazate pe cozi(Queues) care stocheaza si trimit date pe baza unor comenzi simple de programare.
Utilizează tehnica de baze de date a comiterii în două faze a tranzactiilor pentru a se asigura ca mesajele nu se pierd si nu sunt duplicate.
Foloseste mecanismul “publish/subscribe” pentru a routa dinamic mesajele pe baza unor topicuri sau a lu unor cuvinte cheie.
Foloseste “multi-procesor threading si clustering” pentru a accelera debitul de mesaje.
Figura 12 – Legatura intre aplicatii facute prin cozi care stau pe un server MQ
Programele/aplicatiile comunica punand mesaje in cozi:
Figura 13 – Comunicare "One Way"
Figura 14 – Comunicare "Two ways"
Figura 15 – Relatie "One to many" Figura16 -Relatie”Many to one”
Ce este un mesaj:
● Un mesaj este considerat a fi unitatea de date care urmează să fie mutată de la o aplicație la alta
● Un mesaj este construit de către o aplicație
● Un mesaj este consumat de către o altă aplicație
● Mesajul poate conține orice tip de date:
date binare
un clip video, un cântec, o fotografie, etc …
date de tip text
– Text brut
– XML
date structurate (structuri C, COBOL , obiecte Java serializat)
data sursă este alegerea aplicatiei
Figura 17 – Structura unui mesaj MQ
Structura unui mesaj MQ este formata din:
Message Headers
Un set de atribute ale mesajelor intelese si interpretate de Queue Manager(Manager al cozilor):
Unique Message Id
Correlation Id
Routing Information
Reply Routing Information
Message Priority
Message Persistence
Persistent
Non-persistent
Message Codepage
Message Format
Etc…
Message Properties
Valori arbitrare associate cu mesajul, dar nu o parte a corpului mesajului :
Proprietăți pot fi numere întregi, siruri de caractere, boolean, etc
Aplicațiile destinație nu le văd decat daca doresc asta
Permite declarația explicită a relațiilor dintre mesaje
de exemplu : Mesajul X este un raspuns la mesajul Y
Message Data
Orice secventa de bytes
definite în programul sursa
înțelese de către programul destinatie
nu este semnificativ pentru Queue Manager
Poate conține date
Structurate:
XML, Tagged, Delimitat Tagged, C sau Cobol definite, etc
Nestructurate
Binare – o înregistrare video, un imagine, etc
Orice conținut
Caracteristicile unei cozi(Queue):
Mesajele sunt livrate asincron catre o coada.
Un loc pentru a tine mesajele
Crearea cozilor se face:
Predefinite
Creare dinamica
Acesul la mesaje:
FIFO(First in first out)
Prioritate(Fifo in interiorul prioritatilor)
Direct
Acess distructiv si non distructiv
Accesate in paralel de catre aplicatii(gestionate de catre Queue Manager)
Figura 18 – Queue Design
Caracteristicile unui Queue Manager:
Figura 19 – Queue Manager
● Mesajele pot fi scrise in fișierele cozilor
● Mesajele persistente sunt logate
● Mesajele persistente sunt întotdeauna recuperabile
● Logarea are implicații asupra performanței
● Mesajele non-persistente au 2 clase de servicii:
Mesajele sunt păstrate pe toata durata vietii a Queue Managerului
Mesajele pot supraviețui unei opriri și reporniri al Queue Managerului
Figura20 – Persistarea Mesajelor
Caracteristicile unui canal(Channel):
● Queue Manager catre Queue Manager:
Uni-directional
De obicei definit în perechi, de exemplu un singur expeditor , un singur receptor
Asincron
● Client catre Queue Manager
Bi-directional
Definit ca un singur canal
Sincron
● Un element constitutiv pentru un ESB fiabil
Caracteristici:
WebSphere MQ suporta cea mai larga gama de API-uri , limbaje de programare si platforme OS
Ofera singurul motor JMS care poate fi implementat pe orice server JEE care respecta standardele
Ofera interfete ale web service-urilor imbogatite pentru clientii care au nevoie sa transporte mesajul de tipul SOAP
Ofeta o gama larga de calitati ale serviciilor si metodelor de mesagerie
Suporta monitorizatie tranzactiilor majore si gestionarea bazelor de date
Ofera sistemeul de mesagerie cel mai scalabil si usor de gestionat
Asigura transactionalitatea livrarii mesajului de la un capat la altul
Figura 22 – API-uri , limbaje de programare si sisteme de operare suportate
Imaginile de mai jos reprezinta GUI-ul , tool-ul cu care se realizeaza crearea canalelor , a cozilor si a Queue Managerilor
Figura23 – Pagina de start
Figura 24 – Consola de Administrare
6.2 WebSphere Message Broker
Notiuni de baza ale WebSphere Message Broker:
Flexibil , functionalitate inalta , motor puternic pentru ESB
Routare,tranformare,augmentare mesaje
Excelent,suporta integrarea cu baza de date
Suporta procesarea mesajelor si evenimentelor de la un punct la altul
Suportat pe o larga plansa de platforma hardware
Ofera suport pentru o multime de protocoale , precum si conversia intre aceste protocoale precum:
WebSphere MQ
Web Services
Files
JMS Queued,
JMS Non-Queued (TCP/IP)
Integrated WebSphere Adapter support for popular EIS systems
TCP/IP Sockets
GUI(Graphic User Interface) folosit pentru dezvoltarea integratii si administrarea sistemelor
Bazat/dezvoltat pe Eclipse
Ofera perspective variate pentru ca diferite taskuri sa fie realizate
Brokerul este un set de procese de aplicație care gazduiesc si pornesc fluxurile de mesaje.Când un mesaj ajunge la broker de la o aplicație de business, brokerul procesează mesajul înainte de al trimite la una sau mai multe aplicații.Brokerul routeaza , transforma si manipuleaza mesajele conform unei logici definite in flowuri. Brokerul foloseste WebSphereMQ ca mechanism de transport pentru comunicarea cu Configuration Manager de unde preia informatii despre configurari si comunica cu orice alt broker cu care este asociat.Fiecare broker are o baza de date unde stocheaza informatiile de care are nevoie sa proceseze mesajele la pornire.
Figura 25 – Privire de ansamblu a brokerului
O data ce mesajele sunt trimise catre broker, ele sunt tranformate, routate si trimise mai departe. Aceste operatii sunt realizate de catre un “Message Flow”.
Figura 26 – Traseul unui mesaj
Message Flows:
● Secvente de pasi procesati pentru a transforma/routa un mesaj pe parcursul trimiterii catre broker
● Compuse din noduri individuale care sunt legate intre ele
● Transactionale
● Reutilizabile
● Sofisticat create usor de folosit GUI-ul
Figura 27- Message Flow – exemplu
Figura 28 – Nod de transformare al mesajelor
Deploierea:
● Variatele obiecte dezvoltate trebuiesc grupate impreuna pentru a fi deploiate
● Pentru a fi deploiate se va creea o arhiva(Broker Archive file)
● Arhiva “.bar file” va fi creata, populata si apoi deploiata pe brokerul dorit
● Toolkit-ul trimite requestul de depoiere catre Config Manager care va comunica cu brokerul dorit
Figura 29 -Procesul de deploiere
Mesaje care vor fi folosite de flow se vor constitui in Message Set-uri. Se vor folosi urmatoarele metoda de parsare ale mesajelor:
● BLOB – fara structura , doar o secventa de bytes
● XMLNSC – mesaje XML
● SOAP – pentru mesaje SOAP si HTTP
● MRM
● DataObject
● MIME
● JMSMap, JMSStream
Figura 30 – Arborele logic al unui mesaj MQ
Figura 31 – Modele de mesaje
Websphere Message Broker ofera o varietate de noduri separate pe clase:
Websphere MQ:
MQInput
MQOutput
MQReply
MQGet
JMS(Java Message Service):
JMSInput
JMSOutput
HTTP:
HTTPInput
HTTPOutput
SoapInput
SoapRequest
SoapReply
Construction:
Mapping
Compute
.NetCompute
JavaCompute
PhpCompute
Validation
Validation
Database:
DatabaseInput
DatabaseRetrieve
Figura 32 – Totalitatea nodurilor continute de WebSphere Message Broker
Grupurile de executare(Execution Groups)
Acestea ofera posibilitatea ca flowurile din interiorul unui broker sa fie grupate impreuna. Fiecare broker contine un execution group ca default. Grupuri de executare aditionale pot fi create cate vreme au nume unice in interiorul unui broker. Fiecare grup este un proces separat al sistemului de operare iar fiecare continut al unui grup ramane separate de continutul unui alt grup in interiorul aceluiasi broker. Acest lucru este util pentru a izola informatiile pentru securitate deoarece flowurile se executa in spatii de memorie diferite.Pentru performanta este ideal ca fiecare flow sa fie in mai multe grupuri.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Arhitectura Soa și Integrare de Aplicatii Web (ID: 110101)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
