Workflow in Informatica: Maken, Taak, Parameter, Herbruikbaar, Manager

Wat is werkstroom?

Workflow is een groep instructies/opdrachten voor de integratieservice in Informatica. De integratieservice is een entiteit die workflow-informatie uit de repository leest, gegevens uit bronnen ophaalt en deze na het uitvoeren van de transformatie in het doel laadt.

Workflow – Het definieert hoe taken moeten worden uitgevoerd, zoals sessietaak, opdrachttaak, e-mailtaak, Etc.

Om een ​​werkstroom te creëren

  1. U moet eerst taken aanmaken
  2. En voeg die taken vervolgens toe aan de workflow.

Een workflow is als een lege container, die de capaciteit heeft om een ​​object op te slaan dat u wilt uitvoeren. U voegt taken toe aan de workflow die u wilt uitvoeren. In deze tutorial gaan we de volgende dingen doen in workflow.

Werkstroom in Informatica

Het uitvoeren van workflows kan op twee manieren worden gedaan

  • Volgorde : Taken worden uitgevoerd in de volgorde waarin ze zijn gedefinieerd
  • Op evenement gebaseerd: Taken worden uitgevoerd op basis van de gebeurtenisvoorwaarden.

Hoe u Workflowbeheer opent

Stap 1) Klik in Informatica Designer op het pictogram Workflowmanager

Open Workflowbeheer

Stap 2) Hierdoor wordt een venster van Workflow Manager geopend. Vervolgens in de workflowmanager.

  1. We gaan verbinding maken met de repository “guru99”, dus dubbelklik op de map om verbinding te maken.
  2. Voer de gebruikersnaam en het wachtwoord in en selecteer vervolgens “Verbindingsknop”.

Open Workflowbeheer

Stap 3) In de werkstroommanager.

  1. Klik met de rechtermuisknop op de map
  2. Selecteer de optie Openen in het pop-upmenu

Open Workflowbeheer

Hierdoor wordt de werkruimte van Workflow Manager geopend.

Open Workflowbeheer

Verbindingen maken voor Workflow Manager

Om een ​​taak in de workflowmanager uit te voeren, moet u een verbindingen. Door deze verbindingen te gebruiken, maakt Integration Service verbinding met verschillende objecten.

Bijvoorbeeld in uw in kaart brengen Als u een brontabel in een Oracle-database hebt, hebt u een Oracle-verbinding nodig zodat de integratieservice verbinding kan maken met de Oracle-database om de brongegevens op te halen.

De volgende verbindingstypen kunnen in de workflowmanager worden gemaakt.

  • Relationele verbinding
  • FTP-verbinding
  • Queue
  • Aanvraag

De keuze voor de verbinding die u maakt, is afhankelijk van het type bron- en doelsysteem dat u wilt aansluiten. Vaker zou je gebruiken relationele verbindingen.

Om een ​​relationele verbinding tot stand te brengen

Stap 1) In Workflowbeheer

  1. Klik op het menu Verbinding
  2. Selecteer Relationele optie

Creëer een relationele verbinding

Stap 2) In het pop-upvenster

  1. Selecteren Oracle qua soort
  2. Klik op de nieuwe knop

Creëer een relationele verbinding

Stap 3) In het nieuwe venster voor de definitie van verbindingsobjecten

  1. Voer de verbindingsnaam in (nieuwe naam-guru99)
  2. Vul je gebruikersnaam in
  3. Voer wachtwoord in
  4. Voer de verbindingsreeks in
  5. Laat andere instellingen op de standaardwaarde staan ​​en selecteer de knop OK

Creëer een relationele verbinding

Stap 4) U keert terug naar het vorige venster. Klik op de knop Sluiten.

Creëer een relationele verbinding

Nu bent u klaar met de relationele verbinding in workflowmanager.

Onderdelen van Workflowmanager

Er zijn drie componenthulpmiddelen van Workflow Manager die helpen bij het maken van verschillende objecten in Workflow Manager. Deze hulpmiddelen zijn

  • Taakontwikkelaar
  • Werklet-ontwerper
  • Werkstroomontwerper

