Workflow in Informatica: creëren, taak, parameter, herbruikbaar, manager

Inhoudsopgave:

Anonim
Wat is een workflow?

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

Workflow - Het definieert hoe taken zoals sessietaak, opdrachttaak, e-mailtaak , enz. Moeten worden uitgevoerd.

Om een ​​workflow 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 zelfstudie gaan we de volgende dingen in de workflow doen.

Workflow-uitvoering kan op twee manieren worden gedaan

  • Volgorde : taken worden uitgevoerd in de volgorde waarin ze zijn gedefinieerd
  • Gebeurtenisgebaseerd: taken worden uitgevoerd op basis van de gebeurtenisomstandigheden.

Hoe Workflow Manager te openen

Stap 1 - Klik in de Informatica Designer op het pictogram Workflowmanager

Stap 2 - Dit opent een venster van Workflow Manager. Vervolgens in de Workflow Manager.

  1. We gaan verbinding maken met repository "guru99", dus dubbelklik op de map om verbinding te maken.
  2. Voer gebruikersnaam en wachtwoord in en selecteer "Connect Button".

Stap 3 - In de workflowmanager.

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

Dit opent de werkruimte van Workflow Manager.

Verbindingen maken voor Workflowbeheer

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

Als u bijvoorbeeld in uw mapping een brontabel in de 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 soorten verbindingen kunnen worden gemaakt in Workflow Manager.

  • Relationele verbinding
  • FTP-verbinding
  • Wachtrij
  • Toepassing

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

Om een ​​relationele verbinding tot stand te brengen

Stap 1 - In Workflow Manager

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

Stap 2 - In het pop-upvenster

  1. Selecteer Oracle in type
  2. Klik op de nieuwe knop

Stap 3 - In het nieuwe venster met de definitie van een verbindingsobject

  1. Voer de verbindingsnaam in (New Name-guru99)
  2. Vul je gebruikersnaam in
  3. Voer wachtwoord in
  4. Voer een verbindingsreeks in
  5. Laat andere instellingen als standaard staan ​​en selecteer OK

Stap 4 - U keert terug naar het vorige venster. Klik op de sluitknop.

Nu bent u klaar met de relationele verbinding in Workflow Manager.

Onderdelen van Workflowmanager

Er zijn drie componenttools van workflowmanager die helpen bij het maken van verschillende objecten in workflowmanager. Deze tools zijn

  • Taakontwikkelaar
  • Worklet-ontwerper
  • Werkstroomontwerper

Taakontwikkelaar - Taakontwikkelaar is een tool waarmee u herbruikbare objecten kunt maken. Herbruikbare objecten in workflowmanager zijn objecten die in meerdere workflows kunnen worden hergebruikt. Als u bijvoorbeeld een opdrachttaak hebt gemaakt in taakontwikkelaar, kunt u deze taak opnieuw gebruiken in een willekeurig aantal workflows.

De rol van Workflow-ontwerper is om de taken uit te voeren die eraan zijn toegevoegd. U kunt een willekeurig aantal taken aan een workflow toevoegen.

U kunt drie soorten herbruikbare taken maken in taakontwikkelaar.

  • Commando taak
  • Sessietaak
  • E-mailtaak

Commandotaak - Een commandotaak wordt gebruikt om verschillende windows / unix-commando's uit te voeren tijdens de uitvoering van de workflow. U kunt een opdrachttaak maken om verschillende op opdrachten gebaseerde taken uit te voeren. Met behulp van deze taak kunt u opdrachten uitvoeren om bestanden / mappen te maken, bestanden / mappen te verwijderen, ftp van bestanden te maken enz.

Sessietaak - Een sessietaak in Informatica is vereist om een ​​mapping uit te voeren.

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

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

Hoe een opdrachttaak te maken

Stap 1 - Om een ​​opdrachttaak te maken, gaan we Task Developer gebruiken. Open in Workflow Manager de taakontwikkelaar door in het menu op het tabblad "taakontwikkelaar" te klikken.

Stap 2 - Volg deze stappen zodra de taakontwikkelaar is geopend

  1. Selecteer het menu Taken
  2. Selecteer de optie Maken

Stap 3 - In het taakvenster maken

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

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

Stap 4 - Om de taak te configureren, dubbelklikt u op het opdrachttaakpictogram en het zal een "taakvenster bewerken" openen. Op het nieuwe taakvenster

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

Hierdoor wordt een opdrachtbewerkingsvenster geopend.

Stap 5 - Typ in het commando-editorvenster het commando "mkdir C: \ guru99" (dit is het Windows-commando om een ​​map met de naam "guru99" te maken) en selecteer OK.

Na deze stap keert u terug naar het venster voor het bewerken van taken en kunt u het commando zien dat u aan het tekstvak heeft toegevoegd.

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

