Handleiding IAF Beheerconsole

Door: Peter Leeuwenburgh, Henny Zijlstra

Dit document beschrijft de werking van de Ibis Adapter Framework (IAF) Beheerconsole. Deze handleiding is bedoeld voor applicatiebeheerders van een IAF applicatie en bijbehorende adapters.

Iedere IAF-applicatie (zoals Ibis4Juice, Ibis4GIoW, Ibis4Toegang, etc.) is toegankelijk via een “IAF Beheerconsole”. In deze Beheerconsole, welke geopend kan worden vanuit een browser, is het mogelijk om alle adapters van een IAF-applicatie te monitoren. Met de juiste autorisatie is het tevens mogelijk om specifieke adapters te stoppen en te starten. Verder zijn in de IAF Beheerconsole statistieken en uitgebreide logging beschikbaar. Daarnaast biedt de IAF Beheerconsole ook verschillende testfaciliteiten.

Opbouw van de applicatie

Om deze handleiding zo goed mogelijk te kunnen begrijpen moet de opbouw van een IAF-applicatie bekend te zijn.

IAF Adapter

Een IAF-applicatie bestaat uit één of meer adapters, welke op zijn beurt bestaat uit één of meer receivers en een pipeline. Een receiver is een component welke berichten kan ontvangen, zoals een receiver welke luistert naar een berichten-bus of een webservice. Een pipeline is een verzameling van pipes. Iedere pipe voert een actie uit op een bericht (zoals een validatie, een transformatie of de aanroep van een service).

2. IAF Beheerconsole

Het hoofdscherm van een IAF Console ziet er als volgt uit:

hoofdscherm

Rechtsboven in dit scherm staan op de eerste regel de volgende gegevens:

  • Versienummer van het gebruikte IBIS AdapterFramework (hier: 4.9.10)
  • Naam van de IAF-applicatie (hier: Ibis4Voorbeeld)
  • Versienummer van de IAF-applicatie (hier: 020)
  • Timestamp van de IAF-applicatie (hier: 20100415-0844); geeft aan wanneer deze versie van de IAF-applicatie is gemaakt
  • Versienummer van het gebruikte buildscript (hier: 11e); een buildscript wordt gebruikt om een versie van de IAF-applicatie te “packagen” voor installatie
  • Grootte van de IAF-applicatie (hier: 1.0)

In de blauwe “toolbar” staan een aantal knoppen waarmee verschillende functionaliteit van de IAF Console gestart kan worden. Een beschrijving van deze functionaliteit is te vinden in Section 2.1, “Toolbar”.

Een beschrijving van het subscherm, dat onder de toolbar staat, is te vinden in Section 2.2, “Configuratiestatus bekijken”.

2.1. Toolbar

configurationStatus
Section 2.2, Show configurationStatus
configuration
Section 2.3, Show configuration
logging
Adapter logging
jmsmessage
Send a JMS message
interface
Section 2.4, Call a Service
browsejms
Browse a queue or topic
testPipeLine
Section 2.5, “Test a Pipeline”
service
Test a Service
wsdl
Retrieve the WSDL
clock
Section 2.6, Show Scheduler Status
config
Section 2.7, Show Environment variables
execquery
Execute a Jdbc query
table
Section 2.8, Browse a Jdbc table
dump
Dump the IAF Console
trc
Show Tracing Configuration
security
Section 2.9, Show Security Items
monitoring
Section 2.10, Show Monitors
ibisstore
Show IbisStore Summary
testtool
Section 2.11, Test Tool
help
Help

2.2. Configuratiestatus bekijken

Dit scherm toont een overzicht van alle (geconfigureerde) adapters plus per adapter enkele belangrijke gegevens.

showConfigurationStatus

Legenda “Configuratiestatus bekijken”

Summary
count Totaal aantal adapters en receivers per state
state disconnected Stopped
connected Started
error Error
disconnecting Stoppping
connecting Starting

Warnings

Hier worden onvolkomenheden in de configuratie van de IAF-applicatie getoond welke meestal niet tot problemen zullen leiden maar in het kader van eenduidigheid wel opgelost moeten worden

