2009-03-11 6 views
1

Ich entwickle derzeit eine ETL-Lösung, die aus verschiedenen Gründen SSIS Komponenten sowie J2EE Dienste enthält.Wie erhält man ein gemischtes SSIS-J2EE-System für die Kommunikation über Messaging?

Ich brauche die verschiedenen Komponenten, um asynchron über Messaging-Warteschlangen zu kommunizieren. Die offensichtliche Einschränkung besteht jedoch darin, dass SSIS nur mit MSMQ integriert ist, während es offensichtlich sinnvoll ist, JMS auf der Java-Seite zu verwenden.

Ich habe die MSMQ/MQSeries Bridge (wir verwenden WebsphereMQ intern) berücksichtigt, aber ich denke, dies fügt der Lösung eine weitere Komplexitätsebene hinzu.

Ich frage mich jetzt, ob es eine einfachere Lösung für plattformübergreifendes Messaging gibt. Der Zweck des Messaging-Ansatzes besteht darin, die Übertragung der Kontrolle zwischen Komponenten zu implementieren, anstatt Daten zu übergeben. Jede Komponente, egal ob es sich um ein SSIS-Paket oder einen J2EE-Dienst handelt, liest/schreibt von derselben zugrunde liegenden Datenbank, so dass ich mich frage, ob es besser ist, nur einen Abfragemechanismus auf beiden Seiten zu implementieren. Vorschläge sind willkommen.

Christophe.

Antwort

1

Je nach Ihren Anforderungen könnten Sie Ihre eigene Brücke schreiben, um Nachrichten zwischen MSMQ und WMQ zu verschieben. Wir haben ziemlich leicht mit .NET und den IBM XMS-Bibliotheken getan.

http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24011756&loc=en_US&cs=utf-8&lang=en

+0

hanks, dies wies mich in die richtige Richtung. Am Ende baute ich einen Prototyp mit FUSE Media Router, der eine Brücke zwischen MSMQ und ActiveMQ, wie im folgenden Beispiel: http://fusesource.com/wiki/display/ProdInfo/Bridging+MSMQ+with+ JMS + mit + FUSE-ESB4 –

0

Sie könnten einen ESB anstelle von JMS verwenden und die Webdienstaufgabe in SSIS verwenden, um über SOAP eine Verbindung mit dem ESB herzustellen.

+1

Ich habe das berücksichtigt. Ich brauche jedoch 2-Wege-Kommunikation. Die SOAP-Fassade erlaubt mir, J2EE-Komponenten von SISS zu benachrichtigen, aber umgekehrt ist ein anderes Problem. Ich könnte erwägen, ein SSIS-Paket durch eine WS-Fassade aufzurufen (ich habe Beispiele irgendwo gesehen), obwohl es mir nicht gibt, was ich will –

+0

Sie müssen dann möglicherweise IIS als Web-Service-Provider verwenden, aber ich weiß es nicht wenn das Ihrer Situation zu viel Komplexität hinzufügt. Dieser Artikel behauptet, dass SSIS kann ein Web-Service-Provider ohne die Notwendigkeit für IIS, obwohl: http://whitepapers.techrepublic.com.com/abstract.aspx?docid=306563 –

+0

Hallo John, ich sehe diesen Beitrag stammt aus 2009, Ich habe ein ähnliches Problem. Ich habe ungefähr 20 Millionen, die durch ESB-Messaging als kontinuierlicher Feed geliefert werden. Wie kann ich SSIS verwenden, um diesen Datenfilter es zu bekommen und es in eine Staging-Tabelle in SQL Server laden –

0

Wenn alles in J2EE-> SSIS-Kanal ist die Fähigkeit, SSIS-Paket von J2EE zu starten, denke ich, die einfachste Lösung ist SQL Server Agent Job zu konfigurieren, der dieses Paket ausführt, und rufen Sie dann sp_startjob gespeicherten proc von Java - sollte viel einfacher und weniger zusätzliche Komponenten.

Ich bin mir nicht sicher, wie SSIS-> J2EE am besten aufgerufen wird.