DE102009012761A1 - Systems and methods for extracting application-relevant data from messages - Google Patents

Systems and methods for extracting application-relevant data from messages Download PDF

Info

Publication number
DE102009012761A1
DE102009012761A1 DE200910012761 DE102009012761A DE102009012761A1 DE 102009012761 A1 DE102009012761 A1 DE 102009012761A1 DE 200910012761 DE200910012761 DE 200910012761 DE 102009012761 A DE102009012761 A DE 102009012761A DE 102009012761 A1 DE102009012761 A1 DE 102009012761A1
Authority
DE
Germany
Prior art keywords
data
application
message
data type
relevant
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
DE200910012761
Other languages
German (de)
Inventor
Adrian North Hollywood Kaehler
Shi-Ping Pasadena Hsu
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.)
Northrop Grumman Systems Corp
Original Assignee
Northrop Grumman Space and Mission Systems 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
Priority claimed from US12/241,775 external-priority patent/US9946584B2/en
Application filed by Northrop Grumman Space and Mission Systems Corp filed Critical Northrop Grumman Space and Mission Systems Corp
Publication of DE102009012761A1 publication Critical patent/DE102009012761A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/542Intercept

Abstract

Es werden Systeme und Methoden zur Entnahme von anwendungsrelevanten Daten aus Mitteilungen bereitgestellt. In einer Ausführungsform kann ein System enthalten: einen Mitteilungsanalysierer, der Mitteilungen analysiert und einen Mitteilungsbaum mit einem oder mehreren Objekten erzeugt; einer oder mehrere Datentypvorlagen, die einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp definieren; und eine Vergleichs-Engine, welche die Datenelemente in dem einen oder den mehreren Objekten mit Datenelemente in der einen oder den mehreren Datentypvorlage vergleicht. Die Vergleichs-Engine gruppiert die Datenelemente in dem einen oder den mehreren Objekten die mit Datenelementen in der einen oder den mehreren Datenvorlagen übereinstimmen als ein spezifischer Datentyp, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen.Systems and methods for extracting application-relevant data from communications are provided. In one embodiment, a system may include: a message analyzer that analyzes messages and generates a message tree with one or more objects; one or more data type templates defining a defined data type based on one or more data elements; and a comparison engine that compares the data elements in the one or more objects with data elements in the one or more data type templates. The comparison engine groups the data items in the one or more objects that match data items in the one or more data templates as a specific data type corresponding to the matching associated data type templates.

Description

VERWANDTE ANMELDUNGENRELATED APPLICATIONS

Die vorliegende Erfindung beansprucht die Priorität der vorläufigen US-Patentanmeldung Nr. 61/036743, eingereicht am 14. März 2008, deren Inhalt hiermit in diese Anmeldung aufgenommen wird.The The present invention claims priority to US Provisional Patent Application No. 61/036743 on the 14th of March 2008, the content of which is hereby incorporated into this application.

HINTERGRUNDBACKGROUND

Auf einem typischen modernen Computerarbeitsplatz befindet sich eine große Vielfalt von verschiedenen Software-Anwendungen, die ein Benutzer zum abarbeiten seiner Aufgaben benötigt. Diese Anwendungen können gewöhnliche Arbeitsplatzanwendungen oder Benutzeranwendungen sein die oft das Front-End von andernorts gespeicherten Diensten sind, wie zum Beispiel Datenbanken oder analytische Tools. Die meisten Software-Anwendungsprogramme sind derart ausgelegt, dass sie einen Front-End-Teil und einen Back-End-Teil haben.On a typical modern computer workstation has one size Variety of different software applications that a user needed to complete his tasks. These applications can be ordinary Workplace applications or user applications often are Front-end services that are stored elsewhere are, for example Databases or analytical tools. Most software application programs are designed to have a front-end part and a back-end part to have.

Der Front-End-Teil enthält einen Mechanismus mit dem ein Benutzer mit den Funktionen der Software-Anwendung interagieren kann, zum Beispiel durch eine grafische Benutzerschnittstelle (GUI) oder eine Anwendungsprogrammschnittstelle (API). Der Back-End-Teil ist typischerweise die Ausführungs-Engine die in Reaktion auf die sich im Front-End-Teil ereignende Ereignisse Funktionen ausführt und die Resultate der Funktionen dem Front-End-Teil bereitstellt. Der Front-End-Teil und der Back-End-Teil kommunizieren durch Mitteilungen miteinander die den Back-End-Teil über im Front-End-Teil auftretende Ereignisse informieren und den Front-End-Teil instruieren, auf die vom Back-End-Teil gesendeten Mitteilungen zu reagieren. Software-Anwendungen können grundsätzlich nicht miteinander kommunizieren, da der Front-End-Teil und der Back-End-Teil einer bestimmten Anwendung dafür ausgelegt sind, miteinander zu kommunizieren und nicht mit einem anderen Front-End-Teil oder Back-End-Teil.Of the Contains front-end part A mechanism with which a user can use the functions of the software application interact, for example through a graphical user interface (GUI) or an application program interface (API). The back-end part is typical the execution engine which performs functions in response to the events occurring in the front-end part and provides the results of the functions to the front-end part. The front-end part and the back-end part communicate with each other through messages the over the back-end part informing the front-end part of events and the front-end part instruct on the messages sent by the back-end part react. Software applications basically can not communicate with each other, because the front-end part and the back-end part of a particular application designed for it are communicating with each other and not with another front-end part or back-end part.

ZUSAMMENFASSUNGSUMMARY

In einer Ausführungsform der Erfindung wird ein System bereitgestellt das anwendungsrelevante Daten aus Mitteilungen entnimmt. Das System kann enthalten: einen Mitteilungsanalysierer, der Mitteilungen analysiert und einen Mitteilungsbaum mit einem oder mehreren Objekten erzeugt; einer oder mehreren Datentypvorlagen, die einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp definieren; und eine Vergleichs-Engine, die die Datenelemente in dem einen oder den mehreren Objekten mit Datenelemente in der einen oder den mehreren Datentypvorlage vergleicht. Die Vergleichs-Engine gruppiert die Datenelemente in dem einen oder den mehreren Objekten die mit Datenelementen in der einen oder den mehreren Datenvorlagen zusammenpassen zu einem spezifischen Datentyp, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen.In an embodiment The invention provides a system which provides application-relevant data from messages. The system may include: a message analyzer, of the messages analyzed and a message tree with one or more created several objects; one or more data type templates, the one specified data type based on one or more data elements define; and a comparison engine that stores the data elements in the one or more objects with data elements in one or compare the multiple data type template. The comparison engine is grouped the data items in the one or more objects that with Data items in the one or more data templates to a specific data type, according to the matching ones associated Datatype templates.

In einer anderen Ausführungsform der Erfindung liegt ein computerlesbares Medium vor mit von einem Computer ausführbaren Komponenten zum Koppeln von Software-Anwendungen und zum Entnehmen anwendungsrelevanter Daten aus Mitteilungen zwischen Software-Anwendungen. Das computerlesbare Medium kann enthalten: einen mit einer ersten Software-Anwendung verbunden ersten Extraktor anwendungsrelevanter Daten und einen mit einer zweiten Software-Anwendung verbunden zweiten Extraktor anwendungsrelevanter Daten. Der erste Extraktor anwendungsrelevanter Daten kann enthalten: eine erste Vielzahl von für die erste Software-Anwendung relevanten Datentypvorlagen, von denen jede einen festgelegten, auf einem oder mehreren Datenelementen basierenden Datentyp definiert, und eine erste Vergleichs-Engine, die Datenelemente in dem für die erste Software-Anwendung vorgesehenen Mitteilungen mit Datenelementen in der einen oder den mehreren der ersten Vielzahl der Datentypvorlagen vergleicht. Die erste Vergleichs-Engine gruppiert die Datenelemente aus den Mitteilungen, die mit den Datenelementen der einen oder den mehreren der ersten Vielzahl der Datentypvorlagen übereinstimmen, als spezifische Datentypen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen, und bildet die spezifischen Datentypen die mit dazugehörigen Datentypvorlagen zusammenpassen auf Objekte in der ersten Software-Anwendung ab. Der zweite Extraktor anwendungsrelevanter Daten enthält: eine zweite Vielzahl von für die zweite Software-Anwendung relevanten Datentypvorlagen, von denen jede einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp definiert, und eine zweite Vergleichs-Engine die Datenelemente in dem für die zweite Software-Anwendung vorgesehenen Mitteilungen mit Datenelementen in der einen oder den mehreren der zweiten Vielzahl der Datentypvorlagen vergleicht. Die zweite Vergleichs-Engine gruppiert die Datenelemente aus den Mitteilungen, die mit den Datenelementen der einen oder den mehreren der zweiten Vielzahl der Datentypvorlagen übereinstimmen, als spezifische Datentypen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen, und bildet die spezifischen Datentypen die mit dazugehörigen Datentypvorlagen zusammenpassen auf Objekte in der zweiten Software-Anwendung ab.In another embodiment The invention is a computer readable medium before with a Computer executable Components for coupling software applications and for removing application-relevant data from messages between software applications. The computer-readable medium may include: one with a first Software application connected first extractor application-relevant Data and a second connected to a second software application Extractor of application-relevant data. The first extractor application relevant Data may include: a first variety of for the first software application relevant data type templates, each of which has a specified, defined on one or more data elements based data type, and a first comparison engine, the data items in the for the first Software application provided messages with data elements in the one or more of the first plurality of data type templates compares. The first comparison engine groups the data elements from the messages containing the data elements of the one or the other match the several of the first plurality of data type templates, as specific data types, according to the matching associated data type templates, and forms the specific data types with associated data type templates match up on objects in the first software application. The second extractor of application-relevant data contains: a second variety of for the second software application relevant data type templates, of which each a set data type based on one or more data elements and a second comparison engine defines the data elements in for the second software application provided messages with data elements in the one or more of the second plurality of data type templates compares. The second comparison engine groups the data elements from the messages containing the data elements of the one or the other match the several of the second plurality of data type templates, as specific data types, corresponding to the matching associated data type templates, and forms the specific data types with associated data type templates match up on objects in the second software application.

In einer weiteren Ausführungsform der Erfindung wird eine Methode zur Entnahme anwendungsrelevanter Daten aus Mitteilungen bereitgestellt. Die Methode kann enthalten: Analyse einer von einer ersten Software-Anwendung empfangenen Mitteilung und Erzeugung eines auf der analysierten Mitteilung basierenden Mitteilungsbaums mit einem oder mehreren Objekten, und Vergleichen der Datenelemente in dem einen oder den mehreren Objekten mit Datenelementen in der einen oder den mehreren Datentypvorlagen, um Übereinstimmungen zwischen den Datenelementen in dem einen oder den mehreren Objekten mit den Datenelementen in der einen oder den mehreren Datentypvorlagen zu ermitteln. Die Datentypvorlagen definieren einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp. Zusätzlich beinhaltet die Methode das Übertragen der Datenelemente in dem einen oder den mehreren Objekten die mit den Datenelementen in der einen oder den mehreren Datentypvorlagen übereinstimmen in eine zweite Software-Anwendung.In a further embodiment of the invention, a method is provided for extracting application-relevant data from messages. The method may include: analysis of a message received from a first software application and generating a message tree based on the parsed message with one or more objects, and comparing the data elements in the one or more objects with data elements in the one or more data type templates to match the data elements in the one or more objects Determine data items in the one or more data type templates. The data type templates define a defined data type based on one or more data elements. Additionally, the method includes transmitting the data elements in the one or more objects that correspond to the data elements in the one or more data type templates into a second software application.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

1 stellt ein Blockdiagramm eines Systems zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden Erfindung dar. 1 FIG. 12 illustrates a block diagram of a system for retrieving application-relevant data from messages according to an embodiment of the present invention. FIG.

2 stellt ein Blockdiagramm eines Systems zum Koppeln von Software-Anwendungen sowie zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend einer anderen Ausführungsform der vorliegenden Erfindung dar. 2 FIG. 12 illustrates a block diagram of a system for interfacing software applications and extracting application-relevant data from messages according to another embodiment of the present invention.

3 stellt ein Blockdiagramm eines Systems zum Koppeln von „Kommerziellen Produkten aus dem Regal” (eng. „commercial off the shelf”) (COTS) Software-Anwendungen sowie zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden Erfindung dar. 3 12 illustrates a block diagram of a system for coupling "commercial off the shelf" (COTS) software applications and for extracting application-relevant data from messages in accordance with an embodiment of the present invention.

4 stellt ein Blockdiagramm eines Systems 80 zum Koppeln von Software-Anwendungen mit Hilfe von Übertragern, entsprechend einer Ausführungsform der vorliegenden Erfindung, dar. 4 represents a block diagram of a system 80 for coupling software applications by means of transformers, according to an embodiment of the present invention.

5 stellt einen GUI-Kontroller und eine Vielzahl von mit entsprechenden COTS-Anwendungen verbunden GUIs, entsprechend einer Ausführungsform der vorliegenden Erfindung dar. 5 Figure 4 illustrates a GUI controller and a plurality of GUIs associated with corresponding COTS applications, according to an embodiment of the present invention.

6 stellt ein rundes Kopplungselement dar das sich in der GUI-Controller-Arbeitsfläche befindet, entsprechend einer Ausführungsform der Erfindung. 6 Figure 12 illustrates a round coupling element located in the GUI controller work surface, according to an embodiment of the invention.

7 stellt die Auswahl eines Übertragers in der GUI-Kontroller-Arbeitsfläche entsprechend einer Ausführungsform der Erfindung dar. 7 illustrates the selection of a transformer in the GUI controller workspace according to an embodiment of the invention.

