問題タブ [eai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1806 参照

integration - ファンクション ポイントを使用して EAI プロジェクトをどのように見積もりますか?

ファンクション ポイントを使用してEAIプロジェクトをどのように見積もりますか?

0 投票する
5 に答える
6792 参照

synchronization - 分離されたシステム間でデータを同期する最良の方法は何ですか?

システムAとシステムBの2つ(ただし、将来的にはさらに増える予定)の完全に分離されたシステムとしましょう。

各システムのすべての情報にinformationIDがあるとしましょう。informationIDが異なるシステムで同じになるのを止めるものは何もありません。すべてのシステムで情報を一義的に識別するのは、Source-informationIDのペアです。

システムAからシステムBに情報をエクスポートする必要があるとします。次に、同じ情報をシステムBからエクスポートして、システムAに再インポートし、それが同じものであることを認識できるようにする必要があります。情報の。

人々の経験でこれを行うための最良の方法は何ですか?

これは私がやろうと思っていることです:

  1. メッセージキューを備えたシステム間にメッセージバスを設定します。
  2. 変更を監視し、キューに送られるメッセージにラップされたコマンドを生成する各システムのエンドポイントを設定します(たとえば、情報の一部が作成/削除/更新された場合)。
  3. システム名に依存せず、一般的な階層のみに依存するように、作成/削除/更新コマンドに関連するエンドポイントにランクを割り当てます。これにより、各システムが他のシステムについて知る必要がなくなります。
  4. 各エンドポイントに更新/削除/作成コマンドのしきい値を割り当てて、しきい値の要件を満たしていないコマンドが除外され、処理されないようにします。

ただし、これでは、originalSource+originalSourceIDを持ち歩く必要があるという事実は解決されません。

助けていただければ幸いです。

0 投票する
1 に答える
150 参照

.net - .Net データベース メッセージ ブローカリング

データベース レベルからアプリケーション メッセージ ブローカリングを実行するためのシンプルで信頼性の高いメカニズムを探しています。基本的に、共通のオブジェクト間で変更が発生したことを示すメッセージを相互に生成するには、2 つの異なるアプリケーションを変更する必要があります。問題は、両方のシステムがこれらの共通オブジェクトを定義する独自のデータベース スキーマを持っているという事実にあります。

メッセージ ブローカ サービスを作成するために BizTalk ソリューションを追求する価値はありますか?それとも、標準の .Net アプローチまたは商用コンポーネントを使用して同じことを実現する簡単な方法はありますか?

ありがとう、

ブライアン。

0 投票する
4 に答える
4417 参照

soa - ミドルウェアアプリはビジネスロジックを実行するために必要ですか?

複数のビジネスコンポーネント(顧客アプリケーション、ネットワーク、支払いなど)間の要求を仲介する大規模なミドルウェアインフラストラクチャがあるとします。ミドルウェアスタックは、オーケストレーション、ルーティング、変換、およびその他のものを担当します(GregorHohpeによるEnterpriseIntegration Patternsの本と同様)。

私の質問は、ミドルウェアにビジネスロジックを配置するのは良い設計ですか?

私のアプリAがミドルウェアからいくつかの顧客データを要求するとします。ただし、このデータを取得するには、顧客IDその他のパラメーターを指定する必要があります。このパラメーターのフェッチは、要求元のアプリが行う必要がありますか、それともミドルウェアが顧客IDを受け取り、他のパラメーターを内部的にフェッチするインターフェースを「促進」して提供する責任がありますか?

これは(ビジネスロジックの定義のために)単純な質問ではないことは理解していますが、それが一般的なアプローチなのか、それともいくつかのガイドラインなのか疑問に思いました。

0 投票する
2 に答える
328 参照

architecture - EAI /ミドルウェア:インラインまたは参照による巨大なメッセージ

ミドルウェアまたはEAIシステムを介して大量のデータ(MBytes?GBytes?)を処理するメッセージまたは要求/応答を処理するためのグッドプラクティスはありますか?

  • 一貫性を保つためにメッセージとともにデータを転送しますが、おそらくシステム間で大量のデータを数回コピーします

  • データをストアまたはデータリポジトリ(ファイルシステム、データベースなど)に保持し、データへの参照を転送しますが、メッセージとデータの間の緊密な結合は失われます

この問題の一般的な解決策は何ですか?これはEAIまたはミドルウェア製品によってどのようにサポートされていますか?

0 投票する
3 に答える
4291 参照

c# - 2つの別々のC#プログラム間でイベント駆動型プログラミングを行う方法は?

別のC#プログラムからイベントを起動する方法は?

私が取り組んでいるC#プログラムには、タスククリエーター(TC)とタスクプロセッサー(TP)の2つの別個のコンポーネントがあります。TCは、データベーステーブルに常に新しいタスクを挿入するWebサービスに接続されています。一方、TPは同じテーブルから読み取り、各タスクを処理してから、ステータスを同じテーブルに更新します。これはほとんどキューに似ていますが、MSMQなどではなくデータベースを使用して実行されます。5秒ごとに、TPはウェイクアップし、テーブルから読み取り、未処理のタスクをチェックしますが、これにはパフォーマンスへの影響があります。新しいタスクがない場合、SQLステートメントからselectを起動するのは少し無駄です。理想的な方法は、新しいタスクが挿入されたときにTPに通知が届き、夢から目覚めて新しいタスクをチェックするという、ある種の通知方法を用意することです。

現在の解決策:

現在のソリューションの図http://yuml.me/3b49bcfd

理想的な解決策:

理想的なソリューションの図http://yuml.me/5cf843a5

0 投票する
3 に答える
419 参照

database - データベースの代わりにメッセージングを使用する必要がありますか

ユーザーがあるシステムからデータを取得し、他のシステムに送信できるようにするシステムを設計しています。宛先システムの 1 つは洗練された SOA (Web サービス) を備えており、もう 1 つは入力用にフラット ファイルを受け入れるメインフレームです。

PublishEvent テーブルと PublishEventType テーブルを持つデータベースを作成しました。発行されるイベントのタイプに固有の正規化されたテーブルもあります。

また、正規化されたデータ テーブルの平坦化されたバージョンである「インターフェイス」テーブルもあります。エンド・ユーザーには、インターフェース表にデータを入れるプロセスがあります。正確なプロセスはわかりません。結果を SQL テーブルにエクスポートできるのは、ある種のレポート アプリケーションだと思います。次に、SSIS パッケージを使用してインターフェイス テーブルからデータを取得し、それを正規化されたデータ構造に配置して、PublishEvent テーブルに新しい行を作成します。私が最初にリレーショナル テーブルを見せたとき、彼らは非常に混乱しているように見えたので、フラット テーブルを使用します。

PublishEvent テーブルの新しい行を監視する Windows サービスがあります。Windows サービスはプラグインで拡張されます (MEF フレームワークを使用)。どのプラグインが呼び出されるかは、PublishEvent 行の PublishEventTypeID フィールドの値によって異なります。

PublishEventTypeID 1 は、1 セットのテーブルからデータを読み取るプラグインを呼び出し、SOA Web サービスを呼び出します。PublishEventTypeID 2 は、別のテーブル セットからデータを読み取り、メインフレームに送信されるフラット ファイルを作成するプラグインを呼び出します。

これは、「Database as IPC」アンチパターンを実装しているようです。メッセージング ベースのシステムを使用するように設計を変更する必要がありますか? データをフラット テーブルに入れ、次に正規化されたテーブルに入れるプロセスは冗長ですか?

編集:これは.NET 3.5で開発されています

0 投票する
3 に答える
992 参照

apache - ESB (Apache Camel、Mule など) を実装するには別のサーバーが必要ですか?

ESB (Apache Camel、Mule など) を実装するには別のサーバーが必要ですか?

0 投票する
8 に答える
4830 参照

open-source - オープンソースSOAスタック

オープンソースのSOAソリューションを評価します。オプションは何ですか?
(おそらく)完全なSOAスタックを提供するものを探しています。

以下の機能が欲しいです-

  1. BPEL
  2. BPM
  3. ESB
  4. SOAガバナンス
  5. 優れた工具

現在、GlassfishESBは良いオプションのように見えます。他に良いスタックはありますか?