jag har inget dokument att dela om dessa kapslade slingor, och jag är ingen del av projektgruppen längre, så allt jag kan berätta om det är av toppen av mitt huvud. Så jag hoppas att du förstår varför jag inte kan berätta för många detaljer här.
i grund och botten var jag tvungen att utföra tre olika typer av sökning på samma bord för en så kallad anpassad regel i Testdatahanteringsprogramvaran (TDM). Dessa anpassade regler implementeras som mapplets, och de måste innehålla enbart passiva transformationer. Inga routrar, inga filter, inga aggregatorer, inga aktiva Java-transformationer, bara uttryck, Uppslagstransformationer och liknande.
nu för de två mest komplexa anpassade reglerna var jag tvungen att implementera flera hjälptabeller som innehöll dessa uppslagsdata på olika aggregeringsnivåer. Att fylla dessa tabeller från PowerCenter var inte så lätt eftersom källfilen består av 4,5 GB text (app. 43 miljoner poster); uppslagstabellerna innehåller data på tre olika aggregeringsnivåer med olika uppslagskriterier. Och jag ville inte dela upp kartläggningen i tre. Så jag var tvungen att ta hand om identifiering av ”samma” baserade rekord på egen hand, jag kunde inte använda aggregatorer ensam.
Såvitt jag minns, i ett traditionellt programmeringsspråk som Java skulle jag ha behövt upp till fem kapslade slingor för att analysera källdata och skapa respektive uppslagningsposter från dessa inmatningsdata. Att utföra olika aggregeringsnivåer med flera variabla portar i en enda EXP är inte så lätt att underhålla, men mina första försök har visat att detta fortfarande var det bästa valet; som nämnts kunde jag ha delat upp kartläggningen i tre, men varje kartläggning skulle ha haft nästan samma nivå av komplexitet som den ”allmänna” EXP, så jag ansåg inte att det var värt ansträngningen att behålla tre olika lastvägar i denna kartläggning.
jag är övertygad om att alla med viss erfarenhet av PowerCenter kan – efter en tanke – komma med en liknande historia om icke-triviala kartläggningskrav från sin egen praxis. Vi kanske inte ens är medvetna om sådan komplexitet, men det är fortfarande där.
ta till exempel en tråd från 2014 eller 2015 där någon frågade hur man genererar primtal i PowerCenter. Inte så lätt. Den som bygger en sådan lösning måste tänka (och arbeta) utanför de kända vägarna. Det är utan tvekan en extraordinär prestation i PowerCenter. Så det här kanske inte är ett stort exempel, men det kan vara ett bra exempel på mer komplex kartläggningslogik.
som ett annat exempel, titta på något system för att samordna exekveringen av arbetsflöden i en viss ordning. Kanske med några ytterligare villkor, till exempel ”antal poster med egenskapen XYZ är lika med värdet ABC”. Alla dessa saker kan bli godtyckligt komplexa, och – som nämnts ovan-Jag är övertygad om att många människor har byggt något liknande komplex en eller flera gånger även om de inte kände igen det.