Onderdelen van Workflowmanager

Taakontwikkelaar – Task developer is een tool waarmee u herbruikbare objecten kunt maken. Herbruikbare objecten in workflow manager zijn objecten die in meerdere workflows hergebruikt kunnen worden. Bijvoorbeeld, als u een command task in task developer hebt gemaakt, dan kunt u deze taak in een willekeurig aantal workflows hergebruiken.

De rol van Workflow-ontwerper is het uitvoeren van de taken die eraan zijn toegevoegd. U kunt een willekeurig aantal taken toevoegen aan een workflow.

U kunt drie typen herbruikbare taken maken in Taakontwikkelaar.

  • Commando taak
  • Sessie taak
  • e-mail taak

Commando taak – Een opdrachttaak wordt gebruikt om verschillende Windows/Unix-opdrachten uit te voeren tijdens de uitvoering van de workflow. U kunt een opdrachttaak maken om verschillende opdrachten uit te voeren. Met behulp van deze taak kunt u opdrachten uitvoeren om bestanden/mappen aan te maken, om bestanden/mappen te verwijderen, om ftp-bestanden te maken enz.

Sessietaak – Om een ​​mapping uit te voeren is een sessietaak in Informatica vereist.

  • Zonder een sessietaak kunt u geen mapping uitvoeren of uitvoeren
  • Een sessietaak kan slechts één enkele mapping uitvoeren. Er is dus een één-op-één-relatie tussen een mapping en een sessie
  • Een sessietaak is een object met behulp waarvan computer leert hoe en waar een mapping moet worden uitgevoerd en op welk tijdstip
  • Sessies kunnen niet zelfstandig worden uitgevoerd, er moet een sessie aan een workflow worden toegevoegd
  • In sessie-object cache-eigenschappen kunnen worden geconfigureerd en ook geavanceerde configuratie voor prestatie-optimalisatie.

E-mailtaak – Met behulp van de e-mailtaak kunt u e-mail verzenden naar gedefinieerde ontvangers wanneer de Integration Service een workflow uitvoert. Als u bijvoorbeeld wilt controleren hoe lang het duurt om een ​​sessie te voltooien, kunt u de sessie configureren om een ​​e-mail te verzenden met de details van de start- en eindtijd van de sessie. Of als u wilt dat de Integration Service u op de hoogte stelt wanneer een workflow is voltooid/mislukt, kunt u de e-mailtaak hiervoor configureren.

Hoe u een opdrachttaak maakt

Stap 1) Om een ​​command task te maken gaan we Task Developer gebruiken. In Workflow Manager, open de task developer door te klikken op het tabblad “task developer” in het menu.

Maak een opdrachttaak

Stap 2) Zodra de taakontwikkelaar is geopend, volgt u deze stappen

  1. Selecteer het Takenmenu
  2. Selecteer de optie Maken

Maak een opdrachttaak

Stap 3) In het taakvenster maken

  1. Selecteer opdracht als type taak dat u wilt maken
  2. Voer de taaknaam in
  3. Selecteer de knop Maken

Maak een opdrachttaak

Hierdoor wordt een opdrachttaakmap gemaakt. Nu moet je de taak configureren om er een opdracht aan toe te voegen, die we in de volgende stap zullen zien.

Maak een opdrachttaak

Stap 4) Om de taak te configureren, dubbelklikt u op het pictogram van de opdrachttaak en wordt een 'taakbewerkingsvenster' geopend. In het nieuwe taakbewerkingsvenster

  1. Selecteer het opdrachtenmenu
  2. Klik op het pictogram voor het toevoegen van een nieuwe opdracht
  3. Voer de opdrachtnaam in
  4. Klik op het opdrachtpictogram om opdrachttekst toe te voegen

Hiermee wordt een opdracht-editorvenster geopend.

Maak een opdrachttaak

Stap 5) Voer in het opdrachtvenster de opdracht “mkdir C:\guru99” in (dit is de Windows-opdracht om een ​​map met de naam “guru99” te maken) en selecteer OK.

