Oracle Advanced Queuing und Oracle BRM

Oracle BRM Dienstleistungen

Zusammenfassen mit

Zusammenfassen mit

ChatGPT

Zwillinge

Claude

Grok

Perplexität

Weitergeben

30/05/2011

Inhaltsübersicht

In unserem letzten Artikel, Integration von Oracle BRM in Unternehmensanwendungenhaben wir eine Möglichkeit zur Implementierung einer BRM-zu-CRM-Integration erläutert. Die vorgeschlagene Lösung bestand darin, einen Konnektor auf der BRM-Seite zu erstellen und diesen mit einer Drittanbieteranwendung zu verbinden. Es ist jedoch auch möglich, einen anderen Ansatz zu wählen, indem Sie Oracle Erweiterte Warteschlangendie das Thema dieses Artikels sein wird.

Kürzlich waren wir an einem Projekt beteiligt, bei dem der Kunde eine "sichere" Integration wünschte, die nicht in Echtzeit erfolgen musste. Eine Lösung, die nahezu in Echtzeit arbeitet, würde ausreichen, hieß es. Was wir mit sicherer Integration meinen, ist eine Lösung, bei der eine fehlgeschlagene Kommunikationsverbindung (oder ein anderer Fehler) zwischen Oracle BRM und der Software eines Drittanbieters keine Auswirkungen auf eine durchgeführte Aktion hat, wie z.B. den Kauf eines Produkts oder die Erstellung einer Rechnung. Wenn Sie einen benutzerdefinierten dm-Konnektor für die Datenintegration implementieren, wird bei jedem nicht erfolgreich abgeschlossenen Vorgang die gesamte Aktion zurückgesetzt. Dies kann zwar ein gewünschtes Verhalten sein, aber in diesem Fall war es das nicht. Deshalb haben wir uns für Oracle Advanced Queuing entschieden. Wir haben festgestellt, dass es im schlimmsten Fall zu Datenbankproblemen kommen würde, aber es gäbe auch zahlreiche andere Probleme; zunächst einmal würde das BRM-System nicht richtig funktionieren.
Weitere Vorteile, die wir festgestellt haben, sind die Datenpersistenz (Ereignisse werden in der Datenbank gespeichert, bis die Verbraucheranwendung bereit ist, Nachrichten in der Warteschlange zu verarbeiten) und eine bereits bewährte Oracle AQ-Technologie.

Wir haben diese Änderungen erfolgreich in Oracle BRM Version 7.3 und 7.3.1 mit Oracle Database 10g (10.2.0.1.0 64bit) und 11g (11.2.0.1.0 64bit) mit der Oracle Advanced Queuing (AQ) Komponente implementiert.

Der Prozess der Veröffentlichung von Oracle BRM-Geschäftsereignissen mit Hilfe von Oracle Advanced Queuing ist in der folgenden Abbildung zu sehen:

Abbildung 1: Der Datensynchronisationsprozess mit Oracle Advanced Queuing.

Um einen solchen Synchronisierungsprozess zu entwickeln, müssen Sie einige vorbereitende Schritte unternehmen. Dazu gehören:
1. EAI Manager Installation.
o EAI Connection Manager (CM) Modul (enthält von EAI benötigte Op-Codes),
o EAI Data Manager,
o Payload Generator External Module (EM) - auch EAI Java Server oder eai_js genannt.
2. Nach Abschluss der EAI Manager-Installation konfigurieren Sie die Werte in den CM- und EAI DM-Konfigurationsdateien (pin.conf) sowie in der Eigenschaftsdatei des Payload-Generators (Infranet.properties).
3. Konfigurieren Sie die Liste der Ereignisbenachrichtigungen, die Sie veröffentlichen möchten, indem Sie die Konfigurationsdateien für die Ereignisbenachrichtigung ($BRM_HOME/sys/data/config/pin_notify*-Dateien) bearbeiten und zusammenführen, bevor Sie das Dienstprogramm load_pin_notify ausführen.
4. Definieren Sie Geschäftsereignisse in der Konfigurationsdatei von Payload Generator EM (payloadconfig.xml).

