Arbeidsflyt i Informatica: Opprett, Oppgave, Parameter, Gjenbrukbar, Behandler
Hva er arbeidsflyt?
Arbeidsflyt er en gruppe instruksjoner/kommandoer til integrasjonstjenesten i Informatica. Integrasjonstjenesten er en enhet som leser arbeidsflytinformasjon fra depotet, henter data fra kilder og etter å ha utført transformasjon laster den inn i målet.
Arbeidsflyt – Den definerer hvordan du kjører oppgaver som øktoppgave, kommandooppgave, e-postoppgaveOsv
For å lage en arbeidsflyt
- Du må først lage oppgaver
- Og legg deretter til disse oppgavene i arbeidsflyten.
En arbeidsflyt er som en tom beholder, som har kapasitet til å lagre et objekt du ønsker å utføre. Du legger til oppgaver i arbeidsflyten som du vil utføre. I denne opplæringen skal vi gjøre følgende ting i arbeidsflyten.
Arbeidsflytutførelse kan gjøres på to måter
- Sequence : Oppgaver utføres i den rekkefølgen de er definert i
- Hendelsesbasert: Oppgaver blir utført basert på hendelsesbetingelsene.
Hvordan åpne Workflow Manager
Trinn 1) I Informatica Designer klikker du på Workflow Manager-ikonet
Trinn 2) Dette åpner et vindu i Workflow Manager. Deretter i arbeidsflytbehandleren.
- Vi skal koble til depotet "guru99", så dobbeltklikk på mappen for å koble til.
- Skriv inn brukernavn og passord og velg deretter "Connect Button".
Trinn 3) I arbeidsflytlederen.
- Høyreklikk på mappen
- Velg åpent alternativ i hurtigmenyen
Dette åpner arbeidsområdet til Workflow Manager.
Hvordan opprette tilkoblinger for Workflow Manager
For å utføre en oppgave i arbeidsflytbehandling, må du opprette tilkoblinger. Ved å bruke disse forbindelsene kobler Integration Service seg til forskjellige objekter.
For eksempel i din kartlegging hvis du har kildetabell i Oracle-databasen, trenger du Oracle-tilkobling slik at integrasjonstjenesten kan koble til Oracle-databasen for å hente kildedataene.
Følgende type tilkoblinger kan opprettes i arbeidsflytbehandling.
- Relasjonell forbindelse
- Ftp-tilkobling
- Kø
- Søknad
Valget av forbindelse du vil opprette, vil avhenge av typen kilde og målsystemer du vil koble til. Oftere ville du brukt relasjonelle forbindelser.
For å skape en relasjonell forbindelse
Trinn 1) I Workflow Manager
- Klikk på Tilkobling-menyen
- Velg Relasjonsalternativ
Trinn 2) I popup-vinduet
- Plukke ut Oracle i type
- Klikk på den nye knappen
Trinn 3) I det nye vinduet for tilkoblingsobjektdefinisjon
- Skriv inn tilkoblingsnavn (nytt navn-guru99)
- Skriv inn brukernavn
- Oppgi passord
- Skriv inn tilkoblingsstreng
- La andre innstillinger være standard og velg OK-knappen
Trinn 4) Du kommer tilbake til forrige vindu. Klikk på lukkeknappen.
Nå er du satt med den relasjonsforbindelsen i arbeidsflytbehandler.
Komponenter i Workflow Manager
Det er tre komponentverktøy i arbeidsflytbehandler som hjelper til med å lage ulike objekter i arbeidsflytbehandler. Disse verktøyene er
- Oppgaveutvikler
- Arbeidslettdesigner
- Arbeidsflytdesigner
Oppgaveutvikler – Oppgaveutvikler er et verktøy som du kan bruke til å lage gjenbrukbare objekter. Gjenbrukbare objekter i arbeidsflytbehandling er objekter som kan gjenbrukes i flere arbeidsflyter. For eksempel, hvis du har opprettet en kommandooppgave i oppgaveutvikler, kan du gjenbruke denne oppgaven i et hvilket som helst antall arbeidsflyter.
Rollen til arbeidsflytdesigner er å utføre oppgavene som er lagt til i den. Du kan legge til et hvilket som helst antall oppgaver i en arbeidsflyt.
Du kan lage tre typer gjenbrukbare oppgaver i oppgaveutvikler.
- Kommandooppgave
- Sesjonsoppgave
- E oppgave
Kommandooppgave – En kommandooppgave brukes til å utføre forskjellige windows/unix-kommandoer under kjøringen av arbeidsflyten. Du kan lage kommandooppgaver for å utføre ulike kommandobaserte oppgaver. Ved hjelp av denne oppgaven kan du utføre kommandoer å lage filer/mapper, å slette filer/mapper, å gjøre ftp av filer og så videre
Sesjonsoppgave – En øktoppgave i Informatica kreves for å kjøre en kartlegging.
- Uten en øktoppgave kan du ikke utføre eller kjøre en tilordning
- En øktoppgave kan kun utføre en enkelt tilordning. Så det er et en til en forhold mellom en kartlegging og en økt
- En øktoppgave er et objekt ved hjelp av hvilket informatikk får vite hvordan og hvor en kartlegging skal utføres og på hvilket tidspunkt
- Økter kan ikke kjøres uavhengig, en økt må legges til i en arbeidsflyt
- In øktobjekt hurtigbufferegenskaper kan konfigureres og også avansert ytelsesoptimaliseringskonfigurasjon.
E-postoppgave – Ved hjelp av e-postoppgave kan du sende e-post til definerte mottakere når integrasjonstjenesten kjører en arbeidsflyt. For eksempel, hvis du vil overvåke hvor lang tid en økt tar å fullføre, kan du konfigurere økten til å sende en e-post med detaljene om øktens start- og sluttid. Eller, hvis du vil at integreringstjenesten skal varsle deg når en arbeidsflyt fullføres/mislykkes, kan du konfigurere e-postoppgaven for det samme.
Hvordan lage en kommandooppgave
Trinn 1) For å lage en kommandooppgave skal vi bruke Task Developer. I Workflow Manager åpner du oppgaveutvikleren ved å klikke på fanen "oppgaveutvikler" fra menyen.
Trinn 2) Når oppgaveutvikleren er åpnet, følger du disse trinnene
- Velg Oppgaver-menyen
- Velg alternativet Opprett
Trinn 3) I opprettingsvinduet
- Velg kommando som type oppgave du vil opprette
- Skriv inn oppgavenavn
- Velg Opprett-knappen
Dette vil opprette kommandooppgavemappen. Nå må du konfigurere oppgaven for å legge til kommando i den, som vi vil se i neste trinn.
Trinn 4) For å konfigurere oppgaven, dobbeltklikk på kommandooppgaveikonet og det vil åpne et "rediger oppgavevindu". I det nye redigeringsoppgavevinduet
- Velg kommandomenyen
- Klikk på legg til ny kommando-ikonet
- Skriv inn kommandonavn
- Klikk på kommandoikonet for å legge til kommandotekst
Dette vil åpne en kommandoredigeringsboks.
Trinn 5) I kommandoredigeringsboksen skriver du inn kommandoen "mkdir C:\guru99" (dette er Windows-kommandoen for å lage en mappe kalt "guru99") og velg OK.
Etter dette trinnet vil du gå tilbake til redigeringsoppgavevinduet, og du vil kunne se kommandoen du la til i kommandotekstboksen.
Trinn 6) Klikk OK i redigeringsoppgavevinduet,
Kommandooppgaven vil bli opprettet i oppgaveutvikleren under "Guru99"-depotet.
Merknader bruk ctrl+s snarvei for å lagre endringene i depotet
Hvordan lage arbeidsflyt for å utføre kommandooppgave
For å utføre kommandotaks må du bytte til arbeidsflytdesigner. En arbeidsflytdesigner er et overordnet eller beholderobjekt der du kan legge til flere oppgaver, og når arbeidsflyten er utført, vil alle de tilføyde oppgavene utføres. For å lage en arbeidsflyt
Trinn 1) Åpne arbeidsflytdesigneren ved å klikke på menyen for arbeidsflytdesigner
Trinn 2) I arbeidsflytdesigner
- Velg arbeidsflyt-menyen
- Velg opprettingsalternativ
Trinn 3) I opprett arbeidsflytvinduet
- Skriv inn arbeidsflytnavn
- Velg OK-knappen (la andre alternativer være standard)
Dette vil skape arbeidsflyten.
Navnekonvensjon – Arbeidsflytnavn er prefikset med å bruke 'wkf_', hvis du har en økt som heter 's_m_employee_detail' så kan arbeidsflyt for det samme navngis som 'wkf_s_m_employee_detail'.
Når du oppretter en arbeidsflyt, består den ikke av noen oppgaver. Så for å utføre en oppgave i en arbeidsflyt må du legge til oppgave i den.
Trinn 4) For å legge til kommandooppgave som vi har opprettet i Task developer til arbeidsflytdesigneren
- Utvid oppgavemappen i navigatortreet
- Dra og slipp kommandooppgaven til arbeidsflytdesigner
Trinn 5) Velg "koblingsoppgavealternativet" fra verktøykassen fra toppmenyen. (Kenkeoppgavealternativet knytter ulike oppgaver i en arbeidsflyt til startoppgaven, slik at rekkefølgen for utførelse av oppgaver kan defineres).
Trinn 6) Når du velger koblingsoppgaveikonet, vil det tillate deg å dra koblingen mellom startoppgave og kommandooppgave. Velg nå startoppgaven og dra en lenke til kommandooppgaven.
Nå er du klar med arbeidsflyten med en kommandooppgave som skal utføres.
Hvordan utføre arbeidsflyt
Trinn 1) For å utføre arbeidsflyten
- Velg arbeidsflytalternativ fra menyen
- Velg alternativ for start arbeidsflyt
Dette åpnes arbeidsflytmonitor vinduet og utfører arbeidsflyten
Når arbeidsflyten er utført, vil den utføre kommandooppgaven for å opprette en mappe (guru99-mappe) i den definerte katalogen.
Sesjonsoppgave
En øktoppgave i Informatica kreves for å kjøre en kartlegging.
Uten en øktoppgave kan du ikke utføre eller kjøre en tilordning, og en øktoppgave kan bare utføre en enkelt tilordning. Så det er et en til en forhold mellom en kartlegging og en økt. En sesjonsoppgave er et objekt ved hjelp av hvilket Informatica får vite hvordan og hvor en mapping skal utføres og til hvilket tidspunkt. Økter kan ikke kjøres uavhengig, en økt må legges til i en arbeidsflyt. I økten kan objektbufferegenskaper konfigureres og også avansert ytelsesoptimaliseringskonfigurasjon.
Hvordan lage en øktoppgave
I denne øvelsen skal du lage en øktoppgave for kartleggingen "m_emp_emp_target" som du opprettet i forrige artikkel.
Trinn 1) Åpen arbeidsflytbehandler og åpen oppgaveutvikler
Trinn 2) Når oppgaveutvikleren åpnes, går du til hovedmenyen i arbeidsflytbehandleren
- Klikk på oppgavemenyen
- Velg opprettingsalternativ
Dette åpner et nytt vindu "Opprett oppgave"
Trinn 3) I opprettingsvinduet
- Velg øktoppgave som type oppgave.
- Skriv inn navnet på oppgaven.
- Klikk på knappen Opprett
Trinn 4) Et vindu for valg av tilordning vises. Velg tilordningen du vil knytte til denne økten, for dette eksemplet velger du "m_emp_emp_target"-tilordning og klikker OK-knappen.
Trinn 5) Klikk deretter på "Ferdig"-knappen
Sesjonsobjekt vil vises i oppgaveutvikleren
Trinn 6) I dette trinnet skal du lage en arbeidsflyt for øktoppgaven. Klikk på ikonet for arbeidsflytdesigner.
Trinn 7) I arbeidsflytdesignerverktøyet
- Klikk på arbeidsflytmenyen
- Velg opprettingsalternativ
Trinn 8) I opprett arbeidsflyt-vinduet
- Skriv inn arbeidsflytnavn
- Velg OK. (la andre egenskaper som standard, ingen grunn til å endre noen egenskaper)
I arbeidsflytbehandling vil en startoppgave vises, det er et utgangspunkt for utførelse av arbeidsflyt.
Trinn 9) I arbeidsflytleder
- Utvid øktmappen under navigasjonstreet.
- Dra og slipp økten du opprettet i arbeidsflytbehandlingsarbeidsområdet.
Trinn 10) Klikk på koblingsoppgavealternativet i verktøyboksen.
Trinn 11) Koble startoppgaven og øktoppgaven ved å bruke lenken.
Trinn 12) Double klikk på sesjonsobjektet i wokflow manager. Det vil åpne et oppgavevindu for å endre oppgaveegenskapene.
Trinn 13) I redigeringsoppgavevinduet
- Velg kartfanen
- Velg tilkoblingsegenskap
- Tilordne forbindelsen til kilde og mål, forbindelsen som vi opprettet i tidlige trinn.
- Velg OK-knappen
Nå er konfigurasjonen av arbeidsflyten fullført, og du kan utføre arbeidsflyten.
Hvordan legge til flere oppgaver til en startoppgave
Startoppgaven er et utgangspunkt for utførelse av arbeidsflyt. Det er to måter å koble flere oppgaver til en startoppgave.
- Parallel
- Serial
Ved parallellkobling kobles oppgavene direkte til startoppgaven og alle oppgavene begynner å utføres parallelt samtidig.
Hvordan legge til oppgaver parallelt
Trinn 1)Åpne arbeidsflyten "wkf_run_command" i arbeidsflytbehandlingen
Trinn 2)I arbeidsflyten legger du til øktoppgaven "s_m_emp_emp_target". (ved å velge økt og deretter dra og slipp)
Trinn 3)Velg alternativet for koblingsoppgave fra verktøykassen
Trinn 4) koble øktoppgaven til startoppgaven (ved å klikke på start taks, holde nede klikket og koble til øktoppgaven)
Etter å ha koblet til øktoppgaven, vil arbeidsflyten se slik ut.
Trinn 5)Start arbeidsflyten og overvåk i arbeidsflytmonitoren.
Hvordan legge til oppgaver i seriell modus
Men før vi legger til oppgaver i seriell modus, må vi slette oppgaven vi la til for å demonstrere parallell utførelse av oppgaven. For det
Trinn 1)Åpne arbeidsflyten "w.kf_run_command"
- Velg lenken til øktoppgaven.
- Velg redigeringsalternativ i menyen
- Velg slettealternativ
Trinn 2)Bekreftelsesdialogboksen vises i et vindu, velg ja
Koblingen mellom startoppgaven og øktoppgaven vil bli fjernet.
Trinn 3)Gå nå igjen til toppmenyen og velg koblingsoppgavealternativet fra verktøykassen
Trinn 4)koble øktoppgaven til kommandooppgaven
Etter kobling vil arbeidsflyten se slik ut
Trinn 5) For å gjøre det visuelle utseendet til arbeidsflyten mer tydelig
- Høyreklikk på wokspace i arbeidsflyten
- Velg arranger meny
- Velg alternativet Horisontalt
Hvis du starter arbeidsflyten, vil kommandooppgaven utføres først, og etter utførelse vil øktoppgaven starte.
Arbeidsflytvariabel
Arbeidsflytvariabler lar ulike oppgaver i en arbeidsflyt utveksle informasjon med hverandre og lar også oppgaver få tilgang til visse egenskaper for andre oppgaver i en arbeidsflyt. For å få gjeldende dato kan du for eksempel bruke den innebygde variabelen "sysdate".
Det vanligste scenariet er når du har flere oppgaver i en arbeidsflyt og i én oppgave får du tilgang til variabelen til en annen oppgave. For eksempel, hvis du har to oppgaver i en arbeidsflyt og kravet er å utføre den andre oppgaven bare når den første oppgaven er utført. Du kan implementere et slikt scenario ved å bruke forhåndsdefinerte variabler i arbeidsflyten.
Implementering av scenariet
Vi hadde en arbeidsflyt "wkf_run_command" med oppgaver lagt til i seriell modus. Nå vil vi legge til en betingelse for koblingen mellom øktoppgave og kommandooppgave, slik at sesjonsoppgaven vil bli utført først etter at kommandooppgaven er vellykket.
Trinn 1) Åpne arbeidsflyten "wkf_run_command"
Trinn 2) Double klikk på koblingen mellom økt og kommandooppgave
Et uttrykksvindu vises
Trinn 3)Double klikk på statusvariabelen under "cmd_create_folder"-menyen. En variabel "$cmd_create_folder.status" vil vises i redigeringsvinduet på høyre side.
Trinn 4) Nå vil vi sette variabelen "$cmd_create_folder.status" betingelsen til vellykket status . som betyr at når de forrige oppgavene er utført og utførelsen var vellykket, må du bare utføre neste øktoppgave.
- Endre variabelen til verdien "$cmd_create_folder.status=SUCCEEDED".
- Klikk OK-knappen
Arbeidsflyten vil se slik ut
Når du utfører denne arbeidsflyten, kjøres kommandooppgaven først, og bare når den lykkes, vil bare sesjonsoppgaven bli utført.
Arbeidsflytparameter
Arbeidsflytparametere er de verdiene som forblir konstante gjennom hele kjøringen. når verdien deres er tildelt, forblir den den samme. Parametre kan brukes i arbeidsflytegenskaper og verdiene deres kan defineres i parameterfiler. For eksempel, i stedet for å bruke hardkodet tilkoblingsverdi kan du bruke en parameter/variabel i tilkoblingsnavnet og verdien kan defineres i parameterfilen.
Parameterfiler er filene der vi definerer verdiene til kartleggings-/arbeidsflytvariabler eller parametere. Der filer har filtypen ".par". Som en generell standard opprettes en parameterfil for en arbeidsflyt.
Fordeler med parameterfil
- Hjelper med å migrere kode fra ett miljø til et annet
- Tillater enkel feilsøking og testing
- Verdier kan enkelt endres uten endring i kode
Struktur av parameterfil
Strukturen til parameterfilen
- [mappe_navn.WF:navn på arbeidsflyt]
- $Parameter_name=Parameter_verdi
Mappenavn er navnet på depotmappen, arbeidsflytnavn er navnet på arbeidsflyten du oppretter parameterfilen for.
Vi vil lage en parameterfil for databaseforbindelsen "guru99" som vi tildelte i våre tidlige økter for kilder og mål.
Hvordan lage parameterfil
Trinn 1)Opprett en ny tom fil (notisblokkfil)
Trinn 2)I filen skriver du inn tekst som vist i figuren
Trinn 3) Lagre filen under en mappe guru99 på stedet "C:\guru99" som "wkf_run_command.par"
I filen har vi opprettet en parameter "$DBConnection_SRC", vi vil tilordne den samme til en tilkobling i arbeidsflyten vår.
Trinn 4)Åpne arbeidsflyten "wkf_run_command"
- Velg arbeidsflyt-menyen
- Velg redigeringsalternativ
Trinn 5)Dette åpner redigeringsvinduet for arbeidsflyt i dette vinduet
- Gå til menyen Egenskaper
- Skriv inn parameterfilnavnet som "c:\guru99\wkf_run_command.par"
- Velg OK-knappen
Nå er vi ferdige med å definere parameterfilens innhold og peke det til en arbeidsflyt.
Neste trinn er å bruke parameteren i økten.
Trinn 6) Dobbeltklikk i arbeidsflyten på økten "s_m_emp_emp_target", og deretter
- Velg kartmenyen
- Velg tilkoblingsegenskap i venstre panel
- Klikk på måltilkoblingen, som nå er hardkodet som "guru99"
Trinn 7)Et nettleservindu for tilkobling vises i det vinduet
- Velg alternativet for å bruke tilkoblingsvariabel
- Skriv inn tilkoblingsvariabelnavn som "$DBConnection_SRC"
- Velg OK-knappen
Trinn 8) I redigeringsoppgavevinduet vil tilkoblingsvariabel vises for målet, Velg OK-knappen i redigeringsoppgavevinduet.
Nå er vi ferdige med å lage parameter for en tilkobling og tilordne verdien til parameterfilen.
Når vi kjører arbeidsflyten, velger arbeidsflyten parameterfilen ser etter verdien av parameterne/variablene i parameterfilen og tar disse verdiene.