Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael...

110
Hogeschool-Universiteit Brussel Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ Studentennummer: 229499 Vak: Stage in België

Transcript of Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael...

Page 1: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

Hogeschool-Universiteit

Brussel

Academiejaar 2011-2012

Toegepaste Informatica

Naam: Michael Brunclair

Klasgroep: 3IZ

Studentennummer: 229499

Vak: Stage in België

Page 2: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

Voorwoord

Toen ik begon aan mijn stage bij FedEx, was het een sprong in het grote onbekende.

Ik kende wel mensen die er werkten, maar niet de manier waarop er gewerkt werd.

Toen ik te horen kreeg dat ik ETL ging ontwikkelen en daar rapporten op ging

maken, wist ik niet goed wat ik ervan moest denken. Maar mijn teamleden hebben

mij door de eerste weken geloodst hebben en mij zijn blijven steunen en helpen met

een glimlach, wat het ook voor mij een plezier maakte om elke dag te komen werken.

Bij deze wil ik mijn teamleden: Vincent Bersez, David Delabelle, Leena Domun, Mark

De Vits en Parthasarathi Ganesan, en mijn manager, Peter De Boel bedanken voor

hun vertrouwen dat ze in mij hebben getoond en hun steun die het mogelijk maakte

voor mij om de eerste stappen te zetten in de BI-wereld. Ik wil ook Myriam De Wolf

bedanken om mij een stageplaats te bezorgen bij dit team.

Page 3: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1

Inleiding Toen ik het bedrijf moest kiezen voor mijn stage , heb ik besloten dat FedEx me de uitdagingen en de kansen zou bieden die ik nodig heb om te evolueren naar iemand die klaar is om het professionele leven in te gaan . Werken bij FedEx biedt heel wat voordelen ten opzichte van leren en werken. Omdat het zo'n groot bedrijf ( 300.000 + werknemers ) is , zal ik in staat zijn om te werken in een multi-culturele omgeving. Ook mede door het feit dat het zo‟n groot bedrijf is zal ik strikte procedures moeten volgen want een groot bedrijf kan het zich niet veroorloven om te werken met verschillende systemen en principes , omdat er dan chaos zou volgen en de projecten en processen zeer inefficiënt zouden ontwikkeld worden. Mijn collega's en ik zullen werken in een team op het vlak van informatie-uitwisseling en opleiding , maar het project zelf zal rusten op mijn schouders , dus ik heb een unieke mix van teamspel en werken in eenzaamheid . Het Global Development Process, dat bij FedEx wordt gebruikt als richtlijn voor projecten, zal mij de mogelijkheden bieden om te werken aan mijn zwakkere administratieve vaardigheden door het eisen van goede Business Requirements , Software Requirements, etc te maken ... Deze documenten zal ik maken met een Agile mindset, die mij het toelaat van de documenten aan te passen terwijl ik in de ontwikkelingsfase van het project zit. Aangezien ik dit project end-to-end zal doen, zal ik veel moeten leren over de technologiën en technieken die FedEx gebruikt. Een van de programma‟s waar ik mee zal moeten leren is TeamForge, een overkoepelend systeem dat eenvoudig toegang biedt tot projectdocumentatie . Het is een web-interface die informatie over de projecten en de documentatie weergeeft . Voor de projecten zelf , zal ik Informatica PowerCenter gebruiken om ETL toe te passen om de enorme hoeveelheden gegevens die gevonden kunnen worden in de databases aan te passen en door te sturen. Ik heb alleen maar oppervlakkig iets gehoord over ETL dus is dit een kans om iets helemaal nieuw bij te leren. Als een manier om de data verzameld door ETL in een gebruiksvriendelijke en volledige wijze informatie weer te geven, zal Business Objects goed te pas komen. Het lijkt op Access rapportage , zodat het een beetje makkelijker te leren zal zijn dan een compleet nieuwe technologie, maar ik zal moeten rekening houden met de behoeften van het bedrijf, in plaats van alleen informatie die ik denk dat getoond zou moeten worden weer te geven . Werken bij FedEx zal zeker een uitdaging zijn, maar de beloningen zijn er in overvloed, als ik rekening hou met de vaardigheden die ik zal verwerven door hier te werken, zowel de soft skills ( communicatie in een multi-culturele omgeving ) als de hard skills ( transformeren van de gegevens, zodat het kan worden begrepen door de dagelijkse gebruikers) .

Page 4: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

2

Inhoudsopgave Voorwoord .................................................................................................................. 0

Inleiding ...................................................................................................................... 1

Overzicht van specifieke termen en afkortingen ......................................................... 4

Deel 1 Algemene beschrijving van de stage-opdracht ................................................ 5

1.1 ETL Monitoring .................................................................................................. 5

1.2 CT Meter Reporting ........................................................................................... 7

Deel 2 Technische uitwerking ..................................................................................... 8

2.1 ETL Reporting ................................................................................................... 8

2.1.1 Verzamelen van nodige informatie .............................................................. 8

2.1.2 Database Development ............................................................................... 8

2.1.3 ETL Development ........................................................................................... 8

2.1.4 BO Development ............................................................................................ 9

2.1.5 Testing............................................................................................................ 9

2.2 CT Meter Reporting ......................................................................................... 10

2.1.1 Verzamelen van nodige informatie ............................................................ 10

2.1.2 Database Development ............................................................................. 11

2.1.3 ETL Development ......................................................................................... 11

2.1.4 BO Development .......................................................................................... 12

2.1.5 Testing.......................................................................................................... 12

Deel 3 Kritische SWOT-analyse van het resultaat .................................................... 13

3.1 Strengths ......................................................................................................... 13

3.2 Weaknesses .................................................................................................... 13

3.3 Opportunities ................................................................................................... 13

3.4 Threats ............................................................................................................ 13

Deel 4 Persoonlijk onwtwikkeingsplan (focuscompetenties) ..................................... 14

4.1 actief communiceren in drie talen (mondeling en schriftelijk) ...................... 14

4.2 relaties met collega‟s, opdrachtgevers en/of klanten onderhouden ............ 14

4.3 informatiebehoefte van een organisatie gestructureerd en overzichtelijk

weergeven, gebruik makend van analyse- en modelleringstechnieken ................. 14

4.4 gegevens verzamelen, opslaan en ter beschikking stellen zodat deze op een

correcte en gebruiksvriendelijke manier kunnen worden opgevraagd ................... 15

4.5 een IT-opdracht projectmatig en teamgericht aanpakken met respect voor de

planning ................................................................................................................. 15

Page 5: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

3

Bronnenoverzicht ...................................................................................................... 16

Bijlagen ..................................................................................................................... 17

1. Meetings ........................................................................................................ 0

2. GDP compliant documents ............................................................................ 5

Business Requirements Specification .................................................................... 5

Software Requirements ...................................................................................... 13

3. Further project documentation ..................................................................... 19

ERD first version ................................................................................................ 19

ERD final version ............................................................................................... 20

SQL .................................................................................................................... 21

Workflows .......................................................................................................... 24

BO reporting ....................................................................................................... 25

Reference document .......................................................................................... 27

Code Review ........................................................................................................ 0

Report week 3 ...................................................................................................... 1

Report week 4 ...................................................................................................... 3

Report week 5 ...................................................................................................... 5

Report week 6 ...................................................................................................... 7

Report week 7 ...................................................................................................... 9

Report week 8 .................................................................................................... 11

Report week 9 .................................................................................................... 13

Report week 10................................................................................................... 15

Timetable ............................................................................................................. 0

Presentatie ........................................................................................................... 3

Page 6: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

4

Overzicht van specifieke termen en afkortingen

BO: Business Objects

Een tool waarmee je reports kunt maken van de data die je verzamelt.

BI: Business Intelligence

De analyse van rauwe data tot iets dat men kan gebruiken om de Business te

verbeteren.

BR/BRS: Business Requirements

EMEA: Europe, Middle East, Africa and Indian subcontinent

De aanduiding voor onze regio binnen FedEx.

ETL: Extract, Transform, Load

Een manier om data te manipuleren en in andere databases te stoppen, de tool die

bij FedEx gebruikt wordt is Informatica Powercenter

FedEx: Federal Express

Het stagebedrijf, een van de grootste koerierdiensten ter wereld.

IPC:Informatica Powercenter

De tool om ETL toe te passen die gebruikt wordt bij FedEx.

GDP: Global Development Process

Het proces dat het verloop van een project dicteert en welke benchmarks er zijn.

OEM: Oracle Enterprise Manager

Een tool om uw servercloud te beheren.

SR/SRS: Software Requirements

Meter: Aanzien als een klant

Direct Served: De landen waar FedEx zelf aanwezig is

Page 7: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

5

Deel 1 Algemene beschrijving van de stage-opdracht

1.1 ETL Monitoring

Het BI-team van FedEx EMEA zou meer informatie moeten hebben om te zien of er

workflows falen en wanneer dat juist gebeurt. Er is al een mechanisme in plaats

waardoor er een mail gestuurd wordt als er een workflow faalt, maar niet als hij niet

van start gegaan is(ik denk hierbij aan een outage van de server). Het doel van dit

project is om een aantal rapporten te creëeren die informatie hierover kunnen

versturen.

Uitleg over project

BOBOETLETL FrontendFrontendBackendBackend

Oracle

XML

CSV

DB2

ETL

ETL Repository

XML

Oracle

MySQL

CSV

BO

Informatie over de

workflows die al de

data behandelen,

inclusief error

messages etc.

ETL BO

Het is dan ook belangerijk te weten hoe een workflow juist ineen zit en waar ze in

geïntresseerd zijn. Een workflow is een opeenvolging van sessies. Deze sessies

vertegenwoordigen een mapping die data gaat ophalen uit sources, de data gaat

transformeren en deze gaat laden in targets. Om goed te kunnen opvolgen waar er

Page 8: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

6

fouten komen en wanneer ze voorkomen, zijn deze elementen nodig om te laten zien

in een rapport, dus ga ik mij beperken tot alleen die zaken.

Het project zal verschillende fases kennen, die ik allemaal zelf zal doorlopen, behalve

de Move To Production. Het zal bestaan uit Business Analysis, Database

Development,ETL, Business Objects en UAT. Overkoepelend hierover zal ik mij

moeten bezig houden met het GDP, om te voldoen aan de kwalitatieve eisen van

FedEx.

Aangezien het volledig vreemde technologiën zijn waarmee ik ga werken zal ik

verschillende trainingen moeten volgen, waaronder voor het GDP proces onder de

knie te krijgen als om rapporten te laten genereren in Business Objects.

Het uiteindelijke doel van dit project is om een proces te ontwerpen dat data gaat

halen uit een geaggregeerde tabel en die verdelen en transformeren naar een

duidelijke, genormaliseerde database. Hierna zullen er rapporten gegenereerd

worden voor de eindgebruikers waar er mogelijke problemen met de workflows

kunnen worden opgespoord.

Er zal een dagelijks rapport gescheduleerd worden, die de laatste 24 laat zien in de