8 stellt das Koppeln der Gruppe Microsoft® Outlook® und Microsoft® Excel® mit Google® Earth durch den Übertrager mittels zweier sich außerhalb des Kopplungsbereichs befindenden Doppelpfeile entsprechend einer Ausführungsform der Erfindung dar. 8th represents the coupling of the group Microsoft Outlook ® ® and Microsoft ® Excel ® ® with Google Earth by the transmitter by means of two are located outside of the coupling region double arrows according to an embodiment of the invention.

9 stellt ein Computersystem dar das verwendet werden kann, um die hierin beschriebenen Systeme und Methode auszuführen, die auf computer-ausführbaren Befehlen beruhen, die auf dem Computersystem ausgeführt werden. 9 FIG. 12 illustrates a computer system that may be used to execute the systems and methods described herein that rely on computer-executable instructions executing on the computer system.

DETAILLIERTE BESCHREIBUNGDETAILED DESCRIPTION

Die meisten Netzwerk-basierten Protokolle zum Übertragen von Daten verwenden eine starr definierte Methode zum Austausch von Daten. Die vorliegenden Systeme und Methoden sehen ein wesentlich flexibleres Instrument zur Entnahme und zum Austausch von Daten vor. Insbesondere definieren die Anwendungen nicht starr welche Nachrichten sie erwarten, vielmehr definieren Vorlagen auf Datenelementen basierende Datentypen die mit Datenelementen in eingehenden Mitteilungen verglichen werden und die Beschaffenheit einer Vorlage bestimmt mit welchem Stellenwert die Datenelemente einer eingehenden Mitteilung von einem bestimmten Anwendungsprogramm erfasst werden. Die vorliegenden Systeme und Methoden können ohne den Einsatz eines vordefinierten Schemas zur Entnahme und zum Austausch von Mitteilungen zwischen Anwendungsprogrammen eingesetzt werden.The Most network-based protocols use to transfer data a rigidly defined method for exchanging data. The present Systems and methods see a much more flexible instrument for the collection and exchange of data. In particular, the define Applications not rigid which news they expect, rather templates define datum-based data types with data items in incoming messages and the nature of a template determines with what significance the data elements of an incoming message of a particular Application program to be recorded. The present systems and Methods can without the use of a predefined scheme for removal and for Exchange of messages between application programs used become.

1 stellt ein Blockdiagramm eines Systems 10 zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden Erfindung dar. Diese Mitteilungen können zum Beispiel eine abstrakte Form haben, dargestellt als Schlüssel-Wert-Paare (eng. Key-Value-Pair), Labeled Trees, oder entsprechende Datenstrukturen (zum Beispiel XML). Das System 10 enthält einen Mitteilungsanalysierer 12 der die Mitteilungen analysiert und einen Mitteilungsbaum mit einer Vielzahl von Objekten, welche die Mitteilungen bilden, erzeugt. Ein Objekt kann eine Hierarchie bestehend aus einem oder mehreren abgeleiteten Objekten mit einem oder mehreren Abschluss-Attributen (zum Beispiel einer Zeichenreihe) und/oder Abschluss-Werten (zum Beispiel Zahlenwerte) aufweisen. Das Objekt kann ein oder mehrere Datenelemente mit anwendungsrelevanten Daten aufweisen die von einem Anwendungsprogramm verwendet werden können. Das System setzt eine oder mehrere Datentypvorlagen ein die einen auf einem Satz von Datenelementen basierenden Datentyp definieren. Zum Beispiel kann eine Datenvorlage einen auf einem Objekt basierenden Personendatentyp mit den Datenelement-Bezeichnern „Nachname”, „Vorname” und „Alter”, und dazugehörigen Datenelement-Attributen und/oder -Werten definieren. Eine Datenvorlage kann einen auf einem Objekt basierenden Fahrzuegdatentyp mit den Datenelement-Bezeichnern „Räder”, „Motor” und „Sitze” und dazugehörigen Datenelement-Attributen und/oder -Werten definieren. Ein Anwender/Programmierer kann basierend auf den für eine bestimmte Anwendung relevanten Datentypen eine Vielzahl von verschiedenen Datenvorlagen erzeugen die eine Vielzahl von verschiedenen Datentypen definieren. 1 represents a block diagram of a system 10 For example, these messages may have an abstract shape, represented as key-value pairs, labeled trees, or corresponding data structures (for example XML). The system 10 contains a message parser 12 which analyzes the messages and generates a message tree with a plurality of objects forming the messages. An object may have a hierarchy consisting of one or more derived objects having one or more completion attributes (eg, a string of characters) and / or completion values (eg, numerical values). The object may include one or more data items with application-relevant data that may be used by an application program. The system uses one or more data type templates that define a data type based on a set of data elements. For example, a data template may define a personal data type based on an object having the data element identifiers "last name", "first name" and "age", and associated data element attributes and / or values. A data template may contain an object-based drive data type with the data item identifiers "Rä define the ",""engine" and "seats" and associated data element attributes and / or values. A user / programmer may generate a variety of different data templates that define a variety of different data types based on the data types relevant to a particular application.

Das Beispiel in 1 zeigt kundenspezifische Datentypvorlagen 16, nummeriert von 1 bis N, wobei N eine ganze Zahl größer oder gleich eins ist. Zusätzlich ist eine Standarddatentyp-Vorlagedatei 18 vorhanden. Die Standarddatentyp-Vorlagedatei 18 ist eine Datei die eingesetzt werden kann, um eine universelle Datentyp-Ontologie zwischen Software-Anwendungen bereitzustellen, so dass Datentypen in den verschiedenen Software-Anwendungen eine gemeinsame Definition haben. Die Standarddatentyp-Vorlagedatei 18 kann die Definitionen einer großen Vielzahl von Datentypen enthalten. Zum Beispiel das Folgende ist ein Beispiel eines Objekts das eine geospatiale Lagedefinition umfasst die in der Standarddatentyp-Vorlagedatei 18 enthalten ist:
<map tid=’geospatialLocation’>
<scalar label=’Long(itude)?’ called=’Longitude’/>
<scalar label=’Lat(itude)?’called?’Latitude’/>
<scalar label=’Altitude’ called=’Altitude’ cardinality=’*’/>
<scalar label=’Name’ called=’Name’ cardinality=’*’/>
</map>
The example in 1 shows customer-specific data type templates 16 Numbered from 1 to N, where N is an integer greater than or equal to one. In addition, there is a default data type template file 18 available. The default data type template file 18 is a file that can be used to provide a universal data type ontology between software applications so that data types in the various software applications have a common definition. The default data type template file 18 can contain the definitions of a wide variety of data types. For example, the following is an example of an object that includes a geospatial location definition as in the default data type template file 18 is included:
<map tid = 'geospatialLocation'>
<scalar label = 'Long (itude)?' called = 'Longitude'/>
<scalar label = 'Lat (itude)?' called? 'Latitude'/>
<scalar label = 'Altitude' called = 'Altitude' cardinality = '*'/>
<scalar label = 'Name' called = 'Name' cardinality = '*'/>
</ Map>

Die vorstehende Darstellung zeigt, dass ein mit ”Long” bezeichnetes Element vorhanden sein sollte welches auch als ”Longitude” bezeichnet sein kann, aber in jedem Fall mit dem Schlüsselwort ”Latitude” oder ”Lat” verbunden wird (called), wenn es gefunden wurde. Ferner zeigt es, dass die Attribute „Höhe” und „Name” vorhanden sein können, aber auch fehlen können (cardinality). Falls Datenelement-Bezeichner dieses Typs in einem Objekt gefunden werden, dann werden die Datenelemente zusammen gruppiert und als Datentyp „geospatialLocation” bezeichnet.The The above diagram shows that there is an element labeled "Long" which should also be called "Longitude" but in any case connected with the keyword "Latitude" or "Lat" (called), if it was found. It also shows that the attributes "height" and "name" exist could be, but also missing (Cardinality). If data element identifier of this type in one Object are found, then the data elements are grouped together and named "geospatialLocation" as data type.

Das System 10 enthält eine Vergleichs-Engine 14 die die Datenelemente in den Objekten der analysierten Mitteilungen mit der einen oder den mehreren Datentypvorlagen 16 und der Standarddatentyp-Vorlagendatei 18 vergleicht. Wenn die Datenelemente in den Objekten mit den Datenelementen in der einen oder den mehreren Datentypvorlage 16 oder den Datentypen in der Standarddatentyp-Vorlagendatei 18 übereinstimmen, werden die Datenelemente als spezifischer Datentyp festgelegt und die Datenelemente und die verbundenen Attribute und/oder Werte werden zusammen gruppiert und als anwendungsrelevante Daten entnommen und in ein Objekt einer verbundenen Software-Anwendung abgebildet.The system 10 contains a comparison engine 14 the data elements in the objects of the analyzed messages with the one or more data type templates 16 and the default data type template file 18 compares. When the data items in the objects with the data items in the one or more data type templates 16 or the data type in the default data type template file 18 match, the data elements are specified as a specific data type and the data elements and the associated attributes and / or values are grouped together and extracted as application-relevant data and mapped into an object of a connected software application.

Es ist ersichtlich, dass viele Datenvorlagen Objekten eines bestimmten Datentyps einsetzen können die von Objekten eines anderen Datentyps abgeleitete sind. Zum Beispiel kann Anwendung A den Vermerk einer Sichtung enthalten (zum Beispiel Erblicken von Big Foot), und von der die „geospatialLocation” abgeleitet werden kann, da die selbe Vorlage für die „geospatialLocation” verwendet wird, aber zusätzlich wird auch spezifiziert wird wann sich die Sichtung ereignete und was tatsächlich gesichtet wurden. Diese Sachen können als notwendige oder optionale Elemente spezifiziert werden. Das bedeutet, wenn eine andere Anwendung B einen internen Objekttyp als äquivalent zu dem Standarddatentyp-Vorlagedatei-Objekt „geospatialLocation” definiert, dann wird wenn eine Sichtung mitgehört wird, die Sichtung mit der „geosptalialLocation”-Vorlage übereinstimmen und akzeptiert. Die relevante Information wird in das interne Objekt innerhalb der Anwendung B abgebildet und die restliche Information wird ignoriert. Allgemein wird der Zuhörer, wenn eine beliebige Nachricht die einen von einem Vorläufer X abgeleiteten Typ repräsentiert von einer Anwendung empfangen wird die ebenfalls eine Vorlage enthält die sich von X ableitet mindestens den Teil der Mitteilung erfassen der X entspricht. Demzufolge dient die Standarddatentyp-Vorlagedatei 18 als minimale Kommunikationsgrundlage.It can be seen that many data templates can use objects of a certain data type that are derived from objects of a different data type. For example, application A may include the tag of a sighting (e.g., seeing Big Foot), and from which the "geospatialLocation" may be derived, since the same template is used for the "geospatialLocation", but in addition will also be specified when the sighting took place and what was actually sighted. These things can be specified as necessary or optional elements. That is, if another application B defines an internal object type as equivalent to the default data type template file object "geospatialLocation", then if a sighting is overheard, the sifting will match and be accepted with the "geosptalialLocation" template. The relevant information is mapped into the internal object within application B and the remaining information is ignored. Generally, when any message representing a type derived from a precursor X is received by an application which also contains a template derived from X, the listener will match at least the portion of the message capturing X. As a result, the default data type template file is used 18 as a minimal basis of communication.

In einer Ausführungsform der Erfindung werden die Systeme und Methoden in gekoppelten Software-Anwendungen eingesetzt, um das gemeinsame Nutzen und die Entnahme von anwendungsrelevanten Daten zwischen den Software-Anwendungen zu ermöglichen. Ein Beispiel für derartige Systeme und Methoden wird in der, sich im gemeinsamen Eigentum befindenden, Patentanmeldung mit dem Titel ”Systeme und Methoden zum Koppeln von Software-Anwendungen” offenbart, die am selben Tag wie die vorliegende Patent anmeldung angemeldet worden ist und deren gesamter Inhalt hiermit in diese Beschreibung aufgenommen wird.In an embodiment The invention provides the systems and methods in coupled software applications used to share and extract application-relevant To enable data between the software applications. An example of such Systems and methods will be used in the jointly owned, Patent Application entitled "Systems and Methods for Linking Software Applications ", filed the same day as the present patent application and its entire contents are hereby incorporated into this description is recorded.

