Virtualizarea Datelor Utilizand Infomatica Power Center

Virtualizarea datelor utilizând

Infomatica Power Center

Cuprins

1 Introducere

1.1 Obiectivul principal

1.2 Motivele alegerii subiectului

2 Virtualizarea datelor

2.1 Virtualizarea datelor – definiții

2.2 Virtualizare versus Federalizare

2.3 Avantaje tehnice ale utilizării virtualizării

2.4 Calitatea datelor

2.5 Managementul informațiilor

2.6 Viitorul virtualizării

3 Informatica Powercenter

3.1 Extract Transform Load (ETL)

3.1 Componente Informatica

3.2 Transformări în Informatica

4 Aplicarea virtualizării în cadrul instituției bancare – departamentul de credite

4.1 Definirea problemei

4.1.1 Obiectul analizei

4.2 Calitatea datelor

4.2.1 Proiectarea modelului relațional

4.2.2 Importarea și definirea tabelelor necesare implementării

4.3 Implementarea aplicației

4.3.1 Convenții și reguli în cadrul creării mapelor

4.3.2 Dezvoltarea mapelor

4.3.3 Crearea sesiunilor si workflow-urilor

4.4 Crearea rapoartelor

5 Concluzii

Bibliografie

Lista figurilor

Anexă – comenzi SQL pentru transformarea datelor

Introducere

Obiectivul principal

Fundamentate pe tendințele la nivel global de dezvoltare a uneltelor de manipulare și analiză a datelor, această lucrare are ca scop final evidențierea avantajelor pe care virtualizarea și ETL le au ca instrumente de suport al procesului decizional în cadrul unei instituții bancare.

Motivele alegerii subiectului cercetării

Virtualizarea este utilizata în diverse domenii și privită ca un real avantaj în mediul concurențial, favorizând o reacție mai rapidă la schimbările pieței. Folosit inițial doar la nivelul marilor companii, din cauza costurilor ridicate, însă cu rezultate și beneficii majore, utilizarea acestei tehnologii a devenit din ce în ce mai populară.

Nevoia de agilitate, a capacității de a dezvolta rapid noi sisteme sau de a le schimba pe cele deja existente convinge organizațiile de a implementa o soluție bazată pe virtualizarea datelor, astfel că adoptarea virtualizării crește foarte repede. Acest lucru duce la formarea unor noi strategii de analiză și a unor noi metode de implementare.

2. Virtualizarea datelor

2.1 Virtualizarea datelor – concepte și definiții

În ultimii ani, procesul decizional a trecut printr-o schimbare radicală datorită numărului din ce în ce mai mare de informații. Managerii trebuie să țină cont de climatul economic, de constrângerile impuse de timp atunci trebuie luate decizii la nivel organizațional.

Un studiu făcut de grupul Aberdeen în 2011 arată că 43% din intreprinderi întâmpină probleme atunci când vine vorba de a lua decizii într-un timp scurt. La aceasta se adaugă și numărul, în creștere, de surse de date ce necesită o analiză atentă pentru înțelegerea mai bună a clienților, a modului în care aceștia gândesc.

figura 2.1

Studiu realizat de grupul Abeerdeen. Bara din mijloc arată că 43% din respondeți au arătat că timpul pentru luare deciziilor scade.

Din aceste motive, este nevoie de o arhitectură care să fie ușor de schimbat, care să conțină mai puține componente, baze de date și transformări. Aici intervine virtualizarea care poate fi privita ca o tehnologie alternativa la sistemele clasice de business intelligence, capabila de transformarea datelor într-o formă necesară analizelor și raportării.

O soluție de virtualizare presupune ca aplicațiile să poată folosi resurse fără să fie nevoite să știe unde se afla acestea, ce interfețe sunt folosite, cum au fost implementate sau ce platforme folosesc.

Virtualizarea datelor presupune procesul de abstractizare a datelor conținute într-o varietate de surse precum baze de date relaționale, surse expuse prin intermediul serviciilor web, depozite XML și altele, astfel încât să fie accesate fără a tine seama de depozitarea fizică sau structura eterogena [BOL02].

Virtualizarea nu este un concept nou în industria IT, fiind aplicat încă din 1960 de către IBM la separarea mainframe-urilor în mașini virtuale, făcând posibil ca o mașină să ruleze mai multe aplicații concomitent.

Pentru mult timp, virtualizarea datelor nu a fost considerată o tehnologie strategică de către majoritatea organizațiilor, neavând un beneficiu clar pentru business. Odată cu maturizarea produselor și cu nevoia de a găsi o formă mai buna și mai rapidă de integrare a datelor, virtualizarea a căpătat din ce în ce mai multă importanță devenind astăzi o tehnologie mainstream.

Această tehnologie oferă o vedere unificată a datelor în care consumatorii nu știu dacă accesează sau nu date din multiple surse.

figura 2.2

Sursele de date sunt prezentate ca o sursa integrată

Datele pot fi văzute atât la un nivel detaliat cât și la unul agregat, în funcție de nevoile consumatorilor. Virtualizarea permite interogarea și manipularea în așa fel încât datele din surse pot fi interogate, șterse, inserate și actualizate (dacă sursele o permit). [LAN12]

2.2 Virtualizare versus Federalizare

Virtualizarea este adeseori asociată cu federalizarea, uneori considerându-se că este o forma extinsă a acesteia.

Federalizarea datelor este un aspect al virtualizării unde datele stocate într-un set eterogen de depozite autonome de date sunt accesibile consumatorilor ca un depozit integrat folosind integrarea datelor la cerere.

Această definiție are la bază diferite concepte:

• Virtualizarea datelor nu implică în mod obligatoriu federalizare. De exemplu, dacă datele dintr-o bază trebuie virtualizate, nu este nevoie de federalizare, în schimb federalizarea duce mereu la virtualizare deoarece aspectul distribuirii unui set de date este ascuns de aplicații.

• Federalizarea permite aducerea datelor împreuna folosind diferite structuri de stocare, limbaje de acces și API-uri diferite.

• Datele accesate prin federalizare sunt capabile să funcționeze independent, fără a fi legate de scopul final al federalizării.

• Datele sunt prezentate ca făcând parte dintr-un set de date integrate, ceea ce poate implica transformarea, curățarea și chiar îmbogățirea datelor.

2.3 Avantaje tehnice ale utilizării virtualizării

Deși accesarea depozitelor de date poate fi ușoară uneori pentru consumatorii de date, exista câteva avantaje pe care le putem clasifica în trei grupuri:

a. Primul grup de avantaje se aplică dacă doar un depozit este accesat de către consumator.

Virtualizarea datelor oferă posibilitatea traducerii limbajului bazei de date și API astfel încât să satisfacă nevoile consumatorilor.

Este posibilă ascunderea diferențelor dintre dialectele SQL ajutând astfel pe consumatori să fie mai portabili.

figura 2.3

Virtualizarea datelor reduce cantitatea de cod necesară pentru accesarea datelor.

b. Al doilea set de avantaje se referă la specificațiile meta datelor cum ar fi structura tabelelor, transformărilor și a operațiunilor de curățare, agregare.

Complexitatea structurii tabelelor poate îngreuna accesul consumatorilor la date datorită interogărilor complexe pe care aceștia trebuie să le implementeze. Folosirea meta datelor se face doar odată permițând refolosirea acestora pentru mai mulți consumatori.

Depozitele de date pot conține date eronate. Pentru evitarea scrierii de prea mult cod de către consumatori, stratul de virtualizare preia această sarcină și afișează doar datele corecte.

figura 2.4

Dezvoltarea aplicațiilor este simplificată datorită folosirii acelorași specificații de către consumatori

c. Al treilea grup de avantaje evidențiază integrarea datelor în diverse depozite de date.

Datele pot proveni din diverse medii de stocare (documente Excel, fișiere secvențiale, baze de date NoSQL, documente XML) de aceea virtualizarea oferă un API și un limbaj al bazei de date unificate pentru a ușura accesul la date.

Dacă consumatorii doresc acces la multiple surse de date sunt nevoiți să includă cod pentru interogarea datelor astfel duplicându-se soluțiile de integrare în rândul acestora. Virtualizarea permite centralizarea acestui cod, astfel încât să poată fi împărtășit de toți consumatorii.

figura 2.5

Centralizarea și împărțirea codului de integrare

2.4 Calitatea datelor

Datele pe care le regăsim în sistemele de producție nu sunt mereu corecte, iar dacă nu sunt luate măsuri înainte ca acestea să intre în depozitele de date, afacerea poate avea de pierdut.

Diverse studii au arătat ca organizațiile suferă pierderi enorme din cauza calității proaste a datelor. În 2002, Datawarehouse Institute a estimat pierderi anuale de 600 de miliarde de dolari în SUA. Așadar, la construirea unei arhitecturi trebuie ținut cont de aspectul crucial pe care îl are calitatea datelor.

Există mai multe tipuri de date incorecte:

