DE10054001A1 - Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen - Google Patents
Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen UmgebungenInfo
- Publication number
- DE10054001A1 DE10054001A1 DE10054001A DE10054001A DE10054001A1 DE 10054001 A1 DE10054001 A1 DE 10054001A1 DE 10054001 A DE10054001 A DE 10054001A DE 10054001 A DE10054001 A DE 10054001A DE 10054001 A1 DE10054001 A1 DE 10054001A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- ims
- transaction
- message
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
Abstract
Eine automatisierte Schnittstellengenerierung für Computerprogramme, die in unterschiedlichen Umgebungen operieren, ist vorgesehen. Ein automatisiertes Schnittstellengenerierungssystem, -Verfahren, -Computerprogrammprodukt und -Fertigungsartikel sind vorgesehen, enthaltend ein Importdienstprogramm und eine Laufzeitprogrammgebung. Das Importdienstprogramm importiert eine COBOL-IMS-Transaktions-Quelldatei, analysiert syntaktisch die spezifizierten Eingabe- und Ausgabemitteilungsaufzeichnungen und generiert eine Applikationsprogrammier-Schnittstelle. Die Applikationsprogrammier-Schnittstelle arbeitet mit der Laufzeitprogrammumgebung, um die Datenwerte von der Sprache einer unterschiedlichen anderen Umgebung aufzunehmen und sie in eine formatierte IMS-Eingabemitteilung zu übersetzen. Dieses Format ist abgeleitet von der Definition der Eingabemitteilungsaufzeichnung in der COBOL-IMS-Transaktions-Quelldatei. Nachdem die IMS-Transaktion abgearbeitet ist, wird die sich ergebende IMS-Ausgabemitteilung in die Datenwerte der Sprache der unterschiedlichen anderen Umgebung rückübersetzt, wobei diese Werte die Ergebnisse der Transaktion beinhalten. Der Übersetzungsschritt behandelt die Datenumwandlung zwischen unterschiedlichen Code-Pages, Maschinenarchitekturen und Programm-Semantik und behandelt die dynamische Natur der IMS-Mitteilungen.
Description
Die vorliegende Erfindung betrifft die automatisierte
Generierung von Schnittstellen zu Programmen in
unterschiedlichen Umgebungen. Insbesondere betrifft die
Erfindung die automatisierte Generierung zu Schnittstellen für
Programme, die für das IMS® (Information Management System)
Transaktions- und Datenbank-Server-System der IBM Corporation
konstruiert wurden und darauf laufen, um das dynamische
Zusammensetzen und Lesen von Datenmitteilungen, die zwischen
einem Schnittstellenprogramm und dem Programmbetrieb auf dem
IMS-System ausgetauscht werden, zu unterstützen.
Ein Attribut moderner Computersysteme ist, dass sie viele
Programmierumgebungen unterstützen, wie JavaTM, C, C++, PASCAL,
FORTRAN, COBOL und BASIC Computersprachenumgebungen. Ferner
sehen viele verteilte Computersysteme heute ein Client-Server-
Modell vor, in dem ein Client-Programm laufen und mit einem
Serverprogramm interaktiv zusammenarbeite kann, wobei oft das
Client-Programm und das Server-Programm in einem
Computernetzwerk auf verschiedenen Systemen laufen.
In einer verteilten Umgebung, die möglicherweise viele
unterschiedliche Computersysteme umfasst, die eine Anzahl
unterschiedlicher Programmierumgebungen unterstützen, gewinnt
das gemeinsame Zugreifen auf Daten eine immer größere
Bedeutung. Insbesondere gibt es einen Bedarf, in neuen
Programmumgebungen auf Dienstleistungen oder Daten zugreifen
zu können, die von älteren Programmumgebungen und häufig durch
verteilte Computersysteme geliefert werden.
Ein Beispiel für einen solchen Bedarf nach einem
umgebungsüberschreitenden Zugriff ist bei modernen, objekt
orientierten Sprachen mit Zugriff auf Daten oder
Dienstleistungen von IMS-Systemen gegeben. Ein IMS-System ist
eine komplette On-line-Transaktionsverarbeitungsumgebung, die
eine kontinuierliche Verfügungsbereitschaft und
Datenintegrität sichert. Ein IMS-System enthält eine Datenbank
und ein Datenkommunikationssystem. Das IMS-Datenbanksystem
sieht die Verwaltung und Speicherung von Daten vor und
verarbeitet gleichzeitige Datenbankanfragen. Das IMS-
Datenkommunikationssystem sieht großvolumige, Hochleistungs-
Hochkapazitäts-Transaktionsverarbeitung für das IMS-
Datenbanksystem vor.
In IMS-Systemen sind viele IMS-überkommene Programme in COBOL
geschrieben. Um Transaktionen mit diesen COBOL-IMS-Programmen
in anderen Computerprogrammiersprachenumgebungen, wie z. B.
eine C++ oder Java-Sprachenumgebung, durchführen zu können,
muss ein Programmierer:
- - Die anderen Computersprachen-Datentypen auf die COBOL- Datentypen abbilden;
- - die Daten und die Semantik der anderen Computersprachen in Daten überführen, die den COBOL-Datentypen entsprechen, wobei die Daten gemäß den COBOL-Ausrichtungsregeln ausgerichtet werden müssen;
- - das IMS-System und das System, das die Programme in der anderen Sprache enthält, verbinden, um den Übergang der Daten zwischen den Systemen zu ermöglichen;
- - die Daten, die von dem in der anderen Sprache geschriebenen Programm auf das IMS-System übergehen, in ein IMS- Mitteilungsformat formatieren; und
- - die vom IMS-System in einem IMS-Mitteilungsformat zurückgegebenen Daten mit ihren darin enthaltenen COBOL- Datentypen in Daten, die den Datentypen der anderen Computersprache entsprechen, übersetzen.
Ein IMS Verbindungsmerkmal, genannt CICON, des
Applikationsentwicklungsprodukts IBM VisualAge® für Smalltalk
sieht einen Zugriff auf die Applikationsanwendung mit MFS
(message formatting services - Mitteilungsformatierungsdienst)
Konsolen vor, die unter einem IMS-System laufen. Bemerkenswert
ist jedoch, dass CICON nur den Zugriff auf konsolenbetriebene
Applikationen erlaubt, die mindestens eine Konsole definieren,
die MFS benutzt. Um einen solchen Zugriff vorzusehen, sieht
VisualAge für Smalltalk-Produkt einen lexikalischen Analysator
vor zum Importieren der MFS-Definitionen und Werkzeuge, zum
Neuschaffen einer Konsolennavigation auf der Grundlage einer
Anwendereingabe. Der Syntax-Analysator und die Werkzeuge
sehen die Fähigkeit zum Konkretisieren einer Reihe von
Interaktionen ohne einen Anwenderzugriff auf eine Navigation
vor und sieht einen Weg zum Abbilden dieser Navigation auf ein
Objekt vor, das in VisualAge für Smalltalk-Umgebung entwickelt
ist. Jedoch ist ein Nachteil des CICON, dass nur auf
Transaktionen mit definierten MFS-Konsolen zugegriffen werden
kann. Da es für eine IMS-Transaktion nicht erforderlich ist,
solche Konsolen zu definieren, ermöglicht CICON keinen
optimalen Zugriff auf alle überkommenen Geschäftsanwendungen.
Ein zweites Werkzeug, das einen Zugriff auf überkommene
Applikationen zulässt, ist das CICS®/ECI Zugriffswerkzeug, das
im IBM VisualAge für Java, Enterprise Edition,
Applikationsentwicklungsprodukt eingeschlossen ist. Dieses
Werkzeug ermöglicht den Zugriff auf COBOL-Transaktionen, die
unter dem IBM Softwaresystem CICS (Customer Information
Control System) laufen. Dieses Werkzeug benutzt einen Parser
zum Importieren eines COBOL-Programms in das CIC-System und um
Stubs zum Kommunizieren und zum Datenaustausch mit dem CICS-
System zu generieren. Der Nachteil dieses Werkzeuges ist seine
statische Definition der mit dem CICS-System auszutauschenden
Daten. Sobald die Stubs generiert sind, können die Inhalte der
Datenpuffer, die an das CICS System zu senden sind oder von
diesem empfangen werden, nicht geändert werden. Vielmehr
benutzt ein IMS-System Eingangs- und Ausgangsmitteilungen zum
Zusammenarbeiten mit IMS-Transaktionen und der Inhalt dieser
Mitteilungen ist dynamisch, insofern als die Mitteilungen ihre
Größe und Layout definieren. Der COBOL IMS Transaktions-
Quelldateieingang und Ausgangsmitteilungsberichte definieren
Datentypen und auch teilweise den Layout, jedoch nicht die
wahre Größe der ausgetauschten Mitteilungen. Somit ist es
nicht möglich, das CICS-Werkzeug zu benutzen, um auf COBOL-
Transaktionen zuzugreifen, die auf einem IMS-System laufen.
Es wäre also vorteilhaft, ein Laufzeitprogramm vorzusehen, das
in der Lage ist, den IMS-Mitteilungsdatenstrom eines IMS-
Systems (oder eines analogen Systems oder einer Umgebung) zu
lesen und zusammenzusetzen, sowie eine Einfuhrfähigkeit mit
der Möglichkeit des Generierens von Oberflächenstubs
vorzusehen, die in der Lage sind, die dynamische Natur dieses
Mitteilungsdatenstroms zu bearbeiten.
Die Erfindung sieht vor eine automatische Generierung von
Schnittstellen zu Programmen in unterschiedlichen Umgebungen.
Insbesondere sieht die Erfindung vor, die automatische
Generierung von Schnittstellen zu Programmen, die für IMS®
(Information Management System) Transaktionen der IBM
Corporation und Datenbank-Serversysteme konstruiert sind, um
das dynamische Zusammensetzen und Lesen von Datenmitteilungen
zu bewirken, die zwischen einem Schnittstellenprogramm und dem
auf dem IMS-System laufenden Programm ausgetauscht werden.
Vorgesehen ist ein Verfahren zum Schnittstellenverbinden eines
Programms auf einem IMS-System mit einem Programm in einer
anderen Programmumgebung, enthaltend die folgenden Schritte:
Scannen einer IMS-Transaktion mit dem Programm auf dem IMS-
System; und Generieren einer Programm-Schnittstelle, wobei die
Programmschnittstelle Mittel zum Aufrufen der IMS-Transaktion
und Umwandeln der Daten zwischen der IMS-Transaktion und dem
Programm in einer anderen Programmumgebung vorsieht. Das obige
Verfahren kann auch vorgesehen sein, wobei die Schnittstelle
einen Transaktionsteil enthält, der das Aufrufen der IMS-
Transaktion vorsieht; mit einem Mitteilungsteil, der das
Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht; und
mit einem lpage-Teil, der für die dynamische Zusammensetzung
oder das Lesen einer IMS-Mitteilung sorgt. Die obigen
Verfahren können ferner den Schritt des Vorsehens eines
Laufzeitprogramms beinhalten, wobei das Laufzeitprogramm
Mittel umfasst zum Übersetzen der Datentypen des Programms in
einer anderen Programmumgebung zu Datentypen, die in einer
Mitteilung an das IMS-System benutzt werden; Mittel zum
Zusammensetzen der Mitteilung an das IMS-System; Mittel zum
Übersetzen der Datentypen, die in einer Mitteilung vom IMS-
System benutzt werden, zu Datentypen des Programms in einer
anderen Programmumgebung; und Mittel zum Lesen der Mitteilung
aus dem IMS-System. Und das Laufzeitprogramm kann ferner
Mittel umfassen zum Zugreifen auf die IMS-Transaktion über die
MQSerien-Mitteilungsübermittlungsschnittstelle. Ferner können
die obigen Verfahren den Schritt des Kompilierens der
Programmschnittstelle in das Programm in einer anderen
Programmumgebung beinhalten. Und einige der obigen Verfahren
können ferner den Schritt des Kompilierens des
Laufzeitprogramms in das Programm einer anderen
Programmumgebung beinhalten. Und die obigen Verfahren können
ferner beinhalten den Schritt des Vorsehens von Mitteln zum
Umwandeln von Codepages zwischen der anderen Programmumgebung
und dem IMS-System.
Vorgesehen ist ferner ein Computerprogrammprodukt zum
Schnittstellenverbinden eines Programms auf einem IMS-System
mit einem Programm in einer anderen Programmumgebung,
enthaltend Anweisungsmittel zum Scannen einer IMS-Transaktion
mit dem Programm auf dem IMS-System; und Anweisungsmittel zum
Generieren einer Programmschnittstelle, wobei die
Programmschnittstelle Mittel vorsieht zum Aufrufen der IMS-
Transaktion zum Umwandeln der Daten zwischen der IMS-
Transaktion und dem Programm in einer anderen
Programmumgebung. Das obige Computerprogrammprodukt mag auch
vorgesehen sein, wobei die Schnittstelle einen
Transaktionsteil beinhaltet, der das Aufrufen der IMS-
Transaktion besorgt; einen Mitteilungsteil; der das
Zusammensetzen oder das Lesen einer IMS-Mitteilung besorgt;
und einen lpage-Teil, der das dynamische Zusammensetzen oder
Lesen einer IMS-Mitteilung besorgt. Die obigen
Computerprogrammprodukte können ferner umfassen
Anweisungsmittel zum Vorsehen eines Laufzeitprogramms, wobei
das Laufzeitprogramm Mittel zum Übersetzen von Datentypen des
Programms in einer anderen Programmumgebung zu Datentypen, die
in einer Mitteilung an das IMS-System benutzt werden, enthält;
Mittel zum Zusammensetzen der Mitteilung an das IMS-System;
Mittel zum Übersetzen von Datentypen, die in einer Mitteilung
vom IMS-System zu Datentypen des Programms in einer anderen
Programmumgebung benutzt werden; und Mittel zum Lesen der
Mitteilung aus dem IMS-System beinhaltet. Und das
Laufzeitprogramm kann ferner umfassen Mittel zum Zugreifen auf
die IMS-Transaktion über die MQSerien-
Mitteilungsübermittlungsschnittstelle. Und die obigen
Computerprogrammprodukte können ferner enthalten
Anweisungsmittel zum Kompilieren der Programmschnittstelle in
das Programm einer anderen Programmumgebung. Und einige der
obigen Verfahren können ferner enthalten den Schritt des
Kompilierens des Laufzeitprogramms in das Programm in einer
anderen Programmumgebung. Und die obigen Verfahren können
ferner enthalten den Schritt des Vorsehens von Mitteln zum
Umwandeln von Codepages zum Konvertieren von Codepages
zwischen der anderen Programmumgebung und dem IMS-System.
Ferner ist vorgesehen ein Computerprogrammprodukt zum
Schnittstellenverbinden eines Programms auf einem IMS-System
mit einem Programm in einer anderen Programmumgebung,
enthaltend Anweisungsmittel zum Scannen einer IMS-Transaktion,
wobei das Programm auf dem IMS-System eine Datenbeschreibung
der IMS-Transaktion erzeugt, und Anweisungsmittel zum Anwenden
dieser Datenbeschreibung zum Generieren eines Code zum
Aufrufen der IMS-Transaktion. Das obige Computerprogramm kann
ferner enthalten Anweisungsmittel zum Benutzen der
Datenbeschreibung zum Generieren eines Code zum Bearbeiten von
Mitteilungselementen der IMS-Transaktion zur Anwendung mit dem
Programm in einer anderen Sprachenumgebung.
Weiter vorgesehen ist ein Computerprogrammprodukt zum
Schnittstellenverbinden eines Programms auf einem IMS-System
mit einem Programm in einer anderen Programmumgebung,
enthaltend Anweisungsmittel zum Aufrufen einer IMS-Transaktion
mit dem Programm auf dem IMS-System; und Anweisungsmittel zum
Umwandeln von Daten zwischen der IMS-Transaktion und dem
Programm in einer anderen Programmumgebung. Das obige
Computerprogrammprodukt kann auch vorgesehen sein, in dem die
Anweisungsmittel zum Konvertieren ferner Anweisungsmittel zum
Übersetzen von Datentypen des Programms in einer anderen
Programmumgebung zu Datentypen, die in einer Mitteilung an das
IMS-System benutzt werden, Anweisungsmittel zum Zusammensetzen
der Mitteilung an das IMS-System, Anweisungsmittel zum
Übersetzen von Datentypen, die in einer Mitteilung vom IMS-
System benutzt werden, zu Datentypen des Programms in einer
anderen Programmumgebung, und Anweisungsmittel zum Lesen der
Mitteilung vom IMS-System beinhalten. Die obigen
Computerprogrammprodukte können auch vorgesehen sein, wobei
das Anweisungsmittel zum Umwandeln ferner Anweisungsmittel zum
Zugriff auf die IMS-Transaktion über die MQSerie-
Mitteilungsübermittlungsschnittstelle enthält. Und die obigen
Computerprogrammerzeugnisse können ferner Anweisungsmittel
enthalten zum Umwandeln der Codepages zwischen der anderen
Programmumgebung und dem IMS-System.
Vorgesehen ist ferner ein vorgefertigter Artikel, der ein
computerbenutzbares Medium enthält, das computerlesbare
Programmcodemittel im inneren aufweist zum Ausführen der
Verfahrensschritte jedes beliebigen der obigen Verfahren.
Ebenso vorgesehen ist ein System zum Schnittstellenverbinden
eines Programms auf einem IMS-System mit einem Programm in
einer anderen Programmumgebung, enthaltend Mittel zum Scannen
einer IMS-Transaktion mit dem Programm im IMS-System; und
Mittel zu Generieren einer Programmschnittstelle, wobei die
Programmschnittstelle Mittel vorsieht zum Aufrufen der IMS-
Transaktions- und Konvertierungsdaten zwischen der IMS-
Transaktion und dem Programm in einer anderen
Programmumgebung. Das obige System kann ferner beinhalten
Mittel zum Vorsehen eines Laufzeitprogramms, wobei das
Laufzeitprogramm Mittel zum Übersetzen von Datentypen des
Programms in einer anderen Programmumgebung zu Datentypen, die
in einer Mitteilung an das IMS-System benutzt werden, Mittel
zum Zusammensetzen der Mitteilung im IMS-System, Mittel zum
Übersetzen der Datentypen, die in einer Mitteilung vom IMS
System benutzt werden, zu Datentypen des Programms in einer
anderen Programmumgebung, und Mittel zum Lesen der Mitteilung
vom IMS-System beinhaltet.
Ferner ist vorgesehen ein System zum Schnittstellenverbinden
eines Programms auf einem IMS-System mit einem Programm in
einer anderen Programmumgebung, enthaltend Mittel zum Scannen
einer IMS-Transaktion mit dem Programm auf dem IMS-System, das
eine Datenbeschreibung der IMS-Transaktion erzeugt, und Mittel
zum Benutzen dieser Datenbeschreibung zum Generieren eines
Code zum Abrufen der IMS-Transaktion. Das obige System kann
ferner beinhalten Mittel zum Verwenden der Datenbeschreibung
zum Generieren eines Code zum Bearbeiten von Elementen der
IMS-Transaktion zur Anwendung mit dem Programm in einer
anderen Sprachenumgebung.
Ein System zur Schnittstellenverbindung eines Programms auf
einem IMS-System mit einem Programm in einer anderen
Programmumgebung ist auch vorgesehen, das Mittel zum Aufrufen
einer IMS-Transaktion mit dem Programm auf dem IMS-System, und
Mittel zum Umwandeln von Daten zwischen der IMS-Transaktion
und dem Programm in einer anderen Programmumgebung enthält.
Das obige System ist auch vorgesehen, wobei die Mittel zum
weiteren Umwandeln Mittel zum Übersetzen der Datentypen des
Programms in einer anderen Programmumgebung zu Daten, die in
einer Mitteilung an das IMS-System benutzt werden, Mittel zum
Zusammensetzen der Mitteilung an das IMS-System, Mittel zum
Übersetzen von Datentypen, die in einer Mitteilung von IMS-
System benutzt werden zu Datentypen des Programms in einer
anderen Programmumgebung, und Mittel zum Interpretieren der
Mitteilung vom IMS-System beinhaltet.
Die vorliegende Erfindung wird beispielhaft und nicht
einschränkend illustriert in den Figuren der beiliegenden
Zeichnungen, in denen gleiche Bezugszeichen jeweils ähnliche
oder entsprechende Elemente anzeigen; und in denen
Fig. 1 in schematischer Form die Komponenten eines Systems zur
automatisierten Schnittstellengenerierung gemäß der
vorliegenden Erfindung darstellt;
Fig. 2 ist ein Diagramm, das das Import-Dienstprogramm der
Fig. 1 im Detail darstellt;
Fig. 3 stellt die Struktur einer beispielhaften IMS-Mitteilung
dar, die mit der Erfindung gebraucht wird;
Fig. 4A und 4B ist ein Flussdiagramm des Datenauszugs der IMS-
Mitteilungen durch das Laufzeitprogramm der vorliegenden
Erfindung;
Fig. 5 ist der Quellcode einer
einfachen COBOL-IMS-Transaktion, die zwei Zahlen als Eingang
erhält, die das COBOL-IMS-Programm dann addiert und das
Ergebnis zurückgibt; und
Fig. 6 ist das sich ergebende
generierte C++ Klassen aus dem Importdienstprogramm, das die
einfache COBOL-IMS-Transaktion in Fig. 5 als Eingabe benutzt.
Die bevorzugte Ausführungsform der vorliegenden Erfindung
sieht ein System, Verfahren, Computerprogrammprodukt und
vorgefertigten Artikel zum Generieren einer Schnittstelle vor,
die eine Abbildung von einem COBOL-Programm definiert, das für
ein IMS-System konstruiert ist und auf diesem arbeitet
(nachstehend COBOL IMS System genannt) für ein
Computerprogramm, das in einer anderen Sprache geschrieben
ist, wie z. B. C++ und Java, zum Aufrufen einer IMS-Transaktion
mit dem COBOL-IMS-Programm (nachstehend COBOL-IMS-Transaktion)
und zum Formatieren und Umwandeln der COBOL-IMS-
Transaktionsdaten, die zwischen dem COBOL-TMS-Programm und dem
in einer anderen Computersprache geschriebenen Programm
übertragen werden. Die vorliegende Erfindung schafft eine
Schnittstelle, die die Abbildung von Datentypen und
unterschiedliche Programmsemantik zwischen COBOL und der
anderen Sprache behandelt, die Datentypen zwischen COBOL und
der anderen Sprache übersetzt, Umwandlungen zwischen
Codeseiten und Maschinenarchitekturen der Systeme behandelt,
die das COBOL-IMS-Programm und das in der anderen Sprache
geschriebene Programm betreiben, die Daten aus dem in der
anderen Sprache geschriebenen Programm in eine IMS-
Eingabemitteilung auf das COBOL-IMS-Programm formatiert und
eine IMS Ausgangsmitteilung aus dem COBOL-IMS-Programm in
Daten umwandelt, die von dem in der anderen Sprache
geschriebenen Sprache benützt werden können.
Insbesondere sieht die vorliegende Erfindung ein
Importdienstprogramm zum Schnittstellenverbinden eines COBOL-
IMS-Programms mit einem Programm in einer anderen
Programmumgebung vor, wobei das Importdienstprogramm ein
Mittel zum Scannen der COBOL-IMS-Transaktion und zum
Generieren einer Programmschnittstelle enthält, die ein Mittel
zum Aufrufen der COBOL-IMS-Transaktion und zum Umwandeln der
Daten zwischen der COBOL-IMS-Transaktion und dem Programm in
der anderen Programmumgebung vorsieht. Die generierte
Programmschnittstelle umfasst drei Teile: (a) Einen
Transaktionsteil, der Mittel vorsieht zum Aufrufen einer IMS-
Transaktion; (b) einen Mitteilungsteil, der Mittel zum
Zusammensetzen oder Lesen einer IMS-Eingabe bzw. einer
Ausgabemitteilung vorsieht; und (c) einen lpage-Teil der die
Mittel zum dynamischen Zusammensetzen bzw. Lesen einer IMS-
Mitteilung vorsieht. Diese Teile unterstützen das Sicht- und
Nichtsicht-Programmieren in der anderen Sprache.
Ferner sieht die vorliegende Erfindung auch ein
Laufzeitprogramm für die generierte Programmschnittstelle vor.
Das Laufzeitprogramm sieht ein allgemeines Mittel vor zum
Aufrufen einer COBOL-IMS-Transaktion unter Verwendung der IBM
MQSerie®-Mitteilungsschnittstelle, zum Formatieren von Daten
aus dem in der anderen Spräche geschriebenen Programm, und zum
Umwandeln einer IMS-Ausgabemitteilung in Daten, die von dem in
der anderen Sprache geschriebenen Programm benutzt werden
können. Die von dem Importdienstprogramm generierten
Schnittstellen zusammen mit dem Laufzeitprogramm ermöglichen
den Zugriff auf COBOL-IMS-Transaktionen in einer vorzugsweise
verteilten Umgebung.
Der Fachmann erkennt hier, dass die vorliegende Erfindung auch
auf anderen als IMS-Systemen implementiert werden kann. Die
Erfindung kann implementiert werden auf Systemen, die im
wesentlichen die gleiche Funktionalität aufweist wie ein IMS-
System. Auf ähnliche Weise kann die Erfindung auch auf
Systemen implementiert werden, die gerade einige oder auch
alle Schlüsselmerkmale/Funktionalität aufweisen, die die
Erfindung benutzt und/oder anspricht. Ferner kann die
Erfindung ganz oder teilweise als Software implementiert
werden, wobei die Software gespeichert und/oder auf einer oder
mehreren Maschinen auf einem oder mehreren
zusammengeschalteten Systemen betrieben werden kann.
Nehmen wir jetzt Bezug auf Fig. 1; gezeigt wird eine
schematische Darstellung der bevorzugten Ausführungsform der
Erfindung zum Vorsehen einer Schnittstelle mit einer COBOL-
IMS-Transaktion 80 mit einem COBOL-IMS-Programm 90 von einer
Client-Application 40, geschrieben in einer anderen
Computersprache, zum Aufrufen der COBOL-IMS-Transaktion und
zum Formatieren und Umwandeln von COBOL-IMS-Transaktionsdaten,
die zwischen der Client-Applikation und dem COBOL-IMS-Programm
hin- und hergehen. Im allgemeinen wird die COBOL-IMS-
Transaktionsquelldatei 10 in das Import-Dienstprogramm 20
eingegeben. Im Importprogramm wird die Transaktionsquelldatei
syntaxanalysiert und die Ergebnisse werden benutzt, um den
generierten Code 30 zu erzeugen, der die Schnittstelle mit der
COBOL IMS Transaktion definiert. Der generierte Code wird
benutzt zum Bilden des kompilierten generierten Code-Stub 50,
der mit dem Laufzeitprogramm 60 der Erfindung und der Client-
Anwendung arbeitet, um die COBOL-IMS-Transaktion aufzurufen
durch die MQSerie-Mitteilungsübermittlungs-Dienstleistung 70
und die COBOL-IMS-Datentransaktionsdaten zu formatieren und
umzuwandeln, die zwischen der Client-Applikation und dem
COBOL-IMS-Programm hin- und hergehen.
In der bevorzugten Ausführungsform ist das
Importdienstprogramm in ein Software-Applikations-
Entwicklungsprogramm, wie z. B. das VisualAge C++
Softewareentwicklungswerkzeug von IBM integriert, und das
Entwicklungsprogramm sieht die Kompilierung des generierten
Code und den Einschluss des Laufzeitprogramms und des
kompilierten generierten Code-Stub in die Client-Applikation
vor. Dem Fachmann muss hier jedoch klar werden, dass das
Importdienstprogramm auf einer alleinoperierenden Basis
arbeitet und mit anderen Werkzeugen zusammenwirken kann, die
die Kompilierung und das Vorsehen der
Laufzeitprogrammfunktionalität der Erfindung ermöglichen.
Zusätzlich kann das Import-Dienstprogramm von 'Null' an
entworfen sein oder einfach eine Erweiterung eines Code-
Generators sein (die im Fachbereich wohlbekannt sind).
In der bevorzugten Ausführungsform erzeugt das Import-
Dienstprogramm den generierten Code in einer Fern-Workstation
94 (fernliegend relativ zum IMS-System) zur Kompilierung mit
der Client-Applikation und dem Laufzeitprogramm auf der Fern-
Workstation. Und in der bevorzugten Ausführungsform läuft die
Client-Applikation (zusammen mit dem kompilierten generierten
Code und dem Laufzeitprogramm) auf der Fern-Workstation, die
über die MQSeries-Übermittlungsdienste und
Hardwareverbindungen mit dem IMS-System, in der Regel ein
OS/390® Host-Computer 96 verbunden sind, die alle in weiteren
Einzelheiten in Fig. 1 dargestellt sind. Dem Fachmann muss
hier aber bewußt werden, dass jede beliebige Anzahl
unterschiedlicher Hardwarekonfigurationen und
Systemverbundtopologien erfindungsgemäß benutzt werden können.
Ohne Einschränkung kann jede oder jede beliebige Kombination
der Komponenten, die in Fig. 1 allgemein beschrieben sind,
d. h. das Import-Dienstprogramm, die Client-Applikation, das
Laufzeitprogramm, der kompilierte generierte Code etc. auf der
gleichen oder auch auf verschiedenen Workstationen oder
Systemen betrieben werden. Alle Komponenten der Erfindung
könnten natürlich auch auf dem IMS-System-Host laufen.
In weiteren Einzelheiten ermöglicht das Importdienstprogramm
die Schaffung einer Schnittstelle für eine Client-Applikation
40, die in einer anderen Computersprache geschrieben ist, zu
einer COBOL-IMS-Transaktion mit einem COBOL-IMS-
Applikationsprogramm durch Lesen der IMS-Transaktions-
Quelldatei 10. In der bevorzugten Ausführungsform wird die
IMS-Transaktionsquelldatei, die anfänglich im Dateisystem des
IMS-System-Host lokalisiert ist, von dem Dateisystem der
Computerumgebung gelesen, in der das Importdienstprogramm
arbeitet. In der bevorzugten Ausführungsform gibt der Anwender
IMS-Transaktionsinformationen an das Import-Dienstprogramm
über Befehlszeilenargumente ein, die beim Aufruf der
Importdienstprogramms übergeben werden. Der Anwendet
spezifiziert den Namen der aufzurufenden COBOL-IMS-
Transaktion, den Namen der IMS-Transaktions-Quelldatei, die
die entsprechenden Mitteilungsdefinitionen enthält, den Namen
der durch das Import-Dienstprogramm zu generierenden
Hauptklasse und den Namen des Verfahrens, das den COBOL-IMS-
Transaktionsaufruf repräsentiert. Der Anwender ist ferner
gehalten, die Namen der COBOL-Datenstrukturen zu
spezifizieren, die die Eingangs- und Ausgangsmitteilungen
repräsentieren. Diese Mitteilungen werden interpretiert als
Argumente zum obigen Verfahren. Dem Fachmann wird hier bewußt,
dass die Eingabe der Argumente ebenso durch graphische
Anwenderschnittstellenmittel vorgesehen werden können, die dem
Importdienstprogramm durch ein Programm beigegeben werden, das
das Importdienstprogramm aufruft, oder die von einem sonstigen
herkömmlichen Importmittel, manuell oder automatisch, gegeben
werden.
Nehmen wir Bezug auf Fig. 2; das Importdienstprogramm 20
beinhaltet drei Komponenten: Scanner 22, Parser 24 und
Codegenerator 26. Der Scanner liest die COBOL-IMS-
Transaktions-Quelldatei 10 und generiert einen Strom von
Token, die dem Parser eingegeben werden. Der Parser
interpretiert den Tokenstrom und generiert
Datenmodellcodeteile entsprechend dem Inhalt der COBOL-IMS-
Transaktionsmitteilungen. Diese Teile werden dann vom Code-
Generator zum Generieren der C++ Klassen 30, der
Programmschnittstelle, die die in der COBOL-IMS-
Transaktionsquelldatei enthaltenen Eingabe- und
Ausgabemitteilungen repräsentiert, benutzt. Natürlich könnten
die Klassen auch in anderen Computersprachen als C++ generiert
werden, in der Regel in der Sprache entsprechend der Sprache
der Client-Applikation. Die generierten Datentypen der
Eingangs- und Ausgangsmitteilungen beschreiben das Format des
Datenstroms, der an die IMS-Transaktion gesandt werden muss,
und das Format der Antwort, die von der IMS-Transaktion zurück
an das C++ Programm gesendet wird.
In der bevorzugten Ausführungsform erzeugt das
Importdienstprogramm die verschiedenen C++ Konstrukte wie oben
beschrieben, nämlich einen Transaktionsteil, einen
Mitteilungsteil und einen lpage-Teil, die benutzt werden zum
Generieren des benutzten kompilierten generierten Code-Stub in
Kombination mit dem Laufzeitprogramm zum Aufrufen der COBOL-
IMS-Transaktion durch die IBM MQSerien-Dienste.
Das erste Konstrukt, d. i. Teil - die anwenderspezifizierte
Hauptklasse user_class, mit einem vom Anwender definierten
Namen für das Importdienstprogramm - enthält die Eigenschaften
und Verfahren, die erforderlich sind, um mit dem IMS-System zu
kommunizieren. Diese Eigenschaften und Verfahren sind in
user_class beinhaltet mittels einer mehrfachen Vererbung von
generierten Dienstprogrammklassen, wie nachstehend
beschrieben, die in Programmlaufzeitklassen enthalten sind.
Diese Klassen beinhalten IDAInterfaceBase-Klasse,
IXDMQIMSConversation-Klasse und weitere Mitgliedklassen der
IBM Open Class® Library.
Die vom Import-Dienstprogramm generierten
Dienstprogrammklassen beinhalten die Klasse
user-classDefinition, die Klasse user_class_stub und die
Klasse ims_user_class_cstub. Der Hauptzweck dieser Klassen ist
das Bereitstellen der abstrakten Definitionseigenschaften, die
von der user_class benutzt werden. Die Eigenschaften sehen vor
unverwechselbare Identifikatoren zur Identifizierung der
Klassen, Verfahren zur Zurückgabe von Zeichenfolgen, die die
Signatur der user_methods enthalten, und eine abstrakte
Implementierung jeder user_method.
Die user_class definiert auch die Implementierung des
anwenderdefinierten Verfahrens, user_method, das vom Anwender
dem Import-Dienstprogramm vorgeschrieben wird. Der Aufruf
dieses Verfahrens bewirkt die Interaktion mit der IMS-
Transaktion, wie sie vom IMS-System verstanden wird,
einschließlich des Sendens einer Eingabemitteilung an das IMS-
System und Empfangen einer Ausgabemitteilung vom IMS-System.
Das Verfahren erwartet zwei Argumente, entsprechend den
Eingabe- und Ausgabe-Mitteilungen der IMS-Transaktion. Die
Mitteilungen selbst sind user_message Klassen, generiert vom
Import-Dienstprogramm aus den COBOL-Datenstrukturen, die die
Eingabe- und Ausgabe-Mitteilungen repräsentieren, die vom
Anwender dem Import-Dienstprogramm vorgeschrieben werden.
Das zweite Konstrukt, d. i. Teil, ein Mitteilungsteil, eine
user_message, sieht Mittel zum Zusammensetzen oder Lesen einer
IMS-Eingabe- bzw. -Ausgabemitteilung vor. Mitteilungen, die
mit einem IMS-System ausgetauscht werden, unterteilen sich in
logische Seiten, d. i. lpages, die beispielhaft in Fig. 3 als
lpage 1 und lpage 2 bezeichnet sind, und die user_message
Klasse reflektiert diese Struktur durch Definieren der Folge
von lpages als ihr Datenglied.
Da eine lpage selbst ein oder mehr Segmente enthalten kann und
die Mitteilung zwei oder mehr logische Seiten umfassen kann,
wird ein drittes Konstrukt, d. i. Teil - eine user_lpage Klasse
- für jede logische Seite definiert und der generierte Code 30
beinhaltet eine Klassendefinition für jede definierte lpage.
Die beispielhaft in Fig. 3 als seg1, seg2 und seg3
dargestellten in einer lpage enthaltenen Segmente sind selbst
Klassen, die durch das Importdienstprogramm von den COBOL-
Datenstrukturen generiert wurden. Die mehrfachen Segmente in
einer lpage sind in eine Segmentfolge gruppiert. Der
generierte Code definiert alle Segmente einer bestimmten lpage
als Datenglieder dieser lpage Klasse. Ferner bestehen die
Segmente aus Feldern, die beispielhaft in Fig. 3 als mfld1,
mfld2, mfld3, mfld4 und mfld5 bezeichnet werden und die
ihrerseits die grundlegenden COBOL-Datentypen sind. Der
generierte Code definiert alle Felder eines bestimmten
Segments als die Datenglieder dieser Segmentklasse.
In allen generierten Codes 30 impliziert die Definition einer
Klasse als Datenglied einer anderen Klasse bzw. als in dieser
anderen Klasse eingeschlossenes Glied die Existenz der
Verfahren zum Abrufen und Festsetzen der Werte dieser
Datenglieder oder der eingeschlossenen Klasse.
Zusätzlich zum oben beschriebenen Code C++ generiert das
Importdienstprogramm in der bevorzugten Ausführungsform auch
eine Beschreibung der visuellen und nichtvisuellen Teile in
einem Format, des verständlich für den Visual Composition
Editor ist, der im IBM VisualAge C++ Produkt enthalten ist.
Diese Beschreibung beinhaltet graphische Darstellungen der
user_class und auch der user_method sowie auch anderer
generierter Klassen und deren Datenglieder. Das ermöglicht die
Anwendung des generierten Code zum Aufbau von sichtbaren
Anwenderapplikationen unter Verwendung der Visual-Composition-
Editor-Entwicklungsfunktionalität wie z. B. als Attribut zu
Attributverbindungen. Hier wird dem Fachmann klar, dass auch
Formate für andere visuelle oder nichtvisuelle Programmier-
Tools benutzt werden können.
Nach Erzeugen des durch das Importdienstprogramm generierten
Code wird der generierte Code mit dem Laufzeitprogramm und
Clientapplikation (als kompilierter generierter Code-Stub)
kompiliert. Natürlich können in anderen
Programmsprachenumgebungen der generierte Code, die
Applikation und das Laufzeitprogramm auch getrennt voneinander
kompiliert werden und statt dessen durch andere Mittel
zusammengehängt werden. Sobald sie zusammen kompiliert sind,
wirken die Client-Applikation und das Laufzeitprogramm mit dem
kompilierten generierten Code-Stub zusammen, um der
Clientapplikation Zugriff auf eine COBOL-IMS-Transaktion zu
geben.
Das Laufzeitprogramm 60 der vorliegenden Erfindung beinhaltet
einen Satz C++ Klassen, die Zugriff vom Applikationssystem auf
ein IMS-System ermöglichen. Spezifisch bieten die
Laufzeitprogrammklassen Mittel zum Übersetzen der einfachen
Datentypen der im Applikationssystem benutzten Sprache in die
COBOL-Datentypen, die in einer Mitteilung an das IMS-System
benutzt werden (Klasse IDACallHandle); Aufbauen von
Mitteilungen in einem Format, das vom IMS-System verstanden
wird (Klassen IXDMQIMSCallHandleInternal, TXDMQIMSTransaction
und IXDMQIMSConversation); Austausch der Mitteilungen mit dem
IMS-System unter Verwendung der IBM MQSerien-Dienstprogramme
(Klassen IXDMQIMSRChnl und IXDMQIMSSChnl); Lesen der vom IMS-
System (Klassen IXDMQIMSCallHandleInternal,
IXDMQIMSTransaction und IXDMQIMSConversation) zurückgegebenen
Mitteilung; und Übersetzen der einfachen COBOL-Datentypen
enthalten in einer Mitteilung vom IMS-System in die Datentypen
der im Applikationssystem gebrauchten Sprache (Klasse
IDACallHandle).
Die Laufzeitprogrammbehandlung der dynamischen IMS-System-
Mitteilungen wird beschrieben anhand eines Beispiels des
Lesens einer IMS-Ausgabe-Mitteilung, dabei ist darauf
hinzuweisen, dass das Laufzeitprogramm auch in der Lage sein
kann, solche formatierten Mitteilungen zusammenzusetzen, die
an ein IMS-System, z. B. als IMS-Eingabe-Mitteilung, gesendet
werden soll.
Wie oben beschrieben kann eine IMS-Mitteilung auch mehrfache
lpages enthalten, die ihrerseits mehrfache Segmente enthalten
können, die als eine oder mehrere Segmentsequenzen vorkommen.
In jeder beliebigen gegebenen Segmentsequenz können ein oder
mehrere Segmente ausgelassen werden. Jedes Segment kann
mehrfache Felder entsprechend den einfachen Datentypen der
COBOL-IMS-Transaktion enthalten. Einige oder alle Datenfelder
können weggelassen werden. Die wahre Struktur jeder
Mitteilung, wobei die Struktur durch die Anzahl der lpages in
der Mitteilung, die Anzahl der Segmentsequenzen in der lpage,
und die Anzahl und die Größe aller Felder im Segment definiert
ist, ist daher nur zum Zeitpunkt der Generierung der
Mitteilungen bekannt. Die Fähigkeit des IMS-Systems, lpages
und ihre Segmentsequenzen umzuordnen und Segmente und Felder
auszulassen, verhindert eine direkte Abbildung der
Mitteilungen auf einen Satz generierter Datenstrukturen
(Klassen/Typen) und erfordert so ein Laufzeitprogramm, um jede
Mitteilung zu lesen und die Mitteilung dynamisch auf die
generierten Datenstrukturen (Klassen/Typen) abzubilden. Die
Behandlung dieser dynamischen Mitteilungen durch das
Laufzeitprogramm und den kompilierten generierten Code der
vorliegenden Erfindung wird nachstehend beschrieben.
Um alle möglichen Mitteilungen zu bedienen nimmt das
Laufzeitprogramm an, dass eine Mitteilung mehrfache lpages,
jede mit mehrfachen Segmentsequenzen, jede enthaltend
mehrfache Felder, enthält. Auch enthält jede, der Mitteilung
entsprechende generierte Klasse, lpage, Segment oder Feld, den
Code zum Entsortieren (Unmarshal) des entsprechenden Teils der
IMS-Mitteilung. Dieser Code wird kombiniert durch Verwenden
des C++ Operator-Überlastungsmechanismus zum Übersetzen der
gesamten IMS-System-Mitteilung.
Anfangs wird die Mitteilung in einen Puffer kopiert, 100, und
ihre Länge wird gespeichert. Solange bzw. falls keine Daten im
Puffer sind, liest das Laufzeitprogramm eine Sequenz von
lpages, 110.
Sobald feststeht, dass der Puffer Daten enthält, 120, (mit
Hilfe des Verfahrens notAtEndOfBuffer der Klasse
InternalCallHandle) ist der nächste Schritt das Überprüfen,
dass die zu lesenden Daten zur augenblicklichen lpage gehören,
130. Diese Überprüfung wird mit Hilfe des Verfahrens
notAtEndOfBufferOrSeq gemacht. Dieses Verfahren benutzt das
Seiten-Bit und den lpage-Zustand. Das Seiten-Bit ist das
vierte Byte des Mitteilungssegments. Wenn sein Wert 0 × 40 ist,
ist das Segment das erste in der Segmentfolge der lpage. Der
lpage-Zustand besteht aus einem Bezugswert, dem
Vergleichsoperator und der Verschiebung im Segment. Das
Segment gehört zur lpage, wenn der Wert der Verschiebung mit
Hilfe des Vergleichsoperators mit dem Bezugswert verglichen
wird und den Bezugswert "wahr" ergibt. Dieses Verfahren wird
benutzt zum Bestimmen, ob das erste Segment in der
Segmentsequenz zur gleichen lpage gehört oder das erste
Segment in der nächsten lpage ist. Wenn es das erste Segment
in der nächsten lpage ist, wird die nächste lpage verarbeitet,
110. Diese Vergleichsoperation ist nötig, da eine
Segmentsequenz für eine lpage nicht die gleiche Anzahl
Elemente enthalten muss und nach jedem beliebigen Segment
enden kann.
Wenn das Segment zur augenblicklichen lpage gehört, ist sein
Inhalt entsortiert. Zunächst überprüft das Laufzeitprogramm,
dass das Segment kein Null-Segment ist, d. h. ein Segment, das
keine Daten enthält, 140. Das Verfahren notNullSegment
überprüft, ob die im Längenfeld angegebene Segmentlänge gleich
5 ist, und wenn so, ob das fünfte Byte des Segments ein
Nullzeichen ist. Das Nullzeichen hängt von der Transaktion ab
und wird vom Anwender auf das Laufzeitprogramm definiert, 60.
Wenn das Segment leer ist, werden keine Daten gelesen und der
Pufferzeiger wird um 5 - die Länge des leeren Segments -
vorgeschoben, 150. Wenn das Segment nicht leer ist, streift
das Laufzeitprogramm die ersten vier Bytes des Segments,
enthaltend die Länge und Steuerinformation, ab, 160. Das
geschieht durch Aufrufen des Verfahrens stripLL.
Der nächste Schritt ist das Entsortieren aller Felder des
Segments 170. Da Felder ausgelassen werden können, sucht das
Laufzeitprogramm nach einem Null-Zeichen bevor es ein Feld
entsortieren will, 180. Wenn ein Null-Zeichen vorhanden ist,
schiebt das Laufzeitprogramm den Pufferzeiger um die Länge des
Felds vor, 190. Wenn das Feld gestutzt ist, d. h., das Null-
Zeichen nicht das, erste Zeichen im Feld ist, liest das
Laufzeitprogramm den Puffer nur bis zum Null-Zeichen und
schiebt den Pufferzeiger entsprechend vor, 200. Die Felder und
Segmente unterscheiden sich darin, dass ein abgeschnittenes
Segment physikalisch kürzer ist, während das Feld immer den
gleichen Raum einnimmt.
Nach dem Entsortieren aller Felder im Segment überprüft das
Laufzeitprogramm, ob es die augenblickliche lpage weitere
entsortieren soll, zusätzlich zum Überprüfen, ob es noch
weitere Daten im Puffer gibt, 120, (wenn keine weiteren Daten
vorhanden sind, ist das Entsortieren beendet), überprüft es ob
die lpage-Bedingung erfüllt ist und damit, ob das nächste
Segment zur gleichen lpage gehört, 130. Wenn die Bedingung
nicht erfüllt ist, beginnt das Laufzeitprogramm mit dem
Entsortieren der nächsten lpage, 110. Sonst überprüft das
Laufzeitprogramm, ob das nächste Segment Daten enthält, 140.
Wenn ja, werden das Segment und seine Felder verarbeitet wie
oben beschrieben. Wenn nein, wird der Pufferzeiger
vorgeschoben, 150, und das Entsortieren wird fortgesetzt. Auf
diese Weise geht die Bearbeitung weiter, bis alle Daten von
der Mitteilung aufgerufen wurden und keine weiteren Daten im
Puffer 120 sind.
Das Format der an das IMS-System gesandten Mitteilung hängt ab
von dem Zustand des Informationsaustausches zwischen der
Applikation und dem Programm auf dem IMS-System. Wenn ein
Informationsaustausch zwischen der Applikation und dem
Programm stattfindet, darf die Mitteilung den Namen der
aufzurufenden IMS-Transaktion nicht enthalten, der sonst im
ersten Segment der Mitteilung enthalten ist. Das
Laufzeitprogramm verfolgt den stattfindenden
Informationsaustausch und überprüft, dass nur gültige
Anwenderdaten in den an das IMS-System gesendeten Mitteilungen
enthalten sind.
Zusätzlich schreibt das Laufzeitprogramm nach jedem Schritt
des Informationsaustausches die Informationsaustausch-
Identifikation in einen zugehörigen Speicher. Dieser Schritt
bewirkt einen Zustand, der eine Fehlerberichtigung vorsieht.
Das ist notwendig bei einer IMS-Struktur, die den
Informationsaustausch nicht beendet, der nicht abgeschlossen
geblieben ist, und lässt sie in einem unvereinbaren Zustand
stehen. Das Dienstleistungsprogramm, das als Teil des
Laufzeitdienstprogramms vorgesehen ist, erlaubt einen
automatischen Abschluss aller hängengebliebener
Konversationen, sobald das Anwenderprogramm neu gestartet
wird.
Nehmen wir jetzt Bezug auf Fig. 5; der Quellcode einer Muster-
COBOL-IMS Transaktion ist vorgesehen. Seine Teile, die das
Eingabe- und das Ausgabe-Mitteilungsformat, definieren, werden
zwischen 'begin'- und 'end'-Anmerkungen gezeigt. Damit die
Transaktion korrekt ablaufen kann, müssen die von ihr
empfangenen Daten genau mit diesen Definitionen übereinstimmen
und daher bestimmen sie das Format des generierten C++ Code.
Fig. 6 zeigt einen Satz generierter Dateien, die C++ Klassen
enthalten, die zum Zusammensetzen einer eingegebenen
Mitteilung benutzt werden, die an eine COBOL-IMS-Transaktion
geschickt werden soll, und lesen eine Ausgabemitteilung, die
von der COBOL-IMS-Transaktion zurückkommt. Sie enthält die
komplette Quelle für die folgenden Dateien:
- - myclass.hpp - enthält die Definition der Anwenderklasse mit der richtigen Laufzeitprogramm-Initialisierung und eine virtuelle Definition eines Verfahrens zum Aufrufen der COBOL IMS Transaktion (add).
- - myclass.imc - definiert eine cstub Klasse, die die Definition des Verfahrens angibt, das zum Aufrufen der COBOL IMS Transaktion benutzt wird (add).
- - myclass.hpd - definiert stub und definitionsabstrakte Klassen, Superklassen der obigen cstub Klasse.
- - myclass.imd - definiert Klassen, die darstellen: Eingabe- und Ausgabe-Mitteilung - myclass_add_0, myclass_add_I; lpages dieser Mitteilungen - myclass_add_Lpage1, myclass_add_Lpage2; und Felder dieser lpages - myclass_add_Lpage1_args, myclass_add_Lpage1_result.
- - myclass.vbe - enthält eine Beschreibung visueller Teile des generierten Code, die im Visual Composition Editor (VCE) des VisualAge C++ Entwicklungs-Tools von IBM benutzt werden können.
- - myclass.cpp - definiert Anzeigen-Identifikatoren, die von den Klassen benutzt werden, um eine Änderung ihres Zustands anzuzeigen, wenn der generierte Code im VCE benutzt wird.
Um den generierten Code direkt und ohne Benutzen des VCE
anwenden zu können, muss der Anwender die Kopfdatei
myclass.hpp einschließen, alle anderen Dateien und
Definitionen sind dann automatisch aufgenommen.
Die detaillierten Beschreibungen können als ausgeführte
Programmprozeduren dargestellt werden, die auf einem Computer
oder in einem Computernetzwerk abgearbeitet werden. Diese
verfahrensorientierten Beschreibungen und Darstellungen sind
die Mittel, die vom Fachmann angewandt werden, um das
wesentliche ihrer Arbeit auf höchst effektive Weise anderen
Fachleuten übermitteln zu können. Sie können als Hardware oder
als Software oder als Kombination dieser beiden implementiert
sein.
Eine Prozedur ist hier, und allgemein, ersonnen als eine
widerspruchsfreie Schrittabfolge, die zu einem gewünschten
Ergebnis führt. Diese Schritte sind solche, die für eine
physikalische Handhabung physikalischer. Größen erforderlich
ist. Üblicherweise, wenn auch nicht notwendigerweise, nehmen
diese Werte die Form elektrischer oder magnetischer Signale
an, die gespeichert, übertragen, kombiniert, verglichen und
auf andere Weise gehandhabt werden können. In gewissen Fällen
ist es angebracht, in erster Linie zwecks allgemeiner
Anwendung, diese Signale als Bits, Werte, Elemente, Symbole,
Schriftzeichen, Ausdrücke, Zahlen, Objekte, Attribute oder
dergleichen zu bezeichnen. Hier wird darauf hingewiesen, dass
alle diese und ähnliche Ausdrücke den eigentlichen
physikalischen Größen zugeordnet werden und nichts anderes
sind als praktische Bezeichnungen, die auf diese Größen
angewandt werden.
Ferner werden die durchgeführten Handhabungen häufig als
Addieren oder Vergleichen bezeichnet, Ausdrücke, die im
allgemeinen mit geistigen Operationen verbunden werden, die
ein menschlicher Operator durchführt. Diese geistige Fähigkeit
eines menschlichen Operators ist hier für die hier
beschriebenen Operationen weder erforderlich noch in den
meisten Fällen erwünscht, die Teil der vorliegenden Erfindung
sind; diese Operationen sind Maschinenoperationen. Nützliche
Maschinen zur Durchführung der Operationen der vorliegenden
Erfindung sind u. a. Allzweck-Digitalcomputer oder ähnliche
Vorrichtungen.
Jeder Schritt des Verfahrens kann auf jedem beliebigen
allgemeinen Computer ausgeführt werden, wie z. B. auf einem
Großcomputer, einem Personalcomputer oder dergl. und
entsprechend einem oder mehr, bzw. einem Teil eines oder
mehrerer Programmodule oder Objekte, generiert von einer
Programmiersprache wie C++, Java, Fortran usw. Ferner kann
jeder Schritt, oder Datei, Objekt oder dergl., die die
einzelnen Schritte implementieren, auch durch spezifisch für
diesen Zweck gebaute Hardware oder ein spezifisch für diesen
Zweck konstruiertes Schaltkreismodul ausgeführt werden.
Die hier dargestellten Diagramme sind beispielhaft zu
versehen. Es kann Änderungen in diesen hier beschriebenen
Diagrammen oder Schritten (oder Operationen) geben, ohne von
Umfang und Wesensart der Erfindung abzuweichen. Zum Beispiel
können in bestimmten Fällen die Schritte in einer anderen
Reihenfolge durchgeführt werden, oder Schritte können
hinzugesetzt, gestrichen oder verändert werden. Alle diese
Variationen gelten als Teile der vorliegenden Erfindung, wie
sie in den nachstehenden Ansprüchen genannt ist.
Die hier genannten Beschreibungen können sich auf
Interaktionen mit der Schnittstelle des Anwenders beziehen,
beispielsweise mit Hilfe einer Computer-Maus-Operation, jedoch
wird darauf hingewiesen, dass im Rahmen der vorliegenden
Erfindung der Anwender auch die Fähigkeit hat, mit diesen
graphischen Darstellungen durch jeden bekannten
Computerschnittstellenmechanismus in Wechselwirkung zu treten,
einschließlich, jedoch nicht beschränkt auf,
Zeigervorrichtungen wie Computermäuse oder Trackballs,
Joysticks, Berührungsbildschirm oder
Lichtgriffelimplementierungen oder durch Stimmerkennung.
Die bevorzugte Ausführungsform der vorliegenden Erfindung
wurde beschrieben in Bezug auf die Sprache C++, jedoch muss
die Erfindung nicht nur ausschließlich mit C++ Sprache
implementiert werden. Der Fachmann ist sich bewußt, dass die
Erfindung auch in anderen Computersprachen, wie
objektorientierten Sprächen wie z. B. Java und Smalltalk
implementiert werden kann.
Die Erfindung wird vorzugsweise implementiert in eine
hochstehende, prozedur- oder objektorientierte
Programmiersprache zum Kommunizieren mit einem Computer. Die
Erfindung kann jedoch auch wunschgemäß in Assembler- oder in
einer Maschinensprache implementiert sein. Auf jeden Fall kann
die Sprache eine kompilierte oder interpretierte Sprache sein.
Zwar beziehen sich die Aspekte der Erfindung auf eine
bestimmte Computersprache und andere technische
Spezifikationen (z. B. die Java-Sprachspezifikation im Hinblick
auf die Java-Computersprache), jedoch muss hier bemerkt
werden, dass hier angezogene Klassen, Objekte, Komponenten und
sonstige solche Software und technologische Einzelheiten nicht
voll mit den hier dafür definierten Spezifikationen
übereinstimmen müssen, sondern es auch genügen kann, wenn sie
nur einige der Spezifikationseinzelheiten erfüllen. Ferner
können die Klassen, Objekte, Komponenten und sonstige hier
angezogene Software und technologische Einzelheiten gemäß
gleichwertigen anderen, als die hier angegebenen
Spezifikationen, die äquivalente oder ähnliche Funktionalität,
Randbedingungen usw. vorsehen, definiert sein. Dementsprechend
können andere Merkmale, Funktionalität, Randbedingungen
benutzt werden, als sie durch die Computersprache und andere
technische Spezifikationen definiert sind.
Die Erfindung kann bereits beim Herstellungsvorgang vom
Hersteller implementiert werden, enthaltend ein
computerbenutzbares Medium mit einem computerlesbaren
Programmcodemittel zum Ausführen der erfindungsgemäßen
Verfahrensschritte, eine maschinenlesbare
Programmspeichervorrichtung, die ein Anweisungsprogramm
beinhaltet, das durch eine Maschine ausführbar ist, um die
erfindungsgemäßen Verfahrensschritte durchzuführen, oder ein
Computerprogrammprodukt. Ein solcher gefertigter Artikel, eine
Programmspeichervorrichtung oder ein Computerprogrammprodukt
kann beinhalten, ohne darauf beschränkt zu sein, CD-ROMs,
Disketten, Bänder, Festplatten, Computer-RAM oder -ROM
und/oder eine elektronische, magnetische, optische,
biologische oder sonstige ähnliche Ausführungsform des
Programms. Ferner kann der vorgefertigte Artikel, die
Programmspeichervorrichtung oder das Computerprogrammprodukt
beinhalten jedes feste oder strömende Übertragungsmedium,
magnetisch oder optisch oder dergl., zum Speichern oder
Übertragen von Signalen, die maschinenlesbar sind, zum Steuern
des Betriebs eines allgemeinen oder besonderen zweckbedingten
programmierbaren Computers gemäß dem Verfahren der
vorliegenden Erfindung und/oder zum Strukturieren seiner
Komponenten gemäß einem System der vorliegenden Erfindung.
Die Erfindung kann auch in einem System implementiert sein.
Ein System kann beinhalten einen Computer, der einen Prozessor
und eine Speichervorrichtung aufweist und optional, einen
Zusatzspeicher, eine Ausgabevorrichtung wie eine Videoanzeige
und/oder eine Eingabevorrichtung wie eine Tastatur oder eine
Computermaus. Ferner kann ein System ein verschaltetes
Computernetz beinhalten. Computer können auch als Einzelgerät
(wie der herkömmliche Desktop-Personalcomputer) oder
integriert in ein anderes Gerät (wie ein Zellartelefon)
vorkommen. Das System kann spezifisch für den gewünschten
Zweck gebaut sein, um z. B. die Verfahrensschritte der
Erfindung auszuführen, oder es kann auch einen oder mehrere
Allzweck-Computer enthalten, die durch ein Computerprogramm
gemäß den erläuterten Lehren, die im (in den) Computer(n)
gespeichert sind, selektiv aktiviert oder umfiguriert werden.
Die hier dargestellten Verfahren beziehen sich nicht inhärent
auf ein bestimmtes Computersystem oder einen anderen Apparat.
Die erforderliche Struktur für eine Vielzahl dieser Systeme
ergibt sich jeweils aus der angegebenen Beschreibung.
Zwar wurde die Erfindung in Bezug auf bevorzugte
Ausführungsformen beschrieben, der Fachmann ist sich jedoch
bewußt, das Veränderungen in Einzelheiten des Aufbaus, der
Anordnung von Teilen, der Zusammensetzung, von Prozessen,
Strukturen und der Materialauswahl gemacht werden können, ohne
von Umfang und Wesensart der Erfindung abzuweichen. Im Lichte
der obigen Lehre sind viele Veränderungen und Variationen
möglich. Daher muss verstanden werden, dass die oben
beschriebenen Ausführungsformen nur beispielhaft und nicht
einschränkend gegeben wurden und die Zeichnungen
dementsprechend nur als Darstellung und nicht im
einschränkenden Sinn verstanden werden dürfen.
Die Ausführungsformen der Erfindung, an denen ein
ausschließliches Eigentumsrecht oder sonstige Rechtsansprüche
geltend, gemacht werden, sind wie folgt definiert:
Claims (27)
1. Ein Verfahren zum Schnittstellen-Verbinden eines
Programms auf einem IMS-System mit einem Programm in
einer anderen Programmumgebung, enthaltend die folgenden
Schritte:
Scannen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Generieren einer Programm-Schnittstelle, wobei die Programm-Schnittstelle Mittel zum Aufrufen der IMS- Transaktion und Umwandeln der Daten zwischen der IMS- Transaktion und dem Programm in einer anderen Programmumgebung vorsieht.
Scannen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Generieren einer Programm-Schnittstelle, wobei die Programm-Schnittstelle Mittel zum Aufrufen der IMS- Transaktion und Umwandeln der Daten zwischen der IMS- Transaktion und dem Programm in einer anderen Programmumgebung vorsieht.
2. Das Verfahren gemäß Anspruch 1, in dem die Schnittstelle
beinhaltet:
Einen Transaktionsteil, der das Aufrufen der IMS- Transaktion vorsieht;
einen Mitteilungsteil, der das Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht; und
Einen lpage-Teil, der das dynamische Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht.
Einen Transaktionsteil, der das Aufrufen der IMS- Transaktion vorsieht;
einen Mitteilungsteil, der das Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht; und
Einen lpage-Teil, der das dynamische Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht.
3. Das Verfahren gemäß Anspruch 1 oder Anspruch 2, das
ferner den Schritt des Vorsehen eines Laufzeitprogramms
enthält, wobei das Laufzeitprogramm umfasst:
Mittel zum Übersetzen von Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen von Datentypen, die in einer Mitteilung vom IMS-System benützt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
Mittel zum Übersetzen von Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen von Datentypen, die in einer Mitteilung vom IMS-System benützt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
4. Das Verfahren gemäß Anspruch 3, in dem das
Laufzeitprogramm ferner Mittel zum Zugreifen auf die IMS-
Transaktion über die MQSerie Mitteilungsübermittlungs-
Schnittstelle beinhaltet.
5. Das Verfahren gemäß einem beliebigen der Ansprüche 1 bis
4, das ferner den Schritt des Kompilierens der Programm-
Schnittstelle in das Programm in einer anderen
Programmumgebung beinhaltet.
6. Das Verfahren gemäß einem beliebigen der Ansprüche 3 bis
5, das ferner den Schritt des Kompilierens des
Laufzeitprogramms in das Programm in einer anderen
Programmumgebung beinhaltet.
7. Das Verfahren gemäß einem beliebigen der Ansprüche 1 bis
6, das ferner den Schritt des Vorsehens von Mitteln zum
Umwandeln von Code-Pages zwischen der anderen
Programmumgebung und dem IMS-System beinhaltet.
8. Ein Computerprogrammprodukt zum Schnittstellen-Verbinden
eines Programms auf einem IMS-System mit einem Programm
in einer anderen Programmumgebung, enthaltend:
Anweisungsmittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System; und
Anweisungsmittel zum Generieren einer Programmschnittstelle, wobei die Programmschnittstelle Mittel vorsieht zum Aufrufen der IMS-Transaktion und Umwandeln der Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
Anweisungsmittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System; und
Anweisungsmittel zum Generieren einer Programmschnittstelle, wobei die Programmschnittstelle Mittel vorsieht zum Aufrufen der IMS-Transaktion und Umwandeln der Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
9. Das Computerprogrammprodukt gemäß Anspruch 8, in dem die
Schnittstelle beinhaltet:
Einen Transaktionsteil, der das Aufrufen der IMS- Transaktion vorsieht;
einen Mitteilungsteil, der das Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht; und
Ein lpage-Teil, der das dynamische Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht.
Einen Transaktionsteil, der das Aufrufen der IMS- Transaktion vorsieht;
einen Mitteilungsteil, der das Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht; und
Ein lpage-Teil, der das dynamische Zusammensetzen oder Lesen einer IMS-Mitteilung vorsieht.
10. Das Computerprogrammprodukt gemäß Anspruch 8 oder
Anspruch 9, das ferner Anweisungsmittel zum Vorsehen
eines Laufzeitprogramms aufweist, wobei das
Laufzeitprogramm beinhaltet:
Mittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
Mittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
11. Das Computerprogrammprodukt gemäß Anspruch 10, in dem das
Laufzeitprogramm ferner beinhaltet Mittel zum Zugreifen
auf die IMS-Transaktion über die MQSerie
Mitteilungsübermittlungs-Schnittstelle.
12. Das Computerprogrammprodukt gemäß einem beliebigen der
Ansprüche 8 bis 11, ferner enthaltend Anweisungsmittel
zum Kompilieren der Programm-Schnittstelle in das
Programm in einer anderen Programmumgebung.
13. Das Computerprogrammprodukt gemäß einem beliebigen der
Ansprüche 10 bis 12, ferner enthaltend Anweisungsmittel
zum Kompilieren des Laufzeitprogramms in das Programm in
einer anderen Programmumgebung.
14. Das Computerprogrammprodukt gemäß einem beliebigen der
Ansprüche 8 bis 13, ferner enthaltend Anweisungsmittel
zum Umwandeln der Code-Pages zwischen dem Programm in
einer anderen Programmumgebung und dem IMS-System.
15. Ein Computerprogrammprodukt zum Schnittstellen-Verbinden
eines Programms auf einem IMS-System mit einem Programm
in einer anderen Programmumgebung, enthaltend:
Anweisungsmittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System und dabei eine Datenbeschreibung der IMS-Transaktion erzeugt; und
Anweisungsmittel zu Benutzen der Datenbeschreibung zum Generieren eines Code zum Aufrufen der IMS-Transaktion.
Anweisungsmittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System und dabei eine Datenbeschreibung der IMS-Transaktion erzeugt; und
Anweisungsmittel zu Benutzen der Datenbeschreibung zum Generieren eines Code zum Aufrufen der IMS-Transaktion.
16. Das Computerprogrammprodukt gemäß Anspruch 15, ferner
enthaltend:
Anweisungsmittel zum Benutzen der Datenbeschreibung zum
Generieren eines Code, um Mitteilungselemente der IMS
Transaktion zur Anwendung mit dem Programm in einer
anderen Programmumgebung zu bearbeiten.
17. Ein Computerprogrammprodukt zum Schnittstellen-Verbinden
eines Programms auf einem IMS-System mit einem Programm
in einer anderen Programmumgebung, enthaltend:
Anweisungsmittel zum Aufrufen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Anweisungsmittel zum Umwandeln von Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
Anweisungsmittel zum Aufrufen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Anweisungsmittel zum Umwandeln von Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
18. Das Computerprogrammprodukt gemäß Anspruch 17, in dem die
Anweisungsmittel zum Umwandeln ferner umfassen:
Anweisungsmittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Anweisungsmittel zum Zusammensetzen der Mitteilung an das IMS-System;
Anweisungsmittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Anweisungsmittel zum Lesen der Mitteilung vom IMS-System.
Anweisungsmittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Anweisungsmittel zum Zusammensetzen der Mitteilung an das IMS-System;
Anweisungsmittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Anweisungsmittel zum Lesen der Mitteilung vom IMS-System.
19. Das Computerprogrammprodukt gemäß Anspruch 17 oder
Anspruch 18, in dem die Anweisungsmittel zum Umwandeln
ferner Anweisungsmittel zum Zugreifen auf die IMS-
Transaktion über die MQSerie-Mitteilungsübermittlungs-
Schnittstelle umfassen.
20. Das Computerprogrammprodukt gemäß einem beliebigen der
Ansprüche 17 bis 19, ferner enthaltend Anweisungsmittel
zum Umwandeln der Code-Pages zwischen dem Programm in
einer anderen Programmumgebung und dem IMS-System.
21. Einen Fertigungsartikel enthaltend ein
computerverwertbares Medium mit einem computerlesbaren
Programmcodemittel zum Ausführen der Verfahrensschritte
eines beliebigen der Ansprüche 1 bis 7.
22. Ein System zum Schnittstellen-Verbinden eines Programms
auf einem IMS-System mit einem Programm in einer anderen
Programmumgebung, enthaltend die folgenden Schritte:
Mittel zum Scannen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Mittel zum Generieren einer Programm-Schnittstelle, wobei die Programm-Schnittstelle Mittel vorsieht zum Aufrufen der IMS-Transaktion und Umwandeln der Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
Mittel zum Scannen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Mittel zum Generieren einer Programm-Schnittstelle, wobei die Programm-Schnittstelle Mittel vorsieht zum Aufrufen der IMS-Transaktion und Umwandeln der Daten zwischen der IMS-Transaktion und dem Programm in einer anderen Programmumgebung.
23. Das System gemäß Anspruch 22, das ferner Mittel zum
Vorsehen eines Laufzeitprogramms enthält, wobei das
Laufzeitprogramm umfasst:
Mittel zum Übersetzen von Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung in das IMS- System;
Mittel zum Übersetzen von Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
Mittel zum Übersetzen von Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung in das IMS- System;
Mittel zum Übersetzen von Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Lesen der Mitteilung vom IMS-System.
24. Ein System zum Schnittstellen-Verbinden eines Programms
auf einem IMS-System mit einem Programm in einer anderen
Programmumgebung, enthaltend:
Mittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System unter Erzeugung einer Datenbeschreibung der IMS-Transaktion; und
Mittel zum Benutzen der Datenbeschreibung zum Generieren eines Code zum Aufrufen der IMS-Transaktion.
Mittel zum Scannen einer IMS-Transaktion mit dem Programm im IMS-System unter Erzeugung einer Datenbeschreibung der IMS-Transaktion; und
Mittel zum Benutzen der Datenbeschreibung zum Generieren eines Code zum Aufrufen der IMS-Transaktion.
25. Das System gemäß Anspruch 24, ferner umfassend:
Mittel zum Benutzen der Datenbeschreibung zum Generieren
eines Code zum Verarbeiten der Mitteilungselemente der
IMS-Transaktion zur Anwendung mit dem Programm in einer
anderen Programmumgebung.
26. Ein System zum Schnittstellen-Verbinden eines Programms
auf einem IMS-System mit einem Programm in einer anderen
Programmumgebung, enthaltend:
Mittel zum Aufrufen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Mittel zum Umwandeln von Daten zwischen der IMS- Transaktion und dem Programm in einer anderen Programmumgebung.
Mittel zum Aufrufen einer IMS-Transaktion mit dem Programm auf dem IMS-System; und
Mittel zum Umwandeln von Daten zwischen der IMS- Transaktion und dem Programm in einer anderen Programmumgebung.
27. Das System gemäß Anspruch 26, in dem das Mittel zum
Umwandeln ferner umfasst:
Mittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Interpretieren der Mitteilung vom IMS-System.
Mittel zum Übersetzen der Datentypen des Programms in einer anderen Programmumgebung in Datentypen, die in einer Mitteilung an das IMS-System benutzt werden;
Mittel zum Zusammensetzen der Mitteilung an das IMS- System;
Mittel zum Übersetzen der Datentypen, die in einer Mitteilung vom IMS-System benutzt werden, in Datentypen des Programms in einer anderen Programmumgebung; und
Mittel zum Interpretieren der Mitteilung vom IMS-System.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002290167A CA2290167C (en) | 1999-11-22 | 1999-11-22 | Automated interface generation for computer programs in different environments |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10054001A1 true DE10054001A1 (de) | 2001-05-31 |
Family
ID=4164671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10054001A Ceased DE10054001A1 (de) | 1999-11-22 | 2000-11-01 | Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen |
Country Status (3)
Country | Link |
---|---|
US (1) | US6983468B1 (de) |
CA (1) | CA2290167C (de) |
DE (1) | DE10054001A1 (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6889191B2 (en) * | 2001-12-03 | 2005-05-03 | Scientific-Atlanta, Inc. | Systems and methods for TV navigation with compressed voice-activated commands |
US7430732B2 (en) * | 2003-10-23 | 2008-09-30 | Microsoft Corporation | Design of application programming interfaces (APIs) |
US7694315B2 (en) * | 2004-02-13 | 2010-04-06 | Microsoft Corporation | Schema-based machine generated programming models |
CA2498641C (en) * | 2004-02-27 | 2012-10-30 | Oz Communications | Interworking gateway and method |
US7343556B2 (en) * | 2004-12-30 | 2008-03-11 | Sap Ag | Technique for processing and generating messages in multiple languages |
US7793154B2 (en) | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
FR2944366B1 (fr) * | 2009-04-09 | 2012-02-03 | Bull Sas | Procede et dispositif permettant l'execution de composants transactionnels heterogenes |
US8533667B2 (en) * | 2009-12-30 | 2013-09-10 | International Business Machines Corporation | Call wizard for information management system (IMS) applications |
US8375353B2 (en) * | 2009-12-30 | 2013-02-12 | International Business Machines Corporation | Enabling the use of process flow applications within an information management system (IMS) |
US10042622B2 (en) * | 2016-02-19 | 2018-08-07 | International Business Machines Corporation | Methods and systems of generating ease of use interfaces for legacy system management facilities |
CN113031963B (zh) * | 2021-03-24 | 2023-09-12 | 北京字节跳动网络技术有限公司 | 条件编译的实现方法、装置、设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5036484A (en) * | 1988-11-23 | 1991-07-30 | International Business Machines Corporation | Personal computer/host emulation system for handling host data with personal computer application programs at personal computers |
US5329619A (en) * | 1992-10-30 | 1994-07-12 | Software Ag | Cooperative processing interface and communication broker for heterogeneous computing environments |
GB9314460D0 (en) * | 1993-07-13 | 1993-08-25 | Int Computers Ltd | Computer systems integration |
US5623657A (en) | 1993-12-30 | 1997-04-22 | International Business Machines Corporation | System for processing application programs including a language independent context management technique |
US5627979A (en) | 1994-07-18 | 1997-05-06 | International Business Machines Corporation | System and method for providing a graphical user interface for mapping and accessing objects in data stores |
US5619685A (en) | 1994-11-04 | 1997-04-08 | Ball Corporation | Run-time dynamically adaptive computer process for facilitating communication between computer programs |
US5673633A (en) | 1995-05-31 | 1997-10-07 | Pfister; Joel W. | Table leg system |
US5634053A (en) | 1995-08-29 | 1997-05-27 | Hughes Aircraft Company | Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases |
US6263497B1 (en) * | 1997-07-31 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Remote maintenance method and remote maintenance apparatus |
US6382846B1 (en) * | 1998-01-09 | 2002-05-07 | Industial Technology Research Institute | Intermediate instruction execution processor which resolves symbolic references without modifying intermediate instruction code |
US6438744B2 (en) * | 1998-07-15 | 2002-08-20 | Microsoft Corporation | Dynamic mapping of component interfaces |
US6330711B1 (en) * | 1998-07-30 | 2001-12-11 | International Business Machines Corporation | Method and apparatus for dynamic application and maintenance of programs |
-
1999
- 1999-11-22 CA CA002290167A patent/CA2290167C/en not_active Expired - Fee Related
-
2000
- 2000-05-19 US US09/574,409 patent/US6983468B1/en not_active Expired - Lifetime
- 2000-11-01 DE DE10054001A patent/DE10054001A1/de not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US6983468B1 (en) | 2006-01-03 |
CA2290167C (en) | 2008-09-02 |
CA2290167A1 (en) | 2001-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69637436T2 (de) | Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen | |
DE69819188T2 (de) | Programmschnittstellenumsetzer für rechner mit mehreren umgebungen | |
DE19842688B4 (de) | Verfahren zum Filtern von Daten, die von einem Datenanbieter stammen | |
DE69724356T2 (de) | Verfahren und Apparat für die Darstellung von Information im Bezug auf jeden einzelnen von mehreren Hyperlinks | |
DE60037164T2 (de) | Verfahren und Vorrichtung zum Zugriff auf ein Dialog-System für mehrere Klienten | |
DE69838257T2 (de) | Verfahren zum erweitern der hypertext markup sprache (html) zur unterstützung von unternehmungsanwendungsdatenbindung | |
DE10135445B4 (de) | Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage | |
DE60133343T2 (de) | Verfahren und System in einem elektronischen Kalkulationsblatt für die Handhabung von benutzerdefinierten Optionen in einer Ausschneiden-Kopieren-Einfügen-Funktion | |
DE69931540T2 (de) | Fernprozeduraufrufe mit Um- und Rückwandlung von beliebigen, nicht-übereinstimmenden Zeigergrössen | |
DE19835647A1 (de) | Computersystem und Verfahren zum Lesen von HID-Dateneinheiten | |
DE69727933T2 (de) | Verfahren und gerät zum beschreiben einer definierten schnittstelle, einer operation und eines datentyps in einer schnittstellendefinitionssprache | |
DE69833565T2 (de) | Verfahren und vorrichtung zum verbinden eines allzweckrechners mit einem spezialsystem | |
EP1771795A1 (de) | Verfahren, programm und system zur dynamischen, template-basierten generierung von internetseiten | |
DE10054001A1 (de) | Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen | |
DE69907714T2 (de) | Komponentbasiertes quellcodegeneratorverfahren | |
DE10120867B4 (de) | Computersystem, Verfahren zum Betrieb eines Computersystems, sowie Maschinenlesbare Speichervorrichtung | |
DE19933584A1 (de) | Verfahren zur kompakten Darstellung von Informationspaketen und deren Speicherung oder Übertragung | |
DE102016218656A1 (de) | Verfahren zur Generierung eines User-Interfaces in Form einer Mindmap | |
EP1714206A1 (de) | Visualisierung von strukturierten daten | |
EP1437655A2 (de) | Rechner- und/oder Software-Architektur unter Verwendung von Micro-Kernel- und Multi-Tier-Konzept mit Komponententechnik | |
EP1600854A2 (de) | Verfahren zum Arbeiten mit Kontaktplan und Funktionsplan und hierzu geeigneter grafischer Editor | |
EP1237075A1 (de) | Prä-Prozessor für vorgegebene Dokumententypdefinition, System zur Verarbeitung von Auszeichnungssprachen-Dokumenten, Verfahren und Computerprogrammprodukt dazu | |
WO2017178222A1 (de) | Gerät und verfahren zur bearbeitung eines binärkodierten strukturdokuments | |
DE10032421C2 (de) | Datenverarbeitungs-Werkzeug | |
EP1044409B1 (de) | Programmablaufverfahren und verfahren zur erweiterung eines programmkomponentensystems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8131 | Rejection |