2 stellt ein Blockdiagramm des Systems 40 zum Koppeln von Software-Anwendungen und zur Entnahme anwendungsrelevanter Daten aus Mitteilungen entsprechend einer Ausführungsform der vorliegenden Erfindung dar. Das System 40 benutzt eine Mitteilungs-Backplane 50 die mit einer Kontroller-Anwendung 52 verbunden ist. Die Mitteilungs-Backplane 50 ist für die Aufrechterhaltung der Kopplung zwischen den Software-Anwendungen verantwortlich und für jede Bearbeitung die für die einzelnen Mitteilungen erforderlich sein kann. Ein neuer Mitteilungsbus bemerkt die Anwendungen, wie die Anwendung A und Anwendung B, die sich bei der Mitteilungs-Backplane 50 während des Hochfahrens registrieren, um dadurch anzuzeigen, dass die Anwendung nun für eine Kopplung mit anderen Anwendungen bereit ist. Anwendung A enthält ein Front-End 42 und ein Back-End 44 und Anwendung B enthält ein Front-End 46 und ein Back-End 48. Die Mitteilungs-Backplane 50 kann beispielsweise TCP/IP-Verbindungen der Anwendungen überwachen, die bereits bei der Mitteilungs-Backplane 50 registriert sind oder registriert werden möchten. Auf diese Weise kann die Mitteilungs-Backplane 50 entweder lokal oder an einem entfernten Ort lokalisiert sein und ebenso können die vom Mitteilungs-Bus erkannten Anwendungen auf einem Gerät ablaufen, oder sie können verteilt sein und somit kann sich auch die Mitteilungs-Backplane zwischen verschiedenen Geräten befinden. 2 represents a block diagram of the system 40 for coupling software applications and extracting application-relevant data from messages according to an embodiment of the present invention. The system 40 uses a message backplane 50 with a controller application 52 connected is. The message backplane 50 is responsible for maintaining the link between the software applications and for any editing that may be required for each message. A new message bus notices the applications, such as application A and application B, that are in the message backplane 50 during start-up, thereby indicating that the application is now ready for pairing with other applications. Application A contains a Front End 42 and a backend 44 and application B contains a front-end 46 and a backend 48 , The message backplane 50 For example, it can monitor applications TCP / IP connections that are already on the message backplane 50 are registered or would like to be registered. That way, the message backplane can 50 may be located either locally or at a remote location and, likewise, the applications recognized by the message bus may run on one device, or they may be distributed, and thus the message backplane may also be between different devices.

Die Mitteilungs-Backplane 50 kann dazu vorgesehen sein, um Anwendungen anhand von Instruktionen die über eine TCP/IP-Verbindung lokal oder von entfernten Orten eingehen zu koppeln oder zu trennen. Daher kann die Kontroller-Anwendung 52 mit der Mitteilungs-Backplane 50 kommunizieren, um vom Anwender angeforderte Verbindungen zu übermitteln. Sobald die Anwendungen gekoppelt sind werden die Mitteilungen zwischen Front-End 42 und Back-End 44 der Anwendung A der Mitteilungs-Backplane 50 bereitgestellt, die diese Mitteilungen zum Back-End 48 der Anwendung B leitet. Zusätzlich werden die Mitteilungen zwischen Front-End 46 und Back-End 48 der Anwendung B der Mitteilungs-Backplane bereitgestellt, die diese Mitteilungen zum Back-End 44 der Anwendung A leitet.The message backplane 50 may be designed to couple or disconnect applications based on instructions that originate locally or remotely over a TCP / IP connection. Therefore, the controller application 52 with the message backplane 50 communicate to deliver user requested connections. Once the applications are paired, the messages will be between front-end 42 and back-end 44 Application A's message backplane 50 provided these messages to the backend 48 the application B passes. In addition, the messages between front-end 46 and back-end 48 Application B's message backplane provided these messages to the backend 44 the application A passes.

Anwendung A enthält einen ersten Extraktor anwendungsrelevanter Daten 45 der dazu konfiguriert ist, anwendungsrelevante Daten von dem Typ den Anwendung A erfassen kann zu extrahieren. Der erste Extraktor anwendungsrelevanter Daten 45 kann ähnliche Komponenten enthalten, wie der in 1 dargestellte, wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine, eine oder mehrere Anwenderspezifischen-Datentypvorlagen und kann die gesamte oder einen Teil der Standarddatentyp-Vorlagendatei nutzen. Der erste Extraktor anwendungsrelevanter Daten 45 empfängt über die Mitteilungs-Backplane 50 Mitteilungen die von der Anwendung B stammen und entnimmt anwendungsrelevante Daten durch einen Vergleich der Datenelemente, die in den Objekten der empfangenen Mitteilung vorhanden sind, mit der einen oder den mehreren Anwenderspezifischen-Datentypvorlagen und/oder der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten Daten entnommen und auf das Back-End der Anwendung A übertragen worden sind, erzeugt das Back-End der Anwendung A Anweisungen für das Front-End der Anwendung A, um das Auftreten von Ereignissen die auf den Attributen und/oder Werten der Datenelemente der entnommenen anwendungsrelevanter Daten basieren auszulösen.Application A contains a first extractor of application-relevant data 45 which is configured to extract application-relevant data of the type the application A can extract. The first extractor of application-relevant data 45 may contain similar components as in 1 , such as a message parser, a comparison engine, one or more user-specific data type templates, and may utilize all or part of the standard data type template file. The first extractor of application-relevant data 45 receives via the message backplane 50 Messages originating from application B extract application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted and transferred to the application A back-end, the application A back-end generates instructions for the front-end of application A to determine the occurrence of events on the attributes and / or values of the application Data elements of the extracted application-relevant data based trigger.

Obwohl der erste und zweite Extraktor anwendungsrelevanter Daten 45 und 49 so dargestellt sind, als ob sie ein Teil des Anwendungs-Back-End A bzw. B wären, ist erkennbar dass der erste und zweite Extraktor anwendungsrelevanter Daten 45 und 49 allein stehende Komponenten oder auch als Komponente in die Mitteilungs-Backplane 50 integriert sein können.Although the first and second extractor application-relevant data 45 and 49 are shown as being part of the application backend A and B respectively, it can be seen that the first and second extractors are application relevant data 45 and 49 stand-alone components or as a component in the message backplane 50 can be integrated.

Es folgt ein beispielhafter Pseudo-Code für die Mitteilungs-Ontologie zur Registrierung der Anwendungen bei der Mitteilungs-Backplane und zum Empfang von Mitteilungen über die Mitteilungs-Backplane:It Following is an exemplary pseudo-code for the message ontology to register the applications with the message backplane and to receive messages via the message backplane:

Run MethodRun Method

  • Verbindung mit der Backplane an einem speziellen Host/Port herstellen Hallo-Mitteilung an Client-Bezeichner sendenConnect to the backplane at a specific host / port Send hello message to client identifier
  • Setze die Symbol-Eigenschaften basierend auf dem Anwendungsfenster-SymbolSet the icon properties based on the application window icon
  • Starte den Thread, um Mitteilungen auf dem mit der Backplane verbundenen Anschluss zu empfangenStart the thread for messages on the backplane receive connected connection
  • Warten auf eine über den Anschluss eingehende MitteilungWaiting for an over the connection incoming message
  • Vergleiche die Mitteilung mit den registrierten Vorlagen: Für jeden abgeleiteten Knotenpunkt in der eingehenden Mitteilung wenn der Knotenpunkt mit der ausgewählten Vorlage übereinstimmt, markiere mit dem übereinstimmenden Vorlagennamen sende den Knotenpunkt zur Host-Anwendung durch OnMessageCompare the message with the registered templates: For each derived node in the incoming message if the node with the selected one Template matches, select with the matching template name send the node to the host application through OnMessage

Send MethodSend method

  • Sende die spezifizierte XML/SOP-Mitteilung über den vorher verbundenen AnschlussSend the specified XML / SOP message via the previously connected connection

OnMessage EventOnMessage Event

  • Benutzerregistrierter Rückruf für eingehende MitteilungenUser registered callback for incoming announcements

RegisterSOP-VorlageRegisterSOP template

  • Definiere eine Vorlage, um mit der XML-basierten SOP-Vorlagensprache zu vergleichenDefine a template to use with the XML-based SOP template language to compare

SelectSOP-VorlageSelectSOP template

  • Der Vorlagen-Bezeichner an den die Anwendung interessiert ist, ist entweder benutzerdefiniert oder aus der StandardvorlagedateiThe template identifier that the application is interested in is either user-defined or from the default template file

Es ist ersichtlich, dass sich das System aus 2 gut für einen Mitteilungsbus erkennende Anwendungen eignet. In vielen Situationen ist es jedoch wünschenswert aus zwei oder mehreren ”Kommerzielle Produkten aus dem Regal”-Anwendungen (eng. commercial off the shelf) (COTS) zu koppeln und Mitteilungen zu entnehmen. 3 zeigt ein Blockdiagramm eines Systems 60 zum Koppeln von COTS-Software-Anwendungen und zur Entnahme anwendungsrelevanter Daten aus Mitteilungen in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung. Das System 60 nutzt einen Mitteilungs-Backplane-Adapter der die Mitteilungen zwischen den COTS-Anwendungsformaten und dem Mitteilungs-Backplane-Format konvertiert. Ein Mitteilungs-Backplane-Adapter ist ein Code-Modul oder ein Programm das es einer bestehenden COTS-Anwendung erlaubt mit der Mitteilungs-Backplane zu kommunizieren. Obwohl die existierenden COTS-Anwendungen die Mitteilungs-Backplane nicht von sich aus erkennen, verfügen die meisten professionellen Anwendungen über Kommunikationsmittel und werden durch andere Mittel als die interaktive GUI gesteuert. Diese Schnittstellen basieren oftmals auf TCP/IP oder in dem Fall einer Microsoft-Umgebung auf .COM oder .NET. Ein Mitteilungs-Backplane-Adapter ist ein Software-Baustein der mit einer existierenden Anwendung interagiert (in der von der Anwendung bevorzugten Art und Weise) und eine Schnittstelle zur Mitteilungs-Backplane bietet. Die Architektur der Mitteilungs-Backplane setzt voraus, dass die individuellen Anwendungen den ”internen Dialog” übertragen der das Anwendungs-Front-End (beispielsweise GUI-Schnittstelle) mit dem operativen Back-End verbindet und dass Information von außen empfangen werden, die in interne Ereignisse konvertiert werden können. Für COTS-Anwendungen wird dies durch entsprechende Mitteilungs-Backplane-Adapter gehandhabt.It can be seen that the system is off 2 good for a message bus recognizing applications. But in many situations it is It is desirable to couple from two or more "commercial off the shelf" (COTS) applications and to extract communications. 3 shows a block diagram of a system 60 for coupling COTS software applications and for extracting application-relevant data from messages in accordance with an embodiment of the present invention. The system 60 uses a message backplane adapter that converts the messages between the COTS application formats and the message backplane format. A message backplane adapter is a code module or program that allows an existing COTS application to communicate with the message backplane. Although the existing COTS applications do not recognize the message backplane on their own, most professional applications have communications and are controlled by means other than the interactive GUI. These interfaces are often based on TCP / IP or, in the case of a Microsoft environment, on .COM or .NET. A Message Backplane Adapter is a software building block that interacts with an existing application (in the manner preferred by the application) and provides an interface to the messaging backplane. The message backplane architecture requires that the individual applications transfer the "internal dialog" that connects the application front-end (e.g., GUI interface) to the operational back-end and that information is received from the outside into internal Events can be converted. For COTS applications, this is handled by appropriate message backplane adapters.

3 stellt einen Mitteilungs-Backplane-Adapter dar, der zum Verbinden zweier COTS-Anwendungsprogramme C und D mit der Mitteilungs-Backplane 74 bereitge stellt wird. Ein erster Mitteilungs-Backplane-Adapter 66 enthält eine Schnittstelle zu einem Front-End 62 und einem Back-End 64 der COTS-Anwendung C und der Mitteilungs-Backplane 74. Ein zweiter Mitteilungs-Backplane-Adapter 72 enthält eine Schnittstelle zu einem Front-End 68 und einem Back-End 70 einer COTS-Anwendung D und der Mitteilungs-Backplane 74. Eine Kontroller-Anwendung 76 kann mit der Mitteilungs-Backplane 74 kommunizieren, um eine vom Benutzer angeforderte Verbindung zu übermitteln und um die COTS-Anwendungsprogramme C und D über die entsprechenden Mitteilungs-Backplane-Adapter 66 und 72 zu verbinden. Sobald die Anwendungen gekoppelt sind werden die Mitteilungen zwischen Back-End 64 und Front-End 62 der COTS-Anwendung C der Mitteilungs-Backplane 74 bereitgestellt, die dann die Mitteilungen zu dem zweiten Mitteilungs-Backplane-Adapter 72 leitet, und die Mitteilungen zwischen Back-End 70 und Front-End 68 der COTS-Anwendung D werden der Mitteilungs-Backplane 74 bereitgestellt, die dann die Mitteilungen zu dem ersten Mitteilungs-Backplane-Adapter 66 leitet. 3 represents a message backplane adapter used to connect two COTS application programs C and D to the message backplane 74 provided. A first message backplane adapter 66 contains an interface to a front-end 62 and a backend 64 the COTS application C and the message backplane 74 , A second message backplane adapter 72 contains an interface to a front-end 68 and a backend 70 a COTS application D and the message backplane 74 , A controller application 76 can with the message backplane 74 communicate to provide a user-requested connection and the COTS application programs C and D via the corresponding message backplane adapters 66 and 72 connect to. Once the applications are paired the messages will be between back-end 64 and front-end 62 the message backplane COTS application C 74 then provide the messages to the second message backplane adapter 72 directs, and the messages between back-end 70 and front-end 68 COTS application D becomes the message backplane 74 then provide the messages to the first message backplane adapter 66 passes.