a. Date lipsă: Deși nu reprezintă neapărat o problema din punctul de vedere al calității, datele lipsă sunt un punct sensibil în cadrul organizațiilor. Principalii răspunzători pentru reconstruirea datelor sunt însă proprietarii sistemelor de producție.

b. Date eronate: Cel mai des întâlnit exemplu de date eronate se referă la inconsistența programării, caz în care sunt folosite valori care nu se găsesc pe lista standardizată de coduri sau nume. Scrierea incorecta a numelor, precum numele produselor, clienților, orașelor sunt alte exemple clasice de date eronate.

c. Date false: Datele care nu sunt în concordanță cu realitatea, cum ar fi zilele de naștere incorecte, sunt considerate date false. Un exemplu de date false ar fi dacă într-o bază de date Sydney ar apărea ca fiind capitala Australiei. Chiar dacă pare o valoare corecta, nu este, deoarece Canberra este capitala Australiei.

Este dificil de detectat datele incorecte însă exista modalități de a rezolva acestă problemă, chiar dacă nu în totalitate.

Regulile joaca un rol important atunci când este nevoie de îmbunatățirea calității datelor. Constrângerile de integritate sunt un set de reguli ce pot fi aplicate pentru a înlătura datele incorecte. Exemple: o adresa de email conține simbolul '@' , codurile postale au un număr diferit de cifre în funcție de țară etc. [LAN12]

Există mai multe modalități prin care se pot trata datele incorecte:

A nu face nimic. Datele incorecte se întorc la consumatori și este, din perspectiva unui server de virtualizare, cea mai ușoară soluție deoarece devine responsabilitatea consumatorilor de date să detecteze datele eronate și să determine ce să facă cu ele.

Filtrarea rândurilor. Pentru ca doar datele corecte să ajungă la consumatori trebuie configurată logica în mapările din tabele astfel încât datele incorecte să fie șterse.

Filtrarea valorilor. Față de filtrarea mai sus menționată, în acest caz se păstrează rândurile și se șterg doar valorile incorecte ce pot fi înlocuite cu null.

Flagging. Se pot adăuga coloane speciale pentru fiecare coloană cu date incorecte pentru a le semnala.

2.5 Managementul Informației

Managementul informației reprezintă colecția și administrarea informației din una sau mai multe surse și distribuirea acesteia către audiențe.

Procesul de proiectare este format din trei pași:

Modelarea informației

Virtualizarea poate avea un impact puternic asupra proiectării bazelor de date, astfel că o analiza și o înțelegere mai buna a business-ului vor îmbunătății rezultatul final. Modelul informațional poate fi văzut ca o descriere a necesităților clienților și este alcătuită de obicei din diagrame care descriu obiectele afacerii, proprietățile lor și relațiile dintre acestea. Cele mai des întâlnite diagrame sunt cele entitate-relație, precum și tehnica modelării multidimensionale.

2. Proiectare logică

Modelul informațional este transferat tabelelor prin intermediul coloanelor și cheilor care sunt implementate în depozitul de date, acestea conținând informațiile de care userii au nevoie și au ca rezultat un model sau o simplă descriere a tuturor tabelelor.

3. Proiectare fizică

În acest pas, specialiștii studiază toate aspectele precum partiționarea, indexarea, setarea parametrilor, restructurarea tabelelor (dacă este cazul, pentru îmbunatățirea performanțelor) astfel încât samației

Virtualizarea poate avea un impact puternic asupra proiectării bazelor de date, astfel că o analiza și o înțelegere mai buna a business-ului vor îmbunătății rezultatul final. Modelul informațional poate fi văzut ca o descriere a necesităților clienților și este alcătuită de obicei din diagrame care descriu obiectele afacerii, proprietățile lor și relațiile dintre acestea. Cele mai des întâlnite diagrame sunt cele entitate-relație, precum și tehnica modelării multidimensionale.

2. Proiectare logică

Modelul informațional este transferat tabelelor prin intermediul coloanelor și cheilor care sunt implementate în depozitul de date, acestea conținând informațiile de care userii au nevoie și au ca rezultat un model sau o simplă descriere a tuturor tabelelor.

3. Proiectare fizică

În acest pas, specialiștii studiază toate aspectele precum partiționarea, indexarea, setarea parametrilor, restructurarea tabelelor (dacă este cazul, pentru îmbunatățirea performanțelor) astfel încât sa găsească cea mai eficienta implementare posibilă. Modelul bazei de date este rezultatul final. [LAN12]

Impacturile pe care le are virtualizarea asupra modelarii datelor :

1.Mai puțin efort pentru proiectarea bazei de date. Modelarea datelor este necesară însa datorită lipsei altor depozite în afară de datawarehouse, efortul dezvoltarii este redus.

2.Normalizarea se aplică tuturor tabelelor. Într-un sistem bazat pe virtualizare, tabelele sunt normalizate deoarece aceasta a rămas cea mai neutră formă a structurii datelor (neutră în sensul că poate suporta o gamă largă de interogări și raporturi).

3.Modelarea și proiectarea devin mai iterative. Proiectarea inițială a depozitului nu trebuie să includă toate informațiile necesare, acestea putând fii adăugate pe parcurs. Aceasta suplimentare de informații se poate ascunde în mapările din tabelele virtuale, tabelele reale fiind ascunse de rapoarte.

4.Proiectarea logică devine mai interactivă. Datorită implementării logicii în tabelele virtuale, atât analiștii, cât și userii au acces la conținutul acestora, devenind astfel un mediu colaborativ.

5.Proiectarea fizică poate fi amânată. Numărul mai scăzut de baze de date ce au nevoie de proiectare cât și posibilitatea definirii de cache-uri (create instantaneu fără ca rapoartele să fie modificate) ajută la simplificarea proiectării.

2.6 Viitorul virtualizării

Creșterea exponențială a datelor și complexitatea la care s-a ajuns în ultimii ani datorită revoluționării tehnologiei fac ca infrastructura IT să se dezvolte într-un ritm accelerat având ca punct central virtualizarea datelor.

Din ce în ce mai multe organizații dezvoltă sisteme de producție care să facă față numărului imens de date existente în prezent. Pentru a opera cu succes în aceste medii trebuie luate în calcul studierea cât mai atentă a optimizării interogărilor, cât și exploatarea tehnologiei oferite de marii furnizori precum Informatica, IBM, Oracle etc. Creșterea și mărirea memoriei interne, viteza sporită a procesoarelor și a rețelelor sunt doar câteva din elementele ce pot ajuta la expandarea virtualizării în rândul intreprinderilor. [LAN12]

Contopirea soluțiilor alternative pentru transformări și integrare de date precum ETL, ELT, virtualizare și replicare, este văzută ca o soluție de viitor având ca principale beneficii atât comutarea rapidă între ele, cât și manipularea diferitelor implementări fără a mai fi nevoie de schimbări de logică.

3. Informatica Powercenter

Informatica este un instrument ce sprijină toate etapele de extracție, transformare și încărcare ale unui proces. În zilele noastre, este, de asemenea, utilizat ca un instrument de integrare. Informatica este lider mondial ca instrument ETL și are o creștere din ce în ce mai accentuata pe piața platformelor de integrare enterprise.

PowerCenter oferă un mediu care permite încărcarea de date într-o locație centralizată, cum ar fi depozite de date sau ODS (operațional) putând extrage date din mai multe surse și transformându-le în conformitate cu logica de business. [INF11]

figura 3.1

Magic Quadrant pentru instrumente de integrare a datelor,
Gartner 2012

[WEB02]

3.1 Extract Tranform Load (ETL)

Un sistem ETL se ocupă cu extragerea datelor din surse, realizarea anumitor prelucrări și încărcarea acestora în depozitul de date unde pot fi accesate de utilizatori.

Sistemul ETL conține trei procese ( extragere , transformare , încărcare ) :

Extragerea reprezintă prima parte și asigură procesul de citire a datelor din sursele originale. În multe cazuri, acesta este aspectul cel mai solicitant deoarece se va stabili modul în care vor decurge procesele ulterioare.

Următorul pas este transformarea, care aplică o serie de reguli sau funcții în vederea obținerii datelor necesare. Gradul de manipulare a datelor va depinde de la un set de date la altul. Unele seturi de date vor necesita foarte puțină manipulare în timp ce altele vor necesita o prelucrare a datelor mai amănunțita.

Încărcarea este ultima etapă în procesul ETL. În această fază se încarcă datele, de obicei, în depozitul de date, iar în funcție de cerințele și necesitățile organizației, acest proces poate varia de la a suprascrie anumite informații până la a adăuga date noi.

3.2 Componente Informatica

Informatica Domain – Domeniul Informatica este unitatea primară pentru management și administrare în PowerCenter. Serviciile de aplicații reprezintă funcționalități bazate pe server. Serviciile de aplicații PowerCenter includ PowerCenter Repository Service, PowerCenter Integration Service, Web Services Hub, și SAP BW Service. Serviciile Informatica includ Data Integration Service, Model Repository Service și Analyst Service.

