Microsoft PowerPoint - TDS5-RO.ppt

Documente similare
Proiectarea Sistemelor Software Complexe

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Matematică şi Info

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Microsoft Word - barcan.doc

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

PROGRAMARE ORIENTATA PE OBIECTE

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

Procesarea documentelor XML in Linux

Microsoft Word - referat de aprobare.doc

PowerPoint Presentation

Microsoft PowerPoint - SD5-RO.ppt

PowerPoint Presentation

Lucrarea 10

A TANTÁRGY ADATLAPJA

Unitatea de învăţământ: Colegiul Tehnic de Posta si Telec. Ghe. Airinei Calificarea profesională: Analist programator Modulul: MODELAREA SISTEMELOR IN

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

PowerPoint Presentation

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Mate

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Matematică şi Info

Prezentarea calculatorului

Microsoft Word - Ansamblul software CRONIS

CURS

Slide 1

Biomedical Wi-Fi data transmissons

Curs 10

Raport privind calitatea executiei pentru anul 2018 (MiFID II)

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Microsoft Word - Curs_09.doc

Entrepreneurship and Technological Management

talaba.doc

FIŞA DISCIPLINEI

FD Informatica

Introducere în limbajul JavaScript

Microsoft PowerPoint - SD7-RO.ppt

INFORMATICĂ ŞI MARKETING

Slide 1

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate


Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Slide 1

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

Facultatea de Electronica Telecomunicatii si Tehnologia Informatiei Arhitectura.Net Indrumator : Conf. dr. ing. Stefan Stancescu Masterand: ing. Codru

Modul Modbus ASCII SISTEME DE COMUNICATIE CURS 5 - Constantinescu Catalin Atunci cand se foloseste modul MODBUS ASCII fiecare octet din mesaj

MINISTERUL EDUCAŢIEI, CULTURII ŞI CERCETĂRII AL REPUBLICII MOLDOVA COORDONAT: 2017 Nr. de înregistrare a planului de învăţământ UNIVERSITATEA DE STAT

Elemente de Web design

Proiect didactic

Anexa nr. 2 FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior UNIVERSITATEA DE VEST TIMISOARA 1.2 Facultatea FIZICA 1.3 De

PLAN DE ÎNVĂŢĂMÂNT

PPSD

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011

1

NORMĂ pentru aplicarea Ghidului ESMA privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozi

PowerPoint Presentation

TERMENI DE REFERINȚĂ Servicii de consultanță pentru mentenanța Sistemului de Management al Informațiilor existent (SMI) pentru Asistență Socială siste

Ghid privind raportările referitoare la decontarea internalizată conform articolului 9 din regulamentul privind depozitarii centrali de titluri de val

SEM 12 - Crearea conținutului Web (HTML, CSS, WordPress)

PowerPoint-Präsentation

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA COORDONAT: " " 2017 Nr. de înregistrare a planului de învăţământ UNIVERSITATEA DE STAT DIN MOLDOVA Aprobat:

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA COORDONAT: _ J _ 2016 Nr. de înregistrare a olanului de UNIVERSITATEA DE STAT DIN MOLDOVA APROBAT: SENATUL

PROFIL COMPANIE SERVICE ECHIPAMENTE INDUSTRIALE SI AUTOMATIZARI Intelltech prezentare companie 1

Anexa nr. 2 FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior UNIVERSITATEA DE VEST TIMISOARA 1.2 Facultatea FIZICA 1.3 De

Financial Market Procedures

CCCC

Dispozitive BENDER pentru monitorizarea rezistenţei de izolaţie Pornind de la necesitatea unui sistem de alimentare cu energie electrică cât mai sigur

PowerPoint Presentation

rptFisa

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

CL2009R0976RO bi_cp 1..1

Avenir Telecom isi consolideaza activitatea in Romania cu ajutorul Microsoft Dynamics NAV Despre organizatie Avenir Telecom are peste 3000 de angajati