vorm van een grafiek die de abnormale workflows laat zien(workflows die niet

gelopen hebben, worflows met fouten en workflows die te laat zijn).

Een overzichtsrapport zal gestuurd worden elke week, waar men in de verschillende

dagen kan drillen, met dezelfde gegevens zichtbaar als het dagelijkse rapport.

Als bijhorend rapport zal er ook de mogelijkheid zijn om de data met een gebruiker-

gedefiniëerde range te laten zien, van de workflows die men wil laten zien. De

mogelijkheid zal bestaan om tot op tabelniveau te drillen.

Ik ga gebruik maken van de databases van IPC zelf, reference tables van Informatica

Analyst tool(een web interface waar men tabellen via een GUI kan laten invullen) en

van de VCDE003 database van FedEx.

De programma‟s die ik ga gebruiken om dit project tot stand te brengen zijn:

- Informatica Powercenter 9.1.0 - Informatica Analyst Tool (webservice) - Oracle SQL Developer - Business Objects XI 3.1

o Designer o Web Client

Aangezien het enige dat ik van het hierbovenvernoemde ken Oracle SQL is, zal het

een uitdaging zijn om dit te verwezelijken.

Page 9: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

7

1.2 CT Meter Reporting

Terwijl het ETL Monitoring project werd getest op productiedata, is mij het volgende

project toegewezen geweest. Het project zal er voornamelijk over gaan dat ik het

aantal actieve meters en CT1 meters per Direct Served land zal moeten weergeven.

Een CT Meter wordt door de volgende criteria bepaald:

- Een CT Meter moet gemiddeld 5 of meer pakjes per dag versturen

- Een CT Meter moet in een specifieke Sharepoint lijst te vinden zijn.

Het uiteindelijke rapport zal geaggregeerde data bevatten van verschillende bronnen:

- Een Sharepoint list waar het Customer Technology departement ze manueel

moeten invullen - Het regionaal Data Warehouse voor de effectieve meters die paketten

versturen.

Door de manier waarop de data gestructureerd is en de business het vereist komen

er een paar moeilijkheden aan het licht waaronder hoe ik de data uit de Sharepoint

list ga kunnen exporteren.

Terwijl het vorige project meer voor de nieuwe software aan te leren was kan ik nu

naar de business toe hun vereisten te weten komen en vlugger een idee geven hoe

ik wat ga doen.

De omgeving waar de data gaat verwerkt worden zal volledig dezelfde zijn als in het

eerste project.

1 Customer Technology

Page 10: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

8

Deel 2 Technische uitwerking

2.1 ETL Reporting

2.1.1 Verzamelen van nodige informatie

Nadat we waren overeengekomen welk project ik zou doen, heb ik samen met mijn

project lead samen gezeten om te zien welke informatie er zou moeten weergegeven

worden en wat er met de data zal moeten gebeuren om die op een

gebruiksvriendelijke manier weer te geven.

Eerst en vooral moet de data uit een volledig geaggregeerde hoofdtabel worden

gehaald en gesorteerd op basis van wat de rij voorstelt(Waar we naar zoeken zijn

workflows, sessies en map targets en sources). Dus heb ik een ERD samengesteld

van wat we eerst dachten dat nodig ging zijn. Hierna begon ik aan de database

development.

Maar al vlug kwamen we tot de conclusie dat de eerste versie niet zou werken door

het feit dat we de relaties tussen verschillende data verkeerd verstonden.Nadat de

tweede versie was ontwikkeld kwamen we tot een akkoord en veranderde ik een

paar dingen in de database, aangezien de veranderingen nogal diepgaand waren

had ik daardoor wel redelijk veel werk om aan te passen. Doorheen het project

bleven aanpassingen aan de documentatie gedaan worden, als we op nieuwe cases

stuiten die onvoorzien waren.

2.1.2 Database Development

Toen de eerste versie van de ERD was gemaakt, begon ik de database te

ontwikkelen. Dit ging aanvankelijk redelijk vlug, met behulp van de gemaakte ERD

maar er werden al vlug aanpassingen gemaakt, 1 keer zo ver dat de enige originele

tabel die overbleef was FCT_WORKFLOW_RUN. Hierna was de database redelijk

stabiel en werd er niet veel veranderd, buiten de velden LOAD_DDM en

ORIGINAL_ID.

Nadat de database SLA‟s en extra informatie over de workflow ondersteunde, heb ik

de reference tables aangemaakt in de Informatica Analyst tool. Door het feit dat het

niet mogelijk is om kolommen aan te passen, was het wel enorm lastig om ze op punt

te krijgen.

2.1.3 ETL Development

Nadat de basis van de database was gelegd, begon het ontwikkelen van de ETL op

basis van logica die het ERD volgen. Door het feit dat ik niet bekend was met de

verschillende transformaties en mogelijkheden van Informatica PowerCenter, nam

het redelijk wat tijd in beslag om bepaalde dingen te doen. Ik kreeg hier veel steun

van mijn teamleden die mij enorm hielpen als ik ergens vastzat. In de workflow heb ik

twee denkwijzes toegepast in het verwerken van de data.

Page 11: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

9

Ten eerste, vertrok ik vanuit het standpunt van de workflow. Een workflow dat heeft

gerund kan normaal zijn, te laat zijn, of met een error afgelopen, deze data was al

beschikbaar en was dus voornamelijk een kwestie van de SLA‟s ermee vergelijken

en invullen of het in orde is of niet.

Nadat die functionaliteit werkte ben ik beginnen te denken vanuit het SLA-standpunt,

de workflows die niet hebben gelopen zijn hierbij het voornaamste doelwit. Eerst gaat

de mapping M_CHECK_SLA_RUNS voor alle SLA‟s alle workflows genereren die

zouden moeten draaien. Daarna, om de grootte van de tabel te beperken, wordt het

aantal gesimuleerde rijen met het aantal reële rijen per workflow vergeleken en

alleen degene wiens aantallen verschillen worden in de tabel opgeslagen. In de

mapping erna (M_INSERT_DUMMIES_IN_WORKFLOWS) worden met een

SQL_transformatie de workflows die niet in de tabel al zitten erin gezet.

2.1.4 BO Development

Eens dat de ETL-development bijna compleet was. Was het tijd om de resultaten in

rapporten te gieten. Voor ik an de rapporten zelf kon beginnen, moest ik wel eerst de

Universe aanmaken, wat natuurlijk extra bijleren betekende, na een sessie met de

BO-experte was ik zeker genoeg dat ik de Universe zelf kon maken.

In tegenstelling tot je standard Count() expressies in SQL, moest ik nu werken met

een Decode(,) expressie om ervoor te zorgen dat het juiste aantal records werd

getelt.

2.1.5 Testing

Het testen gebeurde na elke aanvulling van functionaliteit in de ETL, bijvoorbeeld: na

het toevoegen van de SLA_COMPLIANT flag, werden er SLA‟s toegevoegd en

werden die workflows getest op compliance. Na de volledige ontwikkeling van de BO-

rapporten werd er nog eens op alle functionaliteiten getest. Deze resultaten werden

dan geregistreerd in de testcase documentatie en zijn geapproved door de project

lead.

Page 12: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

10

2.2 CT Meter Reporting

2.1.1 Verzamelen van nodige informatie

tegenstelling tot het eerste project zijn de business voor dit project mensen die geen

ervaring hebben met de IT-afdeling. Om te beginnen heb ik met Leena Domun (mijn

project lead) en de business samen gezeten met een paar voorbereide vragen.

Ze kon mij zeggen dat voor de CT meters er een sharepoint lijst bestaat, maar ze

wist niet zeker hoe ik eraan zou kunnen geraken dus verwees ze mij door naar

derden die daar meer van af weten.

Start

Collect data from past

month(EDW)

Collect data from Sharepoint

Exclude of mutual data

Count per country and

software

Insert into front-end

table

Stop

Page 13: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

11

Er bestaat wel een difficulty in het feit dat niet alle CT meters in de sharepoint lijst

staan. Een ander criteria voor een meter om een CT meter te zijn is dat die meer dan

5 pakjes per dag verstuurt. Om dit te berekenen heb ik ook de werkdagen nodig per

land waar het over gaat, aangezien dit per land apart wordt vastgelegd zou ik moeten

weten vanwaar ik deze data zou kunnen halen. Voor de meeste informatiebronnen

verwees ze mij door naar derden, wat al redelijk ingewikkeld zou worden. Nadat ik te

horen kreeg dat ik geen directe access zou krijgen voor de sharepoint list maar het

met een Access Linked Tables zou moeten doen, werd het steeds ingewikkelder en

ingewikkelder.

2.1.2 Database Development

Om de benodigde gegevens te verkrijgen moest ik de data gaan ophalen uit de

regionale data warehouse. De tabellen die ervoor zijn aangemaakt dienen om de

data te aggregeren.

Uit de Access Database komt een linked table met de data uit een Sharepoint lijst.

Die wordt geëxporteerd door middel van een VBA macro naar een .csv bestand met

alle relevante informatie (zoals child meters en Software versie).

De eindgebruiker gaat met diezelfde Access database de landen waarin ze

geïntresseerd zijn kunnen aanpassen en de kolomnamen voor bepaalde

softwaretypes kunnen laten zien.

2.1.3 ETL Development

Door het feit dat de bron uit de regionale datawarehouse komt en over het aantal

paketten per dag gaat uit heel EMEA, moet de workflow enorm performant zijn om de

load op de server te minimaliseren.

Aangezien Informatica Powercenter niet zo graag Access databases heeft, had ik

besloten van de relevante informatie te exporteren naar een. Csv via een query-

macro. In de Query zocht ik al de data op met de benodigde filters en in de macro

was het gewoon de file exporteren.

De primaire workflow gaat over data per maand, en telt het aantal paketten per

operationele dag om te zien of het een Customer Technology klant is. De

operationele dagen worden gehaald uit een .csv file met de operational days per land

per maand.

Page 14: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

12

2.1.4 BO Development

Er zullen 2 rapporten moeten gemaakt worden, een maandelijks rapport en een

semestrieel rapport. Door het werken met twee fact tabellen die een

dimensie(semester) deelden, moest ik ook voor de eerste keer met contexts werken,

wat op zich niet zo moeilijk is, maar je moet het wel leren.

2.1.5 Testing

Dit project is tijdens de stage niet officieel in de testing fase geraakt, maar zoals bij

het eerste project heb ik wel geregeld afgewerkte modules getest. Bijvoorbeeld het

systeem dat velden normaliseert is uitvoerig getest geweest, aangezien dat in Java

geschreven is. Zelfs tot zover om te zien of de normaliseer methodes die ze normaal

gebruiken performanter zijn of niet. Het resultaat was dat de nieuwe Java methode

(die het team nog niet veel heeft gebruikt of wil gebruiken) maar een oogwenk sneller

was voor 1 miljoen rijen.

Page 15: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

13

Deel 3 Kritische SWOT-analyse van het resultaat

3.1 Strengths

Het BI-team kan nu beter opvolgen waar er problemen zitten bij de workflow. Vroeger