Configured Adapters
Adapter Naam van de adapter
State zie Summary state
Configured check True
no False
up since Timestamp van het moment dat deze adapter voor het laatst” cold” is gestart
Messages with error Aantal ontvangen berichten welke tot een technische fout hebben geleid (sinds laatste” cold” start)
Messages processed Aantal ontvangen berichten welke verwerkt zijn (sinds laatste” cold”start; inclusief” Messages with error”). Het verschil tussen” Messages processed” en” Messages with error”geeft aan hoeveel berichten er succesvol zijn verwerkt
Actions stop Knop om de adapter “hot”te stoppen (zowel de pipeLine als alle receivers worden gestopt)
start Knop om de adapter “hot”te starten (zowel de pipeLine als alle receivers worden gestart)
view Knop om de statistieken van de adapter te bekijken; zieSection 2.2.1, “Show Adapter Statistics”
Voor iedere Receiver (een receiver wordt door een adapter gebruikt om berichten te ontvangen)
state zie “adapter state”
receiver name Naam van de receiver
listener/sender Soort listener, met daarachter tussen haakjes aanvullende gegevens over deze listener
Indien een aparte sender is opgegeven: naam van deze sender, met daarachter tussen haakjes aanvullende gegevens over deze sender
Indien er “concurrent threads” gebruikt worden dan staat aangegeven hoeveel threads er momenteel gebruikt worden en wat het maximum is dat gebruikt kan worden; dit maximum kan met de knopjes”inc” en “dec”verhoogd en verlaagd worden
messages received/retried/rejected Aantal ontvangen berichten / Aantal keer dat berichten opnieuw zijn aangeboden / Aantal keer dat een retry geweigerd is (sinds laatste”cold” start). Het verschil tussen “messages received”en “messages retried”geeft aan hoeveel unieke berichten er zijn ontvangen
Actions stop Knop om de receiver “hot” te stoppen
start Knop om de receiver “hot” te starten
browseErrorStore Knop om de errorLog van de receiver te bekijken, met daarachter tussen haakjes het aantal berichten in de errorLog; zie Section 2.2.2, “Browse errorlog”
browseMessageLog Knop om de messageLog van de receiver te bekijken, met daarachter tussen haakjes het aantal berichten in de messageLog; zie Section 2.2.3, “Browse messagelog”
Voor iedere MessageLog in de PipeLine (een messageLog wordt in een pipe gebruikt om het verwerkte bericht op te slaan; momenteel wordt dit toegepast bij verzonden FF-berichten)
message logging pipes Samenvoeging van naam van de pipe en de soort sender (van de verzonden FF-berichten)
destination aanvullende gegevens over de sender
Show Log browseMessageLog Knop om de messageLog van de receiver te bekijken, met daarachter tussen haakjes het aantal berichten in de messageLog; zie Section 2.2.3, “Browse messagelog”
Messages
Hier wordt informatie rondom het starten en stoppen van de adapter en de receiver getoond; verder worden hier ook (technische) errors getoond indien ze optreden

Verder staan linksboven in dit scherm (onder Summary) nog 2 knoppen om alle adapters en receivers tegelijk “hot” te stoppen of te starten.

2.2.1. Adapter statistieken bekijken

Dit scherm toont de statistieken van een adapter sinds de laatste “cold” start (bij een “cold” stop worden de statistieken weggeschreven in een bestand en vervolgens worden bij een “cold” start alle tellers op nul gezet).

showAdapterStatistics

Legenda “Adapter statistieken”