AdVision este un software de narrowcasting, destinat tuturor celor care administrează conţinut pe o reţea de monitoare. Fie că este vo

Definiţie: modele analitice care asigură evaluarea unor caracteristici de calitate alese, bazându-se pe date din măsurători ale proiectelor software.

U.T.Cluj-Napoca, C.U.N. Baia Mare Facultatea: Inginerie PLAN de INVĂŢĂMÂNT Domeniul: Calculatoare şi Tehnologia Informaţiei anul univ Progr

Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Microsoft Word - 04-Cotfas Petru A-Rezumat RO

Microsoft Word - Fisa disciplinei BD_I_IE doc

Ingineria Sistemelor de Programare

Microsoft Word - Planuri_Mate_

Professional Education, CFA Charter and Ethics

Utilizare Internet

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de

Prezentarea calculatorului

Microsoft Word - Curs_08.doc

Slide 1

2

Strategia de dezvoltare a infrastructurii digit a Universității de Stat din Tiraspol APROBAT La ședința Senatului UST 2017 Context 1. Sistemul educați

PLAN DE ÎNVĂŢĂMÂNT

Ghidul 4/2018 privind acreditarea organismelor de certificare în temeiul articolului 43 din Regulamentul general privind protecția datelor (2016/679)

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Anexa 8 FIŞA POST 1.POSTUL : MANAGER PROIECT, COD COR CERINŢE : 2.1 Studii : Studii superioare finalizate 2.2 Vechime : Minim 3 ani pe un pos

Colegiul Economic Administrativ - Iasi

PowerPoint Presentation

Microsoft Word - Plan de invatamant CALCULATOARE - prima pagina

Lucrarea nr. 2 Aplicaţii de tip client Mihai IVANOVICI 6 martie 2006 Scopul acestei lucrări este de a vă familiariza cu modulul Python socket şi cu mo

Microsoft PowerPoint - ARI_R_c9-10_IP_part2 [Compatibility Mode]

Paradigme de programare

Pentru afacerea dumneavoastră ModernBiz Glossary 2014 Microsoft Corporation. Toate drepturile rezervate.

Transcriere:

Sisteme distribuite Tehnologii 5. Arhitecturi orientate spre servicii Noiembrie 6, 2009 1

SOA Termenul a fost introdus de Yefim Natis intr-o lucrare de cercetare din 1994: SOA este o arhitectura software care porneste de la o definitie de interfata si construieste intreaga topologie a aplicatiei ca o topologie de interfere, implementari de interfete si apeluri de interfete Desi termenul a fost introdus de multi ani, SOA a devenit buzzword numai la inceputil anilor 2000. Odata cu aparitia serviciilor Web si proceselor de business care respecta WSDL, SOA a devenit popular in randurile entuziastilor tehnologiei 2

SOA un stil arhitectural SOA este un stil de design care ghideaza toate aspectele crearii si utilizarii serviciilor prin tot ciclul lor de viata (de la conceptie la retragere). SOA este o modalitate de a defini si oferi o infrastructura IT pentru a permite aplicatiilor diferite sa schimbe date si sa participe la procese, indiferent de sistemul de operare si indiferent limbajele de programare care stau la baza acestor aplicatii O abordare de constructie a sistemelor IT in care primeaza necesitatea pentru business Abordarile anterioare tind sa fie dependende de functionalitatile mediului de dezvoltare (vezi OO) 3

SOA promoveaza reutilizarea software-ului Conceptul nu este nou: Arhitecturile OO promoveaza reutilizarea prin reutilizare clase si obiecte Obiectele sunt adesea prea rafinate pentru o utilizare efectiva Arhitecturile bazate pe componente au aparut din necesitatea de a reutiliza entitati Aceste componenta consista intr-o multime de clase relationate, resursele lor si informatii de configurare Nu adreseaza temele aparute in mediile curente ale companiilor: Astazi mediile companiilor sunt complexe datorita utilizari unei varietati mari de platforme software si hardware, comunicare bazata pe Internet, etc. SOA utilizeaza serviciul ca si componenta reutilizabila Serviciile au o granularitate mai mare decat componentele Comunicarea dintre servicii si cu clientii se realizeaza pe baza unor interfete bine definite 4