was het zo dat ze een e-mail kregen als een workflow faalde, maar bijvoorbeeld niet

als er een onaangekondigde outage was, nu, door middel van de rapporten wel.

Het laat de manager toe om snel en accuraat de gegevens van verschillende

projecten op te vragen en aan de eindgebruikers van de andere workflows hun

vragen te antwoorden.

3.2 Weaknesses

Als ik vertrek bij FedEx en ze willen er iets aan veranderen of aan aanpassen, dan

moeten ze er meer tijd insteken dan anders. Dit wordt goedgemaakt door het

reference document dat ik als documentatie heb gemaakt.

Het genereert veel onnodige rijen, maar deze zijn nodig om de effectieve

ontbrekende rijen in te vullen. Die rijen worden ook meteen na ze nodig zijn geweest

verwijdert om hun footprint zo laag mogelijk te houden.

3.3 Opportunities

Dit proces zorgt ervoor dat de ETL beter onder controle wordt gehouden en dat er

vlugger gemerkt wordt als er een probleem is, wat de overall efficiency van de

workflows ten goede zal komen.

Het kan er ook voor zorgen dat management meer wordt betrokken bij de resultaten,

als de rapporten in een business-vriendelijke vorm gegoten worden.

3.4 Threats

Een van de grote threats is dat, als de workflows zelf uitvalt, dat er dan geen

notificatie mogelijk is aan het team. Natuurlijk kun je wel zeggen dat, als er in het

dagelijks rapport nog altijd data van de dag ervoor staat, dat mensen de link wel

zullen leggen.

Als de service zelf stopt met draaien, wordt er geen rapport gegenereerd. Dit is

natuurlijk een van de slechtst mogelijke scenario‟s, maar het is mogelijk. Om dit

tegen te gaan is er besloten geweest om het proces in development te laten draaien,

los van de productieomgeving. Dit zorgt ervoor dat, zelfs als productie uitvalt, men

nog altijd het kan zien in het rapport.

Page 16: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

14

Deel 4 Persoonlijk onwtikkelingsplan (focuscompetenties)

4.1 actief communiceren in drie talen (mondeling en schriftelijk)

Door het feit dat FedEx een dergelijk groot bedrijf is, is het praktisch

onmogelijk voor mij om niet te worden ondergedompeld in zowel Frans als

Engels. Aangezien Engels de voertaal is heb ik voornamelijk Engels gepraat.

In het team zelf werd er redelijk wat Frans gepraat, dus kon ik mijn niveau van

Frans redelijk goed bijtrekken en ik voel mij dus ook meer vertrouwd met de

taal.

4.2 relaties met collega’s, opdrachtgevers en/of klanten onderhouden

Door in een team te werken en voor business te moeten werken moest ik

geregeld in contact staan met derden. Wekelijkse teammeetings om mijn

vooruitgang te rapporteren en de lay-out van het kantoor droegen daaraan bij.

Door conference calls heb ik kunnen meemaken hoe het contact met de

business verloopt en hoe het soms mis kan lopen ook.

Bijvoorbeeld bij het vaststellen van de Business Requirements, moet er een

transparante communicatie tussen business en IT zijn. Door het gebrek aan

mijn ervaring, was dit in het begin een moeilijk punt, maar door de hulp van

het team, werd het uiteindelijk wel in de goede banen geleidt. Met als gevolg

dat ik er ook beter in werd.

4.3 informatiebehoefte van een organisatie gestructureerd en

overzichtelijk weergeven, gebruik makend van analyse- en

modelleringstechnieken

Het BI-team‟s voornaamste doel is projecten realiseren die personen van

andere departementen in staat stellen de massa aan rauwe data die in het

Data Warehouse te vinden is op een duidelijke en zinvolle manier te zien. Dus

is het vanzelfsprekend dat mijn werk ook aan deze criteria moet voldoen.

Ook voor het project af was, was het nodig om de data die beschikbaar zou

zijn duidelijk te laten zien aan de hand van ERD‟s(in bijlage).

Voor het tweede project was dit laatste zeker een noodzaak, aangezien men

met zoveel verschillende bronnen te maken had.

Page 17: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

15

4.4 gegevens verzamelen, opslaan en ter beschikking stellen zodat deze

op een correcte en gebruiksvriendelijke manier kunnen worden

opgevraagd

Het hele proces van DBA-ETL-Reporting is speciaal ontwikkeld om gegevens

te verzamelen en weer te geven op een gebruiksvriendelijke manier door

middel van rapporten die geregeld worden opgestuurd naar de personen die

erom vragen.

Door de natuur van de data die binnenkomt, moet er meestal veel gewerkt

worden aan het leesbaar en gebruiksvriendelijke manier voorstellen van de

data.

4.5 een IT-opdracht projectmatig en teamgericht aanpakken met respect

voor de planning

Door het feit dat mijn kennis van Business Objects en ETL niet verder reikte

dan “er is van gehoord hebben”, was er een periode waar ik heel nauw met

mijn team moest samenwerken om de kneepjes van het vak te leren. Deze

periode heeft me enorm geholpen in het succesvol vervolledigen van de stage.

Een van de opportunities voor mij is het werken volgens een vooropgesteld

sjabloon(het GDP). Ik heb mij moeten plooien naar het werken volgens

standaarden en ik denk dat dit mij enorm heeft geholpen voor de toekomst.

Page 18: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

16

Bronnenoverzicht

Business Objects IX 3.1Universe Designer Manual

Informatica Powercenter 9.1.0 Manual

Bijlagen

Page 19: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

17

Bijlagen

Page 20: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1. Meetings

Meeting 1: report

Date: 20/08/2013 – 13u

Location: Office

Attendees:

- David Delabelle

- Leena Domun

- Michael Brunclair

- Vincent Bersez

Planning:

1. Workflow and function of the team

2. Explanation of the first project

3. Brainstorm about the first project

4. Explanation of the second project

5. Brainstorm about the second project

6. Explanation of the third project

7. Brainstorm about the third project

Summary:

The BI-team is responsible for the functioning and reporting of the databases of

FedEx. They are first and foremost responsible for maintaining and troubleshooting

the ETL workflows and the databases. Secondly they develop reports about the data

in BO, the reporting tool used in FedEx. ETL receives its data from a lot of different

sources, ranging from DB2, to flat files, to XML-files.

Page 21: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1

The first project is a project for the BI-team itself. The project revolves around the

reporting of bad ETL workflows. At the moment, the team only receives an e-mail

when an ETL-workflow has started, but has encountered an error. When a workflow

doesn‟t start at all, it does not send a mail. The goal of this project is to provide

statistics on workflows (how many have started, how long do they take, how many

have encountered an error,…) and secondly to compare the status of the workflows

with their SLA‟s and to send a mail whenever they fail to comply with their respective

SLA‟s. The E-mail alert posed some problems, since we first thought to do it with

another ETL workflow, but if that fails, we won‟t get notified something is wrong, so

we decided to use OEM to send that mail.

Hardest part: involves another new technology=> OEM

Page 22: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

2

The second project is about the reporting of database downtime. At FedEx, we use a

dashboard to poll the databases we use. The goal is to develop a report which states

the server downtime and send that to the appropriate manager, but there needs to be

a filter to remove the redundant servers from the report, since that would cause

wrong data. Since the polls happen at 15 second intervals, they may happen on the

moment that one of the redundant servers goes down and the other hasn‟t started

yet, so they can give a false negative, we will still need to look into that problem, but

the proposed solution was to leave out the one-time negatives and only report on

servers that are down multiple polls in a row.

Page 23: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

3

The third project is for a non-IT department which involves the counting of automated

package meters and sorting them by country and by product and over the last six

months, this will involve creating a dimensional database in the Universe. The

difficulty in this project is mainly is the communication between the departments since

this will be kind of a busy time.

After some debate we agreed that the third project will be least favorable because of

the time it will take. The communication with the other department will take a lot of

time, so they fear it may not be finished at the end of my internship.

Page 24: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

4

Meeting 2: report

Date: 26/08/2013 – 10u

Location: Office

Attendees:

- Michael Brunclair

- Peter De Boel

Planning:

8. Administration

9. Explanation of the projects

10. Decision of the project

11. In depth explanation

12. Planning

Summary:

At the beginning of the meeting we handled the administrative tasks like signing the

contract and contact Ms. Teerlinck.

Afterwards Michael explained what project he felt was the best for this internship. The

ETL Workflow monitoring had as arguments that it was the most important one and

that it provided the most learning opportunities. It has the highest difficulty because

he will have to work with metadata on the workflows and provide a mailing system

which does not fail.

The second project was the database monitoring since it is a bit easier in terms of

work, but the logical aspect will be the most difficult, for more information on this, see

the BR for project 2.

The third project will provide the least challenge in that the information is supposedly

already available. Businesswise it has the second priority, but since it is quicker to be

done, it has the least priority for him.

We decided that the workflow project will be done first, as it has the highest priority.

The planning of this week will consist of the BR that will be done in more detail and

the SRS that will be done in High level.

Page 25: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

5

2. GDP compliant documents

ETL Workflow Monitoring

Business Requirements Specification

Version 2.5 16/09/13

Master Document Location:

Page 26: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

6

Key Contacts

Role Name Employee/Vendo

r Number

Approver?

Vincent Bersez

Michael Brunclair 945944

Peter De Boel Y

Janny Ekelson Y

Reference Documents

Document Name Owner Location

ETL Statistics 2011 Vincent Bersez Documentatie

Page 27: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

7

TABLE OF CONTENTS

1 Project Description 8

2 Business Process Flows 8

2.1 High-Level Flows 8

2.2 Detailed Flows 5

3 Assumptions and Constraints 5

4 General Requirements 5

5 Detailed RequiREments 6

6 Reconciliation of buSiness Requirements to Features 6

7 Glossary 6

Page 28: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

8

Project Description

The goal of this project is to detect whether an ETL workflow has started and how

long it takes to complete. It will be molded into a BO-report which will be sent weekly

to the administrators, giving additional info about the workflows and their projects.

Additionally there will be an e-mail alert when the workflow doesn’t comply with its

SLA.

Business Process Flows

High-Level Flows

Data is going into ETL, which generates workflows and spreads its data over different

databases. The goal of the project will be to automate the sending of a mail when an

ETL workflow fails to comply with its SLA.

ETL Workflow Monitoring – Before

AdministratorsETL BO

ETL

Running

Workflow

information

Data from

various

sources

Data usage

Error?

Mail to

Administrator

Yes

Page 29: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

9

ETL Workflow Monitoring

AdministratorsETL BO

ETL

Running

Workflow

information

Report

Data from

various

sources

Data usage

Error?

Mail to

Administrator

Yes

Detailed Flows

An ETL workflow fails to comply with its SLA, so it will be included in the report

that states the failure rates of the workflow. In addition, a mail will be sent to the

administrators every 4 hours with the failed workflows. In the reporting, there

must be the possibility to see each session separately, so it is easier determined

where the problem lies.