Adapter Statistics
Name, up since, Messages processed, Messages in error zie Section 2.2, “Show configurationStatus”
Last Message Timestamp van het moment dat het laatste bericht is ontvangen
Messages in process Aantal berichten dat momenteel verwerkt wordt (dus wel ontvangen zijn, maar nog niet geheel verwerkt)
Total message processing duration
count Aantal verwerkte berichten
min, max, avg Kortste, langste en gemiddelde verwerkingstijd van de gehele adapter (in milliseconden)
stdDev Standaardafwijking (in milliseconden)
first, last Verwerkingstijd van het eerst en het laatst ontvangen bericht (in milliseconden)
sum Totale verwerkingstijd (in milliseconden; is gelijk aan het product van count en avg )
<100ms, <1000ms, <2000ms, <10000ms Percentage ontvangen berichten met een verwerkingstijd kleiner dan één tiende, één, twee en tien seconden
p50, p90, p95, p98 Verwerkingstijd waarin 50%, 90%, 95% en 98% van alle ontvangen berichten is verwerkt (in milliseconden)
Adapter statistics by the hour
start time Starttijdstip van een periode (b.v. 03:00 betekent dat de periode loopt vanaf 3.00u tot 4.00u)
count Aantal verwerkte berichten in een periode
count for receivers
name, messages received/retried zieSection 2.2, “Show configurationStatus”
Process statistics for receivers
receiver Naam van de receiver
threads processing Aantal gebruikte threads waarop deze statistieken betrekking hebben
count, min, max, avg, stdDev, first, last, sum, <100ms, <1000ms, <2000ms, <10000ms, p50, p90, p95, p98 zie “Total message processing duration” met het verschil dat het hier enkel het ontvangen van het bericht door deze receiver betreft

idle statistics for receivers

hier werd voor versie 4.8 van het IBIS AdapterFramework aangegeven hoe lang pulling listeners staan te wachten op een nieuw bericht; vanaf versie 4.8 is dit niet meer van toepassing

Duration statistics per Pipe
name Naam van de pipe
count, min, max, avg, stdDev, first, last, sum, <100ms, <1000ms, <2000ms, <10000ms, p50, p90, p95, p98 zie “Total message processing duration” met het verschil dat het hier een pipe betreft

2.2.2. Errorlog bekijken

Dit scherm toont alle berichten in de errorLog. Behalve dat berichten bekeken kunnen worden, kunnen ze ook opnieuw aangeboden en verwijderd worden. De lijst is default oplopend gesorteerd op het veld “Timestamp” .

BrowseErrorLog

Legenda “Browse errorlog”

max num of messages displayed Maximum aantal berichten dat in dit scherm getoond wordt (default 100)
apply filters
> Timestamp [clip] Alleen berichten met Timestamp gelijk of groter dan de opgegeven Timestamp worden getoond
> Type Alleen berichten met het opgegeven Type worden getoond
> Host Alleen berichten waarvan Host begint met de opgegeven host worden getoond
> Current ID Alleen berichten waarvan Current ID begint met de opgegeven Current ID worden getoond
> Original ID Alleen berichten waarvan Original ID begint met de opgegeven Original ID worden getoond
> CorrelationID Alleen berichten waarvan CorrelationID begint met de opgegeven CorrelationID worden getoond
> Comment Alleen berichten waarvan de opgegeven Comment voorkomt in Comment worden getoond
> Label Alleen berichten waarvan Label begint met de opgegeven Label worden getoond
resend selected Alle berichten, welke aangevinkt zijn, worden opnieuw aan de adapter aangeboden
delete selected Alle berichten, welke aangevinkt zijn, worden verwijderd
export selected Alle berichten, welke aangevinkt zijn, worden geëxporteerd naar een tekstbestand en vervolgens gezipt
select all Alle berichten aanvinken
unselect all Alle berichten uitvinken
# messages in errorlog of receiver […] of adapter […]
Actions delete Huidige bericht verwijderen
resend Huidige bericht opnieuw aan de adapter aanbieden
showashtml Huidige bericht (als html) in de browser openen
showastext Huidige bericht als tekstdocument openen
No. Oplopend nummer beginnend bij 1
Timestamp Timestamp van het moment dat het bericht in de errorLog is opgeslagen
Type E ErrorLog
L MessageLog (in de PipeLine)
A Archive (is gelijk aan MessageLog met het verschil dat deze niet in de PipeLine gebruikt wordt maar in een Receiver)
Host Host waarop de IAF-applicatie draait die het bericht ontvangen heeft en in de errorLog heeft opgeslagen (in productie worden IAF-applicaties dubbel uitgevoerd, maar gebruiken ze wel dezelfde errorLog)
Current ID Unieke identifier waaronder het bericht in de errorLog is opgeslagen (oplopend nummer, aangemaakt m.b.v. een Oracle sequence)
Original ID MessageId van het bericht (Universally Unique Identifier, aangemaakt door het IBIS AdapterFramework)
CorrelationID Bij een JmsListener wordt deze doorgegeven vanuit Jms, bij de overige listeners is deze gelijk aan het MessageId (zie de cel hierboven); In de configuratie van een IBIS-adapter kan aangegeven worden dat dit veld overschreven moet worden met een waarde uit het bericht (m.b.v. een zogenaamde XPath-expressie)
Comment De inhoud van de pipeLine op het moment dat de error optrad; normaal gesproken staat hier een foutmelding
Expiry Timestamp waarop het record in aanmerking komt voor opschoning (het opschoonproces draait default dagelijks om 1.45u)
Label Vrij in te vullen veld welke momenteel gebruikt wordt voor de integriteitscontrole

