CAPITOLUL 2.
STUDIUL TEHNOLOGIILOR INFORMATICE DE INTEGRARE A DATELOR
Conectarea aplicaţiilor prin stocurile de date este relativ simplă, apelând la: FTP, utilităţi oferite de SGBD-uri, instrumente ETL (Extract, Transform and Load), servere de integrare. Multitudinea de instrumente suport pentru integrare la acest nivel uşurează mult efortul de integrare.
Integrarea orientată pe date se poate realiza prin migrarea datelor dintr-un sistem informatic în altul sau prin folosirea unor produse software, care permit accesul la diferite surse de date fără a mai fi nevoie de extragerea, transportul, transformarea, validarea şi curăţarea datelor din sistemele sursă şi încărcarea lor în sistemele destinaţie. Migrarea datelor se poate face către un sistem operaţional (în general către o bază de date) sau către un sistem suport decizie (adică către un depozit de date). Principalul standard folosit pentru interschimbul de informaţii este eXtensible Markup Language (XML), iar cel mai important protocol de comunicaţii bazat pe acesta şi care stă la baza serviciilor Web este Simple Object Access Protocol (SOAP).
2.1.Integrarea orientată pe date
In abordarea orientată pe date pentru integrarea aplicaţiilor trebuie ca schimbul de informaţii să apară între bazele de date (sau proprietari API, care produc informaţie), ceea ce înseamnă că bazele de date trebuie văzute ca puncte principale de integrare. Soluţiile de integrare orientată pe date pot fi grupate în trei categorii:
-
copii multiple ale bazei de date ;
-
federalizarea datelor;
-
procesarea interfeţei.
Figura 2.1 Schimb de informaţie între două aplicaţii
2.1.1. Menţinerea unor copii ale datelor
Prin realizarea unor copii ale bazei de date si distribuirea lor la nivelul aplicatiilor fiecare aplicaţie poate să aibă propriul stoc dedicat de date. În orice moment, o parte din surse sunt puţin desincronizate, datorită întârzierilor inerente în propagarea schimbărilor între sursele de date.
Există 12 modele de mutare a datelor [Teal03]:
-
mutarea unei copii a datelor;
-
replicarea datelor;
-
replicare master-master;
-
replicare master-slave;
-
sincronizare la nivel de linie master-master;
-
replicare snapshot master-slave;
-
capturarea detaliilor tranzacţiilor
-
replicare incrementală a tranzacţiilor master-slave;
-
implementarea sincronizării la nivel de linie master-master utilizând SQL Server;
-
implementarea replicării snapshot master-slave utilizând SQL Server;
-
replicare master-slave în cascadă.
Replicarea datelor este o variantă a copierii datelor, referindu-se la simpla mutare a datelor între două sau mai multe baze de date. Aceste baze de date pot avea provenienţe diferite (Figura 2.2) şi pot avea modele diferite. Cerinţa fundamentală pe care trebuie să o îndeplinească o bază de date pentru a i se putea replica datele este să ofere o infrastructură pentru schimbul de date.
Figura 2.2 Replicarea unei baze de date
Multe baze de date, care includ soluţii “middleware” oferă servicii pentru replicarea datelor. Replicarea prin intermediul serviciilor este realizată prin plasarea unui strat software între două sau mai multe baze de date. Pe de o parte, datele sunt extrase dintr-o bază de date sau din mai multe baze de date şi sunt apoi plasate în bazele de date ţintă. Multe dintre aceste soluţii oferă servicii de transformare precum şi abilitatea de a modifica schema şi conţinutul astfel încât acestea să aibă sens pentru baza de date ţintă.
Avantajele replicării bazelor de date sunt simplitatea şi costurile scăzute. Replicarea este uşor de implementat, iar tehnologia este ieftină. Din păcate, aceste avantaje sunt eliminate dacă sunt necesare metode ataşate datelor. În acest caz, trebuie luată în considerare orientarea bazată pe servicii.
2.1.2 Federalizarea datelor
Federalizarea datelor se referă la integrarea mai multor baze de date şi a modelelor asociate într-o singură bază de date, cu un view unificat (Figura 2.3). Practic, federaţiile bazei de date reprezintă bazele de date virtuale.
Instrumentele pentru federalizarea datelor plasează un nivel software (middleware) între bazele de date distribuite fizic şi aplicaţiile care vizualizează datele. Acest nivel conectează bazele de date folosind interfeţe şi mapează bazele de date fizice într-o bază de date virtuală. Aplicaţia foloseşte această bază de date virtuală pentru a accesa informaţiile necesare. Instrumentele pentru federalizarea bazei de date gestionează colectarea şi distribuirea datelor, pe măsură ce acestea sunt necesare, către bazele de date fizice.
Avantajul folosirii acestui software este că poate lega tipuri diferite de date într-un model unificat care suportă schimbul de informaţie.
Figura 2.3 Federalizarea datelor
Aceasta este cea mai elegantă soluţie pentru integrarea datelor deoarece permite accesul la orice bază de date conectată la sistem printr-o singură interfaţă bine definită. Spre deosebire de replicare, federalizarea nu necesită modificări ale aplicaţiilor ţintă. Totuşi, schimbări sunt necesare la nivelul aplicaţiei care susţine software-ul bazei de date conţinută în federaţie. Acest fapt este datorat interfeţelor diferite care sunt folosite pentru a accesa un model al bazei de date diferit (baza de date virtuală).
2.1.3 Integrarea datelor prin intermediul interfeţelor
Soluţiile de procesare a interfeţei folosesc interfeţe ale unor aplicaţii bine definite pentru a se axa atât pe integrarea aplicaţiilor pachet, cât şi pe a celor obişnuite (Figura 2.4). Interesul curent în integrarea de tip Enterprise Resource Planning (ERP) manifestat de către SAP, PeopleSoft - Oracle a făcut acest sector cel mai atractiv în ceea ce priveşte integrarea de aplicaţii.
Figura 2.4 Procesarea interfeţei
Producătorii de soluţii ERP susţin soluţiile bazate pe procesarea interfeţei prin oferirea de adaptori, care să conecteze cât mai multe aplicaţii obişnuite sau aplicaţii pachet, externalizând informaţia. Aceşti adaptori se conectează la soluţiile tehnologice care includ tehnologii middleware, dar şi “screen scrapere”, ca puncte de integrare. Un “screen scaper” este un instrument care permite PC-urilor să intercepteze datele dintr-un mainframe (fiind adesea prezentat ca un ecran verde) şi este utilizat pentru a înţelege mai bine interfaţa grafică. Ecranele mai noi prezintă informaţia în format HTML, pentru a putea fi accesată dintr-un browser.
O integrare eficientă a mai multor tipuri de aplicaţie defineşte avantajul principal al utilizării produselor de integrare a aplicaţiilor. În doar câteva zile, este posibilă conectarea unei aplicaţii SAP R/3 la o aplicaţie Oracle, prin intermediul unei soluţii de procesare a interfeţei care să gestioneze diferenţele de schemă, conţinut şi semantica aplicaţiei, prin interpretarea informaţiei interschimbată între sisteme.
Dezavantajul folosirii produselor de integrare bazată pe procesarea interfeţei este că se acordă atenţie limitată logicii procesului de afaceri, cât şi metodelor aparţinând sursei sau sistemelor ţintă. În aceste situaţii, se recomandă folosirea unei abordări orientate pe servicii. Se prognozează că pe viitor, tehnologia de procesare a interfeţei va fi capabilă să includă şi metode.
2.2. Standarde utilizate la integrarea datelor
2.2.1. XML, XSLT, ebXML
De la crearea sa, eXtensible Markup Language (XML) a fost proiectat ca standard pentru interschimbul de informaţie pe Internet. Ca urmare, aplicabilitatea la integrarea aplicaţiilor este naturală, deoarece XML oferă un standard robust, uşor de înţeles pentru schimbul de informaţie. XML poate susţine interschimbul de semantici ale aplicaţiilor şi de informaţie. Tot acest proces se realizează fără ca aplicaţiile destinaţie să aibă nevoie de informaţii despre aplicaţiile sursă.
XML oferă un format comun de schimb de informaţie, încapsulând atât datele cât şi metadatele. Acest format permite aplicaţiilor şi bazelor de date să comunice fără a avea informaţii una despre cealaltă. Pentru a comunica, sistemul sursă reformatează un mesaj, o informaţie sau o înregistrare ca un XML-text şi mută acea informaţie într-ul alt sistem, care ştie să citească XML.
Valoarea XML-ului rezidă din simplitatea lui. Se pot lua cantităţi mari de informaţie şi se pot consolida într-un document XML ca piese semnificative, care dau structura şi organizarea informaţiei. (Figura 2.5)
Figura 2.5 XML, reprezentare text simplă a unor date de complexităţi diferite
Blocul de bază al unui document XML este un elementul definit prin marcatori (tag-uri). Un element are un tag de început şi un tag de final. Toate elementele dintr-un document XML sunt conţinute de un element rădăcină XML, care suportă elemente rădăcină sau elemente în alte elemente, de unde rezultă că poate susţine o structură ierarhică. Numele elementelor descriu conţinutul elementului, iar structura descrie relaţiile dintre elemente. Un document XML este considerat bine format, dacă poate fi citit de un parser XML şi dacă formatul său se potriveşte cu specificaţiile XML. Se pot defini atribute ale elementelor şi descrie caracteristici ale elementelor în tagul de început. Un parser XML citeşte documente XML şi extrage datele ce urmează a fi accesate de alt program. Parserul este parte componentă a nivelului middleware. (Figura 2.6)
Pentru ca aplicaţiile ce folosesc XML să poată fi integrate, ele trebuie să externalizeze informaţia sub formă de XML. Tehnologia middleware-XML gestionează extragerea informaţiei din sistemul sursă, conversia ei în XML şi plasarea informaţiei în sistemul destinaţie, tot procesul fiind automat şi transparent pentru utilizator. Aşa cum s-a mai specificat, XML este bazat pe text şi, astfel, o informaţie care în mod normal poate fi stocată pe 512 KB, se poate mapa într-un fişier XML de 20 ori mai mare, acest fapt reprezentând unul din dezavantajele utilizării XML.
Figura 2.6 Extragerea informaţiei prin parser XML
Legătura între XML şi middleware este clară deoarece tehnologia middleware realizează partea de transfer efectiv de mesaje, care încapsulează XML şi se asigură că acele mesaje pot fi înţelese de sistemele destinaţie. Middleware-ul gestionează şi interfeţele cu aplicaţiile sursă şi destinaţie şi mută informaţia.
XML nu juca până mai recent un rol prea important în domeniul integrării aplicaţiilor în cadrul aceleaşi companii. Practic, în aceste cazuri erau alese alte standarde şi metode de integrare din motive de eficienţă. Totuşi, datorită descentralizării controlului asupra informaţiei, XML devine din ce în ce mai important. Multe companii, ca Oracle-PeopleSoft şi SAP folosesc acum XML ca interfaţă nativă pentru sistemele lor. Oracle-PeopleSoft deja a definit un produs, Open Integration Framework, care foloseşte XML. Mai mult decât atât, producătorii de sisteme de gestiune a bazelor de date precum Oracle, Sybase şi Informix, oferă mecanisme, care permit XML-urilor să citească şi să scrie direct în baza de date.
Rolul major al XML este în domeniul integrării aplicaţiilor între mai multe companii. Standardele XML oferă valoare suplimentară prin includerea nivelurilor de metadate comune, care pot exista între unul sau mai mulţi parteneri membri ai tranzacţiei şi chiar prin includerea mecanismelor de transformare standard ca XSLT.
Cele mai relevante standarde XML folosite pentru integrarea aplicaţiilor sunt: RosettaNet, XEDI, BizTalk, Extensible Financial Reporting Markup Language (XFRML), XML-Schema, XML Query şi XSLT (tabelul 2.1.).
RosettaNet
|
un cadru pentru interschimb de date şi procese cu e-business.
|
XEDI
|
se referă la o specificaţie, care descrie cum trebuie mapat un EDI tradiţional la un XML şi invers
|
BizTalk
|
este fondat de Microsoft şi defineşte un standard XML pentru XML-uri bazate pe mesaje şi metadate. Microsoft oferă şi un server BizTalk pentru a susţine acest standard.
|
XFRML
|
este un standard definit de American Institute of Certified Public Accountants pentru a defini standarde XML pentru informaţii financiare.
|
XML-Schema
|
este un grup de lucru al W3C, care descrie un mecanism pentru determinarea structurii unui document XML
|
XML Query
|
Este un alt grup W3C, care creează un set de operaţii comune şi sintaxă pentru a accesa date stocate XML
|
Tabelul 2.1. Standarde XML pentru integrarea aplicaţiilor
XSLT este un limbaj proiectat să transforme un document XML într-un altul, modificând atât schema, cât şi conţinutul procesului. Documentele XML sunt ca nişte mesaje. Fiecare aplicaţie are un set unic de semantici, iar documentele care circulă între aplicaţii trebuie să poată fi transformate (Figura 2.7). Atât structurile de date, cât şi conţinutul sunt necesar să fie corecte din punct de vedere semantic pentru a fi încărcate în aplicaţia ţintă. Dacă datele nu au formatul necesar, atunci operaţia de actualizare nu va reuşi.
Figura 2.7 Transformarea documentelor XML prin XSLT
În plus, XSLT poate realiza şi alte tipuri de procesare de text şi operaţii de transformare, care includ crearea formatelor de date standard bazate pe text ca PDF-uri sau alte formate.
Transformarea unui document XML folosind XSLT necesită doi paşi. Primul pas constă într-o transformare structurală, unde datele sunt transformate, de la o structură de intrare la o structură de ieşire. Acest pas implică selectarea datelor, gruparea lor, sortarea lor sau agregarea lor în funcţie de necesităţile transformării. De exemplu, în cadrul unui document XML se poate face conversia de la dolari americani la franci francezi. Această transformare este bazată pe o rată de conversie valutară, fie pe o valoarea statistică fie pe o valoare citită dintr-o bază de date aflată la distanţă.
Electronic Business using eXtensible Markup Language (ebXML) este un produs al colaborării dintre UN/CEFACT şi OASIS. Acest standard a fost construit pe baza XML, ca şi alte standarde Internet şi servicii Web. Scopul său este crearea unei infrastructuri pentru comerţul electronic bazat pe informaţie şi procese. ebXML este considerat un standard bun, fiind folosit de cei care automatizează B2B.
Unicitatea ebXML-ului este dată de completitudinea acestuia, adresând probleme ca: procese, managementul tranzacţiilor, semantici, notaţii, securitate, acorduri, standarde legate de transferul de informaţie şi standarde legate de structurarea informaţiei.
Cu toate acestea, completitudinea ebXML-ului poate fi considerată un factor ce limitează, din cauza duratei pe care o necesită pentru a se plia pe un domeniu.
Standardul ebXML a fost creat pentru a înlocui EDI sau alte standarde folosite în comerţul electronic. Acesta este un sistem bazat pe mesaje XML pentru schimbul de informaţie şi poate conţine un depozit pentru a permite accesul simultan la informaţie. Sistemul de mesaje suportă orice tip de date, tranzacţii EDI şi informaţie binară. Mai mult decât atât, ebXML suportă acorduri de tranzacţionare între parteneri – o funcţie fundamentală a subsistemelor partener EDI-ebXML poate fi folosit astfel pentru a reprezenta acordurile de servicii de afaceri.
Ca şi alte standarde (ebXML-ul nu este un produs) vine cu un set de reguli, care permit producătorilor de aplicaţii şi integrare de aplicaţii să-si proiecteze produsele pentru a susţine acest standard.
2.2.2. SOAP, WSDL, UDDI
Simple Object Access Protocol (SOAP) defineşte un format XML bazat pe mesaje, care este folosit de aplicaţiile bazate pe servicii Web pentru a comunica şi interopera între ele pe Web (figura 2.8.). SOAP este un standard pentru codificarea mesajelor în XML şi care poate apela funcţii în alte aplicaţii. Este analog cu Remote Procedure Calls (RPC) folosit de tehnologii ca DCOM sau CORBA, dar elimină o parte din complexitatea utilizării acestor interfeţe. SOAP permite aplicaţiilor să apeleze funcţii din alte aplicaţii, care rulează pe altă platformă hardware, indiferent de sistemul de operare şi limbajul de programare.
Figura 2.8 SOAP oferă mecanisme de comunicare între client şi server
Web Service Description Language (WSDL) este 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. Bazat pe SOAP, WSDL specifică procedurile pentru descoperirea informaţiei tehnice şi funcţionale despre serviciile Web pe Internet.
Un document WSDL este descris de un număr de elemente:
-
definiţii tip, pentru elementele de date (în mod normal, utilizând XML Schema);
-
definiţii de mesaje, care comprimă unul sau mai multe elemente de date;
-
definiţii ale operaţiilor, care reprezintă descrieri abstracte ale acţiunilor care pot fi suportate de serviciu, şi care definesc tipul mesajului: de intrare sau de ieşire;
-
definiţii PortType;
-
definiţii de conectare, care descriu conexiunea între PortType şi protocoale (SOAP, HTTP, GET/POST);
-
definiţii de servicii.
Ca urmare, se poate spune că WSDL oferă o abordare standard serviciilor Web. De asemenea, WSDL oferă un mecanism automat de generare a proxy-urilor pentru serviciile Web folosind un limbaj standard. Acest standard este analog IDL (Interface Definition Languages) şi se găseşte atât în COM cât şi în CORBA. Cu alte cuvinte, este un simplu contract între client şi server.
WSDL 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. Definirea serviciilor WSDL oferă o modalitate pentru automatizarea comunicării între aplicaţii (Figura 2.9).
Figura 2.9 Definirea serviciilor prin WSDL
Universal Description, Discovery and Integration (UDDI) este un standard pentru catalogarea şi publicarea descrierilor WSDL asociate serviciilor Web, care sunt disponibile pe Internet. Într-un mod asemănător căutării informaţiei în Pagini Aurii sistemele de comerţ pot căuta în registrul UDDL serviciile Web, apoi pot prelua parametrii de interacţiune şi pot interacţiona efectiv cu serviciile Web găsite folosind SOAP.
Specificaţiile UDDI ţintesc să definească un mecanism comun pentru publicarea şi căutarea informaţiei prin servicii Web. Creatorii UDDI (IBM, Microsoft, Ariba) încearcă să creeze un echivalent pe Internet pentru Pagini Aurii. Acum este disponibilă pe piaţă prima generaţie de specificaţii.
Figura 2.10 UDDI
Dostları ilə paylaş: |