Obwohl die Adapter so dargestellt sind als ob sie zwischen den Front-Ends und Back-Ends der COTS-Anwendung lägen, ist es ersichtlich dass eine COTS-Anwendung auch ohne diese klare Trennung aufgebaut sein kann und nicht über einen direkten Zugang zur Mitteilungsschicht verfügen muss. Üblicherweise legen die COTS-Anwendungen einige Kommunikationsschichten (eng. level of connectability) für den Adapter offen, um Mitteilungen bereitzustellen und zu empfangen, so als ob die Adapter so angeordnet wären, so wie es in 3 dargestellt wird. In der Praxis ist es jedoch üblich dieses Verhalten zu simulieren, das bedeutet im Wesentlichen dass der Adapter die Ereignisse weiterleitet die er innerhalb der COTS-Anwendung beobachtet, als ob die Anwendung diese durch irgendeine von der COTS-Anwendung bereitgestellten Schnittstelle verfügbar machen würde. Ebenso werden in den Adapter ankommende Informationen in Befehle für die COTS-Anwendung transformiert, als ob eine direkte gemeinsame Nutzung von Mitteilungen in dem (hypothetischen) internen Datenbus der COTS-Anwendung vorhanden wäre.Although the adapters are shown as being between the front-ends and back-ends of the COTS application, it can be seen that a COTS application can be built without this clear separation and need not have direct access to the messaging layer , Typically, the COTS applications expose some level of connectivity to the adapter to provide and receive messages as if the adapters were arranged as described in US Pat 3 is pictured. In practice, however, it is common practice to simulate this behavior, which essentially means that the adapter will relay the events it observes within the COTS application as if the application were exposing it through any interface provided by the COTS application. Likewise, information entering the adapter is transformed into commands for the COTS application as if there were a direct sharing of messages in the (hypothetical) internal data bus of the COTS application.

Der erste Mitteilungs-Backplane-Adapter 66 umfasst einen ersten Extraktor anwendungsrelevanter Daten 67 der dafür konfiguriert ist, anwendungsrelevante Daten von dem Typ den die COTS-Anwendung C erfassen kann zu extrahieren. Der erste Extraktor anwendungsrelevanter Daten 67 kann ähnliche Komponenten enthalten, wie der in 1 dargestellte, wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine, eine oder mehrere Anwenderspezifisiche-Datentypvorlagen, und kann die gesamte oder einen Teil der Standarddatentyp-Vorlagendatei nutzen. Der erste Extraktor anwendungsrelevanter Daten 67 empfängt über die Mitteilungs-Backplane 74 von der Anwendung D stammende Mitteilungen und entnimmt anwendungsrelevante Daten durch einen Vergleich der in den Objekten der empfangenen Mitteilung vorhandenen Datenelemente mit der einen oder den mehreren Anwenderspezifisiche-Datentypvorlagen und/oder der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten Daten entnommen worden sind, können diese gruppiert und in ein Datenformat der COTS-Anwendung C konvertiert werden und auf das Back-End 64 der Anwendung C abgebildet werden. Das Back-End 64 der Anwendung C erzeugt Anweisungen für das Front-End 62 der Anwendung C, um das Auftreten von Ereignissen die auf den Attributen und/oder Werten der Datenelemente der entnommenen anwendungsrelevanter Daten basieren auszulösen.The first message backplane adapter 66 includes a first extractor of application-relevant data 67 configured to extract application-relevant data of the type that the COTS application C can capture. The first extractor of application-relevant data 67 may contain similar components as in 1 and may use all or part of the standard data type template file. The first extractor of application-relevant data 67 receives via the message backplane 74 messages originating from application D and extracts application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted, it can be grouped and converted to a data format of the COTS application C and to the back-end 64 the application C are mapped. The backend 64 Application C generates instructions for the front-end 62 the application C to trigger the occurrence of events based on the attributes and / or values of the data elements of the extracted application-relevant data.

Der zweite Mitteilungs-Backplane-Adapter 72 umfasst einen zweiten Extraktor anwendungsrelevanter Daten 73 der dafür konfiguriert ist, anwendungsrelevante Daten von dem Typ den die COTS-Anwendung D erfassen kann zu extrahieren. Der zweite Extraktor anwendungsrelevanter Daten 73 kann ähnliche Komponenten enthalten, wie der in 1 dargestellte, wie zum Beispiel einen Mitteilungsanalysierer, eine Vergleichs-Engine, eine oder mehrere Anwenderspezifisiche-Datentypvorlagen, und kann die gesamte oder einen Teil der Standarddatentyp-Vorlagendatei nutzen. Der zweite Extraktor anwendungsrelevanter Daten 73 empfängt über die Mitteilungs-Backplane von der Anwendung C stammende 74 Mitteilungen und entnimmt anwendungsrelevante Daten durch einen Vergleich der in den Objekten der empfangenen Mitteilung vorhandenen Datenelemente mit der einen oder den mehreren Anwenderspezifisiche-Datentypvorlagen und/oder der Standarddatentyp-Vorlagendatei. Sobald die anwendungsrelevanten Daten entnommen worden sind, können diese gruppiert und in ein Datenformat der COTS-Anwendung D konvertiert werden und auf das Back-End 70 der Anwendung D abgebildet werden. Das Back-End 70 der Anwendung D erzeugt Anweisungen für das Front-End 68 der Anwendung D, um das Auftreten von Ereignissen die auf den Attributen und/oder Werten der Datenelemente der entnommenen anwendungsrelevanter Daten basieren auszulösen.The second message backplane adapter 72 includes a second extractor of application-relevant data 73 which is configured to extract application-relevant data of the type that the COTS application D can capture. The second extractor of application-relevant data 73 may contain similar components as in 1 and may use all or part of the standard data type template file. The second extractor of application-relevant data 73 receives via the message backplane from application C. 74 Messages and retrieves application-relevant data by comparing the data elements present in the objects of the received message with the one or more user-specific data type templates and / or the standard data type template file. Once the application-relevant data has been extracted, it can be grouped and converted to a data format of the COTS application D and to the back-end 70 the application D are mapped. The backend 70 Application D generates instructions for the front-end 68 the application D to trigger the occurrence of events based on the attributes and / or values of the data elements of the extracted application-relevant data.

Da die Grundstruktur der Mitteilungs-Backplane dafür ausgelegt ist, Mitteilungen für alle an die Mitteilungs-Backplane angeschlossene Anwendungen und Adapter verständlich zu machen, geschieht es oft, dass ein Benutzer oder Entwickler zwei Anwendungen dazu veranlassen möchte, Daten auszutauschen, die nicht von sich aus mit derselben Art von Objekten arbeiten. Zum Beispiel kann eine Anwendung mit Flugzeug- und Geospatialendaten arbeiten, während eine andere Anwendung mit Personendaten und den damit verbundenen Informationen arbeitet. Die vorliegende Erfindung verwendet dazu Mitteilungs-Backplane-Übertrager. Ein Mitteilungs-Backplane-Übertrager ist ein beliebiges Element das in die Mitteilungs-Backplane installiert werden kann und das die Funktion hat, die Information von einem Datentyp in die Information eines anderen Datentyps zu übertragen. Ein Übertrager ist ein Werkzeug das in eine Verbindung, die verschiedene von der Mitteilungs-Backplane erfasste Anwendungen oder Gruppen von Anwendungen verbindet, eingefügt werden kann und das einen Datentyp in einen anderen Datentyp umwandelt. Mitteilungs-Backplane-Übertrager können auf verschiedene Arten und Weisen arbeiten, aber eine Gemeinsamkeit der Funktionsweise der Übertrager besteht in einer Datenbankabfrage verschiedener externer Datenspeicher. Übertrager sind allgemein Programme und können in jeder Sprache geschrieben sein, obwohl hauptsächlich die Erwartung besteht, dass eine Sprache verwendet wird für die ein Software-Entwicklungspaket (SDK) eine API bereitstellt.There The basic structure of the message backplane is designed for messaging for all applications and adapters attached to the message backplane understandable It often happens that a user or developer makes two Would like to cause applications to Exchange data that is not on its own with the same type of Work objects. For example, an application with aircraft and geospatial data work while another application works with personal data and related information. The present invention uses message backplane transformers for this purpose. A message backplane transmitter is any element that is installed in the message backplane and that has the function of having the information of one Data type into the information of another data type. A transformer is a tool that is in a connection that is different from the one Message backplane captured applications or groups of applications connects, inserted which converts one data type into another data type. Announcement backplane transformer can work in different ways, but a commonality the functioning of the transformer consists in a database query of various external data stores. exchangers are generally programs and can be written in any language, although the main expectation is that a language is used for the a software development package (SDK) provides an API.

4 stellt ein Blockdiagramm eines Systems 80 zum Koppeln von Software-Anwendungen mit Hilfe von Übertragern, entsprechend einer Ausführungsform der vorliegenden Erfindung, dar. Anwendung #1 82, Anwendung #2 84 und Anwendung #3 86 sind zu einer ersten gekoppelten Gruppe 81 gekoppelt und Anwendung #4 88 und Anwendung #5 90 sind zu einer zweiten gekoppelten Gruppe 87 gekoppelt. Die Datentypen der Ereignismitteilungen der ersten gekoppelten Gruppe 81 definierenden Datenelemente werden gemeinsam genutzt und die Datentypen der Ereignismitteilungen der Elemente der zweiten gekoppelten Gruppe 87 definierenden Datenelemente werden gemeinsam genutzt. Anwendung #1 82, Anwendung #2 84 und Anwendung #3 86 enthalten jeweils einen Extraktor anwendungsrelevanter Daten (nicht dargestellt) der Vorlagen enthält die auf Datenelementen basierende Datentypen definieren, die in den von den Elementen der ersten gekoppelten Gruppe 81 gemeinsam genutzten Mitteilungen enthalten sind. Ebenso enthält die Anwendung #4 88 und die Anwendung #5 90 einen Extraktor anwendungsrelevanter Daten (nicht dargestellt) der Vorlagen enthält die auf Datenelementen basierende Datentypen definieren, die in den von den Elemente der zweiten gekoppelten Gruppe 87 gemeinsam genutzten Mitteilungen enthalten sind. Jedoch enthalten die Mitteilungen der Elemente der ersten gekoppelten Gruppe keine Datentypen definierende Datenelemente die von den Elementen der zweiten gekoppelten Gruppe 87 erfasst werden können und umgekehrt. 4 represents a block diagram of a system 80 for coupling software applications by means of transformers, according to an embodiment of the present invention. Application # 1 82 , Application # 2 84 and application # 3 86 are to a first coupled group 81 coupled and application # 4 88 and Application # 5 90 are to a second coupled group 87 coupled. The data types of the event messages of the first coupled group 81 defining data elements are shared and the data types of the event messages of the elements of the second coupled group 87 defining data elements are shared. Application # 1 82 , Application # 2 84 and application # 3 86 each contain an extractor application-relevant data (not shown) of the templates contains the data elements based on data types defined in the elements of the first group coupled 81 shared messages. Likewise, the application contains # 4 88 and application # 5 90 An extractor of application-relevant data (not shown) of the templates contains the data-element-based data types defined in the elements coupled by the elements of the second group 87 shared messages. However, the messages of the elements of the first coupled group do not contain data types defining data elements that are of the elements of the second coupled group 87 can be detected and vice versa.

Beispielsweise kann die erste gekoppelten Gruppe 81 Flugzeug-Flugdatentypen erfassen (z. B. umfassend eine Flugzeug-Flugdatentyp-Vorlage) kann aber keine Personendatentypen erfassen (z. B. nicht umfassend eine Personendatentyp-Vorlage), während die zweite gekoppelten Gruppe 87 keine Flugzeug-Flugdatentypen erfassen kann (z. B. nicht umfassend eine Flugzeug-Flugdatentyp-Vorlage) aber dafür Personendatentypen erfassen kann (z. B. umfassend eine Personendatentyp-Vorlage). Die erste und zweite gekoppelte Gruppe 81 und 87 sind über einen Mitteilungs-Backplane-Übertrager 94 miteinander gekoppelt. Der Mitteilungs-Backplane-Übertrager 94 ist mit einer für ihn zugänglichen Da tenbank 96 verbunden, wie zum Beispiel einer Flug-Passagierlisten-Datenbank die Flugzeug-Flugdatentypen mit Personendatentypen koppelt.For example, the first coupled group 81 However, aircraft flight data types (eg, including an aircraft flight data type template) may not capture personal data types (eg, not comprehensively a personal data type template) while the second coupled group 87 can not capture aircraft flight data types (eg, not comprehensively include an aircraft flight data type template) but can capture personal data types for it (eg, including a personal data type template). The first and second coupled group 81 and 87 are via a message backplane transmitter 94 coupled together. The Message Backplane Transmitter 94 is with a database accessible to him 96 connected, such as a flight passenger list database, the aircraft flight data types coupled with personal data types.