2.2.3. messagelog bekijken

Dit scherm is identiek aan Section 2.2.2, “Browse errorlog” met het verschil dat berichten niet opnieuw aan de adapter aangeboden en verwijderd kunnen worden.

2.3. Configuratie bekijken

Dit scherm toont de configuratie (source) van de IAF-applicatie.

showConfiguration

Bovendien kan hier het Root Log Level worden aangeven. Deze bepaalt hoe uitgebreid de logging is.

Mogelijkheden “Root Log Level”
DEBUG Dit niveau schrijft in de log file alle logging weg.
INFO Dit niveau schrijft in de log file de logging weg van niveau INFO, WARN en ERROR.
WARN Dit niveau schrijft in de log file de logging weg van niveau WARN en ERROR.
ERROR Dit niveau schrijft in de log file de logging weg van niveau ERROR.

Ook de Log intermediary results kunnen aan of uit worden gezet. Als deze aan staat zorgt dat ervoor dat in de log achter de regel “is about to call pipe […]” de current result ook wordt wegschreven. De current result is de xml die gebruikt wordt in de aankomende pipe.

2.4. Een service aanroepen

Dit scherm geeft de mogelijkheid om een (test)bericht naar een externe service te sturen (in dit voorbeeld is dit IFSA) en te zien welk resuiltaat de service teruggeeft in geval van Request-Reply.

callIFSAService1

Vul bij Application ID de IFSA Application ID in van de huidige (verzendende) IAF applicatie.

Vul bij Service ID het IFSA Service ID in waar het bericht heen gestuurd moet worden.

Er zijn twee mogelijkheden om een (test)bericht in te geven als input. De eerste manier is door in het message-veld het bericht te typen, daarnaast kan het door een file te selecteren via de Browse-button.

Het bestand dat via de browse knop gekozen wordt kan zowel een insectionidueel xml bericht zijn als een ZIP bestand met één of meerdere XML berichten in de root van de ZIP.

Door daarna op de send knop te drukken, wordt het bericht naar IFSA service gestuurd. Het resultaat van de IFSA verschijnt uiteindelijk in het veld Result, in het gaval van een FF service verschijnt hier het message ID van het verzonden bericht.

Er zijn nog twee andere knoppen aanwezig: Reset en Cancel. De cancel knop verwijdert alle invoer waarden. De reset knop maakt eventuele wijzigingen die er gemaakt zijn nadat er een send uitgevoerd is ongedaan.

Onderstaand plaatje is een voorbeeld van Call an IFSA Service waarin een bericht naar een IFSA service is gestuurd. Het resultaat is terug te vinden in Result.

callIFSAService2

2.5. Een pipeline testen

Dit scherm geeft de mogelijkheid om een (test)bericht naar een adapter te sturen en te zien welk resuiltaat de adapater dan teruggeeft.

testAPipeline1

Selecteer in de dropdown list “Select an adapter” de adapter waar je een bericht heen wilt sturen.

Er zijn twee mogelijkheden om een (test)bericht in te geven als input. De eerste manier is door in het message-veld het bericht te typen, daarnaast kan het door een file te selecteren via de Browse-button.

Door daarna op de send knop te drukken, wordt het bericht naar de adapter gestuurd. De adapter handelt het bericht af alsof deze op de normale manier binnenkomt. Het resultaat van de adapter verschijnt uiteindelijk in het veld Result. Daarnaast wordt het State veld gevuld met endstate van de adapter.