Nachdem Sie die vorbereitenden Schritte durchgeführt haben, ist es an der Zeit, die Oracle Advanced Queue zu erstellen und zu konfigurieren. Hier sind die Schritte (der dritte Schritt kann variieren, da er von Ihrer Einrichtung abhängt):
1. Warteschlange erstellen:
pin_ifw_sync_oracle.pl create -l $USER/$PASS@$DB -q TEST_QUEUE -t TEST_QUEUE
2. Warteschlange testen (optionaler Schritt):
pin_ifw_sync_oracle.pl test -l $USER/$PASS@$DB -q TEST_QUEUE
3. Melden Sie sich bei Ihrer Datenbank als SYSTEM-Benutzer an und legen Sie die entsprechenden Berechtigungen für Ihren 't_user' fest:
exec dbms_aqadm.grant_queue_privilege('ALL', 'PUSER.TEST_QUEUE', 't_user');
gewähren Sie execute auf puser.pin_event_ty an t_user;
gewähren Sie execute auf sys.dbms_aqin an t_user;

Als nächstes benötigen wir einen Queue-Producer, eine Anwendung, die die zuvor definierten Geschäftsereignisse in die Warteschlange stellt. Die Entwicklung eines Producer-Moduls ähnelt der Entwicklung Ihrer benutzerdefinierten Connector-Anwendung (siehe hier). Es ist notwendig, ein benutzerdefiniertes Modul (Bibliothek) zu implementieren und es in der dm_eai-Konfigurationsdatei unter dem Eintrag "plugin_name" zu definieren.
Es gibt auch einen einfacheren Weg, diese Aufgabe zu bewältigen. Wenn Sie "Account Synchronization DM" bereits installiert haben, dann finden Sie unter dm_ifw_sync data manager eine Implementierung eines Queue Producer-Moduls. Wenn Sie diese Option wählen, sind jedoch einige zusätzliche Einträge in der Konfigurationsdatei dm_eai erforderlich.

Nachdem Sie einen funktionierenden Warteschlangenproduzenten haben, rufen Sie einige Ihrer Geschäftsereignisse auf, um zu sehen, ob sie in die Warteschlange aufgenommen werden. Die Warteschlangen können in der Tabelle abgefragt werden, die bei der Erstellung der Warteschlange definiert wurde.

Schließlich benötigen Sie einen Queue-Consumer, eine Anwendung, die Ihre Nachrichten in der Warteschlange liest und aus der Warteschlange entfernt. Für den Zugriff auf Oracle Streams AQ gibt es mehrere programmatische Schnittstellen in den folgenden Programmiersprachen: Java (JMS), PL/SQL, C (OCI), Visual Basic (OO4O), AQ XML Servlet (IDAP).
Mit Ihrer individuellen Client-Implementierung haben Sie die volle Kontrolle darüber, wie schnell, wann und wie viele Nachrichten verarbeitet werden. So können Sie z. B. in den Nebenzeiten mehr Daten verarbeiten als in den Hauptverkehrszeiten.

Wir hoffen, dass wir Ihnen einige nützliche Hinweise für die Integration/Synchronisation zwischen Oracle BRM und Systemen und/oder Anwendungen von Drittanbietern geben konnten.

Bild von Aleš
Aleš
Ales Pristovnik ist der CEO von Tridens Technology, einem slowenischen Unternehmen, das sich auf die Entwicklung von Softwarelösungen für die Automobilindustrie spezialisiert hat. Er blickt auf eine lange Erfahrung in der IT-Branche zurück und hat in der Vergangenheit für mehrere große Unternehmen gearbeitet. Er hat eine Leidenschaft für Technologie und Innovation und konzentriert sich derzeit auf die Entwicklung von Lösungen, die die Sicherheit und Effizienz in der Automobilindustrie verbessern werden. Er verfügt über einen starken Hintergrund in den Bereichen Führung und Management und setzt sich dafür ein, sein Unternehmen im sich ständig weiterentwickelnden Technologiesektor voranzubringen.

Siehe Neuigkeiten in Ihrem Posteingang!


    0 0 Bewertungen
    Beitragsbewertung
    Abonnieren
    Benachrichtigung bei
    Gast

    0 Kommentare
    Älteste
    Neueste Meistbewertet
    Inline-Feedbacks
    Alle Kommentare anzeigen