Der Mitteilungs-Backplane-Übertrager 94 empfängt über die Mitteilungs-Backplane 92 die Mitteilungen der ersten gekoppelten Gruppe 81, die Datentypen definierende Datenelemente enthält die für die Elemente der zweiten gekoppelten Gruppe 87 nicht erfassbar sind. Der Übertrager enthält einen ersten Extraktor anwendungsrelevanter Daten 95 der den von der ersten gekoppelten Gruppe empfangenen Mitteilungen Datenelemente entnimmt, die innerhalb des ersten Extraktors anwendungsrelevanten Daten 95 einen auf einer oder mehreren Datentypvorlage basierenden Datentypen definieren. Der Mitteilungs-Backplane-Übertrager 94 ruft dann aus der Datenbank 96 Datenelemente ab, die für die Elemente der ersten gekoppelten Gruppe 81 erfassbaren Datentypen mit für die Elemente der zweiten gekoppelten Gruppe 87 erfassbaren Datentypen koppelt oder verbindet. Zusätzlich empfängt der Mitteilungs-Backplane-Übertrager 94 über die Mitteilungs-Backplane 92 Mitteilungen von der zweiten gekoppelten Gruppe 87 die Datentypen definierende Datenelemente enthält, die für die Elemente der ersten gekoppelten Gruppe 81 nicht erfassbar sind. Der Übertrager 94 enthält einen zweiten Extraktor anwendungsrelevanter Daten 97 der den von der zweiten gekoppelten Gruppe empfangenen Mitteilungen Datenelemente entnimmt, die innerhalb des zweiten Extraktors anwendungsrelevanten Daten 97 einen auf einer oder mehreren Datentypvorlage basierenden Datentypen definieren. Der Mitteilungs-Backplane-Übertrager 94 ruft dann aus der Datenbank 96 Datenelemente ab, die für die Elemente der zweiten gekoppelten Gruppe 87 erfassbaren Datentypen mit für die Elemente der ersten gekoppelten Gruppe 81 erfassbaren Datentypen koppelt oder verbindet.The Message Backplane Transmitter 94 receives via the message backplane 92 the messages of the first coupled group 81 , data elements defining data elements contains those for the elements of the second coupled group 87 are not detectable. The transmitter contains one first extractor of application-relevant data 95 the data received from the messages received from the first coupled group, data relevant within the first extractor application-relevant data 95 define a data type based on one or more data type templates. The Message Backplane Transmitter 94 then call from the database 96 Data elements that are common to the elements of the first coupled group 81 detectable data types with for the elements of the second coupled group 87 Detachable data types couples or connects. In addition, the message backplane transmitter receives 94 via the message backplane 92 Messages from the second coupled group 87 contains the data types defining data elements that are common to the elements of the first linked group 81 are not detectable. The transformer 94 contains a second extractor of application-relevant data 97 deriving from the messages received from the second coupled group data elements that within the second extractor application-relevant data 97 define a data type based on one or more data type templates. The Message Backplane Transmitter 94 then call from the database 96 Data elements that are common to the elements of the second coupled group 87 detectable data types with for the elements of the first coupled group 81 Detachable data types couples or connects.

Zum Beispiel kann in einer Anwendung, die ein Element der ersten gekoppelten Gruppe 81 ist, ein Ereignis auftreten, wie zum Beispiel die Auswahl eines Flugplans. Eine mit diesem Ereignis verbundene Mitteilung kann zu dem Mitteilungs-Backplane-Übertrager 94 übermittelt werden, welcher den Flugplan empfängt und dann von der Datenbank 96 eine Passagierliste für den Flugplan anruft, die dann den Elementen der zweiten gekoppelte Gruppe 87 bereitgestellt wird. Die Elemente der zweiten gekoppelten Gruppe 87 können die Personendatentypen aus der Passagierlisten-Datenbank entnehmen und können die dazugehörigen Funktionen ausführen die in den jeweiligen Elementen mit dem Personendatentyp verbunden sind. Ebenso kann in einer Anwendung, die Element der zweiten gekoppelten Gruppe 87 ist, ein Ereignis auftreten, wie zum Beispiel die Auswahl einer Person. Dieses Ereignis kann eine Mitteilung erzeugen die zu dem Übertrager 94 übermittelt wird. Dieser empfängt den Namen der Person und ruft dann von der Datenbank 96 eine Passagierliste für einen Flug auf der sich die Person befindet ab. Die Passagierliste wird dann den Elementen der ersten gekoppelten Gruppe 81 bereitgestellt. Die Elemente der ersten gekoppelten Gruppe 81 können aus der Passagierlisten-Datenbank einen Flugplan entnehmen auf dem sich die Person befindet und können die dazugehörigen Funktionen ausführen, die in den jeweiligen Elementen mit einem bestimmten Flugplan verbunden sind.For example, in an application that is an element of the first coupled group 81 is an event occur, such as the selection of a flight plan. A message associated with this event may be sent to the message backplane transmitter 94 which receives the flight plan and then from the database 96 calls a passenger list for the flight plan, which then the elements of the second coupled group 87 provided. The elements of the second coupled group 87 The personal data types can be taken from the passenger list database and can execute the associated functions which are linked to the personal data type in the respective elements. Likewise, in one application, the element of the second coupled group 87 is, an event occur, such as the selection of a person. This event can generate a message to the transmitter 94 is transmitted. This receives the name of the person and then calls from the database 96 a passenger list for a flight on which the person is located. The passenger list then becomes the elements of the first paired group 81 provided. The elements of the first coupled group 81 From the passenger list database, a flight plan can be found on which the person is located and can execute the associated functions that are connected to a specific flight plan in the respective elements.

Die 58 stellen, entsprechend einer Ausführungsform der Erfindung, das Koppeln von Anwendungen die einen GUI-Kontroller 100 verwenden und das gemeinsame Nutzen von Informationen der Mitteilungen der Anwendungen zwischen den gekoppelten Anwendungen dar. 5 stellt einen GUI-Kontroller 100 und eine Vielzahl von, mit entsprechenden COTS-Anwendungen verbundenen, GUIs dar. Insbesondere eine erste mit Microsoft® Outlook® verbundene GUI 110, eine zweite mit Microsoft® Excel® verbundene GUI 120 und eine dritte mit Google® Earth verbundene GUI 130. Der GUI-Kontroller 100 umfasst eine Arbeitsfläche in der die Adapter, der bei der Mitteilungs-Backplane registrierten der COTS-Anwendungen, durch die Symbole der COTS-Anwendungsprogramme dargestellt werden, die Microsoft® Outlook®, Microsoft® Excel® und Google® Earth umfassen. Der GUI-Controller 100 ist dazu konfiguriert, Befehle zu der Mitteilungs-Backplane zu übertragen und bestimmte Anwendungen zu koppeln und zu trennen. Die Anwendungen können durch Ziehen und Ablegen der dargestellten Symbole über ein anderes dargestelltes Symbol miteinander gekoppelt werden. Dies veranlasst die Anwendungen, sich miteinander zu koppeln, so dass ihre dargestellten Adapter über die Mitteilungs-Backplane untereinander Mitteilungen empfangen und senden.The 5 - 8th In accordance with one embodiment of the invention, the coupling of applications provides the one GUI controller 100 use and share information between application messages between coupled applications. 5 provides a GUI controller 100 and a variety of, associated with respective COTS applications, GUIs. In particular, a first connected to Microsoft ® Outlook ® GUI 110 , a second GUI linked to Microsoft ® Excel ® 120 and a third GUI connected to Google ® Earth 130 , The GUI controller 100 includes a working area in which the adapter that are displayed in the notification backplane registered COTS applications by the symbols of COTS software applications that include Microsoft ® Outlook ®, Microsoft ® Excel ® and Google ® Earth. The GUI controller 100 is configured to transfer commands to the message backplane and to couple and disconnect certain applications. The applications can be coupled to each other by dragging and dropping the displayed symbols via another icon. This causes the applications to pair with each other so that their illustrated adapters receive and send messages to each other via the message backplane.

6 stellt ein rundes Kopplungselement innerhalb der GUI-Kontroller-Arbeitsfläche, entsprechend einer Ausführungsform der Erfindung, dar. Symbole für Microsoft® Outlook® und Microsoft® Excel® befinden sich innerhalb des runden Kopplungselements, dadurch wird angezeigt, dass diese beiden Programme als gekoppelte Gruppe miteinander gekoppelt wurden, und die jeweiligen Mitteilungen gemeinsam nutzen, so dass Ereignisse in einer Anwendung Ereignisse in der anderen Anwendung auslösen können. Wie zusätzlich in 6 dargestellt hat ein Benutzer eine spezifische E-mail 112 in der mit Microsoft® Outlook® verbundenen ersten GUI ausgewählt, die veranlasst, dass eine Mitteilung mit den Namen ”Adrian Kaehler” über die Mitteilungs-Backplane übermittelt wird und von der Anwendung Microsoft® Excel® empfangen wird. Die Anwendung Microsoft® Excel® enthält eine Datei test1.xls die geöffnet wird und die einen Namen und eine dazugehörige Telefonnummernliste mit verschiedenen Namen und dazugehörigen Telefonnummern enthält. Die Anwendung Microsoft® Excel® stellt Befehle für die mit Microsoft® Excel® verbundene zweite GUI 120 bereit, um jede Zeile 122 mit dem Namen ”Adrian Kaehler” und den damit verbundenen Telefonnummern hervorzuheben, so wie es in 6 dargestellt ist. Ein COTS-Adapter für Microsoft® Excel® konvertiert das Microsoft® Excel®-Mitteilungsformat in das Mitteilungs-Backplane-Format und umgekehrt. Ein mit dem COTS-Adapter verbundener Extraktor anwendungsrelevanter Daten sucht nach Übereinstimmungen zwischen Datenelementen in den von der Mitteilungs-Backplane übertragen Mitteilungen mit Personendatentyp-Vorlagen, die folgendermaßen aussehen können:
<map tid=’person’>
<scalar label=’Last Name?’ called=”Last Name’/>
<scalar label=’First Name?’ called=’First Name’/>
</map>
6 represents a round coupling element within the GUI controller workspace according to an embodiment of the invention represents. symbols for Microsoft ® Outlook ® and Microsoft ® Excel ® are located inside the round coupling element, thereby indicating that these two programs as coupled group together and share the respective messages so that events in one application can trigger events in the other application. As additional in 6 a user has presented a specific e-mail 112 selected in the related Microsoft ® Outlook ® first GUI that causes a message with the name "Adrian Kaehler" is transmitted via the message backplane and is received by the application Microsoft ® Excel ®. The Microsoft ® Excel ® application contains a test1.xls file that will open, containing a name and associated phone number list with different names and associated phone numbers. The application Microsoft ® Excel ® provides commands for the connected with Microsoft ® Excel ® second GUI 120 ready to take each line 122 with the name "Adrian Kaehler" and the associated telephone numbers to emphasize, as it in 6 is shown. A COTS adapter for Microsoft ® Excel ® Microsoft ® Excel ® -Mitteilungsformat converted to the announcement backplane format and vice versa. An extractor of application-relevant data connected to the COTS adapter searches for matches between data elements in the middle of the Management Backplane transfers messages with personal data type templates that can look like this:
<map tid = 'person'>
<scalar label = 'Last Name?' called = "Last Name '/>
<scalar label = 'First Name?' called = 'First Name'/>
</ Map>

Daher wird der Extraktor anwendungsrelevanter Daten Datenelemente aus Mitteilungen entnehmen die die Datenelement-Bezeichner ”Last Name” und ”First Name” enthalten, wie zum Beispiel die Nachrichten, die in Reaktion auf die Auswahl der oben beschriebenen E-mail empfangen wurden.Therefore The extractor of application-relevant data is data elements Take messages containing the data element identifiers "Last Name" and "First Name", such as the news, in response to the selection the e-mail described above.

7 stellt das Auswählen eines Übertragers in der GUI-Kontroller-Arbeitsfläche, entsprechend einer Ausführungsform der Erfindung, dar. Eine andere Anwendung kann ausgewählt werden, um mit der gekoppelten Gruppe über einen Übertrager gekoppelt zu werden. Der Übertrager stellt einen Zusammenhang zwischen Datentypen bereit die die Anwendungsprogramme vorher nicht erfassen konnten. In 7 hat, unter Verwendung des Übertrager-Auswahlfensters 104, der Benutzer ausgewählt, die gekoppelte Gruppe von Microsoft® Outlook® und Microsoft® Excel® mit Google® Earth zu koppeln, und hat dazu den ”phone lookup” Übertrager 106 ausgewählt. 7 illustrates selecting a transmitter in the GUI controller workspace, according to an embodiment of the invention. Another application may be selected to be coupled to the coupled group via a transmitter. The transformer provides a relationship between data types that the application programs could not previously capture. In 7 has, using the Transformer Selection window 104 , The user has selected to couple the coupled group of Microsoft ® Outlook ® and Microsoft ® Excel ® with Google ® Earth, and has this to "phone lookup" transformer 106 selected.

8 stellt das Koppeln der Gruppe Microsoft® Outlook® und Microsoft® Excel® mit Google® Earth durch den Übertrager über zwei sich außerhalb der Kopplungsfläche befindenden Doppelpfeile dar. Der ”phone lookup”-Übertrager 106 stellt durch die Kopplung mit Google® Earth Adressen für die bereitgestellten Personen oder Telefonnummern bereit. Wie in 8 dargestellt, hat der Benutzer eine der mit ”Adrian Kaehler” verbundenen Telefonnummern 124 ausgewählt, dies führt dazu, dass eine Mitteilung mit einer entsprechenden Telefonnummer über die Mitteilungs-Backplane zum ”phone lookup”-Übertrager 106 übertragen wird, der für die entsprechende Telefonnummer die zugehörigen Adressen erzeugt. Google® Earth empfängt die mit der Telefonnummer verbundene Adresse und dreht die Darstellung der Erde zur Position der entsprechenden Adresse die der ausgewählten Telefonnummer entspricht. Der Übertrager 106 kann einen Extraktor anwendungsrelevanter Daten enthalten der nach Übereinstimmungen zwischen den Datenelementen in den von der Mitteilungs-Backplane übertragenen Mitteilungen und in einer Telefondatentyp-Vorlage sucht, die folgendermaßen aussieht:
<map tid=’phone number’>
<scalar label=’Phone Number?’ called=”Phone Number’/>
</map>
8th represents the coupling of the group Microsoft ® Outlook ® and Microsoft ® Excel ® with Google ® Earth through the transmitter via two double arrows located outside the interface. The 'phone lookup' transmitter 106 Connects to Google ® Earth to provide addresses for the people or phone numbers provided. As in 8th the user has one of the telephone numbers associated with "Adrian Kaehler" 124 selected, this results in a message with a corresponding telephone number via the message backplane to the "phone lookup" exchanger 106 is transmitted, which generates the corresponding addresses for the corresponding telephone number. Google ® Earth receives the address associated with the phone number and turns the picture of the earth to the position of the corresponding address corresponds to the selected telephone number. The transformer 106 may contain an extractor of application-relevant data that searches for matches between the data items in the messages transmitted by the message backplane and in a phone data type template that looks like this:
<map tid = 'phone number'>
<scalar label = 'Phone Number?' called = "Phone Number '/>
</ Map>