Er zijn nog twee andere knoppen aanwezig: Reset en Cancel. De cancel knop deselecteert de gekozen adapter en verwijdert alle mogelijke adapters uit de Select an Adapter dropdown list. De reset knop maakt eventuele wijzigingen die er gemaakt zijn nadat er een send uitgevoerd is ongedaan.

Onderstaand plaatje is een voorbeeld van een Test a Pipeline waarin een bericht naar de adapter “XsltPipe” is gestuurd. Het resultaat is terug te vinden in Result. De state is Success.

testAPipeline2

Het is ook mogelijk om sessionKey’s aan de pipeline mee te geven. Dat kan handig zijn om subadapters te testen die normaal gesproken door andere functionaliteit binnen de Ibis aangeroepen worden met aanvullende parameters. Dit kan door een ibiscontext entiteit mee te geven. Bijvoorbeeld:

<?ibiscontext tcid=1234567890?><message>This is a Message</message>

2.6. Toon scheduler status

Dit scherm toont de geplande automatische acties die door de IAF-applicatie zullen worden uitgevoerd.

showSchedulerStatus

In de tabel Scheduler wordt weergegeven of de scheduler actief is en kan deze eventueel (tijdelijk) worden gepauzeerd.

In de tabel Jobs in jobgroup wordt weergegeven welke acties gepland uitgevoerd worden en wanneer (met behulp van een cron-expressie, zie hieronder).

Het is ook mogelijk om een geplande actie eerder uit te voeren door op de Play-knop te klikken. Er wordt dan in de tabel bij de actie een extra vermelding aangemaakt onder de naam MAUAL_TRIGGER.

2.6.1. Cron

Een “Cron-Expressie” is een string die bestaat uit 6 of 7 velden gescheiden door een spatie. De 6 verplichte en 1 optionele velden zijn:

Table 2.6. Cron
Veldnaam Toegestane waarden Toegestane speciale karakters
Seconden 0-59 , – * /
Minuten 0-59 , – * /
Uren 0-23 , – * /
Dag-van-de-maand 1-31 , – * ? / L
Maand 1-12 of JAN-DEC , – * /
Dag-van-de-week 1-7 of SUN-SAT , – * ? / L #
Jaar (optioneel) leeg, 1970-2099 , – * /
  • “*” betekent alle waarden. “*” in het veld minuten betekent “elke minuut”.
  • “?” betekent “geen specifieke waarde” en is toegestaan voor de velden Dag-van-de-maand and Dag-van-de-week.
  • “-” wordt gebruikt om een range aan te geven. “10-12” in het veld Uren betekent “de uren 10, 11 en 12”.
  • “,” wordt gebruikt om additionele waarden aan te geven. “MON,WED,FRI” in het veld Day-van-de-week betekent “maandag, woensdag en vrijdag”.
  • “/” wordt gebruikt om incrementen aan te geven. “5/15” in het veld Seconden betekent bijvoorbeeld “de seconden 5, 20, 35 en 50”.
  • “L” is toegestaan in de velden Dag-van-de-maand en Dag-van-de-week. “L” betekent “Laatste”, dus laatse dag van de maand of week (= zaterdag). In het veld Dag-van-de-week kan het in combinatie met een andere waarde gebruikt worden om de laatste xxx dag van de maand aan te duiden, dus bijvoorbeeld “6L” betekent de laatste vrijdag van de maand.
  • “#” is toegestaan in het veld Dag-van-de-week. Hiermee kan de “n-de xxx dag van de maand” mee worden gespecificeerd. “6#3” in het veld Dag-van-de-week bijvoorbeeld betekent de 3e vrijdag van de maand (6 = vrijdag en #3 = 3e)

Hieronder staan een aantal volledige voorbeelden uitgewerkt:

Table 2.7. Cron voorbeelden