De opdrachttaak wordt aangemaakt in de taakontwikkelaar onder de "Guru99" -repository.

Opmerking - gebruik de sneltoets Ctrl + s om de wijzigingen in de repository op te slaan

Hoe een werkstroom te maken om de opdrachttaak uit te voeren

Om commando's uit te voeren, moet u overschakelen naar workflow designer. Een workflowontwerper is een bovenliggend of containerobject waaraan u meerdere taken kunt toevoegen en wanneer de workflow wordt uitgevoerd, worden alle toegevoegde taken uitgevoerd. Om een ​​workflow te creëren

Stap 1 - Open de workflowontwerper door op het menu van de workflowontwerper te klikken

Stap 2 - In workflowontwerper

  1. Selecteer het menu Workflows
  2. Selecteer optie maken

Stap 3 - In het werkstroomvenster maken

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

Dit zal de workflow creëren.

Naamgevingsconventie - Workflownamen worden voorafgegaan door ' wkf_' , als je een sessie hebt met de naam ' s_m_employee_detail ', dan kan de workflow voor dezelfde worden genoemd als ' wkf_s_m_employee_detail' .

Wanneer u een workflow maakt, bevat deze geen taken. Dus om een ​​taak in een workflow uit te voeren, moet u er een taak aan toevoegen.

Stap 4 - Om de opdrachttaak die we in Taakontwikkelaar hebben gemaakt, toe te voegen aan de workflow-desinger

  1. Vouw in de navigatiestructuur de map met taken uit
  2. Versleep de opdrachttaak naar de workflowontwerper

Stap 5 - Selecteer de "link task option" in de toolbox in het bovenste menu. (De optie link task koppelt verschillende taken in een workflow aan de starttaak, zodat de volgorde van uitvoering van taken kan worden bepaald).

Stap 6 - Zodra u het link-taakpictogram hebt geselecteerd, kunt u de link tussen de starttaak en de opdrachttaak slepen. Selecteer nu de starttaak en sleep een link naar de opdrachttaak.

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

Workflow uitvoeren

Stap 1 - Om de workflow uit te voeren

  1. Selecteer de workflow-optie in het menu
  2. Selecteer de optie Workflow starten

Hierdoor wordt het workflowmonitorvenster geopend en wordt de workflow uitgevoerd

Zodra de workflow is uitgevoerd, zal het de opdrachttaak uitvoeren om een ​​map (guru99-map) in de gedefinieerde map te maken.

Sessietaak

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

Zonder een sessietaak kunt u geen mapping uitvoeren of uitvoeren en een sessietaak kan 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 en op welk moment een mapping moet worden uitgevoerd. Sessies kunnen niet onafhankelijk worden uitgevoerd, er moet een sessie aan een workflow worden toegevoegd. In sessie kunnen objectcache-eigenschappen worden geconfigureerd en ook geavanceerde configuratie voor prestatie-optimalisatie.

Hoe u een sessietaak maakt.

In deze oefening maak je een sessietaak voor de mapping "m_emp_emp_target" die je in het vorige artikel hebt aangemaakt.

Stap 1 - Open Workflowmanager en open taakontwikkelaar

Stap 2 - Zodra de taakontwikkelaar opent, gaat u in de workflowmanager naar het hoofdmenu

  1. Klik op het taakmenu
  2. Selecteer optie maken

Dit opent een nieuw venster "Taak maken"

Stap 3 - In het taakvenster maken

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

Stap 4 - Er verschijnt een venster voor het selecteren van de mapping. Selecteer de mapping die u aan deze sessie wilt koppelen, voor dit voorbeeld selecteert u "m_emp_emp_target" mapping en klikt u op OK.

Stap 5 - Klik daarna op de knop "Gereed"

Sessie-object verschijnt in de taakontwikkelaar

Stap 6 - In deze stap maakt u een workflow voor de sessietaak. Klik op het pictogram van de werkstroomontwerper.

Stap 7 - In het hulpmiddel voor het ontwerpen van workflows

  1. Klik op het workflow-menu
  2. Selecteer optie maken

Stap 8 - In het workflow-venster maken

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

In Workflow Manager verschijnt een starttaak, het is een startpunt voor het uitvoeren van de workflow.

Stap 9 - In workflowmanager

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

Stap 10 - Klik op de link-taakoptie in de toolbox.

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

Stap 12 - Dubbelklik op het sessie-object in wokflow manager. Er wordt een taakvenster geopend om de taakeigenschappen te wijzigen.

Stap 13 - In het taakvenster

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

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

Hoe u meerdere taken aan een starttaak kunt toevoegen

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

  1. Parallel
  2. Serieel

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

Hoe u taken parallel kunt toevoegen

Stap 1 - Open in de workflowmanager de workflow "wkf_run_command"

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