Daher wird der Extraktor anwendungsrelevanter Daten die Datenelemente aus den Mitteilungen entnehmen die den Datenelement-Bezeichner ”phone number” enthalten und wird die entsprechende Telefonnummer nachschlagen und sie zu einem COTS-Adapter für Google® Earth übertragen, der dann das Mitteilungs-Backplane-Format in das Google® Earth-Mitteilungsformat konvertiert und zu Google® Earth überträgt.Therefore, the extractor application-relevant data is found in the data elements of the messages that contain the data item identifier "phone number" and will look up the phone number and transfer them to a COTS adapter for Google ® Earth, then the announcement backplane format Google ® Earth-message format converts and transfers to Google ® Earth.

9 stellt ein Computersystem 200 dar das verwendet werden kann, um die hierin beschriebenen Systeme und Methoden umzusetzen, wie zum Beispiel durch auf diesem Computersystem ablaufende, von einem Computer ausführbare Befehle. Das Computersystem 200 kann durch einen oder mehreren Universalnetzwerk-Computersystemen, eingebettete Computersysteme, Router, Switches, Servereinheiten, Client-Einheiten, verschiedene dazwischen liegende Einheiten/Knoten und/oder alleinstehende Computersysteme implementiert werden. Zusätzlich kann das Computersystem 200 als Teil eines computerunterstützten Entwicklungs-(CAE)-Werkzeugs implementiert werden, das computerausführbare Befehle ausführt, um die hierin beschriebene Methode durchzuführen. 9 Represents a computer system 200 which may be used to implement the systems and methods described herein, such as, for example, computer-executable instructions executing on that computer system. The computer system 200 may be implemented by one or more universal network computer systems, embedded computer systems, routers, switches, server units, client devices, various intervening devices / nodes, and / or stand-alone computer systems. In addition, the computer system 200 as part of a Computer Aided Development (CAE) tool that executes computer-executable instructions to perform the method described herein.

Das Computersystem 200 beinhaltet einen Prozessor 202 und einen Systemspeicher 204. Ein Systembus 206 verbindet verschiedene Systemkomponenten die auch Systemspeicher 204 und Prozessor 202 umfassen. Auch können duale Mikroprozessoren und andere Mikroprozessor-Architekturen in dem Prozessor 202 verwendet werden. Der Systembus 206 kann in einer beliebigen von verschiedenen Busstrukturtypen implementiert werden, die einen Speicherbus oder Speicher-Kontroller, einen Peripheriebus, und einen lokalen Bus umfassen, die eine beliebige von vielfältigen Bus-Architektur verwenden. Der Systemspeicher 204 umfasst Festspeicher (ROM) 208 und Arbeitsspeicher (RAM) 210. Ein Basis-Eingabe/Ausgabe-System (BIOS) 212 kann sich in dem ROM 208 befinden, das üblicherweise die grundlegenden Routinen enthält, die helfen Information zwischen den Elementen innerhalb des Computersystems 300 zu übertragen, wie zum Beispiel Reset oder Hochfahren.The computer system 200 includes a processor 202 and a system memory 204 , A system bus 206 connects various system components which also store system memory 204 and processor 202 include. Also, dual microprocessors and other microprocessor architectures may be in the processor 202 be used. The system bus 206 can be implemented in any of a variety of bus structure types, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory 204 includes read-only memory (ROM) 208 and RAM 210 , A basic input / output system (BIOS) 212 can be in the ROM 208 which usually contains the basic routines that help information between the elements within the computer system 300 to transfer, such as reset or boot.

Das Computersystem 200 kann umfassen: ein Festplattenlaufwerk 214, ein magnetisches Diskettenlaufwerk 216, um zum Beispiel entfernbare Disketten 218 zu lesen und zu beschreiben, und ein optisches Laufwerk 220, um zum Beispiel CD-ROMs oder DVD-Disks 222 auszulesen, oder um andere optische Medien zu lesen oder zu beschreiben. Die Festplatte 240, das magnetische Diskettenlaufwerk 216 und das optische Laufwerk 220 sind jeweils mit dem Systembus 206 über eine Festplattenschnittstelle 224, eine Schnittstelle für das magnetische Diskettenlaufwerk 226 und eine Schnittstelle für das optische Laufwerk 228 verbunden. Die Laufwerke und die damit verbundenen computerlesbaren Medien stellen für das Computersystem 200 einen nicht-flüchtigen Speicher für Daten, Datenstrukturen und computer-ausführbare Befehle dar. Obwohl sich die vorstehende Beschreibung von Computer-lesbaren Medien auf Festplatten, entfernbare magnetische Disketten und eine CD beziehen, können ebenso andere Arten von computerlesbaren Medien benutzt werden. Zum Beispiel können die von einem Computer ausführbaren Befehle zur Umsetzung der hierin beschriebenen Systeme und Methoden auch auf einer magnetischen Kassette, Flash-Speicherkarten, digitalen Videodisketten oder vergleichbarem gespeichert werden.The computer system 200 may include: a hard disk drive 214 , a magnetic disk drive 216 For example, removable disks 218 to read and write, and an optical drive 220 for example, CD-ROMs or DVD discs 222 or to read or write to other optical media. The hard disk 240 , the magnetic disk drive 216 and the optical drive 220 are each with the system bus 206 via a hard disk interface 224 , an interface for the magnetic disk drive 226 and an optical drive interface 228 connected. The drives and the associated computer-readable media pose for the computer system 200 Although the foregoing description of computer-readable media refers to hard disks, removable magnetic disks, and a CD, other types of computer-readable media may be used as well. For example, the computer-executable instructions for implementing the systems and methods described herein may also be stored on a magnetic cartridge, flash memory cards, digital video disks, or the like.

Ebenso können in dem einen oder den mehreren Laufwerken oder im RAM 210 eine Reihe von Programmmodulen gespeichert werden, die ein Betriebssystem 230, ein oder mehrere Anwendungsprogramme 232, andere Programmmodule 234 und Programmdaten 236 beinhalten, so wie die in 1-8 beschriebenen Systeme und Methoden zur Entnahme anwendungsrelevanter Daten aus Mitteilungen.Likewise, in the one or more drives or in RAM 210 a set of program modules are saved, which is an operating system 230 , one or more application programs 232 , other program modules 234 and program data 236 include, as in 1 - 8th systems and methods for extracting application-relevant data from communications.

Ein Benutzer kann Befehle und Information in das Computersystem 200 über ein Benutzereingabegerät 240, wie zum Beispiel ein Keyboard, ein Zeigegerät (z. B. eine Maus) eingeben. Andere Eingabegeräte können ein Mikrofon, einen Joystick, ein Game-Pad, einen Scanner, einen Touch-Screen oder ähnliches umfassen. Diese und andere Eingabegeräte sind mit dem Prozessor 202 oft über eine dazugehörige Schnittstelle oder einen Bus 224 verbunden der mit dem Systembus 206 verbunden ist. Alternativ können diese Eingabegeräte mit dem Systembus 206 über andere Schnittstellen wie zum Beispiel über eine parallele Schnittstelle, eine serielle Schnittstelle oder einem universellen seriellen Bus (USB) verbunden werden. Auch können ein oder mehrere Ausgabegeräte 244 wie zum Beispiel ein visuelles Anzeigegerät oder ein Drucker mit dem Systembus 206 über eine Schnittstelle oder einen Adapter 246 verbunden werden.A user can send commands and information to the computer system 200 via a user input device 240 , such as a keyboard, enter a pointing device (such as a mouse). Other input devices may include a microphone, a joystick, a game pad, a scanner, a touch screen, or the like. These and other input devices are with the processor 202 often via an associated interface or bus 224 connected to the system bus 206 connected is. Alternatively, these input devices can be connected to the system bus 206 via other interfaces such as a parallel port, a serial port or a universal serial bus (USB). Also, one or more output devices 244 such as a visual display device or a printer with the system bus 206 via an interface or an adapter 246 get connected.

Das Computersystem 200 kann in einer Netzwerkumgebung betrieben werden die logische Verbindungen 248 zu einem oder mehreren entfernten Computern 250 nutzt. Die entfernten Computer 250 können eine Workstation, ein Computersystem, ein Router, ein Peer-Gerät oder andere bekannte Netzwerkknoten sein, und enthalten typischerweise viele oder alle der Elemente die in Verbindung mit dem Computersystem 200 beschrieben wur den. Die logische Verbindung 248 kann ein lokales Netzwerk (LAN) und ein Fernnetzwerk (WAN) umfassen.The computer system 200 can be operated in a network environment the logical connections 248 to one or more remote computers 250 uses. The remote computers 250 may be a workstation, a computer system, a router, a peer device, or other known network nodes, and typically includes many or all of the elements associated with the computer system 200 Written. The logical connection 248 may include a local area network (LAN) and a wide area network (WAN).

Wenn eine LAN-Netzwerkumgebung verwendet wird, kann das Computersystem 200 mit dem lokalen Netzwerk über eine Netzwerkschnittstelle 252 verbunden werden. Beim Einsatz in einer WAN-Netzwerkumgebung kann das Computersystem 200 ein (nicht dargestelltes) Modem enthalten oder kann mit einem Kommunikationsserver über LAN verbunden sein. In einer Netzwerkumgebung können die in Verbindung mit dem Computersystem 200 beschriebenen Applikationsprogramme 232 und Programmdaten 236, oder Teile davon, im Speicher 254 der entfernten Computer 250 gespeichert werden.If a LAN network environment is used, the computer system may 200 with the local network via a network interface 252 get connected. When used in a WAN network environment, the computer system can 200 include a modem (not shown) or may be connected to a communication server via LAN. In a network environment, those can be used in conjunction with the computer system 200 described application programs 232 and program data 236 , or parts of it, in the store 254 the remote computer 250 get saved.

Das oben Beschriebene sind Beispiele der vorliegenden Erfindung. Natürlich ist es nicht möglich, jede denkbare Kombination von Komponenten oder Methoden zur Darstellung der vorliegenden Erfindung zu beschreiben, aber ein Fachmann erkennt, dass viele weitere Kombinationen und Umsetzungen der vorliegenden Erfindung möglich sind. Daher ist es vorgesehen, dass die vorliegende Erfindung alle Änderungen, Modifikationen und Abweichungen erfasst die in dem Geltungsbereich der beigefügten Ansprüche fallen.The The above are examples of the present invention. of course is it is not possible every conceivable combination of components or methods for presentation of the present invention, but one skilled in the art will recognize that many other combinations and reactions of the present invention possible are. Therefore, it is intended that the present invention all changes, Modifications and deviations are included in the scope the attached claims fall.

Claims (20)