It must be possible to see which people to contact for each workflow and of what

project it is part of.

Assumptions and Constraints

It must be assumed that it is possible that the workflow responsible for the

reporting of the failed workflows can fail as well. As such it will need to be made

so that it has the information in the report as well.

For the information about the people, it will have to be input manually, and thus,

mistakes are possible.

Page 30: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

10

General Requirements

<BR0001> a mail must be sent 6 times a day with the workflows that fail to

comply with their SLA.

<BR0002> a report stating the % of failed reports or reports that take too much

time will be sent to the administrators every week.

<BR0003> there must be a redundancy to ensure the administrators are aware

of the problem, should the mail fail to be sent.

<BR0004>The data must be kept for 2 years in storage.

<BR0005>Additional information must be viewable on workflow-level.

Detailed Requirements

<BR1000> the weekly report must be sent on Monday.

<BR2000> the mails stating the failed SLA compliances must be sent every 4

hours.

<BR3000> the reporting and SLA checks must be done for all workflows.

<BR4000> the mail will be sent to [email protected].

<BR5000> You must be able to see the sessions separately.

<BR6000> Contacts and project information must be viewable in the report.

Page 31: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

11

Reconciliation of Business Requirements to Features

The workflows will be monitored by a weekly report that will be sent to the ETL-

mail account of FedEx, when a workflow fails to meet with its SLA, a mail will be

prepared to be sent twice a day.

In the reports, there will be the option to view which workflow belongs to which

project and who to contact in case of problems.

Glossary

Page 32: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

12

Change History

Date By Description of Change

20/08/2013 Michael Brunclair First version

21/08/2013 Michael Brunclair Added more information on features, key document, improved wording.

28/08/2013 Michael Brunclair Added detailed requirements.

29/08/2013 Michael Brunclair Added drilldown to Session-level

16/09/2013 Michael Brunclair Added scopechange

Page 33: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

13

ETL Workflow Monitoring

Software Requirements

FWRS Number 158241

Version 4 16/09/2013

Master Document Location: <loc>

Page 34: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

14

Key Contributors

Role Name Employee/Vendo

r Number

Recomme

nded

Reviewer/

Approver

*

Michael Brunclair 945944

Peter De Boel A

Vincent Bersez R

Janny Ekelson A

*HFLOW will be utilized to capture the required approvals

Reference Documents

Document Name Owner Location

ERD_WF_Monitoring_V2.5 Michael Brunclair Documenation

Page 35: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

15

TABLE OF CONTENTS

1 Project Description ................................................... Error! Bookmark not defined.

2 Assumptions and Constraints ................................................................................. 16

3 Software Requirements .......................................................................................... 16

4 System Interfaces ................................................................................................... 16

4.1 Data Changes for New System Interfaces ......................................................... 16

4.2 Data Changes for Existing System Interfaces ..... Error! Bookmark not defined.

5 Revision History...................................................................................................... 17

Page 36: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

16

Project Description

The project’s goal is to provide the BI-team with a report on failed workflows every

week and to send an e-mail once every 4 hours with all the failed workflows. The report

will also contain additional information about the workflow, like Business contact and

such.

Assumptions and Constraints

We have to assume that the workflow metadata does not have their SLA listed, so we will

have to look into how to add their respective SLA’s.

When a SLA fails, we will need to send an e-mail, but we can‟t do that with ETL

because, in the event that that workflow fails as well, we won‟t know it.

Software Requirements

<SR0001>There will need to be a report made in BO about the failure rate of the

workflows.

<SR0002>In the report there must be the possibility to drill down to session-level.

<SR0003>There will need to be a mailing system made in OEM to send mails

when workflows fail.

<SR0004>Because of the way the source data is stored, there will need to be a

transformation into a dimensional database for ease of access.

<SR0005>There has to be additional information regarding the workflows, to be

found in a reference table which is updated manually in Informatica Analyst Tool

System Interfaces

Data Changes for New System Interfaces

In the INFORMATICA-BO interface a formatting on the workflow name will have to be

done to get rid of the timestamp in it.

To get easier details in the BO report, the BO-source will be a dimensional

database with 3 fact tables.

Page 37: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

17

Revision History

Version Date By Description of Change

1 23/08/2013 Michael Brunclair

First version of document.

2 28/08/2013 Michael Brunclair

Adding Requirements, Data changes and revisioning

3 02/09/2013 Michael Brunclair

Adding Data changes, modifying project description

4 04/09/2013 Michael Brunclair

Update for ERD

5 16/09/2013 Michael Brunclair

Added scope change

Page 38: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

18

Addenda

DM_WORKFLOW

PK WF_ID

WF_NAME

FK1 PROJECT_ID

PROBLEM

SERVICE_DESK_CONTACT

ETL_FIRST_CONTACT

IT_FUNCTIONAL_FIRST_CONTACT

BUSINESS_CONTACT

DESTINATION_SYMPHONY_PROFILE

DM_TABLE

PK TABLE_ID

TABLE_NAME

DM_SESSION

PK SESSION_ID

SESSION_NAME

FT_WORKFLOW_RUN

PK WF_RUN_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

TRANS_ERRORS

DATE_STARTED

DATE_STOPPED

WF_ERROR_CODE

WF_ERROR_MSG

FK1 WF_ID

LOAD_DDTM

DURATION

FT_SESSION_RUN

PK SESSION_RUN_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

DATE_STARTED

DATE STOPPED

SESS_ERR_CORDE

SESS_ERR_MSG

FK2 SESSION_ID

FK1 WF_RUN_ID

LOAD_DDTM

DURATION

FT_SESSION_RUN_DETAIL

PK SESS_DET_ID

FK2 SESSION_RUN_ID

ROWS_AFFECTED

DATE_STARTED

DATE STOPPED

SOURCE_TARGET

FK1 TABLE_ID

LOAD_DDTM

MAP_ERR_CODE

MAP_ERR_MSG

DURATION

SLA

PK SK_SLA_ID

FK1 WF_ID

REPETITIVE

UNIT

PERIOD

Project

PK ID

PROJECT_NAME

Page 39: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

19

3. Further project documentation

ERD first version

DM_WORKFLOW

PK WF_ID

WF_NAME

SLA

DM_TABLE

PK TABLE_ID

TABLE_NAME

JOIN_SESSION_TABLE

FK1 TABLE_ID

FK2 SESSION_ID

SOURCE_TARGET

DM_SESSION

PK SESSION_ID

SESSION_NAME

JOIN_WF_RUN_SESSION

FK1 WF_RUN_ID

FK2 SESSION_RUN_ID

FT_WORKFLOW_RUN

PK WF_RUN_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

TRANS_ERRORS

DATE_STARTED

DATE_STOPPED

WF_DURATION

WF_ERROR_CODE

WF_ERROR_MSG

FK1 DM_WORKFLOW

FT_SESSION_RUN

PK SESSION_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

DATE_STARTED

DATE STOPPED

SESS_DURATION

SESS_ERR_CORDE

SESS_ERR_MSG

MAP_ERR_CODE

MAP_ERR_MSG

DM_SESSION_ID

Page 40: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

20

ERD final version

DM_WORKFLOW

PK WF_ID

WF_NAME

FK1 PROJECT_ID

PROBLEM

SERVICE_DESK_CONTACT

ETL_FIRST_CONTACT

IT_FUNCTIONAL_FIRST_CONTACT

BUSINESS_CONTACT

DESTINATION_SYMPHONY_PROFILE

DM_TABLE

PK TABLE_ID

TABLE_NAME

DM_SESSION

PK SESSION_ID

SESSION_NAME

FT_WORKFLOW_RUN

PK WF_RUN_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

TRANS_ERRORS

DATE_STARTED

DATE_STOPPED

WF_ERROR_CODE

WF_ERROR_MSG

FK1 WF_ID

LOAD_DDTM

DURATION

FT_SESSION_RUN

PK SESSION_RUN_ID

ROWS_AFFECTED_SOURCE

ROWS_AFFECTED_TARGET

DATE_STARTED

DATE STOPPED

SESS_ERR_CORDE

SESS_ERR_MSG

FK2 SESSION_ID

FK1 WF_RUN_ID

LOAD_DDTM

DURATION

FT_SESSION_RUN_DETAIL

PK SESS_DET_ID

FK2 SESSION_RUN_ID

ROWS_AFFECTED

DATE_STARTED

DATE STOPPED

SOURCE_TARGET

FK1 TABLE_ID

LOAD_DDTM

MAP_ERR_CODE

MAP_ERR_MSG

DURATION

SLA

PK SK_SLA_ID

FK1 WF_ID

REPETITIVE

UNIT

PERIOD

Project

PK ID

PROJECT_NAME

Page 41: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

21

SQL

Creating tables drop table DM_WORKFLOW;

drop table DM_SESSION;

drop table DM_TABLE;

drop table FCT_SESSION_DETAIL;

drop table FCT_SESSION_RUN;

drop table FCT_WORKFLOW_RUN;

drop table FT_SESSION_DETAIL;

drop table FT_SESSION_RUN;

drop table FT_WORKFLOW_RUN;

drop table DM_SLA;

drop table tch_data_load_time_stamp;

drop table FCT_DUMP_WORKFLOW;

drop table FCT_SQL_ERROR_LOG;

truncate table DM_WORKFLOW;

truncate table DM_SESSION;

truncate table DM_TABLE;

truncate table FT_SESSION_DETAIL;

truncate table FT_SESSION_RUN;

truncate table FT_WORKFLOW_RUN;

truncate table FCT_SESSION_DETAIL;

truncate table FCT_SESSION_RUN;

truncate table FCT_WORKFLOW_RUN;

truncate table DM_SLA;

truncate table tch_data_load_time_stamp;

truncate table FCT_DUMP_WORKFLOW;

truncate table FCT_SQL_ERROR_LOG;

create table FCT_SQL_ERROR_LOG(ERROR_ID int not null, ERROR_MSG

varchar2(250) not null,LOAD_DDM date not null, PRIMARY KEY(ERROR_ID));

create table BACKUP_FDX_WF_LAST_RUN as (select * from

TMP_FDX_WF_LAST_RUN);

create table tch_data_load_time_stamp(time_stamp_id int not null,

Start_Time date not null,

end_time date not null,

last_workflow_end_time date not null,

last_workflow_start_time date not null,

Succeeded varchar2(1) int not null,

primary key(time_stamp_id));

create table DM_PROJECT(PROJECT_ID int not null, PROJECT_NAME

varchar2(50),LOAD_DDM date not null, PRIMARY KEY(PROJECT_ID));

create table DM_WORKFLOW(WF_ID int not null,

WF_NAME varchar2(20),

PROJECT_ID int not null,

PROBLEM varchar2(1500),

Service_Desk_Contact varchar2(100) not null,

ETL_FIRST_CONTACT varchar2(100) not null,

IT_FUNCTIONAL_FIRST_CONTACT varchar2(100) not null,

BUSINESS_CONTACT varchar2(100),

DESTINATION_SYMPHONY_PROFILE varchar2(100),

LOAD_DDM date,

Page 42: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

22

primary key(WF_ID));