Expressie Uitleg
“0 0 12 * * ?” Start elke dag om 12:00
“0 15 10 ? * *” Start elke dag om 10:15
“0 15 21 * * ?” Start elke dag om 21:15
“0 35 11 * * ? *” Start elke dag om 11:35
“0 12 14 * * ? 2010” Start elke dag om 14:12 gedurende het jaar 2010
“0 * 14 * * ?” Start elke dag en elke minuut vanaf 14:00 en stopt om 14:59
“0 0/5 14 * * ?” Start elke dag en elke 5 minuten vanaf 14:00 en stopt om 14:55
“0 0/5 14,18 * * ?” Start elke dag en elke 5 minuten vanaf 14:00 en stopt om 14:55 EN start elke dag en elke 5 minuten vanaf 18:00 en stopt om 18:55
“0 10,44 14 ? 3 WED” Start elke woensdag in de maand maart om 14:10 en 14:44
“0 15 10 ? * MON-FRI” Start elke maandag, dinsdag, woensdag, donderdag en vrijdag om 10:15
“0 15 10 15 * ?” Start elke 15e dag van de maand om 10:15
“0 15 10 L * ?” Start elke laatste dag van de maand om 10:15
“0 15 10 ? * 6L” Start elke laatste vrijdag van de maand om 10:15
“0 15 10 ? * 6L 2002-2005” Start elke laatste vrijdag van de maand om 10:15 gedurende jaren 2002, 2003, 2004 en 2005
“0 15 10 ? * 6#3” Start elke 3e vrijdag van de maand om 10:15

2.7. Toon Environment variables

Dit scherm toont alle (omgevings)variabelen van de IAF-applicatie en het systeem waarop de IAF-applicatie draait.

showEnvironmentVariables

Legenda “Show Environment variables”

Application Constants Dit zijn de variabelen welke in de IAF-applicatie zelf zijn gedefinieerd
System Properties Dit zijn de variabelen welke op het systeem, waar de applicatie draait (b.v. een applicatieserver), zijn gedefinieerd
Environment Variables Dit zijn de omgevingsvariabelen van het systeem waarop de applicatie draait

Indien een variabele zowel in de “Application Constants” als in de “System Properties” is gedefinieerd, dan is de laatstgenoemde leidend.

2.8. Bekijk a Jdbc table

Op dit scherm kunnen select queries uitgevoerd worden op de tabellen die aan de IAF-applicatie gekoppeld zijn.

BrowseJdbcTable

Table 2.9. Verklaring invoervelden

Table name Vul hier de naam van de tabel in waarop de query wordt uitgevoerd. Gebruik hier ALL_TABLES voor een overzicht van alle tabellen, ALL_SEQUENCES voor een overzicht van alle sequences, ALL_INDEXES voor een overzicht van alle indexen of All_TAB_COLUMNS voor een overzicht van alle kolommen in een bepaalde tabel (in combinatie met “Where” gebruiken: TABLE_NAME = ”).
Where Vul hier eventueel specifieke selectiecriteria aan, waaraan de data in de tabel moet voldoen. In bovenstaand voorbeeld worden alle teams geselecteerd waarvan de TEAMOUCODE begint met 257_.
Order Vul hier eventueel de gewenste sortering in. In bovenstaand voorbeeld wordt de gevonden data aflopend (DESC) gesorteerd op TEAMOUCODE. Default wordt de gevonden data oplopend gesorteeerd (ASC).
Number of rows only Klik dit veld aan om het aantal records van de tabel die vermeld staat in Table name op te vragen. Als je dit veld aanklikt in combinatie met een sortering in “Order” (zonder DESC of ASC), worden de waarden gegroepeerd en geteld.
Rownum min en Rownum max Om performanceredenen worden er maximaal 100 records per query getoond. Door de waarden in Rownum min en Rownum max te wijzigen kan door alle gevonden data worden gesprongen. In bovenstaand voorbeeld zullen alleen de eerste 10 resultaten getoond worden.

2.9. Toon Security Items

Dit scherm geeft informatie over door de IAF-applicatie gebruikte resources.

showSecurityItems

Table 2.10. Legenda “Show Security Items”

Security Role Bindings

Hier wordt getoond welke LDAP-groepen aan welke security rol zijn gekoppeld. Er zijn 5 rollen mogelijk:

  • IbisObserver – kan configuratie, statistieken en logbestanden bekijken
  • IbisAdmin – kan adapters starten/stoppen en schedulers aanpassen
  • IbisDataAdmin – kan berichten in de errorlog opnieuw aanbieden/verwijderen en het loglevel aanpassen
  • IbisTester – kan test bericht versturen en de database aanpassen via queries
  • IbisWebService – kan IBIS webservices aanroepen

