1

私は Tibco の世界に不慣れです... いくつかのことを行うために VB.net アプリケーションを作成するように依頼されました。

  1. データベースの列の値を更新します (TIBCO EMS でメッセージを生成します)。

  2. 私のアプリケーションは、TIBCO からのこのメッセージを読み取り、メッセージに特定の単語が含まれているかどうかを判断し、結果を合格または不合格として表示する必要があります。

タスクの最初の部分は既に書きましたが、2 番目の部分をどのように進めればよいかわかりません。進め方について何らかのヘルプ/ガイダンスを得たいと思っています! 助言がありますか?

ありがとう、NewTibcoUser

4

2 に答える 2

1

これは、所有している Tibco ツールに応じて簡単に実行できます。BW と ADB (Active Database Adapter) がある場合は、それを使用できます。

オプション1:


adb を持っていない場合は、次のようなことを行うことで模倣できます (ADB は魔法のようなものではありません)。

1) 変更が監視されているテーブルのミラーを作成します (監視する列とキーを入力するだけです) キー ColumnYouWantToMonitor DeliveryStatus (Adb_L_DeliverStatus) トランザクション タイプ (adb_opCode) 発生時刻 (Adb_timestamp) 配信ステータス ( ADB_L_DeliveryStatus) 2) テーブルにトリガーを作成し、テーブルにレコードを挿入します。

3) 5 秒または 10 秒ごとにテーブルを監視する .Net プロセスを作成します (構成可能にする) (deliveryStatus = 'N' order by transactionTime の tableX から * を選択)

4) メッセージを EMS Queue に入れるか、.Net App にサービス呼び出しを行います。


オプション 2

1) テーブルにトリガーを作成し、イベントを SQL Server Brokering Service キューに書き込みます 2) その SSBS キューから読み取り、EMS メッセージに変換する .Net アプリを作成します

いくつかの設計上の考慮事項

  • メインテーブルの変更を継続的にクエリ (別名ポーリング) しないようにしてください (ブロックを防ぎます)。
  • アプリが実行されておらず、DB の変更が発生している場合は、メッセージの有効期限があることを確認してください。したがって、アプリの起動時に、キューから数千のメッセージを処理する必要はありません (メッセージが必要かどうかによって異なります)。
  • メッセージが必要な場合は、キューをディスクに永続的に設定して、メッセージを失わないようにすることができます。また、自動確認だけでなく、.Net アプリでのクライアント確認も良い考えです。

于 2013-10-25T04:30:02.587 に答える
0

あなたが言及したように、最初のポイントはすでに行われています(おそらく、ADBまたはDB挿入に反応するカスタムプログラムで)。

したがって、あなたの問題は厳密には「VB.NetからのEMSメッセージの内容に反応する」部分です。

2 つの可能性が考えられます。1- EMS、ADB、および BW がある場合は、カスタム アダプタ サブスクライバ (BW 構成) を作成して、バス上のメッセージに反応して何らかの方法で DB を変更します。VB アプリケーションは、DB にクエリを実行して応答ステータスを取得できます。

2- TIBCO スタックの製品がそれほど多くない場合は、単純な C# EMS クライアント プログラムを作成する必要があります (EMS ドキュメント内にある例を参照してください)。このクライアントは、VB アプリケーションにシグナルを送ることができます (何らかの .Net 内部シグナル伝達のようなものかもしれません。私自身は専門家ではありません)。DB に応答ステータスを書き込むことができます。

于 2013-10-25T14:08:32.110 に答える