create table DM_SLA(WF_ID int not null,

REPETITIVE varchar2(1) not null,

UNIT varchar2(5),

PERIOD int not null,

LOAD_DDM date,);

create table DM_TABLE(TABLE_ID int not null,

TABLE_NAME varchar2(20),

LOAD_DDM date,

primary key(TABLE_ID));

create table DM_SESSION(SESSION_ID int not null,

SESSION_NAME varchar2(20),

LOAD_DDM date,

primary key(SESSION_ID));

create table DM_PROJECT(PROJECT_ID, PROJECT_NAME, );

create table FT_SESSION_DETAIL(SESS_DET_ID int not null,

SESSION_ID int not null,

TABLE_ID INT NOT NULL,

ROWS_AFFECTED_SOURCE INT,

ROWS_AFFECTED_TARGET INT,

DATE_STARTED date not null,

DATE_STOPPED date,

LOAD_DDM date,

SOURCE_TARGET varchar2(1) not null,

MAP_ERR_CODE int,

MAP_ERR_MSG varchar2(200),

Original_ID int not null,

TARGET_REJECTED_ROWS int,

primary key(SESS_DET_ID));

create table FT_SESSION_RUN(SESS_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

DATE_STARTED date,

DATE_STOPPED date,

SESS_DURATION int,

DM_SESSION_ID int not null,

RUN_WORKFLOW_ID INT NOT NULL,

INST_ERR_CODE varchar2(10),

INST_ERR_MSG varchar2(200),

LOAD_DDM date,

Original_ID int not null,

primary key(SESS_RUN_ID));

create table FT_WORKFLOW_RUN(SK_WF_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

TRANS_ERRORS int,

DATE_STARTED date not null,

DATE_STOPPED date,

WF_DURATION int,

DM_WORKFLOW int not null,

Page 43: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

23

WF_ERR_CODE varchar2(10),

WF_ERR_MSG varchar2(200),

LOAD_DDM date,

SLA_COMPLIANT varchar2(1),

Original_ID int not null,

primary key(WF_RUN_ID));

create table FCT_SESSION_DETAIL(SESS_DET_ID int not null,

SESSION_ID int not null,

TABLE_ID INT NOT NULL,

ROWS_AFFECTED_SOURCE INT,

ROWS_AFFECTED_TARGET INT,

DATE_STARTED date not null,

DATE_STOPPED date,

LOAD_DDM date,

SOURCE_TARGET varchar2(1) not null,

MAP_ERR_CODE int,

MAP_ERR_MSG varchar2(200),

Original_ID int not null,

TARGET_REJECTED_ROWS int);

create table FCT_SESSION_RUN(SESS_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

DATE_STARTED date,

DATE_STOPPED date,

SESS_DURATION int,

DM_SESSION_ID int not null,

RUN_WORKFLOW_ID INT NOT NULL,

INST_ERR_CODE varchar2(10),

INST_ERR_MSG varchar2(200),

LOAD_DDM date,

Original_ID int not null);

create table FCT_WORKFLOW_RUN(SK_WF_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

TRANS_ERRORS int,

DATE_STARTED date not null,

DATE_STOPPED date,

WF_DURATION int,

DM_WORKFLOW int not null,

WF_ERR_CODE varchar2(10),

WF_ERR_MSG varchar2(200),

LOAD_DDM date,

SLA_COMPLIANT varchar2(1),

Original_ID int not null);

Page 44: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

24

Workflows

Page 45: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

25

BO reporting

Universe

Page 46: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

26

Report

Page 47: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

27

Reference document

Reference document

ETL monitoring

Page 48: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

28

TABLE OF CONTENTS

TABLE OF CONTENTS...................................................................................................................... 28

1 Adding a workflow......................................................................................................................... 29

1.1 Workflow Details .................................................................................................................... 29

1.2 SLA Details ............................................................................................................................ 29

2 Translating the report .................................................................................................................... 30

2.1 What kind of reports .............................................................................................................. 30

2.1.1 Daily ................................................................................................................................... 30

2.1.2 Weekly ............................................................................................................................... 30

2.1.3 Variable .............................................................................................................................. 30

2.2 The graph .............................................................................................................................. 30

2.3 The table................................................................................................................................ 30

3 Revision History ............................................................................................................................ 33

Page 49: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

29

Adding a workflow

Workflow Details

When you receive the details about the workflow (regarding project, contacts, what to

do when there‟s a problem…), it is a good habit to fill in the reference table with them.

This can be found in the Informatica Analyst tool2. Here, you:

1. Log in with your OLAP 2. Go to project “IT_ETL” 3. Click on the table ETL_MONITOR_PROJECT_DATA 4. Fill in the available information, with the missing information as “NONE”

Now, whenever the report is run, the data will be added to that workflow.

SLA Details

After it is determined when and how the workflow should run, you should add the

workflow to the SLA reference table, this can also be found in the Informatica Analyst

tool1. To fill in the SLA data you:

1. Log in with your OLAP 2. Go to project “IT_ETL” 3. Click on the table SLA_REFERENCE_IPC_MONITORING

4. Fill in the SLA according to this guideline: a. Repetitive:

i. Yes if the workflow should run EVERY x time(for example: every hour, every 2 days, every 6 months)

ii. No if the workflow should HAVE RUN BY x time(for example: by 2PM, by the third of the month, by September)

b. Unit: i. HOUR: indicates the amount is in hours ii. DAY: indicates the amount is in days iii. MONTH: indicates the amount is in months

c. Period: i. If it is repetitive: the amount of [Unit] between runs, if you need to

fill in with minutes(e.g. every half hour), you will need to divide the amount of minutes by 60, and fill in the first two numbers, rounded up)

ii. If it is not repetitive: this needs to be done at [Period] [Unit] every [Larger Unit], if you need to fill in the minutes, take the amount of minutes, and put them in the decimal region (e.g. at 2.30 PM every day becomes: 14.30).

2 http://hilda:8085/AnalystTool/login.jsp

Page 50: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

30

Translating the report

What kind of reports

Daily

The daily report will be sent daily to the BI-team, it consists of an overview of

workflows that ran in the last 24 hours, together with failures and late ones.

Weekly

In the weekly report you can find a summary of the data over the past week, as well

as a drill-down on day-level, for easy consulting of the data, should the need arise

Variable

The variable report requires three inputs of the user:

- The minimum date: The minimum range of dates that you want the statistics of. It can go back until the first of the previous month.

- The maximum date: The maximum range of dates that you want the statistics of. It‟s ceiling is the day before.

- The workflows: the workflows that you want to select in your report. The report consists of a summary like the others, with a graph and a table, as well as

a session run summary, providing an overview of sessions in error for the requested

workflow(s). A third part is the Session Details, it gives you the number of tables

consulted in each workflow, with a drill down to the table level where the number of

errors is displayed.

The graph

Indicates when in the range of the report there has been a problem, spikes in late

reports or failed reports could indicate a problem.

The table

When you look at the table, you see the aggregated data of every workflow run in the

period of the report. A short explanation of the data:

- Workflows: amount of workflows run in the period - Late: How many of them were late - Failed to run: Workflows that should have run, but didn‟t - First Failure: when the first workflow that failed to run should have run - Last Failure: when the last workflow that failed to run should have run - Severity: This indicates if there is a problem, and how bad it is:

o Green: All is OK o Yellow: There are late workflows, but they still ran o Orange: There were errors in the workflow o Red: Workflows haven‟t run at all at some point

- Problem: What to do when there is a problem at workflow level - Project Name: to which project that workflow belongs. - Contacts: the person to contact regarding the specified areas.

Page 51: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

31

Explanation of the workflow

general description

The workflow is designed to string out a single, aggregate table into a factional

database. It starts by retrieving the data from the aggregated table

FDX_WF_LAST_RUN, located in the Informatica repository. Afterwards, it will check

if there are any new workflows, sessions, or tables in that table.

When that is done, the workflow will retrieve the data put into the two reference

tables to check if the information is still up to date. With all that data gathered it will

proceed to check if the workflows that HAVE run, are on time, if not, there will be a

flag indicating it. When all the workflows are checked, it will detect any missing

workflows and add a custom row with a custom error message to indicate there is a

workflow missing.

When that‟s been done, the most complicated part has finished.

What remains is to put sessions in the session_run table and the table_runs in the

session_details table.

Start

S_MAIN_TO_TMP handles the data coming from the repository itself, it retrieves the

data of the last two years and that is not in the FT tables.

Dimensions

S_M_FILLUP_DIMENSIONS handles the new projects, workflows, sessions and

tables found. Projects and workflows each get filled up by the reference table

already. Afterwards, the S_FILLUP_SLA fills up the workflows even further with the

SLA data.

Worklow fillup

S_M_FILLUP_WORKFLOW will retrieve all the data of the workflows run and will add

the flag „SLA_COMPLIANT‟ to see if the workflow run is SLA-compliant.

When that is done, S_M_CHECK_SLA_RUNS generates rows based on how many

workflows there should‟ve run. It then checks to see if there is a difference between

the amount of rows simulated and the real ones and outputs the ones that differ into

FT_DUMP_WORKFLOW_RUN. From here

S_M_INSERT_DUMMIES_IN_WORKFLOW will check the ones that are actually

missing and inserts them in the FCT_WORKFLOW_RUN table.

Session run

When the workflows have been handled, it is time to go over the sessions. The

names get normalized and they get added to the FCT_SESSION_RUN.

Page 52: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

32

Session detail

At the end of the transformations, the table runs get processed, adding if it is a

source or a target and proceeding to load them into FCT_SESSION_DETAIL.

The Session info

When the workflow has almost finished, a log of the run gets filled in, where the start

date, end date, first workflow date to be loaded, last workflow date to be loaded and if

the workflow succeeded get filled in.

Page 53: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

33

Revision History

Date By Description of Change

30/09/2013 Michael

Brunclair(945944)

First Version of Reference document(SLA/Workflow

reference tables, Translating the Report)

2/10/2013 Michael

Brunclair(945944)

Added the different reports

4/10/2013 Michael

Brunclair(945944)

Added the explanation of the workflow

Page 54: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

Code Review

ETL Workflow Monitoring

Code Review Work Request Number 158241

Version 1 10/10/13

Page 55: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1

Table of Contents

1. Definition Phase - Business Requirement Specification (BRS) Error! Bookmark

not defined.

1.1 Business Requirements Specification (BRS) Error! Bookmark not defined.

2. Planning Phase - Software Requirement Specification (SRS) Error! Bookmark

not defined.

Submit for EZ-Work Product Review A Error! Bookmark not defined.

3. Development Phase – Detailed Design Specification (DDS) 3

3.1 DataFlow 3

3.2 Database Changes(IPC_MONITORING): 4

3.3 Analyst Tool Setup : 9

3.4 ETL Changes: 11

3.4.1 Mappings : 11

