Onsdag 6/11 10.00
Stuart Jones, IBM Hursley
Jones drog igenom den grundläggande tekniken om MQSeries som
alla sessioner tagit upp, men det var en del synpunkter som
gäller för transaktionsmiljöer, som CICS, som var intressanta:
Access to existing CICS Transaction
Existerande transaktioner som körs i CICS kan användas med
hjälp av MQ för att ge andra system möjligheten att köra CICS-applikationer
(tex WWW, Notes). än så länge finns det dock ingen brygga
mellan CICS och MQ, så som det finns för IMS. Det är utlovat
och kommer någon gång i slutet av 1997. Om man ska brygga data
mellan CICS och MQ idag måste man skriva den själv. Antingen
ett program på klientsidan som läser en MQ-kö och startar
CICS-transaktioner i hosten för att få köra programmet (via
ECI eller EPI). Det andra sättet är att skriva bryggan i hosten
och där ta emot MQ-meddelandet och sedan STARTa eller LINKa
programmet. Hur man än gör är det ett eget arbete att skriva
en sådan brygga, tyvärr.
CICS and MQSeries on MVS
Det är ett TRUE som hanterar MQ-APIt i CICS. Anropen från
CICS-program går via en MQ-stubbe i programmet vidare genom
TRUEt som köar anropet mot 8 stycken TCBer. En TCB blockeras av
ett CICS-program endast under det MQ-anropet, inte som i vissa databasanrop
där en TCB blockeras under en hel connect-session. Det här gör
att man inte behöver oroa sig för att de 8 ska vara för få.
Det går att välja om man vill använda sig av syncpoint vid
hantering av meddelanden, och om man vill att meddelanden skall ingå
i transaktionen tar CICS hand om allt som har med den att göra,
commit eller rollback.
Transaktionen suspenderas under tiden ett MQ-anrop körs!
Därför har IBM lagt till andra typer av WAIT i MQGET-kommandot
för att lösa det här. Hur det fungerar finns specificerat i
dokumentationen och lite i de papper jag har uppe hos mig.
För distribuerad meddelandehantering och kommunikation utanför
den egna MVS-miljön finns det två varianter att använda sig
av:
CICS and MQSeries on AIX
MQSeries for AIX stöder XA, vilket gör att CICS och MQSeries
fungerar alldeles utmärkt tillsammans i AIX. När det gäller
CICS/6000 är det dock viktigt att MQSeries initieras innan CICS
och avslutas efter CICS.
På samma sätt som för MVS kan man inte använda sig av MQs
commit och rollback i AIX-miljön.
Det är också viktigt att CICS körs på samma maskin som
MQSeries.
CICS and MQSeries on OS/2
Då CICS OS/2 inte stöder XA-transaktioner finns det inget stöd
för 2-phase-commit, utan det är single-phase-commit som gäller.
Det gör att om det skär sig i en commit måste rollbacks ta
tillbaka manuellt.
Som för AIX är det viktigt att CICS-severn körs på samma
maskin som MQSeries.
CICS and MQSeries on NT
Dagens NT-version av CICS är baserad på kodbasen från OS/2.
Det innebär samma restriktioner på endast single-phase-commit
mm. Dock kommer det att lanseras en ny version för NT under
1997; CICS Trasaction Server for Windows NT. Jag har info och material
om den versionen. Den bygger på AIXs kodbas så det är i den
nya versionen möjligt att ha XA-stöd och därmed också
2-phase-commit.
Det finns ingen möjlighet att synkronisera klienter som
använder CICS och MQSeries remote!
Bibliography
Det finns inga referenser till MQSeries i CICS-dokumentationen
utan det är i MQSeries böcker man måste leta för att kunna läsa
om MQSeries+CICS: