Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Administration über Verteilte Verarbeitung

Wenn Sie die zentrale Administration über openUTM mit verteilter Verarbeitung abwickeln möchten, haben Sie den Vorteil, dass

  • gleichzeitig mehrere Anwendungen administriert werden können,

  • ein Administrations-Auftrag sowohl von der Administrations-Anwendung als auch durch die administrierten Anwendungen angestoßen werden kann (Poll-Funktion),

  • auf einfache Art zeitgesteuerte Administrationsaufträge gestellt werden können (DPUT),

  • bei Bedarf mit globaler Transaktionssicherung gearbeitet werden kann. Dadurch können Sie z.B. sicherstellen, dass bestimmte Anwendungsparameter gleichzeitig für alle Anwendungen geändert werden, was bei der Administration über einen UPIC-Client oder eine TS-Anwendung nicht gewährleistet ist, da z.B. Netzstörungen dazu führen können, dass die Aktion in einer der Anwendungen nicht durchgeführt werden kann, während die anderen Anwendungen schon mit den neuen Werten arbeiten.

Für die Kommunikation zwischen Administrations-Anwendung und den administrierten Servern können Sie die Protokolle LU6.1 oder OSI TP verwenden.

Programmierung

Wenn Sie für die Administration eine globale Transaktionssicherung wünschen, muss eine Transaktion der Administrations-Anwendung mit mehreren Auftragnehmern kommunizieren. Das folgende Diagramm veranschaulicht das Prinzip anhand von zwei administrierten Anwendungen, die jeweils mehrere Administrationsaufrufe absetzen.

Das Programm TPADM beauftragt beide Anwendungen. Das Programm TPREC wird erst aufgerufen, nachdem die Antworten von beiden Anwendungen eingetroffen sind. Wenn beide Anwendungen ihren Auftrag ordnungsgemäß abgeschlossen haben, beendet TPREC die globale Transaktion und den Vorgang.

Das folgende Beispiel skizziert, wie die Programme TPADM und TPREC aussehen können. Die Administrationsaufgabe besteht darin, von einem Unix- oder Linux-System aus einen Programmaustausch in einer UTM-Anwendung auf einem Unix- oder Linux-System und einer UTM-Anwendung auf einem BS2000-System gleichzeitig zu initiieren. Der Austausch verläuft auf einem Unix- oder Linux-System und auf einem BS2000-System unterschiedlich. Auf einem BS2000-System wird die aktuelle Version des Lademoduls ermittelt, das Lademodul zum Austausch vorgemerkt und anschließend die Anwendung neu geladen. Auf einem Unix- oder Linux-System wird das Programm gleich ausgetauscht. Die administrierten Anwendungen können dabei ein Programm wie im Abschnitt "Mehrere Administrationsaufrufe" verwenden. Das folgende Diagramm skizziert die Umsetzung des Beispiels für LU6.1 und für OSI TP ohne globale Transaktionssicherung.

Programmierung und Generierung sind analog, wenn statt der administrierenden und/oder der administrierten UTM-Anwendung auf Unix- und Linux-Systemen eine UTM-Anwendung auf Windows-Systemen eingesetzt wird. Bitte beachten Sie, dass Portnummer 102 nicht für UTM-Anwendungen auf Unix-, Linux- und Windows-Systemen verwendet werden kann.

 /* Teilprogramm TPADM sendet Daten an Anwendung UTMAPPL1 und UTMAPPL2     */
   
 INIT
 memcpy (buffer,  ...)                  /* Daten vorbereiten               */
 APRO DM KCPI=VGID1 KCPA=UTMAPPL1       /* Auftragnehmerservice TPADMIN    */
         KCRN=TPADMIN                   /* in UTMAPPL1 adressieren         */
  
 MPUT NE buffer                         /* Daten an UTMAPPL1 senden        */
      KCRN=VGID1
    
 APRO DM KCPI=VGID2 KCPA=UTMAPPL2       /* Auftragnehmerservice TPADMIN in */
         KCRN=TPADMIN                   /* UTMAPPL2 adressieren            */
    
 MPUT NE buffer                         /* Daten an UTMAPPL2 senden        */
      KCRN=VGID2
  
 PEND KP KCRN=TPREC                     /* Warten auf Auftragnehmer        */

