DE10054001A1 - Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen - Google Patents

Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen

Info

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
Application number
DE10054001A
Other languages
English (en)
Inventor
John H Green
Sandeep K Minocha
Piotr Przybylski
John W Stephenson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE10054001A1 publication Critical patent/DE10054001A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database 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

BEREICH DER ERFINDUNG
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.
DER ERFINDUNG ZUGRUNDELIEGENDER ALLGEMEINER STAND DER TECHNIK
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.
ZUSAMMENFASSUNG DER ERFINDUNG
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.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
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.
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
DE10054001A 1999-11-22 2000-11-01 Automatisierte Schnittstellengenerierung für Computerprogramme in unterschiedlichen Umgebungen Ceased DE10054001A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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