Maak een opdrachttaak

Na deze stap keert u terug naar het venster Taken bewerken. Hier ziet u de opdracht die u hebt toegevoegd in het tekstvak voor opdrachten.

Stap 6) Klik op OK in het taakvenster voor bewerken,

Maak een opdrachttaak

De opdrachttaak wordt aangemaakt in de taakontwikkelaar onder de repository “Guru99”.

Maak een opdrachttaak

Note gebruik de sneltoets ctrl+s om de wijzigingen in de repository op te slaan

Maak een opdrachttaak

Hoe u een workflow kunt creëren om de opdrachttaak uit te voeren

Om opdrachttaken uit te voeren, moet u overschakelen naar de workflowontwerper. Een workflowontwerper is een ouder- of containerobject waarin u meerdere taken kunt toevoegen. Wanneer de workflow wordt uitgevoerd, worden alle toegevoegde taken uitgevoerd. Om een ​​werkstroom te creëren

Stap 1) Open de workflowontwerper door op het workflowontwerpermenu te klikken

Creëer een workflow om de opdrachttaak uit te voeren

Stap 2) In workflowontwerper

  1. Selecteer het workflowmenu
  2. Selecteer optie maken

Creëer een workflow om de opdrachttaak uit te voeren

Stap 3) In het workflow-venster maken

  1. Voer de werkstroomnaam in
  2. Selecteer de OK-knop (laat andere opties standaard staan)

Creëer een workflow om de opdrachttaak uit te voeren

Hiermee wordt de werkstroom gemaakt.

Naamgeving - Workflow-namen worden voorafgegaan door 'wkf_', als je een sessie hebt met de naam 's_m_werknemer_detail' dan kan de workflow voor hetzelfde de naam krijgen als 'wkf_s_m_werknemer_detail'.

Creëer een workflow om de opdrachttaak uit te voeren

Wanneer u een workflow maakt, bestaat deze niet uit taken. Om een ​​taak in een workflow uit te voeren, moet u er dus een taak aan toevoegen.

Stap 4) Om de opdrachttaak die we in Taakontwikkelaar hebben gemaakt, toe te voegen aan de workflowontwerper

  1. Vouw in de navigatorstructuur de takenmap uit
  2. Sleep de opdrachttaak naar de workflowontwerper en zet deze daar neer

Creëer een workflow om de opdrachttaak uit te voeren

Stap 5) Selecteer de optie ‘taak koppelen’ in de werkbalk in het bovenste menu. (De optie taak koppelen koppelt verschillende taken in een workflow aan de starttaak, zodat de volgorde van uitvoering van taken kan worden gedefinieerd).

Creëer een workflow om de opdrachttaak uit te voeren

Stap 6) Zodra u het linktaakpictogram selecteert, kunt u de link tussen de starttaak en de opdrachttaak slepen. Selecteer nu de starttaak en sleep een link naar de opdrachttaak.

Creëer een workflow om de opdrachttaak uit te voeren

Nu bent u klaar en heeft de workflow een opdrachttaak die moet worden uitgevoerd.

Hoe u een werkstroom uitvoert

Stap 1) Om de werkstroom uit te voeren

  1. Selecteer de workflowoptie in het menu
  2. Selecteer de optie voor het starten van de workflow

Werkstroom uitvoeren

Dit gaat open werkstroommonitor venster en voert de workflow uit

Werkstroom uitvoeren

Zodra de workflow is uitgevoerd, wordt de opdracht uitgevoerd om een ​​map (guru99-map) in de gedefinieerde map aan te maken.

Werkstroom uitvoeren

Sessie taak

Om een ​​mapping uit te voeren is een sessietaak in Informatica vereist.