Fundamentele SOA Bazate de: Serviciu, Mesaj si Descoperire dinamica. In SOA exista: 1. Serviciul care implementeaza logica si expune logica prin interfete bine definite 2. Registru unde serviciul publica interfetele pentru a permite clientilor sa descopere serviciul 3. Clientii (incluzand clientii care pot fi servicii!) care descopera serviciul utilizand registru si acceseaza serviciul direct prin interfetele expuse 5

Componentele de baza La nivel inalt, SOA este format din trei componente de baza: 1. Furnizor de serviciu (Serviciu) - ofera procese in forma de servicii 2. Consumator de serviciu (Consumator) serviciile oferite de furnizor sunt apelate de conumator 3. Servicii director (premise de Broker) intre furnizor si consumator -Serviciul care este disponibil consumatorului este publicat in serviciile director la broker. -Cosumatorul descopera servicille de la broker -Daca serviciul este gasit, se ofera legatura la serviciu si se executa logica de procesare 6

Abstractizarea serviciului Metadatele serviciului specifica: Localizarea in retea (adresa de retea a serviciului) Descrierea intr-un format citibil de masina a mesajelor pe care le receptioneaza si optional returneaza. Defineste ce sabloane suporta in termeni de schimb de mesaje O schema pentru datele continute in mesaj este utilizata ca parte a contractului (adica descrierii) stabilite intre solicitantul de serviciu si furnizorul de servicii Operatiile suportate Cerintele suplimentare precum cele de securitate Implementarea serviciului poate fi in orice mediu de executie pentru care exista suport pentru servicii 7

Agentulexecutabilsistratulde mapare Implementarea serviciului este numita si agent executabil. Ruleaza intr-un mediu de executie Descrierea serviciului este separata de agentul executabil: O descriere poate avea mai multi agenti executabili asociaticu aceasta Un agent poate suporta descrieri multiple Stratul de mapare (numit si strat de transformare): Este adesea implementat prin proxy-uri sau stub-uri. Este responsabil pentru acceptarea mesajului Transforma descrierea datei la un format nativ Expediaza data la un agent executabil 8

Handler-ul (minuitor) de serviciu Serviciile sunt publicate de furnizor' si sunt legate de consumator' prin 'handler -ul de serviciu. Se comporta ca un agent de colaborare intre furnizor si consumator Handler-ul contine logica de realizare Cand serviciul este solicitat, se cauta intre numeroase cai de transmitere de mesaje si prin handleri multipli Handler-ul in mod uzual ruteaza mesajele la sistemul tinta sau uneori efectueaza o anumita procesare inainte de forwardarea mesajului la sistemul tinta 9

Solicitant si furnizor Un solicitant (consumator) poate fi de asemenea furnizor & vice versa un agent de executie poate juca ambele roluri Unul dintre cele mai mari beneficii ale abstractizarii serviciilor este abilitatea de a accesa usor o varietate de tipuri de servicii, incluzand Servicii noi dezvoltate Aplicatii existente incastrate Aplicatii compuse din alte servicii (noi sau existente). 10

Obiectivele SOA (1/2) 1. Cuplarea slaba: Descompunerea in servicii independente ajuta la scaderea dependentei de un singur proces 2. Neutralitatea de platforma: Transmiterea de mesaje bazate de exemplu pe XML creste capabilitatea de a atinge neutralitatea de platforma. 3. Standarde: Scurgerea mesajelor este bazata pe standarde acceptate Serviciul trebuie sa depinda numai de descriere 11