PowerCenter Repository – Depozitul PowerCenter se află într-o bază de date relațională iar tabelele bazei conțin instrucțiunile necesare pentru a extrage, transforma și încărca datele.

Informatica Administrator – Informatica Administrator este o aplicație web ce permite administrarea domeniului și securitatea PowerCenter.

Domain configuration – Set de tabele de baze de date relaționale care stochează informații despre configurarea pentru domeniu.

PowerCenter Client – Clientul PowerCenter este o aplicație utilizată pentru a defini surse și tinte, pentru crearea mapărilor și Mapplets-urilor cu logica de transformare, pentru a crea fluxuri de lucru si pentru a rula logica de mapare. Clientul PowerCenter se conectează la depozit prin intermediul Repository PowerCenter pentru a modifica depozitul de metadate și se conectează la Serviciul de Integrare pentru a începe fluxuri de lucru.

Repository Service PowerCenter – Repository PowerCenter acceptă cereri de la Clientul PowerCenter pentru a crea și modifica metadate și acceptă cereri de Integration Service atunci când un flux de lucru se execută.

PowerCenter Integration Service – Integration Service extrage date din surse și încarcă date în target .

Web Services Hub – Web Services Hub este un gateway, care expune funcționalitatea PowerCenter la clienții externi prin intermediul serviciilor web.

Reporting Service. Serviciul de raportare rulează apicația web Analyzer. Data Analyzer oferă un cadru pentru crearea și rularea de rapoarte personalizate și tablouri de bord.

Metadate Service Manager – Rulează aplicația web Metadata Manager ce este folosită pentru a căuta și analiza metadatele din depozite.

Figura de mai jos prezintă componentele PowerCenter:

figura 3.2

Arhitectura Informatica PowerCenter

PowerCenter Repository

PowerCenter Repository se află într-o bază de date relațională unde se stochează informații necesare pentru a extrage, transforma și încărca date. Se stochează, de asemenea, informații administrative, cum ar fi permisiunile și privilegiile pentru utilizatorii și grupurile care au acces la depozit. Aplicațiile PowerCenter au acces la depozitul PowerCenter prin Serviciul Repository.

Principalele depozite sunt:

Global repository. Se utilizează la nivel global pentru a stoca obiecte comune pe care mai mulți dezvoltatori le pot utiliza pentru comenzi rapide. Aceste obiecte pot include definiții ale surselor operaționale sau ale aplicațiilor, transformări reutilizabile, Mapplets și mapări.

Local repositories. Un depozit local, este orice depozit care nu este depozit la nivel global. De la un depozit local exista posibilitatea creării de comenzi rapide la obiectele din dosarele comune din depozitul la nivel global. Aceste obiecte includ definiții sursă și transformări standard de întreprindere.

Informatica Administrator

Informatica Administrator este o aplicație web utilizată pentru a administra domeniul și securitatea PowerCenter. Se pot administra, de asemenea, servicii de aplicații pentru Analyst și Developer. Serviciile de aplicații pentru Informatica Analyst si Developer includ Analyst Service, Model Repository Service și Data Integration Service.

Security Tab

Administrează securitatea PowerCenter, gestionează utilizatorii și grupurile care se pot conecta la următoarele aplicații PowerCenter:

Administrator tool

Client PowerCenter

Metadata Manager

Data Analyzer

Se efectuează următoarele sarcini în pagina de Securitate:

Gestionare utilizatori și grupuri nativi. Crearea, editarea și ștergerea utilizatorilor și grupurilor.

Configurarea autentificării LDAP și importul de utilizatori LDAP și grupuri. Configurează o conexiune la un serviciu director LDAP.

Gestionare roluri. Crearea, editarea și ștergerea rolurilor. Rolurile sunt colecții de privilegii. Privilegii determina acțiuni pe care utilizatorii le pot efectua în aplicații PowerCenter.

Atribuirea rolurilor și privilegii pentru utilizatori și grupuri. Atribuire de roluri și privilegii pentru utilizatori și grupuri.

Gestionare profile de sistem de operare. Crearea, editarea și ștergerea de profile. Un profil al unui sistem de operare este un nivel de securitate pe care serviciile de integrare îl utilizează pentru a rula fluxuri.

Client PowerCenter

Aplicația PowerCenter Client este formată din instrumente utile pentru a gestiona depozitele și pentru a proiecta mapări, mapplets și sesiuni ce încărca datele. Aplicația client PowerCenter are următoarele instrumente:

Designer. Utilizat pentru a crea mapările ce conțin instrucțiuni de transformare.

Mapping Architect for Visio. Utilizat pentru a crea template-uri de mape, pentru generarea mai multor mapări.

Repository Manager. Utilizat pentru a atribui permisiuni utilizatorilor și grupurilor și pentru a gestiona foldere.

Workflow Manager. Utilizat pentru a crea, programa și a rula fluxuri de lucru. Un flux de lucru este un set de instrucțiuni care descrie cum și când se executa sarcini legate de extragerea, transformarea și încărcarea datelor.

Workflow Monitor. Utilizat pentru a monitoriza fluxurile.

Designer PowerCenter

Designer are următoarele instrumente folosite pentru a analiza sursele, schemele țintă de proiectare și pentru a construi mape:

Source Analyzer. Importă sau creează definiții sursă.

Target Designer. Importă sau creează definiții țintă.

Transformation Developer. Dezvoltă transformări pentru a le utiliza în mapări. Se pot crea User Defined Functions.

Mapplet Designer. Creează seturi de transformări folosite în mapări.

Mapping Designer. Creează mapările pe care Integration Service le utilizează pentru a extrage, transforma și încărca date.

Designer este alcătuit din următoarele ferestre:

Navigator. Se conectează la arhive și dosare deschise în Navigator. Există posibilitatea copierii obiectelor și creării de comenzi rapide în Navigator.

Workspace. Deschide diferite instrumente în această fereastră pentru a crea și edita obiecte din Repository, cum ar fi sursele, target-uri, mapplets, transformări și mapări.

Output. Afișează detalii despre activitățile efectuate cum ar fi salvarea sau validarea mapelor.

Figura de mai jos reprezintă interfața Designer

figura 3.3

Interfața Designer

1. Navigator

2. Output

3. Workspace

Repository Manager

Cu ajutorul Manager Repository se administrează depozite și se navighează prin mai multe foldere și arhive putând să se completeze următoarele sarcini:

Manage user and group permissions. Atribuirea și revocarea directorului și permisiuni obiect la nivel mondial.

Perform folder functions. Creare, editare, copiere și ștergere dosare. Task-urile efectuate în Designer și Workflow Manager sunt stocate în foldere.

View metadata. Analiza surselor, target-urilor, mapărilor și dependențelor de comenzile rapide, căutare de cuvinte cheie și a vizualizării proprietăților obiectelor.

Repository Manager poate afișa următoarele ferestre:

1. Navigator Afișează toate obiectele create în Manager Repository, Designer și Workflow Manager.

2. . Afișează proprietățile obiectului selectat în Navigator.

3. Output. Afișează output-ul sarcinilor executate în Repository Manager.

Figura de mai jos prezintă interfața Repository Manager:

figura 3.4

Interfața Repository Manager

1. Status bar

2. Navigator

3. Output

4.

În repository se găsesc următoarele obiecte:

Source definitions. Definiții ale obiectelor din baza de date precum tabele, view-uri, sinonime sau fișiere care conțin date sursă.

Target definitions. Definiții ale obiectelor din baza de date sau fișiere care conțin date țintă.

Mappings. Un set de definiții sursă și țintă împreună cu transformările care conțin logica de afaceri ce se construiește în transformări. Acestea sunt instrucțiunile pe care Serviciul de integrare le utilizează pentru a transforma și a muta date.

Reusable transformations.. Transformările utilizate în mai multe mapări.

Mapplets. Un set de transformări utilizate în mai multe mapări.

Sessions and workflows. Stochează informații despre cum și când Integration Service mută datele. Un workflow este un set de instrucțiuni care descrie cum și când să ruleze sarcinile legate de extragerea, transformarea și încărcarea datelor. O sesiune este un tip de activitate care poate fi pus într-un workflow și care poate aparține unei singure mapări.

Workflow Manager

În Workflow Manager, se definește un set de instrucțiuni pentru a executa sarcini, cum ar fi sesiuni, e-mailuri și comenzi Shell. Acest set de instrucțiuni este numit workflow. Workflow Manager are următoarele instrumente pentru a ajuta dezvoltarea unui workflow:

Task Developer. Crearea sarcinilor necesare în workflow.

Worklet Designer. Un worklet este un obiect care grupează un set de sarcini.

Workflow Designer. Când se creează un workflow, se adaugă task-uri. Workflow manager include task-uri precum session task, command task, email task.

figura 3.5