IbisTester kan ook alles wat bij de andere 4 rollen kan. Verder kunnen IbisAdmin en Ibis4DataAdmin ook wat IbisObserver kan.

Used JmsRealms

Hier worden alle gebruikte jdbc en jms datasources getoond

Used Certificates

Hier worden alle gebruikte certificaten getoond

2.10. Toon Monitors

Dit scherm biedt toegang tot het GALM status overzicht en tot bijbehorende configuratie.

showMonitors_mainBij elke IAF-applicatie wordt standaard een basis GALM configuratie opgeleverd. Deze configuratie biedt de basis om GALM voor de applicatie in te richten en om dit te koppelen aan de MCR. Voor het koppelen van de GALM configuratie aan de MCR moet een bestaande procedure doorlopen worden. Deze is te vinden in het volgende document: GALM Folder op Sharepoint. De afstemming met de MCR is een verantwoordelijkheid van SM, aangezien zij deze afspraken met de MCR moeten maken en onderhouden.

Op verzoek van Service Management (SM) of vanuit een project kan de configuratie aangepast worden, waarna deze in een reguliere implementatie naar productie gebracht kan worden. Ook is het voor SM mogelijk om de configuratie tijdelijk aan te passen, maar dit wordt ongedaan gemaakt na een herstart van de applicatie.

2.11. Test Tool

De Test Tool kan worden gebruikt om de IAF-applicatie te debuggen (bekijken hoe de IAF-applicatie een bericht heeft afgehandeld) en te testen (berichten opnieuw aanbieden en het resultaat vergelijken met een eerder resultaat). Als de rapporten generator aan staat genereert de Test Tool een rapport van de verwerking van ieder bericht dat bij de IAF-applicatie binnenkomt. Op de O en de T omgeving staat de rapporten generator standaard aan. Op de A en P omgeving kan deze aan worden gezet door bij Options… de optie “Report generator enabled” op Yes te zetten (voor zover de gebruiker hier voldoende rechten toe heeft). De rapporten worden door de Test Tool opgeslagen in de log directory in bestanden met de extensie ttm en tts.

testTool

2.11.1. Debuggen

De metadata tabel in het hoofdscherm toont de laatste 10 rapporten die door de Test Tool zijn gegenereerd en opgeslagen. Rechtsboven kan dit aantal worden aangepast. Achter dit invoerveld wordt getoond hoeveel rapporten er in totaal zijn opgeslagen. Als op Refresh wordt geklikt wordt de tabel opnieuw opgebouwd en de informatie getoond van het ingestelde aantal nieuwste rapporten. Door op een rij in de metadata tabel te klikken wordt het betreffende rapport in het geheugen geladen en in het onderste deel van het scherm getoond.

Aan de linkerkant is een boomstructuur te zien. Als op een node in deze boomstructuur wordt geklikt wordt aan de rechterkant de info getoond die bij deze node hoort.

Op hoofdnivo bevindt zich de Reports node waaronder alle rapporten worden getoond die zijn geopend. Bij de Reports tab wordt als de Reports node is geselecteerd niks getoond in het info gedeelte, bij de Compare tab is hier de metadata tabel te vinden. De hoofdnode van een rapport toont het rapport in XML formaat. De XML kan worden beïnvloed door middel van de XSLT die te vinden is onder de Tranformation tab. De eerstvolgende node van een rapport toont het bericht dat bij de IAF-applicatie binnen is gekomen, de laatste node toont het laatste bericht dat de IAF-applicatie heeft verlaten. De tussenliggende nodes geven informatie over hoe de IAF-applicatie het bericht heeft verwerkt inclusief uitgaande verzoeken die zijn gemaakt naar aanleiding van de verwerking van het bericht.