SOA Objectives (2/2) 4. Reutilizarea: Logica aplicatiei fiind divizata in unitati logice mici, serviciile pot fi usor reutilizate 5. Scalability: Cum procesele sunt descompuse in unitati mici, adaugarea de noi logici este usor de realizat Noua logica poate fi adaugata ca o unitate extinsa a unui serviciu curent sau poate fi construita ca un serviciu nou 12

Avantajele SOA 1. Permite dezvoltarea de aplicatii slab-cuplate care pot fi distribuite si accesibile in retea 2. Integrarea: O solutie bazate pe SOA este bazata uzual pe inter-operabilitate Cosuturi reduse de integrare prin solutii de compunere 3. Agilitate in afaceri: Beneficii in termeni de bunuri software pot fi derivate din abilitatea de reutilizare si simplificare a integrarii Perioada de dezvoltare se scurteaza. Adaptare mai usoara la schimbari => solutia dureaza mai mult in timp Beneficii in termeni de hardware derivate din cuplarea slaba ce permite delegarea in domenii multiple Balansarea incarcarii cu procese intr-o organizatie 4. Reutilizarea bunurilor 5. ROI (Return-of-Investiment) crescut 13

Tranzitia la SOA Principala problema in implementarea SOA este complexitatea solutiilor Descompunerea proceselor curente in servicii mici este o provocare mare in sine Abordari: 1. Top-down: Sunt create cazuri de utilizare si se dau specificatiile pentru crearea serviciilor Unitatile functionale sunt descompuse in procese mici si apoi dezvoltate 2. Bottom-up: Sistemele curente dintr-o organizatie sunt studiate si Procese de business adecvate sunt identificate pentru conversie la servicii 14

SOA vs. OO si CBD SOA este o imbunatire a dezvoltarilor de tip orientat-obiect (OO) sau dezvoltare bazate pe componente (CBD). Retine elementele cele mai importante de la fiecare Procesele sunt constituite din bucati mici de software interpretate ca si 'componente'. Logica in interiorul componentelor este bazate pe principiile si programarii OO 15

SOA este implementata utilizand o varietate de tehnologii Obiecte distribuite CORBA, J2EE, COM/DCOM. Middleware orientat spre mesaje (MOM) WebSphere MQ, Tibco Rendezvous. Monitoare CICS, IMS, Encinia, Tuxedo. Platforme B2B precum ebxml, RosettaNet. Servicii Web 16

WebSphere MQ Numeroase organizatii au implementat SOA utilizand WebSphere MQ Studiu de caz: AXA Financial Companie de servicii de asigurari si financiare Utilizeaza WebSphere MQ ca un strat de trasnmitere de mesaje si integrare pentru a conecta sisteme software existente cu aplicatii de interfatare AXA a inceput dezvoltarea arhitecturii in 1989. Arhitectura de integrare SOA trateaza astazi peste 600 000 de tranzactii pe zi. Numai o fractiune mica de sisteme bazate pe WebSphere MQ sunt orientate spre servicii. 17

CORBA (1/2) De ce CORBA pentru SOA? Este un standard deschis. Suporta RMI (adica RPC), transmitere de mesaje asincrona, si comunicare de grup Ofera securitate, servicii de numire, administrarea tranzactiilor si mesagerie de incredere Suporta limbaje de programare multiple Ofera CORBA IDL utilizat ca un limbaj de definire a serviciilor Obiectele pot fi expuse ca servicii Web deoarece OMG a definit o mapare de la CORBA IDL la WSDL Anumite limitari in implementarea SOA: Perceput ca fiind complex. Cere ca atat solicitantul cat si furnizorul sa utilizeze CORBA. Nu ofera suport explicit pentru XML Nu ofera suport pentru schimb asincron de documente peste Internet 18