Interfața Workflow Designer

1. Status bar

2. Navigator

3. Output

4.

Workflow Monitor

Se pot monitoriza fluxurile de lucru și sarcinile în Monitorul Workflow. Permite vizualizarea detaliilor despre un flux de lucru sau sarcină prin Gantt Chart View sau Task View si se pot rula, opri, anula și relua fluxurile de lucru.

Monitorul de flux de lucru afișează fluxurile de lucru care au fost executate cel puțin o dată, acesta primind continuu informații de la Integration service și Repository Service. [INF11]

Workflow Monitor este format din următoarele ferestre:

Navigator window. Afișează depozitele monitorizate si servere.

Output window. Afișează mesaje de la Serviciul de Integrare și Serviciul Repository.

Time window. Afișează progresul workflow-ului.

Gantt Chart view. Afișează detalii despre cursele de flux de lucru în format cronologic.

Task view. Afișează detalii despre executarea fluxului de lucru într-un format de raport.

figura 3.6

Interfața Workflow Monitor

1. Gantt chart view

2. Task view

3. Output window

4. Time window

PowerCenter Repository Service

Serviciul Repository PowerCenter gestionează conexiunile la depozitul PowerCenter de la clienți depozit. Un repository client este orice componentă PowerCenter care se conectează la depozit. Serviciul Repository este un proces separat, multi-threaded, care găsește, inserează și actualizează metadate în tabelele bazei de date depozit. Serviciul Repository asigură coerența metadator în depozit. Serviciul Repository acceptă cereri de conectare de la următoarele componente PowerCenter:

PowerCenter Client. Creează și stochează metadata mapei și informația obiectului conexiunii în repository cu ajutorul Powercenter Repository și Manager. Creează foldere, organizează și securizează metadata și acordă permisiuni userilor și grupurilor din Repository.

Command line programms. Folosește programe de linie de comandă pentru a efectua sarcini de administrare a depozitelor de metadate și funcțiilor de servicii conexe.

PowerCenter Integration Service. Serviciul se conectează la depozit pentru a programa fluxurile de lucru. Când se execută un flux de lucru, Serviciul Integrare îl preia odată cu metadatele mapei de la depozit.

Web Services Hub. Serviciile Hub Web preiau sarcina fluxului de lucru și a metadatelor mapei de la depozit și scriu starea fluxului de lucru .

3.3 Transformarile din Informatica

Lista Transformarilor ce se pot efectua în Informatica:

Aggregator Transformation

Transformarea agregator efectuează funcții agregate, cum ar fi media, adunarea, numărarea, etc. pe mai multe rânduri sau grupuri.

Diferența dintre agregator și transformare expresie, este că transformarea expresie permite efectuarea calculelor doar rând cu rând în timp ce în cazul transformării agregator calculele au loc la nivel de grup.

Expresiile agregate sunt permise numai în transformările agregate și pot include clauze condiționale și funcții non-agregate.

Funcții agregate: AVG, COUNT, FIRST, LAST, MAX, MEDIAN, MIN, PERCENTILE, STDDEV, SUM, VARIANCE

Application Source Qualifier Transformation

Reprezintă rândurile pe care Integration Service le citește de la o aplicație, cum ar fi o sursă ERP, atunci când se execută o sesiune. [INF11]

Custom Transformation

Funcționează cu proceduri create în afara interfeței Designer pentru a extinde funcționalitatea PowerCenter.

Custom transformation permite create unei transformări logice într-o procedură. Unele transformări sunt create folosind Custom transformation. Regulile care se aplică în cazul lui Custom transformation, precum cele de blocare a regulilor, se aplică și transformărilor create în Custom transformations.

Data Masking Transformation

Acesta este utilizat pentru a schimba datele de producție sensibile pentru medii non producție la datele reale.

Expression Transformation

Sunt utilizate pentru a îndeplini funcțiile de bază non-agregate, adică pentru a calcula valorile într-un singur rând.

De exemplu, pentru a calcula o reducere pentru fiecare produs sau pentru a înlănțui numele și prenumele sau pentru a converti dată la un câmp șir.

External Procedure

Funcționează cu procedurile create în afara interfeței Designer pentru a extinde funcționalitatea PowerCenter.

Filter Transformation

Permite trecerea rândurilor care satisfac condiția filtrului specificat și elimină rândurile care nu îndeplinesc condiția.

De exemplu, pentru a găsi toți angajații care lucrează în New York sau pentru a afla toți membri facultății de Chimie într-un stat. Porturile de intrare pentru filtrul trebuie să vină de la o singură transformare. Nu poate înlănțui porturile de la mai multe transformări.

Joiner Transformation

Acesta este folosit pentru a uni date din două surse eterogene aflate în diferite locații sau pentru a uni date din aceeași sursă. Trebuie să existe cel puțin una sau mai multe perechi identice de coloane între surse și trebuie specificat o sursă ca master și alta ca detaliu.

De exemplu, pentru a lega un fișier plat și o sursă relațională sau două fișiere plate.

Transformarea Joiner suportă următoarele tipuri de joinuri:

Acest tip de join unește toate rândurile atât din detail cât și din master care nu satisfac condiția.
• Master Outer

Unește toate rândurile care nu satisfac condiția din master și păstrează toate rândurile din detail cât și pe cele identice din master.

• Detail Outer

Leagă rândurile din detail păstrându-le pe cele identice cu cele din master. Toate rândurile din master rămân.

• Full Outer

Păstrează toate rândurile din master și detail.

Lookup Transformation

Este utilizat pentru a căuta date într-un fișier plat, tabela relaționala, view. Se compară porturile de intrare ale lookup-ului cu valorile coloanelor sursă pe baza condiției. Valorile returnate pot fi folosite de alte transformări. Se poate crea o definiție a lookup-ului de la un source qualifier și se pot folosi mai multe transformări într-o mapa.

Sequence Generator Transformation

Este folosit pentru a crea valori unice ale unei chei primare sau ale ciclului printr-o serie secvențială de numere sau pentru a înlocui lipsa cheilor primare. Acesta are două porturi de ieșire: NEXTVAL și CURRVAL. Nu se pot edita sau șterge aceste porturi. De asemenea, nu se pot adăuga porturi la transformare. Portul NEXTVAL generează o secvență de numere prin conectarea la o transformare sau țintă. CURRVAL este valoarea NEXTVAL plus unul sau NEXTVAL plus sporul de valoare.

Sorter Transformation

Acesta este utilizat pentru sortarea datelor, fie în ordine crescătoare sau descrescătoare în funcție de o cheie de sortare specificată. Când se creează o transformare Sortare într-o cartografiere, se specifica unul sau mai multe porturi, ca o cheie de sortare și se configurează fiecare port pentru a sorta în ordine crescătoare sau descrescătoare.

Source Qualifier Transformation

Transformarea Source Qualifier este folosită pentru reprezentarea rândurilor pe care Integration Service le citește când rulează o sesiune. Transformă tipurile de date sursa în tipuri de date native specifice Informatica.

Informatica este un instrument ușor de folosit având o interfață vizuală simplă în care trebuiesc glisate și fixate diferite obiecte (cunoscute sub numele de transformări) și creat fluxul procesului de proiectare pentru transformare, extragerea de date și încărcarea acestora. Aceste diagrame de flux de proces sunt cunoscute ca mapări. Odată ce o mapare este făcută, ea poate fi programata să ruleze oricând este necesar. În fundal, serverul Informatici are grijă de preluarea datelor de la sursa, transformând-ule și de încărcarea acestora în sistemele / bazele de date țintă. Poate comunica cu toate sursele de date importante (mainframe / RDBMS / fișiere / XML / VSM / SAP, etc), poate muta / transforma date între ele. Poate muta volume mari de date într-un mod foarte eficient, de multe ori mai bine chiar decât programe special scrise pentru circulația datelor. Este capabil de a uni în mod eficient datele din două surse distincte (chiar un fișier XML poate fi unit cu un tabel relațional), are capacitatea de a integra în mod eficient surse de date eterogene și de a converti date în informații utile. [INF11]

4. Aplicarea virtualizării în cadrul instituției bancare

– departamentul de credite

4.1 Definirea problemei

4.1.1 Obiectul analizei

Instituția bancara dorește să obțină avantaj competitiv pe piață, folosindu-se de procesul ETL și de virtualizare.

Banca face parte dintr-un grup international având 7 sucursale în Romania, cu sediul central la București și peste 20.000 de clienți. Având ca obiect principal de activitate atragerea de depozite și acordarea de credite, în această lucrare se va analiza activitatea de creditare, aceasta având o pondere mai mare în ansamblul activelor bancare.

Activitatea de creditare se desfășoară în cadrul departamentului de credite și reprezintă unul dintre cele mai importante elemente ale băncii reprezentând o sursa importanta de câștig. Câștigul băncii provine din rata dobânzii la care se acordă creditul și din comisioane.