Zonder een sessietaak kunt u geen mapping uitvoeren of uitvoeren, en kan een sessietaak slechts één mapping uitvoeren. Er is dus een één-op-één-relatie tussen een mapping en een sessie. Een sessietaak is een object waarmee Informatica leert hoe en waar een mapping moet worden uitgevoerd en op welk tijdstip. Sessies kunnen niet zelfstandig worden uitgevoerd, er moet een sessie aan een workflow worden toegevoegd. In de sessie kunnen objectcache-eigenschappen worden geconfigureerd, evenals geavanceerde configuratie voor prestatie-optimalisatie.

Een sessietaak maken

In deze oefening maakt u een sessietaak voor de mapping “m_emp_emp_target” die u in het vorige artikel hebt gemaakt.

Stap 1) Open Workflowmanager en open taakontwikkelaar

Maak een sessietaak

Stap 2) Zodra de taakontwikkelaar is geopend, gaat u in de workflowmanager naar het hoofdmenu

  1. Klik op het taakmenu
  2. Selecteer optie maken

Maak een sessietaak

Dit opent een nieuw venster "Taak maken"

Stap 3) In het taakvenster maken

  1. Selecteer sessietaak als taaktype.
  2. Voer de naam van de taak in.
  3. Klik op de knop Maken

Maak een sessietaak

Stap 4) Er verschijnt een venster waarin u de mapping kunt selecteren. Selecteer de mapping die u aan deze sessie wilt koppelen, selecteer voor dit voorbeeld de mapping “m_emp_emp_target” en klik op de knop OK.

Maak een sessietaak

Stap 5) Klik daarna op de knop "Gereed".

Maak een sessietaak

Sessieobject verschijnt in de taakontwikkelaar

Maak een sessietaak

Stap 6) In deze stap maakt u een workflow voor de sessietaak. Klik op het workflowontwerperpictogram.

Maak een sessietaak

Stap 7) In de workflow-ontwerptool

  1. Klik op het workflowmenu
  2. Selecteer optie maken

Maak een sessietaak

Stap 8) In het venster voor het maken van een workflow

  1. Voer de werkstroomnaam in
  2. Selecteer OK. (laat andere eigenschappen standaard staan, u hoeft geen eigenschappen te wijzigen)

Maak een sessietaak

In de workflowmanager verschijnt een starttaak, dit is een startpunt voor de uitvoering van de workflow.

Maak een sessietaak

Stap 9) In werkstroombeheer

  1. Vouw de sessiemap uit onder de navigatiestructuur.
  2. Versleep de sessie die u hebt gemaakt naar de werkruimte van de workflowmanager.

Maak een sessietaak

Stap 10) Klik op de optie Taak koppelen in de gereedschapskist.

Maak een sessietaak

Stap 11) Koppel de starttaak en sessietaak via de link.

Maak een sessietaak

Stap 12) Double klik op het sessieobject in Wokflow Manager. Er wordt een taakvenster geopend waarin u de taakeigenschappen kunt wijzigen.

Stap 13) In het bewerkingstaakvenster

  1. Selecteer het tabblad Toewijzing
  2. Verbindingseigenschap selecteren
  3. Wijs de verbinding toe aan bron en doel, de verbinding die we in de eerste stappen hebben gemaakt.
  4. Selecteer OK-knop

Maak een sessietaak

Nu is uw configuratie van de workflow voltooid en kunt u de workflow uitvoeren.

Maak een sessietaak

Hoe u meerdere taken aan een starttaak kunt toevoegen

De starttaak is een startpunt voor de uitvoering van de workflow. Er zijn twee manieren om meerdere taken aan een starttaak te koppelen.

  1. Parallel
  2. Serie-

Bij parallelle koppeling worden de taken direct gekoppeld aan de starttaak en worden alle taken tegelijkertijd parallel uitgevoerd.

Hoe u taken parallel kunt toevoegen

Stap 1)Open in de workflowmanager de workflow “wkf_run_command”

Voeg taken parallel toe

Stap 2)Voeg in de workflow sessietaak “s_m_emp_emp_target” toe. (door sessie te selecteren en vervolgens te slepen en neer te zetten)

Voeg taken parallel toe

Stap 3)Selecteer de optie 'Taak koppelen' in de werkbalk