3.4.1.1 M_MAIN_TO_TEMP .........................................................................................................................11 3.4.1.2 M_FILLUP_DIMENSIONS ................................................................................................................13 3.4.1.3 M_FILLUP_SLA.................................................................................................................................14 3.4.1.4 M_FILLUP_FCT_WORKFLOW_RUN1 ............................................................................................14 3.4.1.5 M_CHECK_SLA_RUNS ....................................................................................................................15 3.4.1.6 M_INSERT_DUMMIES_IN_WORKFLOWS.....................................................................................20 3.4.1.7 M_FILLUP_SESSION_RUN .............................................................................................................20 3.4.1.8 M_FILLUP_SESSION_DETAIL ........................................................................................................21 3.4.1.9 M_FILLUP_SLA_TABLES ................................................................................................................22

3.4.2 Workflow : WF_BOOST 22

3.5 BO changes24

3.5.1.1 Universe lay_out ................................................................................................................................24 3.5.1.2 Filters .................................................................................................................................................24 3.5.1.3 Derived tables ....................................................................................................................................25 3.5.1.4 New reports .......................................................................................................................................26

4. Launch Phase - Test Control and Test Execution Error! Bookmark not defined.

4.1 UT Error! Bookmark not defined.

4.1.1 ETL Error! Bookmark not defined.

4.1.2 BO Error! Bookmark not defined.

5. Launch Phase - Implementation Plan Error! Bookmark not defined.

5.1 Software Installation Error! Bookmark not defined.

5.2 Configuration/Setup Error! Bookmark not defined.

5.3 Security Implementation Error! Bookmark not defined.

5.4 Back-out Plan Error! Bookmark not defined.

5.5 Deployment Plan Error! Bookmark not defined.

Submit for EZ-Work Product Review B Error! Bookmark not defined.

6. Move to Production Error! Bookmark not defined.

Page 56: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

2

6.1 Post-Load Integrity Check (PLIC) Error! Bookmark not defined.

7. Assumptions, Constraints and limitations Error! Bookmark not defined.

8. Unresolved issues and action points Error! Bookmark not defined.

9. Appendices 35

Revision History

Name Date Description

Michael Brunclair 08/10/13 Initial

Document References

Document Description

BRS_Create new monitoring Report

for ETL The BRS

SRS_Create new monitoring Report

for ETL The SRS

Page 57: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

3

Development Phase – Detailed Design Specification (DDS)

DataFlow

Dataflow

ETLETL BOBOBackendBackend

ETL-repository

TMP_FDX_WF_L

AST_RUN

DM_SLA

DM_WORKFLOW

DM_SESSION

DM_PROJECT

SLA_REFERENC

E_IPC_MONITOR

ING

ETL_MONITOR_P

ROJECT_DATA

FCT_WORKFLOW_

RUN

FCT_SESSION_

RUN

DM_TABLE

FCT_SESSION_

DETAIL

FT_SESSION_R

UN

FT_WORKFLOW_R

UN

FT_SESSION_

DETAIL

Page 58: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

4

Database Changes(IPC_MONITORING):

create table FCT_SQL_ERROR_LOG(

ERROR_ID int not null,

ERROR_MSG varchar2(250) not null,

LOAD_DDM date not null,

PRIMARY KEY(ERROR_ID));

create table FCT_DUMP_WORKFLOW(

SK_WF_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

TRANS_ERRORS int,

DATE_STARTED date not null,

DATE_STOPPED date,

WF_DURATION int,

DM_WORKFLOW int not null,

WF_ERR_CODE varchar2(10),

WF_ERR_MSG varchar2(200),

LOAD_DDM date,

SLA_COMPLIANT varchar2(1),

Original_ID int not null);

create table tch_data_load_time_stamp(

time_stamp_id int not null,

Start_Time date not null,

end_time date not null,

last_workflow_end_time date not null,

last_workflow_start_time date not null,

Succeeded varchar2(1) not null,

primary key(time_stamp_id));

create table DM_PROJECT(

PROJECT_ID int not null,

PROJECT_NAME varchar2(50),

LOAD_DDM date not null,

PRIMARY KEY(PROJECT_ID));

Page 59: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

5

create table DM_WORKFLOW(

WF_ID int not null,

WF_NAME varchar2(20),

PROJECT_ID int not null,

PROBLEM varchar2(1500),

Service_Desk_Contact varchar2(100) not null,

ETL_FIRST_CONTACT varchar2(100) not null,

IT_FUNCTIONAL_FIRST_CONTACT varchar2(100) not null,

BUSINESS_CONTACT varchar2(100),

DESTINATION_SYMPHONY_PROFILE varchar2(100),

LOAD_DDM date,

primary key(WF_ID));

create table DM_SLA(

WF_ID int not null,

REPETITIVE varchar2(1) not null,

UNIT varchar2(5),

PERIOD int not null,

LOAD_DDM date,

SK_SLA_ID int not null);

create table DM_TABLE(

TABLE_ID int not null,

TABLE_NAME varchar2(20),

LOAD_DDM date,

primary key(TABLE_ID));

create table DM_SESSION(

SESSION_ID int not null,

SESSION_NAME varchar2(20),

LOAD_DDM date,

primary key(SESSION_ID));

create table DM_PROJECT(

PROJECT_ID int not null,

PROJECT_NAME varchar2(50) not null,

LOAD_DDM date not null);

Page 60: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

6

create table FT_SESSION_DETAIL(

SESS_DET_ID int not null,

SESSION_ID int not null,

TABLE_ID INT NOT NULL,

ROWS_AFFECTED_SOURCE INT,

ROWS_AFFECTED_TARGET INT,

DATE_STARTED date not null,

DATE_STOPPED date,

LOAD_DDM date,

SOURCE_TARGET varchar2(1) not null,

MAP_ERR_CODE int,

MAP_ERR_MSG varchar2(200),

Original_ID int not null,

TARGET_REJECTED_ROWS int,

primary key(SESS_DET_ID));

create table FT_SESSION_RUN(

SESS_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

DATE_STARTED date,

DATE_STOPPED date,

SESS_DURATION int,

DM_SESSION_ID int not null,

RUN_WORKFLOW_ID INT NOT NULL,

INST_ERR_CODE varchar2(10),

INST_ERR_MSG varchar2(200),

LOAD_DDM date,

Original_ID int not null,

primary key(SESS_RUN_ID));

Page 61: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

7

create table FT_WORKFLOW_RUN(

SK_WF_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

TRANS_ERRORS int,

DATE_STARTED date not null,

DATE_STOPPED date,

WF_DURATION int,

DM_WORKFLOW int not null,

WF_ERR_CODE varchar2(10),

WF_ERR_MSG varchar2(200),

LOAD_DDM date,

SLA_COMPLIANT varchar2(1),

Original_ID int not null,

primary key(WF_RUN_ID));

create table FCT_SESSION_DETAIL(

SESS_DET_ID int not null,

SESSION_ID int not null,

TABLE_ID INT NOT NULL,

ROWS_AFFECTED_SOURCE INT,

ROWS_AFFECTED_TARGET INT,

DATE_STARTED date not null,

DATE_STOPPED date,

LOAD_DDM date,

SOURCE_TARGET varchar2(1) not null,

MAP_ERR_CODE int,

MAP_ERR_MSG varchar2(200),

Original_ID int not null,

TARGET_REJECTED_ROWS int);

Page 62: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

8

create table FCT_SESSION_RUN(

SESS_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

DATE_STARTED date,

DATE_STOPPED date,

SESS_DURATION int,

DM_SESSION_ID int not null,

RUN_WORKFLOW_ID INT NOT NULL,

INST_ERR_CODE varchar2(10),

INST_ERR_MSG varchar2(200),

LOAD_DDM date,

Original_ID int not null);

create table FCT_WORKFLOW_RUN(

SK_WF_RUN_ID int not null,

ROWS_AFFECTED_SOURCE int,

ROWS_AFFECTED_TARGET int,

TRANS_ERRORS int,

DATE_STARTED date not null,

DATE_STOPPED date,

WF_DURATION int,

DM_WORKFLOW int not null,

WF_ERR_CODE varchar2(10),

WF_ERR_MSG varchar2(200),

LOAD_DDM date,

SLA_COMPLIANT varchar2(1),

Original_ID int not null);

Page 63: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

9

Analyst Tool Setup :

New reference table SLA_REFERENCE_IPC_MONITORING (/IT_ETL)

http://hilda:8085/AnalystTool

Page 64: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

10

New reference table ETL_MONITOR_PROJECT_DATA (/IT_ETL)

http://hilda:8085/AnalystTool

Page 65: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

11

ETL Changes:

Mappings :

M_MAIN_TO_TEMP

Pull workflow information from FDX_WF_LAST_RUN SQL :

SELECT DISTINCT FDX_WF_LAST_RUN.WF_RUN_ID,

FDX_WF_LAST_RUN.WORKFLOW_NAME, FDX_WF_LAST_RUN.TASK_TYPE,

FDX_WF_LAST_RUN.WF_STATUS, FDX_WF_LAST_RUN.WORKLET_NAME,

FDX_WF_LAST_RUN.INS_ID, FDX_WF_LAST_RUN.INSTANCE_NAME,

FDX_WF_LAST_RUN.INS_STATUS, FDX_WF_LAST_RUN.MAPPING_NAME,

FDX_WF_LAST_RUN.INS_SRC_TGT_ID,

FDX_WF_LAST_RUN.INS_SRC_TGT_NAME,

FDX_WF_LAST_RUN.WF_ERR_CODE, FDX_WF_LAST_RUN.WF_ERR_MSG,

FDX_WF_LAST_RUN.INS_ERR_CODE, FDX_WF_LAST_RUN.INS_ERR_MSG,

FDX_WF_LAST_RUN.SRC_SUCCESS_ROWS,

FDX_WF_LAST_RUN.SRC_FAILED_ROWS,

Page 66: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

12

FDX_WF_LAST_RUN.TARG_SUCCESS_ROWS,

FDX_WF_LAST_RUN.TARG_FAILED_ROWS,

FDX_WF_LAST_RUN.TOTAL_TRANS_ERRS,

FDX_WF_LAST_RUN.MAP_ERR_CODE,

FDX_WF_LAST_RUN.MAP_QRY_TGT_ERR_MSG,

FDX_WF_LAST_RUN.DURATION, FDX_WF_LAST_RUN.START_TIME,

FDX_WF_LAST_RUN.END_TIME

FROM

FDX_WF_LAST_RUN

WHERE

WF_STATUS !='Running'

and

sysdate - FDX_WF_LAST_RUN.START_TIME <2*365

ORDER BY

FDX_WF_LAST_RUN.WF_RUN_ID

SELECT FT_WORKFLOW_RUN.ORIGINAL_ID

FROM

FT_WORKFLOW_RUN

ORDER BY

FT_WORKFLOW_RUN.ORIGINAL_ID 1 parameter defined in the mapping : $$STARTTIME sysdate

Page 67: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

13

M_FILLUP_DIMENSIONS

Extracts the dimensions and inserts(or updates) them in the appropriate table