Für OSI TP mit globaler Transaktionssicherung sind zusätzliche Anweisungen erforderlich, um

  • die Commit Functional Unit auszuwählen
    (APRO... KCOF=C)

  • UTMAPPL1 aufzufordern, das Transaktions- und Dialog-Ende einzuleiten
    (CTRL PE, KCRN=VGID1)

  • UTMAPPL2 aufzufordern, das Transaktions- und Dialog-Ende einzuleiten
    (CTRL PE, KCRN=VGID1)

 /* Folgeprogramm TPREC nimmt Quittung von Auftragnehmer-Service entgegen  */
  
 INIT
    KCRPI=VGIDx                         /* 1. Nachricht kommt von AN-      */
                                        /* Service mit Vorgangs-ID VGIDx   */
 MGET NT KCRN=VGIDx                     /* Antwort von AN-Service 1 lesen, */
         KCRCCC=12Z KCRPI=VGIDy         /* weitere Nachricht von anderem   */
                                        /* AN-Service (VGIDy) liegt vor    */
   
 if (OK)                                /* AN-Service1 hat den Programm-   */
  {                                     /* austausch angestossen           */
    MGET NT KCRN=VGIDy                  /* Antwort von AN-Service 2 lesen  */
            KCRCCC=10Z KCRPI=SPACES     /* Keine Nachricht mehr vorhanden  */
   
   if (OK)                              /* AN-Service2 hat den Programm-   */
     {                                  /* austausch angestossen           */
       MPUT NE                          /* Nachricht an Administrator      */
       PEND FI                          /* Globale Transaktion beenden     */
     } else error_routine();
  } else error_routine();
 ....
 error_routine ()                       /* Fehlerroutine                   */
         { MPUT NE                      /* Administrator benachrichtigen   */
           PEND FR }                    /* Globale Transaktion             */
                                        /* zuruecksetzen und beenden       */

Generierungsbeispiel

Das Beispiel zeigt eine LU6.1-Generierung, wobei die Administrations-Anwendung eine zweistufige Adressierung verwendet.

Im Beispiel werden die Portnummern und Rechnernamen (BS20HOST, UnixHOST, UnixADMI) in den Generierungsanweisungen angegeben. Siehe dazu openUTM-Handbuch „Anwendungen generieren“ unter „Adressinformationen bereitstellen“.

  1. Generierung der UTM-Administrations-Anwendung auf Unix- oder Linux-Systemen

    BCAMAPPL ADMINAPP,LISTENER-PORT=1234,T-PROT=RFC1006,T-SEL-FORMAT=T
    ***
    *** Verbindung zur Anwendung auf Unix- oder Linux-System, 
    *** Administrator-Anwendung ist Auftraggeber 
    SESCHA ADMAPPL1,PLU=Y,CONNECT=Y
    LPAP UTMAPPL1,SESCHA=ADMAPPL1
    LSES ADMAG1,LPAP=UTMAPPL1,...
    CON APPLUnix,BCAMAPPL=ADMINAPP,PRONAM=UnixHOST -
                  ,LISTENER-PORT=2345,LPAP=UTMAPPL1,...
    ***
    *** Verbindung zur Anwendung auf dem BS2000-System, 
    *** Administrator-Anwendung ist Auftraggeber 
    SESCHA ADMAPPL2,PLU=Y,CONNECT=Y
    LPAP UTMAPPL2,SESCHA=ADMAPPL2
    LSES ADMAG2,LPAP=UTMAPPL2,...
    CON APPLIBS2,BCAMAPPL=ADMINAPP,PRONAM=BS20HOST -
                  ,LISTENER-PORT=102,LPAP=UTMAPPL2,...
    *** 
    *** LTAC fuer fernes Administrationsprogramm, zweistufige Adressierung
    *** LTAC=RTAC ist der TAC in der entfernten Anwendung 
    LTAC TPADMIN
    ***
    *** TACs fuer die beiden Administrationsprogramme 
    TAC TPADM,PROGRAM=...
    TAC TPREC,PROGRAM=...
  2. Generierung der administrierten UTM-Anwendung auf BS2000-Systemen

    BCAMAPPL APPLIBS2,T-PROT=ISO
    ***
    *** LU6-Generierung fuer Auftragnehmer
    SESCHA ADMINREC,PLU=N,CONNECT=N
    LPAP UTMADMIN,SESCHA=ADMINREC,PERMIT=ADMIN
    LSES ADMAN,LPAP=UTMADMIN,...
    CON ADMINAPP,BCAMAPPL=APPLIBS2,PRONAM=UnixADMI,LPAP=UTMADMIN,...
    ***
    TAC TPADMIN,PROGRAM=ADMINPRG,ADMIN=Y
    PROGRAM ADMINPRG,...
    

  3. Generierung der administrierten UTM-Anwendung auf Unix- und Linux-Systemen

    BCAMAPPL APPLUnix,LISTENER-PORT=1234,T-PROT=RFC1006,T-SEL-FORMAT=T
    ***
    *** LU6-Generierung fuer Auftragnehmer
    SESCHA ADMINREC,PLU=N,CONNECT=N
    LPAP UTMADMIN,SESCHA=ADMINREC,PERMIT=ADMIN
    LSES ADMAN,LPAP=UTMADMIN,...
    CON ADMINAPP,BCAMAPPL=APPLUnix,PRONAM=UnixADMI -
                  ,LISTENER-PORT=2345,LPAP=UTMADMIN,...
    ***
    TAC TPADMIN,PROGRAM=ADMINPRG,ADMIN=Y
    PROGRAM ADMINPRG,...