Stap 3 - Selecteer de link-taakoptie in de toolbox

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)

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

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

Taken toevoegen in seriële modus

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

Stap 1 - Open de workflow "w.kf_run_command"

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

Stap 2 - Bevestigingsdialoogvenster verschijnt in een venster, selecteer de optie Ja

De koppeling tussen de starttaak en de sessietaak wordt verwijderd.

Stap 3 - Ga nu opnieuw naar het hoofdmenu en selecteer de link-taakoptie in de toolbox

Stap 4 - koppel de sessietaak aan de opdrachttaak

Na het koppelen ziet de workflow er als volgt uit

Stap 5 - Om de visuele weergave van de workflow duidelijker te maken

  1. Klik met de rechtermuisknop op de wokruimte van de workflow
  2. Selecteer menu schikken
  3. Selecteer de horizontale optie

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

Workflow-variabele

Met workflowvariabelen kunnen verschillende taken in een workflow informatie met elkaar uitwisselen en krijgen taken ook toegang tot bepaalde eigenschappen van andere taken in een workflow. 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 in de ene 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 als de eerste taak met succes is uitgevoerd. U kunt een dergelijk scenario implementeren met behulp van een vooraf gedefinieerde variabele in de workflow.

Implementatie van het scenario

We hadden een workflow "wkf_run_command" met taken toegevoegd in seriële modus. Nu zullen we een voorwaarde toevoegen aan de koppeling tussen sessietaak en commandotaak, zodat de sessietaak pas wordt uitgevoerd nadat de commandotaak is geslaagd.

Stap 1 - Open de workflow "wkf_run_command"

Stap 2 - Dubbelklik op de link tussen sessie en opdrachttaak

Er verschijnt een Expression-venster

Stap 3 - Dubbelklik op de statusvariabele onder het menu "cmd_create_folder". Een variabele "$ cmd_create_folder.status" zal verschijnen in het editorvenster aan de rechterkant.

Stap 4 - Nu zullen we de variabele "$ cmd_create_folder.status" -voorwaarde instellen op geslaagd. wat betekent dat wanneer de vorige taken zijn uitgevoerd en de uitvoering is gelukt, dan alleen de volgende sessietaak wordt uitgevoerd.

  1. Verander de variabele in "$ cmd_create_folder.status = GESLAAGD" waarde.
  2. Klik op de OK-knop

De workflow ziet er als volgt uit

Wanneer u deze workflow uitvoert, wordt de opdrachttaak eerst uitgevoerd en alleen 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 het hetzelfde. Parameters kunnen worden gebruikt in workflow-eigenschappen en hun waarden kunnen worden gedefinieerd in parameterbestanden. In plaats van bijvoorbeeld een hard gecodeerde verbindingswaarde te gebruiken, kunt u een parameter / variabele gebruiken in de verbindingsnaam en de waarde kan 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 er een parameterbestand aangemaakt voor een workflow.

Voordelen van parameterbestand

  • Helpt bij het migreren van code van de ene omgeving naar de andere
  • Maakt eenvoudig debuggen en testen mogelijk
  • Waarden kunnen gemakkelijk worden gewijzigd zonder de code te wijzigen

Structuur van parameterbestand

De structuur van het parameterbestand

  • [folder_name.WF:Workflow_name]
  • $ Parameter_name = Parameter_waarde

Folder_name is de naam van de repository-map, de workflow-naam is de naam van de workflow waarvoor u het parameterbestand aanmaakt.

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

Hoe parameterbestand te maken

Stap 1 - Maak een nieuw leeg bestand (kladblok-bestand)

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

Stap 3 - Sla het bestand op onder een map guru99 op de locatie "C: \ guru99" als "wkf_run_command.par"

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

Stap 4- Open de workflow "wkf_run_command"

  1. Selecteer het menu Workflows
  2. Selecteer de bewerkingsoptie

Stap 5 - Dit opent in dit venster een venster voor het bewerken van de workflow

  1. Ga naar het tabblad met eigenschappen
  2. Voer de parameter bestandsnaam in als "c: \ guru99 \ wkf_run_command.par"
  3. Selecteer OK-knop

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

De volgende stap is om de parameter in sessie te gebruiken.

Stap 6 - Dubbelklik in de workflow op de sessie "s_m_emp_emp_target" en vervolgens

  1. Selecteer het menu met het tabblad Toewijzingen
  2. Selecteer verbindingseigenschap in het linkerdeelvenster
  3. Klik op de doelverbinding, die nu hardgecodeerd is als "guru99"

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

Stap 8 - In het taakbewerkingsvenster verschijnt de verbindingsvariabele voor het doel, selecteer de knop OK in het taakbewerkingsvenster.

Nu zijn we klaar met het maken van een parameter 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 zijn parameters / variabelen in het parameterbestand en neemt die waarden over.