Afhankelijk van de geselecteerde View worden sessionkey’s, pipes input/output, configuratie van pipes, senders input/output enz. getoond. Als de Black box view is geselecteerd zijn alleen berichten zichtbaar die de IAF-applicatie in en uit zijn gegaan. Als de White box view is geselecteerd wordt alle in het rapport beschikbare informatie getoond. Bij de Gray box view worden alle berichten getoond die de IAF-applicatie in- en uitgaan maar ook de berichten die worden uitgewisseld tussen de interne adapters van de IAF-applicatie.

De nodes in de boomstructuur kunnen een aantal verschillende symbolen hebben. Een pijltje naar rechts betekent input voor een Pipeline, Pipe of Sender. Een pijltje naar links betekent output van de betreffende Pipeline, Pipe of Sender. Bij een i-tje wordt de configuratie van een pipe getoond. De hoofdnode van een rapport wordt als mapje getoond. Geopende rapporten kunnen worden gedownload via de Download button in het info scherm van een rapport of via Download all aan de bovenkant van het scherm. Een rapport kan ook weer worden geupload en geopend via de Upload button.

2.11.2. Testen

Bij alle nodes van een rapport is een Rerun knop beschikbaar die de input van het betreffende rapport opnieuw aanbiedt aan de IAF-applicatie. In het rapport kan worden aangegeven op welke punten berichten eventueel gestubt moeten worden. Op hoofdnivo van een rapport kan een globale stub strategie worden ingesteld. Momenteel zijn er drie mogelijkheden:

  • Stub all sender
  • Never
  • Allways
  • Grootte van de IAF-applicatie (hier: 1.0)

Bij alle andere nodes van het rapport kan van deze stub strategie worden afgeweken door expliciet wel of niet op dit punt te stubben. Standaard staat iedere node ingesteld om de stub strategie van het rapport te volgen. Het bericht dat wordt gebruikt om te stubben kan worden aangepast door op Edit te klikken, het bericht aan te passen en op Save te klikken. Bij een rerun wordt dan het aangepaste bericht gebruikt (mits ingesteld om te stubben). Na een rerun kan het resultaat worden bekeken door op Refresh te klikken en het nieuw gegenereerde rapport te zoeken en te openen.

In de Compare tab kunnen rapporten met elkaar worden vergeleken. De metadata tabel om rapporten te openen is bij de Compare tab te vinden in het info gedeelte van de Reports node. Als links en rechts een rapport wordt geopend en aan één van beide kanten een node wordt geselecteerd dan probeert de Test Tool aan de andere kant dezelfde node te vinden en te tonen. In het info gedeelte van een node wordt het verschil in tekst tussen beide nodes rood gekleurd.

Boven de metadata tabel is een Compare all button aanwezig die alle geopende rapporten met elkaar vergelijkt door de XML van die rapporten met elkaar te vergelijken. Is de XML gelijk dan wordt de rapport node groen gekleurd, is er een verschil dan kleurt de rapport node rood. Verschillen in de XML die er niet toe doen kunnen door middel van de XSLT onder de Transformation tab worden verwijderd uit de rapport XML zodat zo’n verschil er niet voor zorgt dat de XML van beide rapporten verschilt.

2.11.3. Rapporten zoeken

Door middel van het filter window kan er voor worden gezorgd dat alleen die rapporten in de metadata tabel worden getoond waar men naar op zoek is. De Filter knop links bovenaan het scherm geeft toegang tot het filter window. Per metadata kolom kan worden aangegeven aan welke waarde deze moet voldoen om te worden getoond in de metadata tabel. Hierbij kan gebruik worden gemaakt van wildcards of een reguliere expressie, zie hiervoor de aanwijzingen onder de invoer velden.

2.11.4. Specifieke metadata

De metadata tabel toont per rapport een rij met informatie. Deze informatie is vrij algemeen maar het is ook mogelijk om hier bijvoorbeeld specifieke informatie uit de xml berichten van het rapport te tonen. Te denken valt hierbij bijvoorbeeld aan een polisnummer dat in het rapport voorkomt. De Test Tool configuratie die met de IAF-applicatie wordt meegeleverd kan worden aangepast zodat deze de gewenste informatie toont. De nodes die bij een bepaalde view in de boomstructuur moeten worden getoond kunnen ook door deze configuratie worden beïnvloed. Neem voor het aanpassen van de Test Tool configuratie contact op met de IAF-applicatie ontwikkelaar.