Voeg taken parallel toe

Stap 4) koppel de sessietaak aan de starttaak (door op starttaken te klikken, de klik ingedrukt te houden en verbinding te maken met de sessietaak)

Voeg taken parallel toe

Na het koppelen van de sessietaak ziet de workflow er als volgt uit.

Voeg taken parallel toe

Stap 5)Start de workflow en monitor in de workflowmonitor.

Voeg taken parallel toe

Voeg taken parallel toe

Taken toevoegen in seriële modus

Maar voordat we taken in de seriële modus toevoegen, moeten we de taak verwijderen die we hebben toegevoegd om de parallelle uitvoering van de taak aan te tonen. Daarom

Stap 1)Open de werkstroom “w.kf_run_command”

  1. Selecteer de koppeling naar de sessietaak.
  2. Selecteer de bewerkingsoptie in het menu
  3. Selecteer de verwijderoptie

Taken toevoegen in seriële modus

Stap 2)Er verschijnt een bevestigingsdialoogvenster in een venster, selecteer de optie Ja

Taken toevoegen in seriële modus

De koppeling tussen de starttaak en de sessietaak wordt verwijderd.

Taken toevoegen in seriële modus

Stap 3)Ga nu opnieuw naar het bovenste menu en selecteer de optie 'Taak koppelen' in de werkbalk

Taken toevoegen in seriële modus

Stap 4)koppel de sessietaak aan de opdrachttaak

Taken toevoegen in seriële modus

Na het koppelen ziet de workflow er als volgt uit

Taken toevoegen in seriële modus

Stap 5) Om het visuele uiterlijk van de workflow duidelijker te maken

  1. Klik met de rechtermuisknop op de wokruimte van de workflow
  2. Selecteer menu regelen
  3. Selecteer Horizontale optie

Taken toevoegen in seriële modus

Taken toevoegen in seriële modus

Als u de workflow start, wordt eerst de opdrachttaak uitgevoerd en na uitvoering ervan de sessietaak.

Variabele werkstroom

Met werkstroomvariabelen kunnen verschillende taken in een werkstroom informatie met elkaar uitwisselen en kunnen taken ook toegang krijgen tot bepaalde eigenschappen van andere taken in een werkstroom. Om bijvoorbeeld de huidige datum te krijgen, kunt u de ingebouwde variabele “sysdate” gebruiken.

Het meest voorkomende scenario is wanneer u meerdere taken in een werkstroom hebt en u in één taak toegang hebt tot de variabele van een andere taak. Als u bijvoorbeeld twee taken in een werkstroom hebt en de vereiste is om de tweede taak alleen uit te voeren wanneer de eerste taak met succes is uitgevoerd. U kunt een dergelijk scenario implementeren met behulp van een vooraf gedefinieerde variabele in de workflow.

Het scenario implementeren

We hadden een workflow “wkf_run_command” waaraan taken werden toegevoegd in de seriële modus. Nu gaan we een voorwaarde toevoegen aan de koppeling tussen sessietaak en commandotaak, zodat pas na het succes van de commandotaak de sessietaak wordt uitgevoerd.

Stap 1) Open de werkstroom “wkf_run_command”

Het scenario implementeren

Stap 2) Double klik op de link tussen sessie en opdrachttaak

Het scenario implementeren

Er verschijnt een expressievenster

Het scenario implementeren

Stap 3)Double klik op de statusvariabele onder het menu “cmd_create_folder”. Een variabele “$cmd_create_folder.status” zal verschijnen in het editorvenster aan de rechterkant.

Het scenario implementeren

Stap 4) Nu zullen we de variabele “$cmd_create_folder.status” instellen op de status geslaagd. wat betekent dat wanneer de vorige taken zijn uitgevoerd en de uitvoering succesvol was, u alleen de volgende sessietaak uitvoert.

  1. Wijzig de variabele in de waarde “$cmd_create_folder.status=SUCCEEDED”.
  2. Klik op de OK-knop

Het scenario implementeren

De werkstroom ziet er als volgt uit