Page 68: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

14

M_FILLUP_SLA

Insert the SLA data gathered from the reference table

M_FILLUP_FCT_WORKFLOW_RUN1

Insert the workflows that have run into the FCT table with their respective

SLA_COMPLIANT flag.

Page 69: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

15

M_CHECK_SLA_RUNS

Page 70: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

16

Java code:

double int_Counter=0;

int Teller=0;

WF_ERR_CODE="";

WF_ERR_MSG="";

DATE_STARTED=DATE_FIRST_STOPPED;

DATE_STOPPED=DATE_FIRST_STOPPED;

REPETITIVE_out=REPETITIVE;

UNIT_out=UNIT;

PERIOD_out=PERIOD;

DM_WORKFLOW=WF_ID;

Date DF = new Date(DATE_FIRST_STOPPED);

//.longValueExact()

Calendar calDF = Calendar.getInstance();

calDF.setTime(DF);

BigDecimal TEMP = new BigDecimal(DATE_DIFF);

BigDecimal DAYHOURS = new BigDecimal(24);

if(REPETITIVE_out.equals("Y")){

if(UNIT.equals("HOUR")){

if((DATE_DIFF)>=PERIOD){

int_Counter=(double)DATE_DIFF;

while(int_Counter>=0){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="HOURLY WORKFLOW DID NOT RUN";

calDF.add(Calendar.MINUTE,(int)(PERIOD*60));

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

int_Counter-=PERIOD;

Teller++;

generateRow();

}

}

}

else if(UNIT.equals("DAY")){

if((DATE_DIFF/24)>=PERIOD){

int_Counter=(long)(DATE_DIFF/24);

Page 71: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

17

while(int_Counter>=0){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="DAILY WORKFLOW DID NOT RUN";

calDF.add(Calendar.DAY_OF_MONTH,(int)PERIOD);

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

int_Counter-=PERIOD;

Teller++;

generateRow();

}

}

}

else if(UNIT.equals("MONTH")){

if(((DATE_DIFF/24)/30)>=PERIOD){

int_Counter=((long)DATE_DIFF/24)/30;

while(int_Counter>0){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="MONTHLY WORKFLOW DID NOT RUN";

calDF.add(Calendar.MONTH,(int)PERIOD);

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

int_Counter-=PERIOD;

Teller++;

generateRow();

}

}

}

else{

WF_ERR_MSG="Invalid Input:

"+WF_NAME+","+DATE_FIRST_STOPPED+","+REPETITIVE+","+UNIT+","+P

ERIOD+","+WF_ID+","+DATE_DIFF;

WF_ERR_CODE="";

DM_WORKFLOW=0;

DATE_STARTED=DATE_FIRST_STOPPED;

generateRow();

}

Page 72: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

18

}

else if(REPETITIVE_out.equals("N")){

if(UNIT.equals("HOUR")){

if((DATE_FIRST_STOPPED+(DATE_DIFF/24))<=DATE_LAST_STOPPED)

{

//.add(TEMP.divide(DAYHOURS))).max(DATE_LAST_STOPPED)==DATE_LA

ST_STOPPED){

int_Counter=DATE_DIFF/24;

calDF.set(Calendar.MINUTE, (int)((PERIOD*60)-720));

while(Teller<int_Counter){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="WORKFLOW NOT

VALID(NON_REPETITIVE-HOUR)";

calDF.add(Calendar.DAY_OF_MONTH, 1);

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

TRANS_ERRORS=0;

Teller++;

generateRow();

}

}

}

else if(UNIT.equals("DAY")){

if((DATE_FIRST_STOPPED+(DATE_DIFF))<=DATE_LAST_STOPPED){

int_Counter=DATE_DIFF/30;

calDF.set(Calendar.DAY_OF_MONTH, (int)(PERIOD));

while(Teller<int_Counter){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="WORKFLOW NOT

VALID(NON_REPETITIVE-DAY)";

calDF.add(Calendar.MONTH,1);

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

TRANS_ERRORS=0;

Teller++;

Page 73: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

19

generateRow();

}

}

}

else if(UNIT.equals("MONTH")){

if((DATE_FIRST_STOPPED+(DATE_DIFF))<=DATE_LAST_STOPPED){

int_Counter=(DATE_DIFF/30)/12;

calDF.set(Calendar.MONTH, (int)(PERIOD));

while(Teller<int_Counter){

Counter=Teller;

WF_ERR_CODE="";

WF_ERR_MSG="WORKFLOW NOT

VALID(NON_REPETITIVE-MONTH)";

calDF.add(Calendar.YEAR,1);

DATE_STARTED=calDF.getTimeInMillis();

//.valueOf(

TRANS_ERRORS=0;

Teller++;

generateRow();

}

}

}

else{

WF_ERR_MSG="Invalid Input:

"+WF_NAME+","+DATE_FIRST_STOPPED+","+REPETITIVE+","+UNIT+","+P

ERIOD+","+WF_ID+","+DATE_DIFF;

WF_ERR_CODE="";

DM_WORKFLOW=0;

DATE_STARTED=DATE_FIRST_STOPPED;

generateRow();

}

}

Simulates workflows that should have run in the Java code, then checks if there is a

difference in real vs simulated counts, before inserting the simulated rows in a dump

table

Page 74: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

20

M_INSERT_DUMMIES_IN_WORKFLOWS

SQL code:

insert into FCT_WORKFLOW_run

(select * from FCT_DUMP_WORKFLOW where (DATE_STARTED<

?DATE_STARTED_REAL_v? and DATE_STARTED > ?PREV_DATE_STARTED_v?) and

DM_WORKFLOW=?DM_WORKFLOW1?);

After checking which records are missing, this will insert them via SQL transformation

into FCT_WORKFLOW_RUN.

M_FILLUP_SESSION_RUN

Page 75: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

21

Extracting the sessions which have a workflow and haven’t already been processed

and inserting them into FCT_SESSION_RUN

M_FILLUP_SESSION_DETAIL

Inserting tables that have sessions in the FCT_SESSION_DETAIL

Page 76: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

22

M_FILLUP_SLA_TABLES

Load Strategy :

1) Insert if the workflow is not in the FT_table AND less than 2 years in the past 2) ETL will not update any existing workflow run, session run or session detail 3) SLA and workflow information can be updated 4) In all other cases, an update will occur , but only if data has changed

compared to the previous run.

Workflow: WF_ETL_MONITORING_MAIN_DATA_FLOW

Page 77: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

23

Workflow will be scheduled on production once a day ( Scheduled Task)

-7:30 AM

A mail is sent to [email protected] in case of error encountered

during the process.

Page 78: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

24

BO changes

Universe lay_out

Filters

Past 24 hours

A filter to be used in the daily report, it filters out all the records that are more than a

day from sysdate

Code:

(sysdate-1)-FT_WORKFLOW_RUN.DATE_STARTED<=0

Last week

Only retrieves data from the past week, starting on Monday and ending on Sunday

Code:

to_number(to_char(sysdate,'iw'))-

to_number(to_char(FT_WORKFLOW_RUN.DATE_STARTED,'iw'))=1

or

to_number(to_char(sysdate,'iw'))-

to_number(to_char(FT_WORKFLOW_RUN.DATE_STARTED,'iw'))=-51

Page 79: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

25

Rangedate

Filtering for a variable date that proves useful in the third report

Code:

