Tehnologii de integrare a datelor Cursul 4 Martie 2015
Abordari ale integrarii 1970 – sisteme back end orientate pe functionalitati (ex: SWIFT, VDA) 1980 – modele de date la nivel de companie (ex: SGBD; RPC) 1990 – integrare orientate pe procese ( ex: sisteme ERP, sisteme WMS) Sfarsit de ‘90 – noi concepte de management, gen CRM, SCM care se folosesc de un Object Broker (Corba, EJB) Middleware orientat pe mesaje (JMS, Messenger MQ) Enterprise Application Integration (Message Broker + BPMS) B2B Integration (Securitate, adoptare standard) 2000 – SOA – servicii Web 2010 – tehnologii semantice – RDF, vocabulare/ ontologii, etc
Moduri de integrare a aplicatiilor Integrare aplicatie la aplicatie Conectare punct la punct intre sisteme Apar structure spaggetti Integrare bazata pe ERP Sistemul ERP este aplicatia centrala EAI – Enterprise Application Integration Un hub central de integrare cu cunostinte despre procese
Comunicarea intre aplicatii Comunicare sincrona punct la punct (extrag din S1, transform, inserez in S2) Comunicare asincrona prin SGBD (extrag din S1, stochez in SGBD, consult, transform, stochez, consult, inserez in S2) Comunicare asincrona prin folosirea de cozi de mesaje (extrag din S1, pun in coada, scot din coada, transform, pun in coada, scot din coada, inserez in S2)
EAI = tehnologii care automatizeaza comunicarea si interoperabilitatea intre aplicatii diferite si permit continuarea proceselor de business intre aplicatii Integrarea pe verticala, in functie de gradul de semantica implicat se poate realiza la: Nivelul datelor Nivelul functional Nivelul proceselor
Integrarea la nivel de date Transferul datelor dintr-un sistem in altul folosind protocoale de transfer a datelor Avantaje: Pot fi implementate usor, cu cost redus Nu necesita decat schimbari minore ale aplicatiilor Dezavantaje Depenedente intre modelul de date si baza de date Poate periclita integritatea datelor din aplicatii Ex: middleware BD
Integrarea la nivel functional Foloseste functiile sistemelor care trebuie integrate pentru a accesa datele si logica aplicatiei Avantaje: Independenta de structura a aplicatiei Dezavantaje: Dependenta de functionalitatea interfetelor Exemple: Tehnologia sistemelor distribuite Middleware orientat pe mesaje
Integrarea la nivelul proceselor Suporta procesele care manipuleaza obiecte in timpul executiei Avantaje: Mare flexibilitate a proceselor Un singur punct de control Dezavantaj: implementare complexa Ex: Servere de integrare EAI
I. Integrarea orientată pe date Menţinerea unor copii ale datelor Federalizarea datelor Integrarea datelor prin intermediul interfeţelor Standarde utilizate la integrarea datelor
1. Menţinerea unor copii ale datelor copii ale BD distribuite la nivelul aplicatiilor, fiecare are propria BD desincronizari datorate intarzierilor in propagarea schimbarilor intre surse REPLICAREA DATELOR Mutarea datelor intre 2 sau mai multe BD BD pot avea proveniente si modele diferite Necesita o INFRASTRUCTURA pentru schimbul de date Ex: solutii middleware care ofera servicii pentru extragerea, transformari ale schemei si continutului, plasarea in BD tinta
Replicarea datelor Aplicaţie Baza de date 1 Replicarea datelor Avantaje: simpla, ieftina Dezavantaje: dc sunt metode atasate datelor
Tipuri de replicare Replicarea snapshot: Replicarea merge: datele de pe server sunt copiate in intregime pe un alt server sau intr-o alta BD de pe acelasi server consum mare de timp si resurse Replicarea merge: datele din doua sau mai multe BD sunt combinate intr-una singura. pe fiecare se pot realiza schimbari independente, fara o conexiune de retea activa. la reconectare, agentul de replicare merge verifica schimbarile care apar in seturile de date si modifica fiecare din BD in consecinta. Replicarea tranzactionala: utilizatorii primesc copii initiale integrale ale a BD ulterior primesc actualizari periodice pe masura ce apar schimbari ale datelor un plus de flexibilitate pt. BD care se actualizeaza frecvent.
2. Federalizarea datelor integrarea mai multor BD şi a modelelor asociate într-o singură BD, cu un MODEL UNIFICAT un nivel software (middleware) între BD distribuite fizic şi aplicaţiile care vizualizează datele Conecteaza BD FIZICE prin INTERFETE si le mapeaza intr-o BD VIRTUALA Gestioneaza colectarea si distribuirea datelor din/in BD fizice Avantaje: o singura interfata bine definita, nu se modifica aplicatiile tinta
Federalizarea datelor
3. Integrarea prin interfete de aplicatie soluţii de procesare a interfetelor pt integrarea a aplicaţiilor sau pachetelor de aplicatii gestioneaza diferenţele de schemă, conţinut şi semantica aplicaţiei, prin interpretarea informaţiei interschimbată între sisteme utilizat de ERP – adaptori – se conecteaza la aplicatii prin informatiile oferite prin interfete sau la solutii tehnologice ce includ tehnologii middleware si “screen scrapere” ca pct de integrare avantaj: integrarea > tipuri de aplicatii dezavantaj: logica procesului de afaceri si metodele sistemelor sursa si destinatie
Informatica PowerCenter IBM InfoSphere Datastage SAP Business Objects Data Integrator Oracle Data Integrator SAS Data Integration Studio
Procesarea interfetei
4. Standarde de integrare a datelor XML Jason XSLT ebXML SOAP, WSDL, UDDI
a. XML eXtensible Markup Language standard robust pentru interschimbul de informaţie pe Internet aplicaţiile şi BD comunica fără a avea informaţii una despre cealaltă. Avantaje: structurarea datelor – permite modelarea datelor pentru orice nivel de complexitate; extensibilitate - se pot defini noi marcatori daca este nevoie; validitate - se verifica corectitudinea structurala a datelor; oferă utilizatorilor posibilitatea de a-și reprezenta datele într-un mod independent de aplicație; autodescrierea documentului : nu sunt necesare cunostinte anterioare despre aplicatie, încapsuleaza atât datele cât şi metadatele
Documentul XML elementul definit prin marcatori (tag-uri) - numele descrie conţinutul elementului, iar structura descrie relaţiile dintre elemente parserul XML (componentă a nivelului middleware) citeşte documente XML şi extrage datele ce urmează a fi accesate de alt program. tehnologia middleware realizează transferul efectiv de mesaje (si XML), gestionează interfeţele cu aplicaţiile sursă şi destinaţie şi mută informaţia. SAP, Oracle-PeopleSoft (Open Integration Framework)-XML ca interfata nativa Producatorii de SGBD (Oracle, Sybase, Informix) – mecanisme care permit citire/ scriere XML direct in BD
Parser XML
b. JSON (JavaScript Object Notation) standard bazat pe text, proiectat pentru a putea fi citit usor Independent de platforma derivat din limbajul JavaScript este construit pe baza a două structuri: o colecție de perechi de tip cheie-valoare si o lista ordonata de valori Folosit des pentru serializare si transmiterea datelor in cadrul unei retele de calculatoare. utilizat pentru a transmite datele de la server la o aplicatie web
XML vs Json JSON mult mai simplu și mai rapid are o gramatică mult mai simplă și folosește structuri de date din limbajele de programare moderne. nu are nevoie de noi tag-uri sau atribute pentru reprezentarea datelor. foarte bun pentre reprezentarea obiectelor din limbajele de programare. Ce pot fi convertite rapid și trimise prin Web la consumatorii de servicii. XML oferă un suport puternic pentru validare, este extensibil un mod mai puternic de descriere a datelor decât JSON.
Un exemplu de document JSON { "firstName": "John", "lastName" : "Smith", "age" : 25, "address" : "streetAddress": "21 2nd Street", "city" : "New York", "state" : "NY", "postalCode" : "10021" }, "phoneNumber": [ "type" : "home", "number": "212 555-1234" "type" : "fax", "number": "646 555-4567" } ]
Standarde XML pt integrarea datelor B2B
c. XSLT Extensible Stylesheet Language Transformations un limbaj proiectat să transforme un document XML într-un altul, modificând atât schema, cât şi conţinutul, in functie de setul unic de semantici al fiecarei aplicatii poate realiza şi alte tipuri de procesare de text şi operaţii de transformare (ex: creare formate standard gen PDF sau HTML) PASUL 1: transformare structurala (selectare, grupare, sortare, agregare) PASUL 2: formatarea, în care noua structură este adusă în formatul cerut (txt, PDF, HTML,XML)
Transformarea documentelor XML prin XSLT
d. ebXML Electronic Business using eXtensible Markup Language construit pe baza XML, pentru comert electronic,automatizare B2B complet: procese, managementul tranzacţiilor, semantici, notaţii, securitate, acorduri, standarde legate de transferul de informaţie şi standarde legate de structurarea informaţiei sistemul de mesaje suportă orice tip de date, tranzacţii EDI şi informaţie binară. poate conţine un depozit/registru pentru a permite accesul simultan la informaţie suportă acorduri de tranzacţionare între parteneri K b ,ki nnn n
ebXML
e. SOAP, WSDL, UDDI Simple Object Access Protocol (SOAP) - format XML bazat pe mesaje folosit de aplicaţiile bazate pe servicii Web standard pentru codificarea mesajelor în XML şi care permite acces la funcţii în alte aplicaţii e independent de platforma si lb de programare similar RPC (Remote Procedure Call)
WSDL Web Service Description Language o colecţie de metadate despre XML bazat pe servicii, folosită pentru descrierea scopului unei afaceri şi a modului de accesare electronică a serviciilor acestora specifică procedurile pentru descoperirea informaţiei tehnice şi funcţionale despre serviciile Web pe Internet WSDL oferă un mecanism automat de generare a proxy-urilor pentru serviciile Web folosind un limbaj standard defineşte o gramatică XML pentru descrierea serviciilor de reţea ca o colecţie de puncte finale de comunicaţie, care pot face transfer de informaţie (operatii si mesaje). Operatii si mesaje descrise abstract + protocol de retea+format de mesaj= pct final de comunicatie
UDDI
UDDI Universal Description, Discovery and Integration standard pentru catalogarea şi publicarea descrierilor WSDL asociate serviciilor Web, care sunt disponibile pe Internet Registru UDDI- un mecanism comun pentru publicarea şi căutarea informaţiei prin servicii Web
II. Tehnologii informatice de integrare a datelor
II. Tehnologii informatice de integrare a datelor Baze de date centralizate şi distribuite Depozite de date Migrarea datelor
II.1. Baze de date centralizate şi distribuite BDD - BD care nu este localizată într-o singură locaţie fizică, ci este dispersată într-o reţea de calculatoare interconectate, putând fi accesată de mai mulţi utilizatori concurenţi. SGBDD - distribuirea, concurenţa şi eventualele eşecuri să fie transparente, operaţiile de citire / scriere se execută a.i. să nu apară nici o diferenţă faţă de situaţia unei BD cu un singur utilizator
Regulile lui Date R1. Autonomia locală: fiecare nod are control local asupra datelor şi este independent dpdv: securitate, controlul concurenţei, backup şi recuperare. R2. Independenţa faţă serverul central: fiecare nod trebuie să acţioneze independent, fără să depindă de un server central sau un alt nod. R3. Continuitatea: fără întreruperi pentru întreţineri sau reparaţii.; R4. Transparenţa localizării: nici un utilizator/program are nevoie să ştie unde şi cum sunt amplasate datele folosite. R5. Independenţa fragmentării: SGBDD va trebui să poată reconstrui automat, în orice moment, o colecţie de date din fragmentele sale. R6. Independenţa replicării: utilizatorii/programele nu trebuie să ştie dacă datele au fost replicate şi cum anume. R7. Interogări distribuite: poate fi executata pe orice nod din reţea, pot să participe mai multe noduri R8. Tranzacţii distribuite: o tranzacţie poate să acceseze şi să modifice date din mai multe noduri, fără ca beneficiarul să fie conştient de acest lucru. R9. Independenţa faţă de hardware: nodurile pe care se găsesc datele pot fi calculatoare de diferite tipuri şi puteri. R10. Independenţa faţă de software: nu trebuie să aibă importanţă sistemele de operare care există pe noduri R11. Independenţa faţă de reţea: BDD şi SGBDD trebuie să poată fi implementate pe orice platformă de reţea corespunzătoare, R12. Independenţa faţă de SGBD: la nivel de nod local pot “rula” diferite SGBD-uri.
a. Distribuirea prin fragmentare operaţia de descompunere logică a colecţiilor globale în părţi disjuncte numite fragmente, utilizând operatori speciali. REGULILE completitudinea reconstrucţia disjuncţia METODELE orizontală extragerea unui set de înregistrări, păstrându-se toate câmpurile colecţiei iniţiale verticală extragerea unui set de câmpuri, păstrându-se toate înregistrările colecţiei iniţiale mixtă aplicarea succesivă a metodelor orizontală şi verticală
b. Distribuirea prin replicare operaţia de stocare a unor porţiuni dintr-o BD, sub formă de copii, pe mai multe calculatoare dintr-o reţea la actualiz. unei copii locale, SGBDD actualizează automat toate copiile acelor date METODELE (redundanta vs concurenta) date nereplicate date replicate parţial date replicate total
c. d. Distribuirea mixta. Incarcarea Distribuirea mixtă este operaţia de aplicare succesivă a fragmentării şi replicării pentru aceeaşi colecţie Distribuirea prin încărcare este operaţia de copiere periodică a întregii BD centralizate sau a unei porţiuni din ea pe noduri locale