Riscul de credit este cel mai important risc în domeniul creditării de aceea, calculul acestuia este un element cheie în această lucrare.

Actul creditării include trei etape principale:

(1) Dezvoltarea afacerii și analiza de credit; (2) Acordarea și administrarea creditului; (3) Revederea creditului până la rambursarea integrală a acestuia.

Fiecare etapă cuprinde anumite detalieri care reflectă politica de creditare a băncii, stabilită de Comitetul de credit. În această lucrare se vor investiga și implementa, în special, analiza și acordarea de credite. Scopul urmărit este acela de a exemplifica și de a identifica caracteristicile generale ale clienților, punctele forte/slabe ale acestui proces. Datorită contextului economic actual, banca a decis să-și închidă sucursalele din țară rămânând astfel un sediu central unic. Pentru a susține acest transfer de date și pentru a nu perturba activitatea de creditare banca a ales să implementeze Informatica Powercenter ca instrument de ETL. Atât poziția pe piață cât și renumele adus în decursul ultimilor ani au reprezentat motive întemeiate pentru aceasta alegere. Odată cu recunoașterea ETL ca fiind un proces critic, soluția de înaltă performanță oferită de Informatica pentru accesarea și integrarea datelor din aproape orice sistem business a devenit alegerea optima pentru banca. Informatica Powercenter livrează capabilități robuste și ușor de folosit care simplifică dezvoltarea depozitelor de date. Flexibilitatea procesului ETL este îmbunătățită cu ajutorul abilității de a extrage mai multe tipuri de date decât orice tehnologie aflată pe piață.

4.2 Definirea datelor

Datele folosite în această lucrare au fost furnizate din interiorul departamentului în urma unui proces atent de. Datele provin din mai multe tipuri de fișiere: excel cât și din baza de date a departamentului. Aceste fișiere conțin informații despre clienți: venit, nume, vârsta, cnp, adresa, tipul contului și lichiditate; informații despre comisioane, dobânzi, valuta creditului, solduri, asigurări.

Datorită numărului diversificat de surse a fost necesară o prelucrare anterioară care să asigure o curățare atentă a datelor astfel încât rezultatul final să nu fie perturbat de date incorecte, eronate sau lipsa. Pentru a menține logica de business impusă de managerii băncii, o partea datelor au fost centralizate folosind "Oracle Sql Developer", iar restul încărcate direct în Informatica Powercenter. Au fost realizate diverse interogări precum select-uri, insert-uri, update-uri, join-uri, funcții de grup, etc., atât în Sql Developer cât și în Informatica.

4.2.1 Proiectarea modelului relațional

După analizarea modelului real, s-au identificat entitățile și relațiile dintre ele, s-au fixat atributele și cheile primare. Proiectarea corectă a structurii bazei de date este un principiu fundamental ce trebuie luat în calcul pentru evitarea anomaliilor ce pot apărea în urma unei proiectări eronate. După parcurgerea tuturor etapelor prezentate s-a desenat diagrama entitate-relație.

figura 4.1

Diagrama ERD

Conform modelului construit s-au creat tabelele și s-au definit constrângerile de integritate a datelor folosindu-se mediul de dezvoltare integrat Oracle SQL Developer.

figura 4.2

Baza de date in Sql Developer

4.2.2 Importarea și definirea tabelelor necesare implementării

Importarea datelor în Informatica Powercenter este un proces simplu ce permite utilizatorilor încărcarea datelor de diverse formate.

PowerCenter poate accesa următoarele surse:

relaționale. Oracle, Sybase ASE, Informix, IBM DB2, Microsoft SQL Server, și Teradata.

fișier. Fix și plat delimitat, fișier COBOL, XML și web log.

aplicatie. Hyperion Essbase, WebSphere MQ, IBM DB2 OLAP Server, JMS, Microsoft Message Queue, PeopleSoft, SAP NetWeaver, SAS, Siebel, TIBCO și webMethods.

mainframe. Adabas, Datacom, IBM DB2 OS/390, IBM DB2 OS/400, IDMS, IDMS-X, IMS și VSAM.

altele. Microsoft Excel, Microsoft Access, și servicii de web externe.

PowerCenter poate încărca date în următoarele target-uri:

relaționale. Oracle, Sybase ASE, Sybase IQ, Informix, IBM DB2, Microsoft SQL Server, și Teradata.

fișier. Fix , plat delimitat și XML.

aplicație. Hyperion Essbase, WebSphere MQ, IBM DB2 OLAP Server, JMS, Microsoft Message Queue, PeopleSoft EPM, SAP NetWeaver, SAP NetWeaver BI, SAS, Siebel, TIBCO și webMethods.

mainframe. IBM DB2 pentru OS, IMS și VSAM

figura 4.3

Importarea datelor în Informatica

Tabela “Client” – Conține informații de bază referitoare la clienții ce doresc un credit. În această tabelă sunt stocate date ce ajută atât la identificarea clienților, cât și la obținerea unei imagini de ansamblu a situației financiare. Pe baza tabelelor “Client” și “Conturi” se obține o altă tabelă, numită “Credite acordate”. Această tabelă stochează doar clienții eligibili pentru credit.Clienții care nu îndeplinesc criteriul de eligibilitate sunt stocați în tabela “Credite neacordate”, ce va fi folosită în rapoarte viitoare. În acestă lucrare se vor analiza doar persoanele fizice.

Tabela “Produse Credit” – Această tabelă stochează informații referitoare la tipul creditului (nevoi personale, ipotecă imobiliară, auto), dobânda, comisioane și valuta creditului.

Tabela “Conturi” – Conține informații despre tipul conturilor (consum, credit, economii), valuta contului și IBAN-ului.

Tabela “Credite” – Este cea mai importantă tabelă, deoarece stochează atât datele din tabelele “Client” și “Produse credit” cât și informații referitoare la suma inițială, rata lunară, perioada acordării creditului, eligibilitatea și dobânda DAE.

Tabela “Credite acordate” – În această tabelă sunt reținute informații referitoare la următoarea rată de plată și la suma pe care clientul o mai are de plătit.

Tabela “Asigurare” – Provine dintr-un fișier Excel și stochează date despre tipul asigurării (șomaj, deces, boală, locuință, auto) și rata asigurării.

Pentru importarea unui fișier Excel în Informatica se urmăresc pașii:

– Crearea ODBC DSN

– Crearea conexiunii relaționale în Informatica Workflow Manager

– Importarea fișierului ca sursă în Repository

figura 4.4

Importare fișier EXCEL în Informatica

4.3 Implementarea aplicației

Ținând cont de ceea ce se dorește să se obțină (o analiză a caracteristicilor clienților pe baza criteriilor de eligibilitate pentru acordarea de credite) se dezvoltă mapări în Informatica Powercenter. Aceste mapări țin cont de logica de business a băncii, urmărind convențiile de denumire și aplicarea de linii directoare în cadrul mapelor.

Pentru atingerea obiectivului se parcurg următorii pași:

– preluarea datelor din diverse surse;

– încărcarea datelor în Informatica Powercenter;

– prelucrarea datelor prin intermediul mapelor;

– întocmirea rapoartelor necesare luării deciziilor;

– interpretarea rezultatelor;

4.3.1 Convenții și reguli în cadrul creării mapelor

În Informatica, ca în aproape orice instrument de dezvoltare, există limitări ale lungimii numelor. Din acest motiv, pentru a se păstra numărul de caractere impus (78), se aplică următoarele convenții de nume:

Pentru mape:

– m_numele_mapei ( m_acordare_credite)

Pentru sesiuni:

– s_numele_mapei (s_acordare_credite)

Pentru workflow:

– wf_numele_mapei (wf_acordare_credite)

Pentru o mai bună înțelegere a implementării se prefixează numele fiecărui câmp cu 2 sau 3 caractere din numele coloanei din care face parte. De exemplu, pentru câmpul ID_CLIENT din tabela 'CLIENT' vom avea cl_ID_CLIENT.

Toate transformările din cadrul mapărilor, conțin 2 sau 3 caractere ca prefix, care etichetează tipul de transformare. Aceste prefixe sunt ilustrate în următoarea tabelă. [ETL01]

4.3.2 Dezvoltarea mapelor

Următorul pas, după importarea tabelelor în Informatica, este crearea mapelor, urmărind logica de business.

În prima fază, este analizată cererea de credite stabilindu-se, după reguli clare, clienții eligibili pentru acordarea creditelor.

Înainte de începerea dezvoltării mapei se creează un folder în Repository Manager în care se depozitează toate elementele necesare unei dezvoltări : surse, target-uri, transformări, mape. Acest folder are numele sugestiv "CREDITARE".

figura 4.5

Crearea folder-ului 'Creditare'

Implementarea mapelor se face în Informatica PowerCenter Designer.

1. Acordare credit

Pentru crearea mapei se parcurg următorii pași:

În Mapping Designer, se selectează Mapping > Create și se denumește mapa