Ein System zur Entnahme anwendungsrelevanter Daten aus Mitteilungen, das System beinhaltet: – einen Mitteilungsanalysierer (12), der Mitteilungen analysiert und einen Mitteilungsbaum mit einem oder mehreren Objekten erzeugt; – eine oder mehrere Datentypvorlagen (16), die einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp definieren; – eine Vergleichs-Engine (14), die – die Datenelemente in dem einen oder den mehreren Objekten mit Datenelementen in der einen oder den mehreren Datentypevorlagen (16) vergleicht, und – die Datenelemente in dem einen oder den mehreren Objekten die mit Datenelementen in der einen oder den mehreren Datenvorlagen zusammenpassen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen (16) zu einem spezifischen Datentyp gruppiert.A system for retrieving application-relevant data from messages, the system includes: a message parser ( 12 ) that analyzes messages and generates a message tree with one or more objects; - one or more data type templates ( 16 ) defining a defined data type based on one or more data elements; - a comparison engine ( 14 ), the - the data elements in the one or more objects with data elements in the one or more data type templates ( 16 ), and - the data items in the one or more objects that match data items in the one or more data templates correspond to the matching associated data type templates ( 16 ) is grouped into a specific data type. Das System nach Anspruch 1, wobei die Vergleichs-Engine (14) zusätzlich den spezifischen Datentyp, der mit der dazugehörigen Datentypvorlage (16) zusammenpasst, in ein Objekt in einer Software-Anwendung abbildet.The system of claim 1, wherein the comparison engine ( 14 ) additionally the specific data type, which is linked to the corresponding data type template ( 16 ), maps into an object in a software application. Das System nach Anspruch 1, wobei die gruppierten Datenelemente die Datenelement-Bezeichner und dazugehörige Attribute und/oder Werte beinhalten.The system of claim 1, wherein the grouped ones Data elements the data element identifiers and associated attributes and / or values. Das System nach Anspruch 1, wobei das System ein, zu einer ersten Software-Anwendung gehöriger erster Extraktor anwendungsrelevanter Daten (45, 67) ist und zusätzlich einen zu einer zweiten Software-Anwendung gehörigen zweiten Extraktor anwendungsrelevanter Daten (49, 73) mit einem Mitteilungsanalysierer, einer oder mehreren Datentypevorlagen (16), und einer Vergleichs-Engine (14) beinhaltet, wobei – der erste Extraktor anwendungsrelevanter Daten (45, 67) anwendungsrelevante Daten, die auf die erste Software-Anwendung abgebildet werden, aus den von der zweiten Software-Anwendung erzeugten Mitteilungen entnimmt, und – der zweite Extraktor anwendungsrelevanter Daten (49, 73) anwendungsrelevante Daten, die auf die zweite Software-Anwendung abgebildet werden, aus den von der ersten Software-Anwendung erzeugten Mitteilungen entnimmt.The system of claim 1, wherein the system is a first extractor of application relevant data associated with a first software application ( 45 . 67 ) and, in addition, a second extractor of application-relevant data belonging to a second software application ( 49 . 73 ) with a message parser, one or more data type templates ( 16 ), and a comparison engine ( 14 ), where - the first extractor of application-relevant data ( 45 . 67 ) extracts application-relevant data, which is mapped to the first software application, from the messages generated by the second software application, and - the second extractor of application-relevant data ( 49 . 73 ) extracts application-relevant data mapped to the second software application from the messages generated by the first software application. Das System nach Anspruch 4, zusätzlich beinhaltend, eine Mitteilungs-Backplane (50, 74, 92), – die Mitteilung, die zwischen Back-End (44, 64) und Front-End (42, 62) der ersten Software-Anwendung übertragen wurden, zum zweiten Extraktor anwendungsrelevanter Daten (49, 73) leitet, und – die Mitteilungen, die zwischen Back-End (48, 70) und Front-End (46, 68) der zweiten Software-Anwendung übertragen wurden, zum ersten Extraktor anwendungsrelevanter Daten (45, 67) leitet.The system of claim 4, further comprising, a message backplane ( 50 . 74 . 92 ), - the message between back-end ( 44 . 64 ) and front-end ( 42 . 62 ) were transferred to the second extractor of application-relevant data ( 49 . 73 ), and - the messages sent between back-end ( 48 . 70 ) and front-end ( 46 . 68 ) were transferred to the second software application, becoming the first extractor of application-relevant data ( 45 . 67 ). Das System nach Anspruch 5, wobei – der erste Extraktor anwendungsrelevanter Daten (45, 67) die anwendungsrelevanten Daten in dem Back-End (44, 64) der ersten Anwendung abbildet, um das Back-End (44, 64) der ersten Anwendung zum Erzeugen von Anweisungen an das Front-End (42, 62) der ersten Software-Anwendung zu veranlassen, die im Front-End (42, 62) der ersten Software-Anwendung das Auftreten von Ereignissen veranlassen, die auf den empfangenen anwendungsrelevanten Daten basieren, und – der zweite Extraktor anwendungsrelevanter Daten (49, 73) die anwendungsrelevanten Daten in dem Back-End (48, 70) der zweiten Anwendung abbildet, um das Back-End (48, 70) der zweiten Anwendung zum Erzeugen von Anweisungen an das Front-End (46, 68) der zweiten Software-Anwendung zu veranlassen, die im Front-End (46, 68) der zweiten Software-Anwendung das Auftreten von Ereignissen veranlassen, die auf den empfangenen anwendungsrelevanten Daten basieren.The system according to claim 5, wherein - the first extractor of application-relevant data ( 45 . 67 ) the application-relevant data in the back-end ( 44 . 64 ) of the first application to the back-end ( 44 . 64 ) of the first application for generating instructions to the front-end ( 42 . 62 ) of the first software application used in the front-end ( 42 . 62 ) the first software application to cause occurrences based on the received application-relevant data, and - the second extractor of application-relevant data ( 49 . 73 ) the application-relevant data in the back-end ( 48 . 70 ) of the second application to the back-end ( 48 . 70 ) of the second application for generating instructions to the front-end ( 46 . 68 ) of the second software application running in the front-end ( 46 . 68 ) of the second software application causing occurrences to be based on the received application-relevant data. Das System nach Anspruch 6, wobei – der erste Extraktor anwendungsrelevanter Daten (67) mit einem ersten Mitteilungsadapter (66) verbunden ist, der dazu konfiguriert ist, um – die Anwendungs-Mitteilungen „kommerzieller Produkte aus dem Regal” (eng. commercials off the shelf/COTS) von einem ersten COTS Anwendungs-Mitteilungsformat in ein Mitteilungs-Backplane-Mitteilungsformat und – ein Mitteilungs-Backplane-Mitteilungsformat in ein erstes COTS Anwendungs-Mitteilungsformat zu konvertieren, und – der zweite Extraktor anwendungsrelevanter Daten (73) mit einem zweiten Mitteilungsadapter (72) verbunden ist, der dazu konfiguriert ist, um – die COTS-Anwendungs-Mitteilungen von einem zweiten COTS Anwendungs-Mitteilungsformat in ein Mitteilungs-Backplane-Mitteilungsformat und – ein Mitteilungs-Backplane-Mitteilungsformat in ein zweites COTS Anwendungs-Mitteilungsformat zu konvertieren.The system of claim 6, wherein - the first extractor of application relevant data ( 67 ) with a first message adapter ( 66 ), which is configured to: - "commercial off-the shelf" (COTS) application messages from a first COTS application message format to a message backplane message format, and - a message -Backplane message format to be converted into a first COTS application message format, and - the second extractor of application-relevant data ( 73 ) with a second message adapter ( 72 ) configured to - convert the COTS application messages from a second COTS application message format to a message backplane message format and - a message backplane message format into a second COTS application message format. Das System nach Anspruch 4, zusätzlich beinhaltend, einen Mitteilungs-Backplane-Übertrager (94), der dazu konfiguriert ist, um Datentypen eines ersten für die erste Software Anwendung erfassbaren Datentyps mit Datentypen eines zweiten für die zweite Software Anwendung erfassbaren Datentyps zu koppeln, wobei der Übertrager (94) einen dritten Extraktor anwendungsrelevanter Daten (95) beinhaltet, der dazu konfiguriert ist, Datenelemente des ersten Datentyps zu entnehmen und auf den Übertrager (94) abzubilden, und zusätzlich einen vierten Extraktor anwendungsrelevanter Daten (97) beinhaltet, der dazu konfiguriert ist, Datenelemente des zweiten Datentyps zu entnehmen und auf den Übertrager (94) abzubilden.The system of claim 4, further comprising, a message backplane transmitter ( 94 ) configured to couple data types of a first data type detectable by the first software application to data types of a second data type detectable by the second software application, the transmitter ( 94 ) a third extractor of application-relevant data ( 95 ) which is configured to extract data elements of the first data type and to the transmitter ( 94 ) and additionally a fourth extractor of application-relevant data ( 97 ) configured to extract data elements of the second data type and to the transmitter ( 94 ). Das System nach Anspruch 8, zusätzlich eine für den Übertrager (94) zugängliche Datenbank (96) beinhaltend, die einen dritten Datentyp enthält, der Daten des ersten Datentyps mit den Daten des zweiten Datentyps koppelt.The system according to claim 8, additionally one for the transformer ( 94 ) accessible database ( 96 ) including a third data type coupling data of the first data type with the data of the second data type. Das System nach Anspruch 4, zusätzlich eine Standarddatentypvorlage (18) beinhaltend, die vom ersten und zweiten Extraktor anwendungsrelevanter Daten (45, 49, 67, 73) eingesetzt wird, um für die erste und zweite Software Anwendung eine gemeinsame Definitionen der Datentypen bereitzustellen.The system of claim 4, additionally comprising a standard data type template ( 18 ), the first and second extractors of application-relevant data ( 45 . 49 . 67 . 73 ) is used to provide common definitions of the data types for the first and second software applications. Ein computerlesbares Medium mit Komponenten die von einem Computer ausgeführt werden, um Software Anwendungen zu koppeln, und um anwendungsrelevante Daten aus Mitteilungen zwischen Software Anwendungen zu entnehmen, das computerlesbare Medium beinhaltet: – ein zur ersten Software Anwendung dazugehöriger ersten Extraktor anwendungsrelevanter Daten (45, 67) der erste Extraktor anwendungsrelevanter Daten (45, 67) beinhaltet: – eine erste Vielzahl von für die erste Software Anwendung relevanter Datentypvorlagen (16), von denen jede einen festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp definiert; und – eine erste Vergleichs-Engine (14), – die Datenelemente in den für die erste Software Anwendung vorgesehenen Mitteilungen, mit den Datenelemente in der einen oder den mehreren der ersten Vielzahl der Datentypvorlagen (16) vergleicht, – die Datenelemente in dem einen oder den mehreren Objekten die mit Datenelementen in der einen oder den mehreren der ersten Vielzahl der Datentypvorlagen (16) zusammenpassen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen (16), zu einem spezifischen Datentyp gruppiert, und – die spezifischen Datentypen, die mit den dazugehörigen Datentypvorlagen (16) übereinstimmen, auf Objekte in der ersten Software Anwendung abbilden; und – ein zur zweiten Software Anwendung dazugehöriger zweiter Extraktor anwendungsrelevanter Daten (49, 73), der zweite Extraktor anwendungsrelevanter Daten (49, 73) beinhaltet: – eine zweite Vielzahl von für die zweite Software Anwendung relevanter Datentypvorlagen (16), von denen jede einen festgelegten, auf einem oder mehreren Datenelementen basierenden Datentyp definiert; und – eine zweite Vergleichs-Engine (14), – die Datenelemente in den für die zweite Software Anwendung vorgesehenen Mitteilungen, mit den Datenelementen in der einen oder den mehreren der zweiten Vielzahl der Datentypvorlagen (16) vergleicht, – die Datenelemente in dem einen oder den mehreren Objekten die mit Datenelementen in der einen oder den mehreren der zweiten Vielzahl der Datentypvorlagen (16) zusammenpassen, entsprechend den zusammenpassenden dazugehörigen Datentypvorlagen (16), zu einem spezifischen Datentyp gruppiert, und – die spezifischen Datentypen, die mit den dazugehörigen Datentypvorlagen (16) übereinstimmen, auf Objekte in der zweiten Software Anwendung abbilden.A computer-readable medium having components executed by a computer to couple software applications and to extract application-relevant data from messages between software applications containing computer-readable media: - a first extractor of application-relevant data associated with the first software application ( 45 . 67 ) the first extractor of application-relevant data ( 45 . 67 ) includes: - a first plurality of data type templates relevant to the first software application ( 16 each defining a predetermined data type based on one or more data elements; and a first comparison engine ( 14 ), The data elements in the messages provided for the first software application, with the data elements in the one or more of the first Variety of data type templates ( 16 ) compares the data elements in the one or more objects that contain data elements in the one or more of the first plurality of data type templates ( 16 ) matching the matching data type templates ( 16 ), grouped to a specific data type, and - the specific data types associated with the associated data type templates ( 16 ) map to objects in the first software application; and - a second extractor of application-relevant data associated with the second software application ( 49 . 73 ), the second extractor of application-relevant data ( 49 . 73 ) includes: - a second plurality of data type templates relevant to the second software application ( 16 each of which defines a specified data type based on one or more data elements; and a second comparison engine ( 14 ), - the data elements in the messages provided for the second software application, with the data elements in the one or more of the second plurality of data type templates ( 16 ) compares the data elements in the one or more objects that contain data elements in the one or more of the second plurality of data type templates ( 16 ) matching the matching data type templates ( 16 ), grouped to a specific data type, and - the specific data types associated with the associated data type templates ( 16 ) map to objects in the second software application. Das computerlesbare Medium nach Anspruch 11, zusätzlich eine Mitteilungs-Backplane (50, 74, 92) beinhaltend, – die Mitteilungen, die zwischen Back-End (44, 64) und Front-End (42, 62) der ersten Software-Anwendung übertragen wurden, zum zweiten Extraktor anwendungsrelevanter Daten (49, 73) leitet, und – die Mitteilungen, die zwischen Back-End (48, 70) und Front-End (46, 48) der zweiten Software-Anwendung übertragen wurden, zum ersten Extraktor anwendungsrelevanter Daten (45, 67) leitet.The computer-readable medium of claim 11, further comprising a message backplane ( 50 . 74 . 92 ), - messages sent between back-end ( 44 . 64 ) and front-end ( 42 . 62 ) were transferred to the second extractor of application-relevant data ( 49 . 73 ), and - the messages sent between back-end ( 48 . 70 ) and front-end ( 46 . 48 ) were transferred to the second software application, becoming the first extractor of application-relevant data ( 45 . 67 ). Das computerlesbare Medium nach Anspruch 12, wobei – der erste Extraktor anwendungsrelevanter Daten (45, 67) die anwendungsrelevanten Daten in dem Back-End (44, 64) der ersten Anwendung abbildet, um das Back-End (44, 64) der ersten Anwendung zum Erzeugen von Anweisungen an das Front-End (42, 62) der ersten Software-Anwendung zu veranlassen, die im Front-End (42, 62) der ersten Software-Anwendung das Auftreten von Ereignissen veranlassen, die auf den empfangenen anwendungsrelevanten Daten basieren, und – der zweite Extraktor anwendungsrelevanter Daten (49, 73) die anwendungsrelevanten Daten in dem Back-End (48, 70) der zweiten Anwendung abbildet, um das Back-End (48, 70) der zweiten Anwendung zum Erzeugen von Anweisungen an das Front-End (46, 68) der zweiten Software-Anwendung zu veranlassen, die im Front-End (46, 68) der zweiten Software-Anwendung das Auftreten von Ereignissen veranlassen, die auf den empfangenen anwendungsrelevanten Daten basieren.The computer readable medium of claim 12, wherein - the first extractor of application relevant data ( 45 . 67 ) the application-relevant data in the back-end ( 44 . 64 ) of the first application to the back-end ( 44 . 64 ) of the first application for generating instructions to the front-end ( 42 . 62 ) of the first software application used in the front-end ( 42 . 62 ) the first software application to cause occurrences based on the received application-relevant data, and - the second extractor of application-relevant data ( 49 . 73 ) the application-relevant data in the back-end ( 48 . 70 ) of the second application to the back-end ( 48 . 70 ) of the second application for generating instructions to the front-end ( 46 . 68 ) of the second software application running in the front-end ( 46 . 68 ) of the second software application causing occurrences to be based on the received application-relevant data. Das computerlesbare Medium nach Anspruch 12, wobei – der erste Extraktor anwendungsrelevanter Daten (67) mit einem ersten Mitteilungsadapter (66) verbunden ist, der dazu konfiguriert ist, um – die Anwendungs-Mitteilungen „kommerzieller Produkte aus dem Regal” (eng. commercials off the shelf/COTS) von einem ersten COTS Anwendungs-Mitteilungsformat in ein Mitteilungs-Backplane-Mitteilungsformat und – ein Mitteilungs-Backplane-Mitteilungsformat in ein erstes COTS Anwendungs-Mitteilungsformat zu konvertieren, und – der zweite Extraktor anwendungsrelevanter Daten (73) mit einem zweiten Mitteilungsadapter (72) verbunden ist, der dazu konfiguriert ist, um – die COTS-Anwendungs-Mitteilungen von einem zweiten COTS Anwendungs-Mitteilungsformat in ein Mitteilungs-Backplane-Mitteilungsformat und – ein Mitteilungs-Backplane-Mitteilungsformat in ein zweites COTS Anwendungs-Mitteilungsformat zu konvertieren.The computer readable medium of claim 12, wherein - the first extractor of application relevant data ( 67 ) with a first message adapter ( 66 ), which is configured to: - "commercial off-the shelf" (COTS) application messages from a first COTS application message format to a message backplane message format, and - a message -Backplane message format to be converted into a first COTS application message format, and - the second extractor of application-relevant data ( 73 ) with a second message adapter ( 72 ) configured to - convert the COTS application messages from a second COTS application message format to a message backplane message format and - a message backplane message format into a second COTS application message format. Das computerlesbare Medium nach Anspruch 12, zusätzlich einen Mitteilungs-Backplane-Übertrager (94) beinhaltend, der dazu konfiguriert ist, um Datentypen eines ersten für die erste Software Anwendung erfassbaren Datentyps mit Datentypen eines zweiten für die zweite Software Anwendung erfassbaren Datentyps zu koppeln, wobei der Übertrager (94) einen dritten Extraktor anwendungsrelevanter Daten (95) beinhaltet, der dazu konfiguriert ist, Datenelemente des ersten Datentyps zu entnehmen und auf den Übertrager (94) abzubilden, und zusätzlich einen vierten Extraktor anwendungsrelevanter Daten (97) beinhaltet, der dazu konfiguriert ist, Datenelemente des zweiten Datentyps zu entnehmen und auf den Übertrager (94) abzubilden.The computer-readable medium of claim 12, further comprising a message backplane transmitter ( 94 ) configured to couple data types of a first data type detectable by the first software application to data types of a second data type detectable by the second software application, the transmitter ( 94 ) a third extractor of application-relevant data ( 95 ) which is configured to extract data elements of the first data type and to the transmitter ( 94 ) and additionally a fourth extractor of application-relevant data ( 97 ) configured to extract data elements of the second data type and to the transmitter ( 94 ). Das computerlesbare Medium nach Anspruch 15, zusätzlich eine für den Übertrager (94) zugängliche Datenbank (96) beinhaltend, die einen dritten Datentyp enthält, der Daten des ersten Datentyps mit den Daten des zweiten Datentyps koppelt.The computer-readable medium of claim 15, additionally comprising one for the transmitter ( 94 ) accessible database ( 96 ) including a third data type coupling data of the first data type with the data of the second data type. Das computerlesbares Medium nach Anspruch 11, zusätzlich beinhaltend, eine Standarddatentypvorlage (18), die vom ersten und zweiten Extraktor anwendungsrelevanter Daten (45, 49, 67, 73) eingesetzt wird, um für die erste und zweite Software Anwendung eine gemeinsame Definitionen der Datentypen bereitzustellen.The computer-readable medium after An In addition, claim 11, including a standard data type template ( 18 ), the first and second extractors of application-relevant data ( 45 . 49 . 67 . 73 ) is used to provide common definitions of the data types for the first and second software applications. Eine Methode zur Entnahme anwendungsrelevanter Daten aus Mitteilungen, die Methode beinhaltet: – Analyse einer von einer ersten Software Anwendung empfangenen Mitteilung und Erzeugen eines Mitteilungsbaumes mit einem oder mehreren Objekten aus der analysierten Mitteilung; – Vergleichen der Datenelemente in dem einen oder den mehreren Objekten mit Datenelementen in einer oder mehreren Datentypvorlagen (16), die Datentypvorlagen (16) definieren einen festgelegten, auf einem oder mehreren Datenelementen basierenden Datentyp, um Übereinstimmungen zwischen den Datenelementen in dem einen oder den mehreren Objekten mit den Datenelementen in der einen oder mehreren Datentypvorlagen (16) zu ermitteln; und – Abbilden der Datenelemente in dem einen oder den mehreren Objekten, die mit den Datenelementen in der einen oder den mehreren Datentypevorlagen (16) übereinstimmen, in eine zweite Software Anwendung.A method for extracting application-relevant data from messages, the method comprising: - analyzing a message received from a first software application and generating a message tree with one or more objects from the analyzed message; Comparing the data elements in the one or more objects with data elements in one or more data type templates ( 16 ), the data type templates ( 16 ) define a fixed data type based on one or more data elements to identify matches between the data elements in the one or more objects with the data elements in the one or more data type templates ( 16 ) to investigate; and mapping the data elements in the one or more objects associated with the data elements in the one or more data type templates ( 16 ) in a second software application. Die Methode von Anspruch 18, die zusätzlich Datenelemente in dem einem oder mehreren Objekten mit Datenelementen in einer Standarddatentyp-Vorlagedatei (18), die für eine Vielzahl von Anwendungen eine gemeinsame Definition der Datentypen bereitstellt, vergleicht.The method of claim 18, further including data elements in the one or more objects having data elements in a standard data type template file ( 18 ), which provides a common definition of data types for a variety of applications. Die Methode von Anspruch 18, zusätzlich beinhaltend: – Analyse einer von einer zweiten Software Anwendung empfangenen Mitteilung und Erzeugen eines Mitteilungsbaumes mit einem oder mehreren Objekten aus der analysierten zweiten Mitteilung; – Vergleichen der Datenelemente in dem einen oder mehreren Objekten der zweiten Mitteilung mit Datenelementen in einer oder mehreren zweiten Datentypvorlagen (16), die zweiten Datentypvorlagen (16) definieren eine festgelegten auf einem oder mehreren Datenelementen basierenden Datentyp, um Übereinstimmungen zwischen den Datenelementen in dem einen oder den mehreren Objekten des zweiten Objektes mit den Datenelementen in der einen oder den mehreren zweiten Datentypvorlagen (16) zu ermitteln; und – Abbilden der Datenelemente in dem einen oder den mehreren Objekten, die mit den Datenelementen in der einen oder mehreren zweiten Datentypevorlagen (16) übereinstimmen, in die erste Software Anwendung.The method of claim 18, further comprising: analyzing an announcement received from a second software application and generating a message tree with one or more items from the analyzed second message; Comparing the data elements in the one or more objects of the second message with data elements in one or more second data type templates ( 16 ), the second data type templates ( 16 define a predetermined data type based on one or more data elements to identify matches between the data elements in the one or more objects of the second object with the data elements in the one or more second data type templates ( 16 ) to investigate; and mapping the data elements in the one or more objects associated with the data elements in the one or more second data type templates ( 16 ) in the first software application.
DE200910012761 2008-03-14 2009-03-12 Systems and methods for extracting application-relevant data from messages Ceased DE102009012761A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US3674308P 2008-03-14 2008-03-14
US61/036,743 2008-03-14
US12/241,775 2008-09-30
US12/241,775 US9946584B2 (en) 2008-03-14 2008-09-30 Systems and methods for extracting application relevant data from messages

Publications (1)

Publication Number Publication Date
DE102009012761A1 true DE102009012761A1 (en) 2009-10-15

Family

ID=40600931

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200910012761 Ceased DE102009012761A1 (en) 2008-03-14 2009-03-12 Systems and methods for extracting application-relevant data from messages

Country Status (2)

Country Link
DE (1) DE102009012761A1 (en)
GB (1) GB2458371B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10733237B2 (en) 2015-09-22 2020-08-04 International Business Machines Corporation Creating data objects to separately store common data included in documents
US10467275B2 (en) 2016-12-09 2019-11-05 International Business Machines Corporation Storage efficiency

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2354850B (en) * 1999-09-29 2002-01-09 Ibm Data processing with reuse of existing message structure to allow access to distribution list
US7076541B1 (en) * 2000-06-05 2006-07-11 Register.Com, Inc. Method and apparatus providing distributed domain management capabilities
WO2006042314A2 (en) * 2004-10-12 2006-04-20 Inventigo, Llc Methods and apparatus for message oriented invocation
GB0514191D0 (en) * 2005-07-12 2005-08-17 Ibm Methods, apparatus and computer programs for optimized parsing and service invocation
GB0613178D0 (en) * 2006-07-01 2006-08-09 Ibm An apparatus for deferred handling of a message
US20080071735A1 (en) * 2006-09-05 2008-03-20 International Business Machines Corporation Method, apparatus, and computer progam product for data transformation

Also Published As

Publication number Publication date
GB0904268D0 (en) 2009-04-22
GB2458371B (en) 2010-12-15
GB2458371A (en) 2009-09-23

Similar Documents

Publication Publication Date Title
DE102009012762B4 (en) Systems and Methods for Linking Software Applications
DE69832354T2 (en) Network management framework
DE102012213795B4 (en) Computer-implemented method that enables a web application to invoke one or more native functions of a mobile device
DE112007001196T5 (en) System for adaptively polling a data storage repository
DE10300545A1 (en) Data storage device, especially for storing medical image data that is associated with meta data, has data checking means to ensure critical data is not lost during archiving
US9946584B2 (en) Systems and methods for extracting application relevant data from messages
DE112010003948T5 (en) Evaluate GUI objects to check standards
DE112020004623T5 (en) ML-BASED EVENT HANDLING
DE602005001394T2 (en) INTEGRATION DEVICE AND METHOD FOR A MILITARY DATA CONNECTION
DE19835647A1 (en) Computer system which reads human interface devices
DE102005040096A1 (en) Comprehensive query processing and data access system, and a user interface
DE102014112983A1 (en) Active knowledge steering based on document depth analysis
DE102012221513A1 (en) Method and system for providing additional data to a graphical interface element
DE112012004247T5 (en) Passively monitoring virtual systems using extensible indexing
DE102012218699A1 (en) PASSIVE MONITOR VIRTUAL SYSTEMS WITH AGENTLESS OFFLINE INDEXING
DE112015005269T5 (en) Extend an information request
DE102006039829A1 (en) Method and apparatus for attaching annotations or comments to images
DE112017007361T5 (en) SUPPORTING INTERACTIVE TEXT MINING PROCESS WITH DIALOG IN NATURAL LANGUAGE
DE102016205013A1 (en) Fingerprinting and comparing historical data streams
DE102013202825A1 (en) Method and system for displaying medical content
DE102021130396A1 (en) DATA ACCESS MONITORING AND CONTROL
DE102009012761A1 (en) Systems and methods for extracting application-relevant data from messages
DE102007054648A1 (en) Error identification in a computer-based network
DE112010004086T5 (en) A system, program and method for forming configuration information about components of systems that contain components that are restricted for acquiring configuration information
DE102012218268A1 (en) Manage digital signatures

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final

Effective date: 20120214

R081 Change of applicant/patentee

Owner name: NORTHROP GRUMMAN SYSTEMS CORPORATION (N.D.GES., US

Free format text: FORMER OWNER: NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORPORATION, LOS ANGELES, CALIF., US

Effective date: 20120809

Owner name: NORTHROP GRUMMAN SYSTEMS CORPORATION (N.D.GES., US

Free format text: FORMER OWNER: NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORPORATION, LOS ANGELES, US

Effective date: 20120809

Owner name: NORTHROP GRUMMAN SYSTEMS CORP. (N.D.GES.D. STA, US

Free format text: FORMER OWNER: NORTHROP GRUMMAN SPACE & MISSION SYSTEMS CORPORATION, LOS ANGELES, US

Effective date: 20120809

R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE

Effective date: 20120809

Representative=s name: WUESTHOFF & WUESTHOFF PATENT- UND RECHTSANWAEL, DE

Effective date: 20120809

R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF PATENT- UND RECHTSANWAEL, DE

R081 Change of applicant/patentee

Owner name: NORTHROP GRUMMAN SYSTEMS CORPORATION (N.D.GES., US

Free format text: FORMER OWNER: NORTHROP GRUMMAN SYSTEMS CORP. (N.D.GES.D. STAATES DELAWARE), LOS ANGELES, CALIF., US

Effective date: 20121210

Owner name: NORTHROP GRUMMAN SYSTEMS CORPORATION (N.D.GES., US

Free format text: FORMER OWNER: NORTHROP GRUMMAN SYSTEMS CORP. (N.D.GES.D. STAATES DELAWARE), LOS ANGELES, US

Effective date: 20121210

R082 Change of representative

Representative=s name: WUESTHOFF & WUESTHOFF, PATENTANWAELTE PARTG MB, DE

Effective date: 20121210

Representative=s name: WUESTHOFF & WUESTHOFF PATENT- UND RECHTSANWAEL, DE

Effective date: 20121210