310 likes | 518 Views
Agenda: Verwaltung von MQ-Objekten in Endevor. Agenda: Vorstellung LVM Endevor - Lotus Notes - MQ MQ Grundlagen Endevor beim LVM MQ System-Objekt Verwaltung im Endevor MQ Applikations-Objekt Verwaltung im Endevor Konsistenz MQ-Definitionen - Endevor.
E N D
Agenda: Verwaltung von MQ-Objekten in Endevor • Agenda: • Vorstellung LVM • Endevor - Lotus Notes - MQ • MQ Grundlagen • Endevor beim LVM • MQ System-Objekt Verwaltung im Endevor • MQ Applikations-Objekt Verwaltung im Endevor • Konsistenz MQ-Definitionen - Endevor
LVM-Versicherungen: Rund-um-Versicherer Die LVM-Versicherungen sind ein Rund-um-Versicherer ...
LVM-Versicherungen: Bunte Palette an Versicherungen ... und wir bieten eine bunte Palette an Versicherungen .....
LVM-Versicherungen: Markenzeichen Pferd .... unser Markenzeichen ist das Pferd .....
LVM-Versicherungen .... und wir wollen auch noch hoch hinaus.
LVM-Versicherungen in Zahlen • Kunden : ca. 3 Millionen • Verträge: 8,9 Millionen • Beitragseinnahmen: über 2,27 Milliarden Euro • Kapitalanlagen: 11,6 Milliarden Euro • Mitarbeiter in der Unternehmenszentrale in Münster • ca. 2.800 Mitarbeiter • ca. 100 Azubis und Praktikanten • 2100 Agenturen in Deutschland • Einer der Top 5 Kfz-Versicherer bundesweit
Endevor - Lotus Notes - MQ • Start • 1985 als Anwendungsprogrammierer • Rail and Fly • seit 1991 Endevor-Administrator • Die Flucht • 1999 IMS-Administration • Die Hölle • seit 2000 Notesadministrator • Die Initiative • seit 2008 MQ-Administrator
Log Datasets Put Application Queue Queue Holding Datasets Transmission Queue Dead Letter Queue MQ – Grundlagen: QMGR Queues und Datasets Queue Manager Applikation
Alias-Queue für Put Put Queue Holding Datasets Put Put Get Get Alias-Queue für Get MQ – Grundlagen: Alias-Konzept für Queues Queue Manager Applikation Local - Queue
Remote Queue Manager Local Queue Manager Put Get Remote Queue Put Get Local Queue MQ – Grundlagen: Applikation - Local-QMGR – Remote-QMGR
QMGR1 QMGR 2 QMGR 4 QMGR 3 MQ – Grundlagen: QMGR-Clustering
QMGR 2 QMGR 3 QMGR 4 Cluster Sender Channel Transmission Queue Cluster Command Cluster Repository Queue Cluster Receiver Channel MQ – Grundlagen: QMGR-Clustering QMGR1 Application Queues Applikationsmessages werden im Cluster über Auto-Defined Sender Channels verschickt.
MQ – Grundlagen: QMGR-Clustering Vorteile bei 4 QMGR = 68 = 16
Z/OS Queue Manager Websphere Applikation LVM – MQ-Cluster Infrastruktur AIX Queue Manager Put Batch Put IMS
6 6 1 Datenqueues z.B. Lvm.Unfall.Provison Seq. Bestand 2 Batch-Job: MQT1BAxx Procedur aus MQ-Prozeßdefinition z.B. MQUO0316 Batch-Job z.B. U1624003 Entladen Lvm.Unfall.Provision MQ-Prozeßdefinition je Queue: Prozedurname,Parameter Bsp: //MQUO0316 EXEC MQUO316,JCLMEM=U1624003 2 Started Task MQ Batch-Trigger z.B: MQT1BATR Überwacht die MQ-Trigger-Queue und submittet die in der Verarbeitungsmessage enthaltene Procedur 4 5 3 MQ Batchtriggering auf Z/OS Z/OS Batch Websphere MQ Z/OS Daten von: MQ-AIX IMS, Batch Internet 1000 Enthält Triggerdefinitionen: Was, wie (Prozeßdefinition) wann (z.B. ab 1000. Satz) ablaufen soll 1xTrigger-Queue für Batch-Trigger: LVM.BATCH.INITQ Wird mit Verarbeitungsmessage gefüllt wenn Triggerbedingung der Jeweiligen Datenqueue erfüllt ist
PROD ARCHIVE PRODFIX ISPF SYSTEM DEMO Endevor Infrastruktur des LVM Gemappte Environments TEST Eigenständige Environments
PGM PLI*,BND*,ASM*,COB* (LVM-Sourcen) IMS,DB2 DBD*,PSB*,MFS,SQL* VVS,Dope COBOL (Fremd-Software) Pylon C-Sourcen (Fremd-Software) JCL CNTL,INPUT-Anweisungen,Proceduren MQxn QLOCAL, QALIAS, PRO Environment: System Util PRZMAC,PROCESS ZOS PROCEDUREN MQ QMGRDEF,-INP,-PROC, PAGESET etc Endevor Systeme Environments: TEST – PROD - ARCHIVE Systeme Typen
Sys: MQTn MQFn MQQn MQPn Sub: CTV DVI Unfall ...... ...... ...... Typ: QLOCAL QALIAS PRO MQ – Endevor Struktur: Applikationsobjekte Test Prod Env:
Typ: QMGRINP QMGRDEF QMGRPROC QMGRCHG CHANNEL CLUSTNL ALIAS STGCLASS PAGESET MQ – Endevor Struktur: Environment System System Env: MQ Sys: System Sub:
Allgemein gültige Parameter QMGR-spezifische Parameter Stage A Stage B Stage A Stage B Stage A Stage B Keine Verarbeitung Nur Source- Vorbereitung DBS. MQP. DEFSLVM Keine Verarbeitung Nur Source- Vorbereitung JCL-Submit Endevor. Systemp Proclib Keine Verarbeitung Nur Source- Vorbereitung MQ-QMGR System-Verwaltung (1) Endevor-Processor: Submit JCL //******************************************************* //* STEP : SOURCE //* PROGRAMM: CONWRITE //* FUNKTION: ENDEVOR-ELEMENT IN EINE DATEI UEBERTRAGEN //* (C) LVM VERSICHERUNG //****************************************************** //SOURCE EXEC PGM=CONWRITE,MAXRC=0,COND=(8,LE), // PARM='EXPINCL(N)' //ELMOUT DD DSN=&&JCLIN, // DISP=(,PASS,DELETE), // UNIT=VIO, // SPACE=(TRK,(15,5),RLSE), // DCB=(RECFM=FB,LRECL=080,BLKSIZE=3200) //*-----------------------------------------------------*** //* SUBMIT DER JCL IM ONLINE *** //*-----------------------------------------------------*** //BC1PTMP0 EXEC PGM=BC1PTMP0,COND=(8,LE), // PARM='ENDEVOR.ISPFPROD.HAUPT.CLIST(ENDJCLSU)' //JCLIN DD DSN=&&JCLIN,DISP=(SHR,PASS) //*-----------------------------------------------------*** //* SUBMIT DER JCL IM BATCH *** //*-----------------------------------------------------*** //IF IF (BC1PTMP0.RUN & BC1PTMP0.RC = 5) THEN //IKJEFT01 EXEC PGM=IKJEFT01,COND=(8,LE) //JCLIN DD DSN=&&JCLIN,DISP=(SHR,PASS) //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD * EXEC 'ENDEVOR.ISPFPROD.HAUPT.CLIST(ENDJCLSU)' /* //ENDIF ENDIF System MQ QMGRINP QMGRDEF QMGRPROC Typ: MQxxINP1 MQ##CHIN MQxxBSDS MQxxPAGE MQxxMSTR MQxxCHIN Bsp:
Endevor-Processor: //************************************************* //* STEP : CSQUTI //* PROGRAMM: CSQUTIL //* FUNKTION: MQ-DEFINITIONEN DURCHFüHREN //* (C) LVM VERSICHERUNGEN //************************************************* //CSQUTI EXEC PGM=CSQUTIL,MAXRC=4,COND=(8,LE), // PARM='&QMGR' //STEPLIB DD DSN=DBS1.MQP.SCSQANLE,DISP=SHR // DD DSN=DBS1.MQP.SCSQAUTH,DISP=SHR //SYSPRINT DD DSN=&&CSQLST,DISP=(SHR,PASS,DELETE) //SYSIN DD * COMMAND FAILURE(STOP) /* //CSQUCMD DD DSN=&&SRCIN,DISP=(SHR,PASS,DELETE) MQ-QMGR System-Verwaltung (2) System MQ Typ: QMGRCHG CHANNEL CLUSTNL Bsp: MQT1ALTER MQT1LAS MQT1CLNL Stage A Stage B Keine Verarbeitung Nur Source- Vorbereitung MQ-Command Mittels CSQUTIL
MQx-Applikationsobjekt-Verwaltung Z/OS TEST PROD Environment MQxn MQPn X = T,F,Q N = QMGR-Nummer • Endevor-Processor: • Source einlesen • Rexx zur Prüfung ob MQ-Objekt vorhanden ist.Ggf. Anpassung der Input-Statements(Define statt Alter) • MQ-Command durchführen://***********************************************//* STEP : CSQUTI //* PROGRAMM: CSQUTIL//* FUNKTION: MQ-DEFINITIONEN DURCHFüHREN//***********************************************//CSQUTI EXEC PGM=CSQUTIL,MAXRC=4, // COND=(8,LE),PARM='&QMGR‘//STEPLIB DD DSN=DBS1.MQP.SCSQANLE,DISP=SHR// DD DSN=DBS1.MQP.SCSQAUTH,DISP=SHR//SYSPRINT DDDSN=&&CSQLST,DISP=(SHR,PASS,DELETE)//SYSIN DD * COMMAND FAILURE(STOP)/*//CSQUCMD DD DSN=&&SRCIN,DISP=(SHR,PASS,DELETE) • Endevor-Listing erstellen System QLOCAL QALIAS PRO Typ: OR7023 TESTQ#1 OR7023 TESTQ#1 OR7023 TESTQ#1 Bsp: Stage A Stage B Keine Verarbeitung Nur Source- Vorbereitung MQ-Command Mittels CSQUTIL
MQx-Applikationsobjekt-Verwaltung AIX TEST PROD Environment • Endevor-Processor-Aktivitäten: • Source einlesen • Arbeitsdateien initialisieren • Mittels FTP ein Script auf der AIX aktivieren welches eine Liste aller gewünschten MQ-Objekte liefert • Erstellte AIX-Liste mittels FTP hochladen • Rexx zur Auswertung der Liste und ggf Modifikation des Endevor-Source (Define statt Alter,wenn Objekt nicht auf AIX) • Rexx zur Erstellung von FTP-Commands um MQ-Objekte auf der AIX zu definieren • Mittels FTP ausführen der MQ-Commands für die Erstellung der MQ-Objekte • Mittels FTP AIX-Log der MQ-Aktion hochladen • MQ-Log auswerten • Mail an MQ-Aix-Administrator versenden • Endevor-Listings schreiben MQLASx X = (T,F,Q) MQLASP System QLOCAL QALIAS Typ: OR7023 OR7023 Bsp: Stage A Stage B Keine Verarbeitung Nur Source- Vorbereitung MQ-Command auf AIX ausführen
Beispiel FTP-Commands //****************************************************************************************** //* STEP : FTPLAS //* PROGRAMM: UCMD, Stonebranch //* FUNKTION: MQ-Definitionen auf AIX des jeweiligen QMGR schieben //* (C) LVM VERSICHERUNGEN //****************************************************************************************** //FTPLAS EXEC PGM=UCMD,PARM='&UPARM',MAXRC=0 : //UNVIN DD DSN=&&SRCIN,DISP=(SHR,PASS,DELETE) Endevor-Source //SCRIPT DD DSN=&&MQCMD,DISP=(SHR,PASS,DELETE) AIX-Aktionen //SYSIN DD * -script script -host mqlast -f login -login yes Inhalt der Datei &&MQCMD erstellt durch Rexx cd /home/mqm/ rm "W1".endv ucopy > /home/mqm/"W1".endv Source aus DD UNVIN chgrp mqm /home/mqm/"W1".endv runmqsc "QMGR" <"W1".endv >"W1".endvlog sleep 10 W1 = Dateiname = Objektname z.B. LVM_UNFALL_PROVISION QMGR = Endevor-Systemname z.B. MQLAST
MQ-Applikationsobjektverwaltung : Repository – Endevor - MQ Repository Anlegen / Ändern von MQ-Definitionen je QMGR Plausiprüfung
MQ-Definitionen Endevor-Anweisungen MQ-Applikationsobjektverwaltung: Repository – Endevor - MQ Repository Anlegen / Ändern von MQ-Definitionen je QMGR Plausiprüfung Endevor System MQxn Gen= Add + Move
MQ-Applikationsobjektverwaltung: Repository – Endevor - MQ Repository Anlegen / Ändern von MQ-Definitionen je QMGR Plausiprüfung Endevor System MQxn Add + Move Erstellung / Update MQ-Definitionen durch Endevor-Processor Queue Manager MQxn
Konsistenz: Repository – Endevor - MQ Endevor System MQxn Queue Manager MQxn Problemstellung: Was passiert, wenn MQ – Definitionen direkt über die MQ-ISPF-Oberfläche verändert werden ? Wie und durch wen werden diese Änderungen im Endevor bzw. Repository aktualisiert ? Repository
Konsistenz: Endevor – MQ – Repository Abgleich Endevor-Source zu MQ-Definition per Rexx Endevor System MQxn Queue Manager MQxn MQ-Display-CMD Retrieve
Source-Update ohne Generierung Update Konsistenz: Endevor – MQ – Repository Abgleich Endevor-Source zu MQ-Definition per Rexx Endevor System MQxn Queue Manager MQxn Je Differenz Erstellung von: Endevor-Source Repository Source Repository