( figura 4.5)

În Source Analyzer se aduc din folder doar sursele folosite pentru mapă.

( figura 4.6)

În Target Designer se aduc din folder doar target-urile necesare mapei.

( figura 4.7)

figura 4.6

Denumire mapă

figura 4.7

Surse mapă

figura 4.8

Target mapă

Următorul pas în dezvoltarea mapei este aducerea surselor prin Drag&Drop în Mapping Designer. Odată cu acestea se conectează automat și Source Qualifier. Transformarea SQ are rolul de a converti tipul datelor sursă în tipul datelor din Informatica.

figura 4.9

Source Qualifier

Sortarea datelor se face cu ajutorul transformării 'Sorter'. În această transformare se sortează datele după o cheie, în general cea primara. Se adaugă un sorter pentru fiecare tabelă în parte. Porturile se unesc one-to-one.

figura 4.10

Sorter

Datorită numărului diversificat de surse, asocierea tabelelor nu s-a făcut în SQL Developer, acest rol revenind soft-ului Informatica. Pe baza foreign key-urilor definite în baza de date se asociază tabele prin transformarea 'Joiner'.

figura 4.11

Joiner

În următoarea transformare expresie 'Exp_prepare' se pregătesc toate câmpurile necesare dezvoltării ulterioare. De asemenea, se pot adăuga constrângeri sau calcula formule.

Expresia 'exp_business_rule' este cea mai importantă transformare din mapă, deoarece aici se implementează logica de business.

Această expresie este structurată în 3 părți:

-INPUT

-VARIABILE

-OUTPUT

În 'Input' sunt aduse câmpurile din 'exp_prepare'. În 'Variabile' sunt calculate expresii necesare formulelor viitoare. În 'Output' se află câmpurile din 'Input' cu prefixul 'out_' care fie sunt mapate one-to-one, fie conțin expresii sau formule.

Pentru a determina eligibilitate se calculează următorii indici:

rata_lunara

dobanda_dae

risc

rata_lunara = Ri + Ri * produse_credit.procent_dobanda + Ri * asigurare.procent_asigurare + credit.dobanda_dae + Ri * produse_credit.procent_comision + Risc

Unde:

Ri = credit.suma_initiala/credit.perioada_acordare

credit.dobanda_dae = Ri * dae.procent_dae

Risc = Ri * risc.procent_risc

figura 4.12

Business_rule

În următoarea expresie 'exp_business_rule1' se calculează costul creditului ce va fi folosit ulterior în rapoarte.

figura 4.13

Business_rule1

În final, se implementează criteriul de eligibilitate pe baza formulelor calculate în 'business_rule' cu ajutorul unui Router. Astfel, vom avea 2 grupuri definite în ' rtr_eligibilitate' pentru cele 2 target-uri.

CREDITE_ACORDATE = (client.venit – client.cheltuieli) > credit.rata_lunara

CREDITE_NEACORDATE = (client.venit – client.cheltuieli) < credit.rata_lunara

figura 4.14

Router eligibilitate

Mapa 'm_acordare_credite' va arăta astfel:

figura 4.15

Mapa acordare credite

2. Credite finale

În această mapă se vor relaționa tabela 'Credite Acordate' și tabela 'Conturi' rezultând astfel tabela 'Credite finale'.

Urmărind pașii de creare a mapei descriși mai sus am construit mapa 'm_credite'.

figura 4.16

Mapa credite finale

Această mapă ne permite obținerea unei descrieri de ansamblu a situației financiare a clienților prin unirea tabelelor sursă 'Conturi' și target 'Credite acordate' din mapa precedentă.

Următoarele transformări au avut loc:

După importarea surselor în Mapping Designer s-a construit un Joiner între tabela 'Conturi' și 'Credite acordate' având condiția:

ca.client = ct.client

figura 4.17

Tranformari mapa

Următorul pas a fost definirea câmpului 'outstanding' ce calculează cât mai are fiecare client de plătit din valoarea creditul contractat pe baza formulei:

ca_SUMA_INITIALA – ca_RATA_LUNARA *(ct_URM_RATA_PLATA – 1)

figura 4.18

Definirea formulei

În final, s-a ajuns la tabela 'Credite finale' ce conține toate informațiile necesare realizării rapoartelor ce vor identifica principalele caracteristici ale clienților.

figura 4.19

Target credite finale

4.3.3 Crearea workflow-urilor și sesiunilor

Sesiunile și workflow-urile stochează informații despre cum și când Integration Service transferă datele. Un workflow este un set de instrucțiuni care descrie cum și când să ruleze sarcinile legate de extragerea, transformarea și încărcarea datelor. O sesiune este un tip de activitate care poate fi atașat unui workflow și care poate aparține unei singure mapări.

Pentru crearea sesiunii se urmăresc pașii:

Sesiunile se crează și configurează în Powercenter Workflow Manager. După conectarea la folder-ul 'Creditare', selectăm Task Developer, iar din meniul de bare de sus Tasks > Create, se alege Session și numele sesiunii în concordanță cu convențiile de nume.

figura 4.20

Creare sesiune

În continuare se specifică cărei mape îi este atașată sesiunea.

figura 4.21

Selectare mapa pentru sesiune

Pentru crearea workflow-ului se urmăresc pașii:

1. În Workflow Designer se selectează Workflows > Create și se dă numele workflow-ului ( wf_acordare_credite ). Va apărea iconița 'Start'.

2. Se aduce sesiunea creată anterior în Workflow Manager prin Drag&Drop, iar din Tasks > Link Task se unește cu 'Start'.

figura 4.22

Creare Workflow

Atât în cazul sesiunilor, cât și al workflow-urilor, este foarte importantă setarea conexiunilor la baza de date sau excel driver pentru fiecare sursă și target în parte.

figura 4.23

După crearea workflow-urilor și a sesiunilor, putem verifica în Workflow Monitor, pe lângă baza de date din SQL Developer, dacă datele au fost citite și scrise în baza corect. În cazul în care rularea workflow-ului a fost reușită, dar datele nu au fost fie citite, fie inserate trebuie verificate conexiunile la baza de date. Informatica dispune de un debugger care poate fi folosit pentru a urmări fluxul de date din mape și identifică posibilele erori.

Pentru rularea workflow-ului se deschide Workflow Monitor din Developer sau click dreapta în Workflow Manager > Start workflow.

figura 4.24

Rulare Workflow

figura 4.25

Verificare flux de date

După cum se poate observa din figurile de mai sus, datele au fost citite și inserate cu succes rezultând împărțirea clienților în cele doua tabele 'Credite acordate' și 'Credite neacordate'.

4.4 Crearea rapoartelor

Pentru 'transformarea' datelor în informații este necesară realizarea rapoartelor, acestea reprezentând un element esențial în procesul decizional al băncii.

Având la bază date corecte și urmărind logica de business a băncii, rapoartele vor reflecta caracteristicile clienților care au aplicat pentru un credit.

Banca dorește să afle informații despre:

Care este ponderea creditelor acordate?

Câți clienți își fac asigurare? Ce tip de asigurare predomină?

Care sunt venitul și vârsta medie ale clienților?

Clienții in functie de categoria pe venit.

Clienții cu conturi în valuta.

Cat plateste un client in plus pentru creditul acordat?

Care este media de lichiditate pe client?

Crearea rapoartelor s-a realizat în Oracle SQL Developer si Crystal Reports, folosind datele din tabelele 'Credite acordate', 'Credite neacordate' și 'Credite finale'.

Pentru crearea rapoartelor s-au urmărit pași:

În bara de meniu de sus se selectează View > Reports > User defined reports > New report

figura 4.26

Creare rapoart

1. Analiza creditelor pe valute

Pentru a obține analiza creditelor pe valute s-a realizat următorul raport in Crystal Reports:

figura 4.27

Raport valute

2. Clientii cu conturi in euro

Următorul raport prezintă clienții care au conturi în euro. Raportul a fost exportat într-un fișier HTML, care permite cautarea în funcție de orice coloană.

SQL: select id_client, nume, prenume, varsta, venit

from credite_finale

where valuta_credit = 'EUR'

figura 4.28

Raport credite euro

figura 4.29

Raport 2 credite euro

3. Categorii de venit

În cel de-al 3-lea raport sunt prezentați clienții eligibili/neeligibili în funcție de categoria de venit în care aceștia sunt încadrați.

SQL Master Report : select decode (TRUNC (venit/1000, 0),

0, 'Sub medie',

1, 'Sub medie',

2, 'Sub medie',

3, 'Mediu',

4, 'Mediu',

5, 'Mediu',

6, 'Peste medie',

7, 'Peste medie',

8, 'Peste medie') Categorie_venit, count(*) Numar

from clienti

group by

decode (TRUNC (venit/1000, 0),

0, 'Sub medie',

1, 'Sub medie',

2, 'Sub medie',

3, 'Mediu',

4, 'Mediu',

5, 'Mediu',

6, 'Peste medie',

7, 'Peste medie',

8, 'Peste medie'

)

SQL Child Report : select id_client, nume, prenume

from clienti

where decode (TRUNC (venit/1000, 0),

0, 'Sub medie',

1, 'Sub medie',

2, 'Sub medie',

3, 'Mediu',

4, 'Mediu',

5, 'Mediu',

6, 'Peste medie',

7, 'Peste medie',

8, 'Peste medie') = :CATEGORIE_VENIT

Deoarece Sql Developer nu permite crearea de relații Parent>Child>Child, raportul generat a fost exportat într-un fișier XML unde s-a putut adaugă încă un child.

SQL : select nvl2((select id_client from credite_acordate where id_client = :ID_CLIENT),'Eligibil', 'Neeligibil') "Eligibilitate" FROM DUAL]

figura 4.30

Fisier XML raport

Așadar s-a obținut un raport din care se pot afla clienții care sunt eligibili/neeligibili în funcție de categoria de venit în care sunt încadrați.

figura 4.31

Raport categorii de venit

4. Distributie tip credit-valuta

Acest raport s-a realizat in Crystal Reports si evindentiaza numarul de credite acordate in functie de valuta acestora.

figura 4.32

Raport distributie tip credit – valuta

5. Concluzii

Procesul decizional este cel mai important aspect într-o companie deoarece poate determina succesul sau insuccesul pe termen scurt, mediu sau lung. Într-o societate în continuă schimbare și evoluție, prezenta competitiva rămâne un obiectiv pentru toți managerii ce doresc ca proiectele lor să cunoască succesul. Virtualizarea, împreuna cu procesul ETL și cu o bună administrare a datelor ajută la îndeplinirea acestui obiectiv, prin facilitarea și asigurarea accesului rapid la date, atât pentru manageri cât și pentru subordonații acestora, prin îmbunatățirea calității datelor și prezicerea riscurilor ce pot compromite afacerea.

În Romania, companiile se află încă într-o fază incipientă în ceea ce privește implementarea soluțiilor de virtualizare, însă acest aspect trebuie privit ca pe o oportunitate de viitor datorită avantajelor pe care le aduce o astfel de implementare.

În prezent, domeniul bancar se confruntă cu o cantitate mare de date ce provine din mai multe surse, având diferite formate. Din aceste motive, este necesară o soluție de virtualizare și de tehnologii precum Informatica, ce pot îngloba volume uriașe de date și a le aduce la un numitor comun, ajutând astfel procesul decizional.

Obiectivul acestei lucrări este de a exemplifica utilizarea virtualizării în cadrul departamentului de creditare a unei bănci, având ca scop final realizarea unor rapoarte ce reflectă comportamentul clienților actuali. Pe baza acestui exercițiu se pot pune bazele unui proiect mai amplu, într-un context real ce are ca fundament virtualizarea și utilizarea platformei Informatica.

În final, această lucrare reprezintă o oportunitate de îmbunatățire a activității desfășurate în cadrul departamentului de creditare. Cu ajutorul implementării acestei tehnologii obținerea rapoartele se face într-un timp scurt, acestea reflectând realitatea.

Bibliografie

[LAN12] – Data Virtualization in Business Intelligence Arhitecture, Rick F. van der Lans, ed. Morgan Kaufmann, 2012

[INF11] – Informatica PowerCenter Getting Started versiunea 9.x, document intern IBM

[WEB01] – Informatica Economica vol. 15, no. 4/2011, disponibil la http://revistaie.ase.ro/content/60/08%20-%20Bologa.pdf

[WEB02] – Magic Quadrant for integration data, Gartner Group, disponibil la http://www.gartner.com/technology/reprints.do?id=1-1CYG9N1&ct=121127&st=sb

[WEB03] – Incarcarea fisierelor Excelor in Informatica PowerCenter, disponibil la http://www.clearpeaks.com/blog/etl/ms-excel-spreadsheets-as-a-data-source-in-informatica-powercenter

[ETL01] – ETL Guidelines, document intern IBM

[POP01] – Modelarea bazelor de date, Editura Tehnică, POPESCU. I, 2001

Lista figurilor

Figura 2-1 Studiu privind luarea deciziilor 4

Figura 2-2 Surse integrate 5

Figura 2-3 Exemplificarea scăderii cantității de cod 6

Figura 2-4 Data virtualization layer 7

Figura 2-5 Integration code 7

Figura 3-1 Magic Quadrant pentru instrumente de integrare a datelor 11

Figura 3-2 Arhitectura Informatica PowerCenter 14

Figura 3-3 Interfața Designer 16

Figura 3-4 Interfața Repository Manager 17

Figura 3-5 Interfața Worflow Designer 18

Figura 3-6 Interfața Workflow Monitor 19

Figura 4-1 Diagrama ERD 25

Figura 4-2 Baza de date in Sql Developer 26

Figura 4-3 Importarea datelor în Informatica 27

Figura 4-4 Importare fișier EXCEL în Informatica 28

Figura 4-5 Creare folder-ului 'Creditare' 30

Figura 4-6 Denumire mapă 31

Figura 4-7 Surse mapă 31

Figura 4-8 Target mapă 31

Figura 4-9 Source Qualifier 32

Figura 4-10 Sorter 32

Figura 4-11 Joiner 33

Figura 4-12Business rule 34

Figura 4-13 Cost credit 34

Figura 4-14 Router egibilitate 35

Figura 4-15 Mapă acordare credite 35

Figura 4-16 Mapă credite finale 36

Figura 4-17 Transformări mape 37

Figura 4-18 Definirea formulelor 37

Figura 4-19 Target credite finale 38

Figura 4-20 Creare sesiune 38

Figura 4-21 Selectare mapă pentru sesiune 39

Figura 4-22 Creare workflow 39

Figura 4-23 Conexiuni sesiune si workflow 40

Figura 4-24 Rulare workflow 40

Figura 4-25 Verificare flux de date 41

Figura 4-26 Creare rapoarte 42

Figura 4-27 Raport valute 42

Figura 4-28 Raport credite euro 43

Figura 4-29 Raport 2 credite euro 43

Figura 4-30 Fișier XML raport 44

Figura 4-31 Raport categorii de venit 45

Figura 4-32 Raport distributie tip-credit valuta 46

Anexă

Crearea tabelei CLIENTI

CREATE TABLE client

( id_client NUMBER NOT NULL,

venit NUMBER NOT NULL,

nume VARCHAR2(20 BYTE) NOT NULL,

prenume VARCHAR2(20 BYTE) NOT NULL,

varsta NUMBER NOT NULL,

cnp VARCHAR2(13 BYTE) NOT NULL,

adresa VARCHAR2(60 BYTE) NOT NULL,

telefon NUMBER(10),

email VARCHAR2(40 BYTE),

lichiditate NUMBER,

cheltuieli NUMBER,

CONSTRAINT "CLIENT_PK" PRIMARY KEY (id_client)

);

Crearea tabelei CONTURI

CREATE TABLE conturi

( id_cont NUMBER(5) PRIMARY KEY,

id_client NUMBER NOT NULL,

tip_cont VARCHAR2(20 BYTE),

valuta_cont VARCHAR2(20 BYTE),

sold_cont NUMBER,

urm_rata NUMBER,

outstanding NUMBER,

iban VARCHAR2(24 BYTE) NOT NULL,

FOREIGN KEY(id_client)

REFERENCES client(id_client)

ON DELETE CASCADE

);

Crearea tabelei PRODUSE_CREDIT

CREATE TABLE produse_credit

( id_produs_credit NUMBER PRIMARY KEY,

tip_credit VARCHAR2(30 BYTE) NOT NULL,

procent_dobanda NUMBER,

procent_comision NUMBER,

valuta_credit VARCHAR2(20 BYTE)

);

Crearea tabelei CREDITE

CREATE TABLE credite

( id_credit NUMBER PRIMARY KEY,

id_produs_credit NUMBER NOT NULL,

id_client NUMBER NOT NULL,

suma_initiala NUMBER NOT NULL,

rata_lunara NUMBER,

perioada_acordare NUMBER,

procent_risc NUMBER NOT NULL,

dobanda_dae NUMBER,

id_asigurare NUMBER,

procent_risc NUMBER,

FOREIGN KEY (id_produs_credit)

REFERENCES produse_credit(id_produs_credit),

FOREIGN KEY (id_client)

REFERENCES clienti(id_client)

);

Crearea tabelei CREDITE_ACORDATE

CREATE TABLE credite_acordatee

