04-CDI Mapping Design and Development Flashcards

1
Q

Cosa definiscono i CDI Mappings?

A

logica di flusso dei dati dalla sorgente alla destinazione

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Per essere un mapping valido in CDI, quante e che tipi di trasformazioni deve contenere?

A
  1. trasformazione di sorgente
  2. trasformazione di destinazione
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

In che ordine verrà eseguito il flusso di dati in un CDI mapping?

A

da destra a sinistra

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quante sorgenti e destinazioni può avere un mapping?

A

1 o + sorgenti, 1 o + destinazioni (supportate da IDMC Connections)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quali tipi di trasformazioni è possibile inserire tra sorgenti e destinazioni, per eseguire le logiche aziendali?

A
  1. filtraggio dei dati
  2. ricerca e arricchimento dei dati
  3. unione di set di dati eterogenei
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cosa rappresentano le trasformazioni in CDI?

A

operazioni che si desidera eseguire sui dati all’interno di un mapping, ognuna ha un obiettivo specifico.
SORGENTI e DESTINAZIONI sono trasformazioni (definite da proprietà dell’endpoint)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

In quali categorie possono essere divise le trasformazioni?

A
  1. trasformazioni attive: producono n° di righe in uscita = a n° righe in ingresso (es: expression, lookup)
  2. trasformazioni passive: operano su tutte le righe in ingresso, possono produrre +, - o = n° di righe in uscita (es: aggregator, joiner)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

A parte trasformazioni ATTIVE e PASSIVE, quali altri tipo conosciamo?

A
  1. trasformazioni Java: consente esecuzione codice non nativo alla piattaforma Informatica (x operazioni complesse)
  2. trasformazioni gerarchiche: consente gestione strutture di dati complesse (es: input gerarchici/relazionali > output relazionali/gerarchici/denormalizzati)
  3. trasformazioni web services: integrazione chiamate a un’app esterna (es: recupero dati da un database web esterno)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

In che categorie possono essere suddivise le funzioni utilizzabili all’interno di mappature/trasformazioni?

A
  1. aggregazione:
    - Average > media insieme numerico
    - Count > conta n° righe/occorrenze
    - Min/Max > trova valore min e max in un insieme
    - Sum > somma valori di un insieme numerico
  2. conversione
    - TO_CHAR > converte in stringa
    - TO_DATE > converte in data
    - TO_INTEGER > converte in n° intero
  3. manipolazione stringa/pulizia dati
    - Replace > sostituisce sottostringa con un’altra
    - RegEX > per pattern matching e manipolazione stringhe
    - SubString > estrae sottostringa da stringa
    - Trim > rimuove spazi iniziali e finali
    - Concatenate > unisce 2 o + stringe
  4. funzioni numeriche
    - Floor > arrotonda n° al valore intero inferiore + vicino
    - Absolute > valore assoluto di un numero
    - Log > logaritmo di un numero
    - Moving Average > media mobile intervallo di dati
  5. funzioni scientifiche
    - Cosine > coseno angolo
    - Sine > seno angolo
    - Tangent > tangente angolo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cos’è una trasformazione di espressione?

A

trasformazione comune per applicare la maggior delle funzioni

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Nel contesto dei mapping, cosa sono i template e a cosa servono?

A
  1. ti aiutano a iniziare rapidamente un progetto
  2. contengono logiche predefinite utilizzabili per attività di integrazione, pulizia e gestione di dati
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quali categorie di template è possibile scegliere?

A
  1. integrazione:
    - aggiunta dati con Lookup
    - unione 2 fonti con Join interno
    - replica incrementale dati su un nuovo target
  2. pulizia dati:
    - controllo dati di origine x valori nulli
    - separazione record validi/non validi su target diversi
    - deduplicazione dati di origine con identificatore unico
  3. data warehousing: gestione dimensioni lente (slowly changing dimensions)
  4. soluzioni per settore: soluzioni industriali come trattamento messaggi HL7 in ingresso o elaborazione messaggi X12 HIPAA in ingresso
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