Het scenario implementeren

Wanneer u deze workflow uitvoert, wordt eerst de opdrachttaak uitgevoerd en pas als deze slaagt, wordt alleen de sessietaak uitgevoerd.

Werkstroomparameter

Workflowparameters zijn die waarden die tijdens de run constant blijven. zodra hun waarde is toegekend, blijft deze hetzelfde. Parameters kunnen worden gebruikt in workflow-eigenschappen en hun waarden kunnen worden gedefinieerd in parameterbestanden. In plaats van een hardgecodeerde verbindingswaarde te gebruiken, kunt u bijvoorbeeld een parameter/variabele gebruiken in de verbindingsnaam en kan de waarde worden gedefinieerd in het parameterbestand.

Parameterbestanden zijn de bestanden waarin we de waarden van mapping-/workflowvariabelen of parameters definiëren. Hun bestanden hebben de extensie “.par”. Als algemene standaard wordt voor een workflow een parameterbestand aangemaakt.

Voordelen van parameterbestand

  • Helpt bij de migratie van code van de ene omgeving naar de andere
  • Maakt eenvoudig debuggen en testen mogelijk
  • Waarden kunnen eenvoudig worden gewijzigd zonder dat de code wordt gewijzigd

Structuur van parameterbestand

De structuur van het parameterbestand

  • [mapnaam.WF:Workflownaam]
  • $Parameter_name=Parameterwaarde

Mapnaam is de naam van de repositorymap, de werkstroomnaam is de naam van de werkstroom waarvoor u het parameterbestand maakt.

We gaan een parameterbestand maken voor de databaseverbinding “guru99” die we in onze eerste sessies hebben toegewezen aan bronnen en doelen.

Hoe een parameterbestand te maken

Stap 1)Maak een nieuw leeg bestand (kladblokbestand)

Parameterbestand maken

Stap 2)Voer in het bestand de tekst in zoals weergegeven in de afbeelding

Parameterbestand maken

Stap 3) Sla het bestand op onder een map guru99 op de locatie “C:\guru99” als “wkf_run_command.par”

Parameterbestand maken

In het bestand hebben we een parameter “$DBConnection_SRC” gemaakt, we zullen deze toewijzen aan een verbinding in onze workflow.

Stap 4)Open de werkstroom “wkf_run_command”

  1. Selecteer het workflowmenu
  2. Selecteer de bewerkingsoptie

Parameterbestand maken

Stap 5)Hierdoor wordt in dit venster het bewerkingsworkflowvenster geopend

  1. Ga naar het tabblad Eigenschappen
  2. Voer de naam van het parameterbestand in als “c:\guru99\wkf_run_command.par”
  3. Selecteer OK-knop

Parameterbestand maken

Nu zijn we klaar met het definiëren van de inhoud van het parameterbestand en verwijzen we deze naar een workflow.

De volgende stap is het gebruik van de parameter in de sessie.

Stap 6) Dubbelklik in de workflow op de sessie “s_m_emp_emp_target” en

  1. Selecteer het tabblad Toewijzingen
  2. Selecteer verbindingseigenschap in het linkerpaneel
  3. Klik op de doelverbinding, die nu hardgecodeerd is als “guru99”

Parameterbestand maken

Stap 7)In dat venster verschijnt een verbindingsbrowservenster

  1. Selecteer de optie om de verbindingsvariabele te gebruiken
  2. Voer de naam van de verbindingsvariabele in als “$DBConnection_SRC”
  3. Selecteer OK-knop

Parameterbestand maken

Stap 8) In het bewerkingstaakvenster verschijnt de verbindingsvariabele voor het doel. Selecteer de knop OK in het bewerkingstaakvenster.

Parameterbestand maken

Nu zijn we klaar met het maken van parameters voor een verbinding en het toewijzen van de waarde aan het parameterbestand.

Wanneer we de workflow uitvoeren, kiest de workflow het parameterbestand, zoekt naar de waarde van de parameters/variabelen in het parameterbestand en neemt die waarden over.