( id_client NUMBER NOT NULL,

nume VARCHAR2(40 BYTE) NOT NULL,

prenume VARCHAR2(40 BYTE) NOT NULL,

venit NUMBER,

cheltuieli NUMBER,

varsta NUMBER,

cnp NUMBER NOT NULL,

lichiditate NUMBER,

suma_initiala NUMBER,

tip_asigurare VARCHAR2(15 BYTE),

cost_credit NUMBER,

tip_credit VARCHAR2(20 BYTE),

adresa VARCHAR2(60 BYTE),

telefon NUMBER,

email VARCHAR2(40 BYTE),

perioada_acordare NUMBER,

dobanda_dae NUMBER,

procent_dobanda NUMBER,

procent_comision NUMBER,

valuta_credit VARCHAR2(3 BYTE),

procent_risc NUMBER,

rata_lunara NUMBER,

procent_asigurare NUMBER,

urm_rata NUMBER,

outstanding NUMBER

);

Crearea tabelei CREDITE_NEACORDATE

CREATE TABLE credite_neacordate

( id_client NUMBER NOT NULL,

nume VARCHAR2(40 BYTE) NOT NULL,

prenume VARCHAR2(40 BYTE) NOT NULL,

venit NUMBER,

cheltuieli NUMBER,

varsta NUMBER,

cnp NUMBER NOT NULL,

lichiditate NUMBER,

suma_initiala NUMBER,

tip_asigurare VARCHAR2(20 BYTE),

cost_credit NUMBER,

tip_credit VARCHAR2(15 BYTE),

rata_lunara NUMBER(15,2)

);

Crearea tabelei DAE

CREATE TABLE dae

( id_dae NUMBER PRIMARY KEY,

id_produs_credit NUMBER NOT NULL,

procent_dae NUMBER,

FOREIGN KEY(id_produs_credit)

REFERENCES produse_credit(id+produs_credit)

ON DELETE CASCADE

);

Operatiile de inserare (un exemplu din fiecare tabela)

Insert into client (id_client, venit, nume, prenume, varsta, cnp, adresa, telefon, email, lichiditate, cheltuieli) values (1007, 1670, 'petrache', 'andrei', 30, '[anonimizat]', 'barajul bistritei, 12, bl.4, sc.1, ap.100, sect.3', 213411643, '[anonimizat]' ,0,870);

Insert into conturi (id_cont, id_client, tip_cont, valuta_cont, sold_cont, iban) values (2001, 1001, 'credit', 'ron', 0, 'ro36ingb0000999900856191');

Insert into credite (id_credit, id_produs_credit, id_client, suma_initiala, rata_lunara, perioada_acordare, dobanda_dae, id_asigurare, procent_risc) values (4001, 3003, 1005, 20000, null, 5, 7, 6, null);

Insert into produse_credit (id_produs_credit, tip_credit, procent_dobanda, procent_comision, valuta_credit) values (3001, 'nevoie personale', 12,9, 'ron');

Insert into dae (id_dae, id_produs_credit, procent_dae) values (1, 3001, 5);

COMMIT;

Bibliografie

[LAN12] – Data Virtualization in Business Intelligence Arhitecture, Rick F. van der Lans, ed. Morgan Kaufmann, 2012

[INF11] – Informatica PowerCenter Getting Started versiunea 9.x, document intern IBM

[WEB01] – Informatica Economica vol. 15, no. 4/2011, disponibil la http://revistaie.ase.ro/content/60/08%20-%20Bologa.pdf

[WEB02] – Magic Quadrant for integration data, Gartner Group, disponibil la http://www.gartner.com/technology/reprints.do?id=1-1CYG9N1&ct=121127&st=sb

[WEB03] – Incarcarea fisierelor Excelor in Informatica PowerCenter, disponibil la http://www.clearpeaks.com/blog/etl/ms-excel-spreadsheets-as-a-data-source-in-informatica-powercenter

[ETL01] – ETL Guidelines, document intern IBM

[POP01] – Modelarea bazelor de date, Editura Tehnică, POPESCU. I, 2001

Anexă

Crearea tabelei CLIENTI

CREATE TABLE client

( id_client NUMBER NOT NULL,

venit NUMBER NOT NULL,

nume VARCHAR2(20 BYTE) NOT NULL,

prenume VARCHAR2(20 BYTE) NOT NULL,

varsta NUMBER NOT NULL,

cnp VARCHAR2(13 BYTE) NOT NULL,

adresa VARCHAR2(60 BYTE) NOT NULL,

telefon NUMBER(10),

email VARCHAR2(40 BYTE),

lichiditate NUMBER,

cheltuieli NUMBER,

CONSTRAINT "CLIENT_PK" PRIMARY KEY (id_client)

);

Crearea tabelei CONTURI

CREATE TABLE conturi

( id_cont NUMBER(5) PRIMARY KEY,

id_client NUMBER NOT NULL,

tip_cont VARCHAR2(20 BYTE),

valuta_cont VARCHAR2(20 BYTE),

sold_cont NUMBER,

urm_rata NUMBER,

outstanding NUMBER,

iban VARCHAR2(24 BYTE) NOT NULL,

FOREIGN KEY(id_client)

REFERENCES client(id_client)

ON DELETE CASCADE

);

Crearea tabelei PRODUSE_CREDIT

CREATE TABLE produse_credit

( id_produs_credit NUMBER PRIMARY KEY,

tip_credit VARCHAR2(30 BYTE) NOT NULL,

procent_dobanda NUMBER,

procent_comision NUMBER,

valuta_credit VARCHAR2(20 BYTE)

);

Crearea tabelei CREDITE

CREATE TABLE credite

( id_credit NUMBER PRIMARY KEY,

id_produs_credit NUMBER NOT NULL,

id_client NUMBER NOT NULL,

suma_initiala NUMBER NOT NULL,

rata_lunara NUMBER,

perioada_acordare NUMBER,

procent_risc NUMBER NOT NULL,

dobanda_dae NUMBER,

id_asigurare NUMBER,

procent_risc NUMBER,

FOREIGN KEY (id_produs_credit)

REFERENCES produse_credit(id_produs_credit),

FOREIGN KEY (id_client)

REFERENCES clienti(id_client)

);

Crearea tabelei CREDITE_ACORDATE

CREATE TABLE credite_acordatee

( id_client NUMBER NOT NULL,

nume VARCHAR2(40 BYTE) NOT NULL,

prenume VARCHAR2(40 BYTE) NOT NULL,

venit NUMBER,

cheltuieli NUMBER,

varsta NUMBER,

cnp NUMBER NOT NULL,

lichiditate NUMBER,

suma_initiala NUMBER,

tip_asigurare VARCHAR2(15 BYTE),

cost_credit NUMBER,

tip_credit VARCHAR2(20 BYTE),

adresa VARCHAR2(60 BYTE),

telefon NUMBER,

email VARCHAR2(40 BYTE),

perioada_acordare NUMBER,

dobanda_dae NUMBER,

procent_dobanda NUMBER,

procent_comision NUMBER,

valuta_credit VARCHAR2(3 BYTE),

procent_risc NUMBER,

rata_lunara NUMBER,

procent_asigurare NUMBER,

urm_rata NUMBER,

outstanding NUMBER

);

Crearea tabelei CREDITE_NEACORDATE

CREATE TABLE credite_neacordate

( id_client NUMBER NOT NULL,

nume VARCHAR2(40 BYTE) NOT NULL,

prenume VARCHAR2(40 BYTE) NOT NULL,

venit NUMBER,

cheltuieli NUMBER,

varsta NUMBER,

cnp NUMBER NOT NULL,

lichiditate NUMBER,

suma_initiala NUMBER,

tip_asigurare VARCHAR2(20 BYTE),

cost_credit NUMBER,

tip_credit VARCHAR2(15 BYTE),

rata_lunara NUMBER(15,2)

);

Crearea tabelei DAE

CREATE TABLE dae

( id_dae NUMBER PRIMARY KEY,

id_produs_credit NUMBER NOT NULL,

procent_dae NUMBER,

FOREIGN KEY(id_produs_credit)

REFERENCES produse_credit(id+produs_credit)

ON DELETE CASCADE

);

Operatiile de inserare (un exemplu din fiecare tabela)

Insert into client (id_client, venit, nume, prenume, varsta, cnp, adresa, telefon, email, lichiditate, cheltuieli) values (1007, 1670, 'petrache', 'andrei', 30, '[anonimizat]', 'barajul bistritei, 12, bl.4, sc.1, ap.100, sect.3', 213411643, '[anonimizat]' ,0,870);

Insert into conturi (id_cont, id_client, tip_cont, valuta_cont, sold_cont, iban) values (2001, 1001, 'credit', 'ron', 0, 'ro36ingb0000999900856191');

Insert into credite (id_credit, id_produs_credit, id_client, suma_initiala, rata_lunara, perioada_acordare, dobanda_dae, id_asigurare, procent_risc) values (4001, 3003, 1005, 20000, null, 5, 7, 6, null);

Insert into produse_credit (id_produs_credit, tip_credit, procent_dobanda, procent_comision, valuta_credit) values (3001, 'nevoie personale', 12,9, 'ron');

Insert into dae (id_dae, id_produs_credit, procent_dae) values (1, 3001, 5);

COMMIT;

Similar Posts