A cosa serve la trasformazione EXPRESSION?

A
  1. consente di applicare funzioni sui dati
  2. elabora e manipola informazioni (aggregazione, conversione di dati)
  3. le funzioni utilizzate all’interno dell’Expression possono essere matematiche, stringa, data, e altre
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

A cosa serve la trasformazione LOOKUP?

A
  1. recuperare dati da una fonte secondaria
  2. utile per ottenere valori da altre tabelle/fonti di dati in base a una chiave di ricerca
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

A cosa serve la trasformazione ROUTER?

A

permette di suddividere i dati in più flussi in base a criteri definiti

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Caratteristiche EXPRESS OBJECT

A
  1. più comune
  2. opera su tutto il set di dati, ma su base record per record
  3. utilizza un editor di espressioni per accedere alle funzioni CDI da eseguire sui campi
  4. es: concatenazione, RegEx
17
Q

EXPRESSION OBJECT, step di configurazione (es. concatenazione)

A
  1. aggiunta expression object nella mappatura
  2. modifica campi di ingresso (icona del “+” permette di aggiungere un’espressione. Configura un campo che conterrà l’output dell’espressione. Il tipo di campo sarà “output”)
  3. configurazione espressione (clicca sul link di configurazione per aprire l’editor. Puoi alternare tra nomi di campo e funzioni integrate utilizzando il menu a tendina come necessario. Le funzioni possono essere annidate)
  4. anteprima del risultato (selezionando Run Preview, verrà presentata una schermata di configurazione. Puoi selezionare quante righe visualizzare in anteprima e dove eseguire il codice)
18
Q

Caratteristiche LOOKUP OBJECT

A
  1. utilizzato per recuperare i dati da un set di dati che può essere diverso dalla sorgente
  2. simile a una query
  3. supporta molti tipi di connessioni
  4. bisogna fornire una condizione in cui un campo in ingresso venga confrontato con un campo nel set di dati di ricerca. È possibile confrontare più campi, ma solo come condizione AND. Gli operatori di confronto supportati sono >, <, >=, <=, =, e !=
  5. può essere memorizzato nella cache o meno, il caching migliora le prestazioni
  6. per impostazione predefinita, un lookup è un oggetto passivo
19
Q

LOOKUP OBJECT, step di configurazione

A
  1. campi in ingresso (campi da confrontare come input)
  2. connessione di lookup (configurazione con connessione IDMC, scegliere tabella da utilizzare)
  3. condizione di lookup
  4. anteprima del risultato (selezionando Run Preview, verrà presentata una schermata di configurazione. Puoi selezionare quante righe visualizzare in anteprima e dove eseguire il codice)
20
Q

Caratteristiche ROUTER OBJECT

A
  1. utilizza una condizione di filtro per valutare ogni riga dei dati in ingresso
  2. simile a un oggetto Filter, ma può essere più efficiente (router testa + condizioni in un’unica passata, filter può testare 1 sola condizione alla volta)
  3. le condizioni possono essere semplici o complesse
  4. non scarta righe (se una riga non passa nessuna condizione, viene inviata a un gruppo Default, se il gruppo Default non è connesso a un oggetto downstream, le righe vengono scartate)
  5. gruppo filter = scarta qualsiasi riga che non soddisfa una condizione
  6. ogni gruppo può essere connesso a 1 o + oggetti
  7. non è possibile connettere + gruppi allo stesso oggetto downstream (eccezione se oggetto downstream ha + gruppi in input)
21
Q

ROUTER OBJECT, step di configurazione

A
  1. campi in ingresso (necessario includere i campi che saranno valutati nelle condizioni dei gruppi)
  2. creare gruppi (ogni gruppo creato è allineato con una condizione, se una riga passa la condizione viene emessa come parte del gruppo. I gruppi non sono esclusivi)
  3. condizione del gruppo
  4. anteprima del risultato (selezionando Run Preview, verrà presentata una schermata di configurazione. Puoi scegliere quante righe visualizzare in anteprima e dove eseguire il codice)