CORBA (2/2) Numeroase organizatii au utilizat CORBA pentru SOA Studiu de caz: Credit Suisse Group Companie financiala leader mondial cu sediu in Zurich, Elvetia. In 1997, Credit Suisse a pornit implementarea SOA numita Credit Suisse Information Bus (CSIB): scopul CSIB este de asigura interoperabilitatea in timp real, securizata, de incredere si scalabila intre sistemele back-end si o varietate de aplicatii front-end bazate pe diferite platforme (J2EE, C++, SmallTalk, HTML, COM, si Visual Basic). A inlocuit o infrastructura de integrare bazata pe IBM WebSphere MQ care a devenit prea scumpa si dificil de intretinut SOA de la Credit Suisse suporta mai multe de 100 000 utilizatori, incluzand 600 de servicii de afaceri in productie. Numai un procent mic de sisteme CORBA sunt orientate spre servicii 19

Java si tehnologiile J2EE (1/2) Au numeroase avantaje si dezavantaje simulare cu CORBA in ceea ce priveste implementari SOA. Similaritati cu CORBA: Ambele standarde deschise. Amebele sunt tehnoligii pentru obiecte distribuite care ofera suport excelent pentru invocarea de metode la distanta Ambele cer ca solicitantul si furnizorul de serviciu sa utilizeze aceeasi tehnologie (J2EE respectiv CORBA). Ambele ofera Securitate integrata, Servicii de numire (JNDI vs. CORBA Naming Service), Administrarea tranzactiilor (JTA/JTS vs. Object Transaction Service), Transmitere de incredere a mesajelor (JMS vs. CORBA Notification). Ambele J2EE EJB-uri si obiectele CORBA pot fi expuse ca servicii Web. 20

Java si tehnologiile J2EE (2/2) Diferente fata de CORBA: CORBA suporta limbaje de programare multiple. CORBA ofera CORBA IDL ca un limbaj explicit pentru interfete Serviciile Web J2EE comunica nativ utilizand XML si SOAP, pe cand CORBA WSDL mapping comunica utilizand CDL si IIOP. Comunitatea Java a definit o serie de APIuri pentru manipularea XML (ex: JAX-RPC, JAAS, JAX-B, etc). J2EE are o comunitate mai mare si mai robusta de dezvoltatori Implementari J2EE sunt disponibile de la furnizorii cei mai importanti de IT. Nu toate sistemele J2EE sunt orientate spre servicii Majoritatea aplicatiilor J2EE sunt strans cuplate 21

Platforme B2B Exemple: ebxml si RosettaNet Sunt ideale pentru implementare SOA deoarece: Sunt standarde deschise. Sunt cuplate slab. Sunt bazate pe XML. Sunt bazate pe schimb asincron de documente (respectiv documente XML). Ofera mecanisme integrate pentru Inregistrarea serviciului, Securitatea serviciului, Monitorizarea si administrarea serviciilor Administrarea proceselor de afaceri Tranzactii Trasnmitere de incredere a mesajelor 22

SOA utilizand Servicii Web Avantajul major in implementarea SOA utilizand serviciile Web: WS sunt are pervasive, simple, si neutre la platforma Alte avantaje deriva din faptul ca se bazeaza pe succesul WWW: Utilizarea document markup language precum HTML (sau XML) poate oferi o solutie de interoperabilitate puternica Un protocol de transfer de document precum HTTP poate oferi un mecanism de transfer de date universal si efectiv Pe Web nu conteaza Daca SO este Linux, Windows, OS390, HP NonStop, sau Solaris. Daca serverul Web este Apache sau IIS. Daca logica este codata in Java, C#, COBOL, Perl, sau LISP. Daca browser-ul este Netscape, Internet Explorer, Mozilla, sau W3C Amaya. WSurile pot intelege si procesa mesaje in format XML receptionate utilizand un mijloc de transport de comunicare suportat si returnarea nui rezultat daca este necesar este definita 23

Platforma de servicii Web Capabilitatile unui platforme complete de servicii Web: 24