FT_WORKFLOW_RUN.DATE_STARTED>=@Prompt('Please select the minimum

date','D','Month\Hour Of Month',MONO,Constrained,Persistent)

and

FT_WORKFLOW_RUN.DATE_STARTED<=@Prompt('Please select the maximum

date','D','Month\Hour Of Month',MONO,Constrained,Persistent)

Derived tables

HOUR_OF_RUN/HOUR_OF_DAY

select to_date(to_char((TIME+(HOUR_OF_DAY/24)),'DD/MM/YYYY

HH24'),'DD/MM/YYYY HH24') as DATE_TIME from

(SELECT LEVEL-1 HOUR_OF_DAY

FROM dual

CONNECT BY LEVEL <= 48),

(select min(DATE_STARTED) as TIME

FROM FT_WORKFLOW_RUN

where

SYSDATE-DATE_STARTED<=2)

DAY_OF_MONTH/MONTH

select LEVEL/24+to_date(concat('01/',to_char(add_months(sysdate,-

1),'MM/YYYY')),'DD/MM/YYYY') as HOUR_OF_MONTH_RUN

from dual

connect by LEVEL/24+to_date(concat('01/',to_char(add_months(sysdate,-

1),'MM/YYYY')),'DD/MM/YYYY') <

to_date(to_char(SYSDATE,'DD/MM/YYYY'),'DD/MM/YYYY')

DAY_OF_RUN/

SELECT LEVEL DAY_OF_RUN

FROM dual

CONNECT BY LEVEL <= 7

DAY_OF_WEEK

SELECT LEVEL DAY_OF_WEEK,

to_char(to_date('22/09/2013','DD/MM/YYYY')+LEVEL,'Day') as Day_Name

FROM dual

CONNECT BY LEVEL <= 7

Page 80: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

26

HOUR_OF_WEEK/ HOUR_OF_WEEKLY_RUN

select to_date(to_char((TIME+(HOUR_OF_DAY/24)),'DD/MM/YYYY

HH24'),'DD/MM/YYYY HH24') as TIME_OF_WEEK,

floor(HOUR_OF_DAY/24+1) as DAY

from

(SELECT LEVEL-1 HOUR_OF_DAY

FROM dual

CONNECT BY LEVEL <= 7*24),

(select min(DATE_STARTED) as TIME

FROM FT_WORKFLOW_RUN

where

to_number(to_char(sysdate,'iw'))-

to_number(to_char(FT_WORKFLOW_RUN.DATE_STARTED,'iw'))=1

or

to_number(to_char(sysdate,'iw'))-

to_number(to_char(FT_WORKFLOW_RUN.DATE_STARTED,'iw'))=-51)

New reports

There were three requests for new reports:

Daily

Graph:

Page 81: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

27

Statistics:

Session statistics:

Page 82: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

28

Daily report:

Wo

rkfl

ow

s

Date Time of run

SLA Non-compliantRuns(Count)

Page 83: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

29

Monthly

Graph:

Statistics:

Page 84: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

30

Day-By-Day:

Weekly

Page 85: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

31

Daily:

Variable

Graph:

Statistics:

Page 86: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

32

Session statistics:

Session details:

Workflow summary

Page 87: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

33

Session summary

Page 88: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

34

Session Details:

Page 89: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

35

Appendices

Page 90: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

Executive summary

When I had to choose the company for my internship, I decided that FedEx would

give me the challenges and the opportunities I need to evolve into a person ready to

enter the professional life.

FedEx has a lot of advantages in terms of learning and working. Since it is such a

large company (300.000+ employees), I will be able to work in a multi-cultural

environment. Another of the positive sides of working for a large company is that

there are strict procedures to follow, a large company can’t afford to work with

multiple systems and principles, since it would be way to costly.

My colleagues and I will be working in a team in terms of information sharing and

training, but the project development itself will be resting on my shoulders, so I have

a unique mix of team play and working in solitude.

The Global Development Process that is in place at FedEx provides a lot of

opportunities to work on my weaker administration skills by providing the necessity

to make good Business Requirements, Software Requirements etc… I will be making

these with an agile mindset, documenting the requirements on the go.

Since I will be doing a project end-to-end, I will have to learn a lot about what’s

getting used in this company, an overarching system that provides easy access to

project documentation is Teamforge. It is a web interface which provides information

about projects and their documentation.

For the projects themselves, I will use Informatica Power center to apply ETL to the

massive amounts of data that can be found in the databases. Since I only heard

about it superficially during the school courses, I will be able to learn something from

the ground up.

As a way to display the information gathered by ETL in a user-friendly and

comprehensive way, the tool of choice here is Business Objects. It resembles Access

reporting so it will be a bit easier to learn than a complete new technology, but I

have to take into account the needs of the business, rather than just display

information I think should be displayed.

Working at FedEx certainly is a challenge, but the rewards are plentiful if I count the

skills I will acquire from working here, both the soft skills (communicating in a multi-

cultural environment) and the hard skills (transforming the data so that it can be

understood by the day-to-day users).

Page 91: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1

Reports

ETL Workflow Monitoring

Report week 3 FWRS Number 158241

1

Page 92: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

2

Planned activities

My planning of the week consisted mainly of developing the workflow in Informatica

Powercenter, consisting of:

- Reworking the workflow - Improve workflow performance - Solve errors - Testing

Activities completed

At the beginning of the week we realized during a consultation that the workflow

needs reworking after we found a flaw in our data model, so the first two days of the

week were dedicated to that.

Wednesday, I began working on the performance of the workflow, trying to remove

the “distinct” statements where they weren‟t necessary and change how data gets

read.

Thursday I found a few errors in the workflow and I spent the whole day solving them,

as well as Friday afternoon. After the lunch break I was able to start implementing the

SLA-checking and testing.

Addendums

Since my manager and my project lead are both out of office Friday and Monday, I

am unable to get approval to send screenshots and documents of what I worked on. I

will send them as soon as possible.

Page 93: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

3

ETL Workflow Monitoring

Report week 4

1

Page 94: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

4

Planned activities I could finish the ETL this week and start on the BO Universe, for which I will receive

a small training session in French to explain the basic functionalities of BO Universe

Designer. I was also planning on getting the BRS and SRS officially approved.

Activities completed The ETL workflow finished as expected and I received the training for BO, but I had

to wait for access to update the BO on my workstation to the newest version, so I had

to wait. In the mean time, the project lead came up with a scope change that would

include the Project information for each workflow. Since I had to wait I accepted it

and implemented it, finishing today.

Addendums The addendums this week will consist of the reviewed BRS, SRS and ERD. As well

as a screenshot of a mapping.

Page 95: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

5

ETL Workflow Monitoring

Report week 5

1

Page 96: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

6

Planned activities

Comping upon an unexpected aspect of the project, I will probably spend another

week on the ETL part. Near the end of the week I will be testing and slowly start

developing the BO.

There is also a training planned for the use of Teamforge which I will attend in

English.

Activities completed

The development of the workflow is nearly complete, I only need to do the Unit

Testing and UAT. The testing is something that has been partially done, but more

testing is required to completely check the workflow. The training has been given and

I took notes of them. The BO-part was really basic since I only knew the basic

requirements for the report

Addendums

- The Java code I developed to generate the simulated amount of workflows. - A screenshot of the BO-universe. - A spreadsheet containing the rough drafts of the report (no real data) - The timetable

Page 97: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

7

ETL Workflow Monitoring

Report week 6 FWRS Number 158241

1

Page 98: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

8

Planned activities

The planning consists mainly of developing the BO part of the project

Activities completed

In the beginning, I worked on the daily report, creating a template for the reports to

follow, after which I kept on improving on it, adding a second tab, the date of the

failed workflow min and max.

Afterwards, I used the template of the daily report to create a weekly report with a drill

down on daily level.

The last major request was a report with a variable time span. For ease of lookup, I

also added a prompt for which workflow you wanted to see the results. In there, there

is a drilldown report to see which tables had errors in the given period.

The most difficult part was the graph, because I had to generate the dates even

when there is no data on said date, I used derived tables for that and a deviation of

the code in the addendum.

After my reports were generally finished, I started on a reference document which

provides a support tool for when there are questions about the reports or the

workflows.

Addendums

- The reports I made - An example of the row-generating SQL - The Reference document I made for the project

Page 99: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

9

ETL Workflow Monitoring

Report week 7 FWRS Number 158241

Page 100: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

10

Planned activities

This week, my focus will lie on Unit Testing, writing a code review and starting the

internship-report

Activities completed

Whilst testing, I found a small bug which I resolved over the course of a day and a

half, afterwards, no more bugs were found and I sent a preliminary test case

document to the project lead. Afterwards, I started on the code review, essentially

collecting all aspects of the project into one file. I also started on the internship report

because it was a lull in the workload.

Addendums

- Test case document - Code Review - First draft of the internship report

Page 101: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

11

CT Meter reporting

Report week 8

Page 102: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

12

Planned activities

Having finished my first project, Peter and I agreed that I would start a second project

and see how far I would progress in the month that I have left, so I will talk to Leena

Domun for additional information and who to contact if I would need to know more

Activities completed

In the beginning of the week Leena and I had a conference call with Nathalie Boon,

our business contact to acquire more information about the second project. After the

initial meeting I set out to make the BRS and SRS for this document. Afterwards I

started asking around to see where all the data is stored. I will probably have to wait

until next week until I can access a piece of the information, but I can already explore

the available Databases.

Addendums

- Meeting report for second project - BRS - SRS - SQL

Page 103: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

13

CT Meter reporting

Report week 9

Page 104: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

14

Planned activities

I will be working on the CT Meter project, Making tables, ETL and BO

Activities completed

By 31/10/2013 the ETL and BO was finished and I added an automated updater for

the Sharepoint side of the CT Meters, if this was not in place, someone would have to

manually upload a CSV that was extracted from a linked file

Addendums

- VBA Code - ETL Screenshot

Page 105: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

15

CT Meter reporting – ETL Monitoring

Report week 10

Page 106: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

16

Planned activities I will be working on the CT Meter project, Finishing the VBA code, making the code

review and testing

Activities completed At the beginning of the week, it came to my attention that there was still a bug in the

first project, so I spent the majority of my time solving this bug and any subsequent

bugs I found.

Addendums N/A

Page 107: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

Timetable

TIMETABLE

Date TODO DONE?

19/08-23/08

Decide on project | receive additional training | meeting with teammembers | make BR for all three projects

19/08 Introduction to GDP of FedEx Y

20/08 Introduction to GDP of FedEx | Meeting about projects | make BR YYY

21/08 Make a report about the meeting | get feedback on BR YY

22/08 Set up schoolfiles | fill in all the gaps of the first week | Learn to work in BO YYY

23/08 learn about OEM | Learn to work in BO YY

Result: 100%

26/08-30/08 Meeting with manager | Executive Summary | make BR's better | High-level SRS

26/08

Meeting with manager | make Executive Summary | Attend team meeting | Collect additional BR YYNY

27/08 Improve executive summary |Explore Powercenter YY

28/08 Make BR better | fill in SRS | Work in Powercenter | Make ERD YYY

29/08 Adapt data model and workflow to new model Y

30/08 Get Approval for BR|Finish new workflow NN

Result: 75%

2/09-6/09 Work on workflow: Performance, errors, readability of output

2/09 Report to manager|Get approval for BRS|Work on SRS|Workflow YYYY

3/09 Rework workflow Y

4/09 Make workflow more performant Y

5/09 Get errors out of workflow N

6/09 Complete Workflow|Administration|GDP|Testing of results Y

Result: 85%

9/09-13/09 Consult with Vincent | Receive SLA test-data

9/09

Present workflow to Vincent|Get SLA-testdata| Team meeting|Start Workflow-testing NNNN

Vincent and Peter were Out of Office

10/09 Continue Workflow-testing|Teammeeting Y

11/09

Present results to Vincent|Implement SLA-input |Start on Load Strategy|Start with developing the BO-universe YYYN

12/09 Continue on log table|Start Developing BO-Universe Y

13/09 BO-universe|Adding Scope Change NY

Result: 50%

16/09-20/09 Adding Scope Change|BO-universe | BO-report

16/09 Team meeting | Scope Change YY

17/09 BO-universe Y

18/09 BO-universe|Starting BO-Report YY

19/09 ETL Improvement Y

20/09 ETL Improvement Y

Result: 100%

Page 108: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

1

23/09/27/09 Finishing ETL|Testing|Demo'ing result|BO

23/09 Team meeting|ETL YY

24/09 ETL Y

25/09 Testing|Demo'ing result YY

26/09 Testing|BO YY

27/09 BO Y

Result: 100%

30/09-04/10 BO|Wrapping up first project

30/09 Improve Universe|Make daily report YY

01/10 Make weekly report|Make variable report YY

02/10 Improve and add functionality to reports|Add field to FT table YY

03/10 Wrap up project Y

04/10 Wrap up project Y

Result: 100%

07/10-11/10 Testing Debugging

07/10 Wrapping up project|Team meeting|Documenting Testing| YYY

08/10 Testing|Debugging YY

09/10 Testing|Debugging YY

10/10 Testing|Debugging YY

11/10 Testing|Debugging YY

Result: 100%

14/10-18/10 Testing|Project meeting|BRS|SRS

14/10 Testing|Debugging YY

15/10 Project meeting|Team meeting|BRS CT METER YYY

16/10 BRS|SRS YY

17/10 SQL|ETL YY

18/10 ETL Y

Result: 100%

21/10-25/10 ETL|BO|Macro making

21/10 Team meeting|BO YY

22/10 ETL|BO YY

23/10 Access Y

24/10 VBA Y

25/10 VBA Y

Result: 100%

28/10-1/11 Testing |VBA

28/10 Office Cleanup|VBA YY

29/10 Testing|Team meeting YY

30/10 BO Y

31/10 Testing Y

1/11 HOLIDAY

Result: 100%

4/11-8/11 Debugging ETL Monitoring

Page 109: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

2

4/11 Team meeting|Debugging ETL YY

5/11 Debugging ETL Monitoring Y

6/11 Debugging ETL Monitoring Y

7/11 Debugging ETL Monitoring Y

8/11 ETL CT Meter Reporting Y

Result: 100%

CT Meter Reporting

11/11 Team meeting Y

12/11 ETL CT meter reporting Y

13/11 ETL|BO Y

14/11 ETL|BO Y

15/11 Testing Y

Result: 100%

Page 110: Hogeschool-Universiteit Brussel · Academiejaar 2011-2012 Toegepaste Informatica Naam: Michael Brunclair Klasgroep: 3IZ ... 1 Overzicht van specifieke termen en afkortingen ... Deel

3

Presentatie