2016-08-30 2 views
0

Ich arbeite mit IBM BPM Designer und möchte einen einfachen Prozess erstellen, der mit meiner Datenbank verbunden ist.Wie man eine Variable zur Datenbank bringt und sie mit IBM BPM abruft?

Alle meine Variablen bis jetzt waren nur mit dem Prozess verbunden, so dass ich nicht auf sie von der Datenbank zugreifen musste. Nun, hier ist, was ich als Testprojekt machen möchte.

Start Prozess und ein Benutzer einen Namen in den Coach eingeben, wenn er den Namen übermittelt, überprüft der Systemdienst die Datenbank, wenn bereits ein Eintrag der Variablen mit dem gleichen Namen vorhanden ist. Wenn nicht, speichert es diesen Namen in der Datenbank. Wenn es überprüft wird, hat es ein anderes Attribut namens "dateOfBirth" und zeigt es an.

Wie kann ich das erreichen?

Antwort

2

IBM BPM wurde nicht für die Verwendung als System of Record (SoR) entwickelt. Also ja, wenn Sie diese Daten außerhalb des Prozesskontexts sehen wollen, müssen Sie sie irgendwo schreiben und für 99% der Fälle "irgendwo" = "in eine Datenbank".

Sie benötigen eine benutzerdefinierte Tabelle (oder Tabellen), um Ihre Daten zu speichern. Diese sollten in einem anderen DB/Schema erstellt werden als die BPM-Produktdatenbanken. Das bedeutet, dass sie nicht im selben Bereich erstellt werden, den IBM für ihren Produktcode verwendet.

Sobald Sie Ihre DB-Tabelle erstellt haben, müssen Sie eine JDBC-Verbindung in WebSphere erstellen, um auf diese Datenbank zugreifen zu können. (Es sei denn, Ihre JDBC-Verbindung für die IBM BPM-Datenbanken kann auch auf diese zugreifen).

Jetzt, wo wir einen Platz für Ihre Daten haben und eine Möglichkeit haben, sich mit diesem Ort zu verbinden, müssen wir nur die SQL-Anweisungen erstellen, um die Daten zu speichern. Im System Data Toolkit gibt es eine Reihe von Integration Services, die zur Ausführung von SQL-Befehlen vorgesehen sind. Wählen Sie diejenige aus, die Ihrem Bedarf am besten entspricht, und fügen Sie sie Ihrem Service hinzu. Einige Hinweise dazu -

1) Sie sollten parametrisierte Abfragen verwenden, um SQL-Injection-Angriffe zu vermeiden.

2) Wenn Sie Daten ziehen, um eine Liste von Simple Business Objects (Ein Objekte, die nur einfache Typen enthalten) zu füllen, wenn Sie Ihre Abfrage schreiben, damit die Spaltennamen mit den Mitgliedsnamen in der BO übereinstimmen, können Sie den Connector tun das Marshalling der Daten in die Objektstruktur für Sie.

0

vielleicht fehlt mir etwas, aber es klingt, als ob Sie einen AJAX-Service verwenden müssen, um die Datenbank zu testen, und eine einfache Sichtbarkeitsregel, um das Geburtsdatumfeld ein- oder auszublenden. Der Basisdienst (Version 8.5.7) würde so aussehen. enter image description here

Verwandte Themen