問題タブ [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 に答える
1543 参照

spring - Spring Integration を使用して大きな XML ファイルを個々の小さなメッセージに分割し、それぞれを個別に処理する

私は Spring Integration を使用しており、子アイテムのコレクションを含む大きな XML ファイルを持っています。ファイルを一連のメッセージに分割したいのですが、各メッセージのペイロードは子 XML フラグメントの 1 つになります。

スプリッターを使用することは明らかですが、これにはメッセージのコレクションを返す必要があり、これによりメモリが使い果たされます。ファイルを個々のメッセージに分割する必要がありますが、一度に 1 つずつ処理する必要があります (または、マルチスレッドのタスク実行プログラムを使用する可能性が高くなります)。

サブメッセージをプログラムでチャネルに書き込むカスタムコンポーネントを作成せずにこれを行う標準的な方法はありますか?

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

java - Webアプリケーションとサードパーティアプリケーションの統合

Webアプリケーションがサードパーティのアプリケーションと通信する必要がある統合ソリューションを開発しています。Webアプリケーションは、特定のパラメーターを使用して実行可能ファイルを呼び出すことによってのみ、サードパーティアプリケーションのサービスを呼び出すことができます。次に、サードパーティのアプリケーションは、インストールされているサーバーに保存されているファイルの形式で結果を生成します。これらのファイルは、Webアプリケーションによって使用および処理されます。Webアプリケーションとサードパーティアプリケーションは、必ずしも同じサーバー上にあるとは限りません。WebアプリケーションはSpringフレームワークで構築されています。

現在、この統合を実行するために使用する必要のある最良の方法論とベストプラクティスを検索しようとしています。私はこの分野に慣れていないので、検索に使用する必要のある正確な用語がわかりません。また、Webアプリケーションがそのようなサードパーティアプリケーションと統合されているような設定を表す正確な用語もわかりません。

検索する情報の種類と、検索中に使用する用語についてのガイダンスが必要です。これは私にとって重要です。なぜなら、現在の方法論とベストプラクティスに基づいて、検索プロセス全体とソリューションを文書化する必要があるからです。

よろしくお願いします!

ぜんそく

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

java - Webアプリケーションをすべての主要なERPおよびCRMシステムと統合する必要があります

データを送受信するために、すべての主要なCRMおよびERPシステムと対話する必要があるWebアプリケーションがあります。

あなたによると、より良いアプローチになります。

  1. このロジック全体をWebアプリケーション内で設計します。おそらく、各インターフェイスのコンポーネントです。
  2. ESBを使用します。

これを実装するための最良のアプローチを提案してください。他の回避策、設計も歓迎します。

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

.net - サービス バス アーキテクチャを使用して、異種システム間でエンティティを関連付け/マッピングするためのいくつかのアプローチは何ですか?

環境内のシステム間でデータとビジネス プロセスを調整するために、企業内でサービス バス アーキテクチャを採用することを検討しています。

私たちの状況は典型的です。請求、在庫などのために内部システムにメッセージを送信する顧客向け Web アプリケーションです。これらのシステムのほとんどまたはすべてに共通するビジネス エンティティがいくつかあります。これらの各システムは、独自のデータベースでこれらのエンティティの独自のバージョンを維持します。

サービス バスの概念に適用すると、顧客の Web ポータルから注文を表すメッセージをバスに発行できます。このメッセージは、関連する各システム (請求、在庫など) によって消費され、対応する顧客レコードが独自のデータベースに作成されます。ただし、これらの内部システムの 1 つが注文ステータスに関するメッセージを発行する必要がある場合、独自のデータベースから注文 ID を保持します。Web ポータルがそのメッセージを消費する必要がある場合、内部システムから送信された注文 ID を Web ポータル データベースに保存された注文 ID と関連付ける方法がわかりません。

同等のエンティティがシステム間でどのように相関しているかを本質的に認識しているシステムは他にないため、システムがメッセージに含まれる ID をそれに関連する ID に変換できるようにするために、何らかのタイプのマッピング メカニズムを導入する必要があるようです。たとえば、あるシステムから別のシステムに ID をマップするデータベース テーブルを作成できます。このテーブルを照会して、ターゲット システムの適切な ID を取得できます。私たちのビジネスは現在、エンティティ集約やその他の「360ビュー」タイプのリポジトリを利用して、共通のエンティティ情報の単一の信頼できるソースとして機能し、そこからユニバーサルIDをすべてのシステム間で受け渡し、使用することはできません.

このようなエンティティ マッピング アプローチをサービス バスの実装に使用することは有効なアプローチですか? もしそうなら、設計を導くための確立されたガイドラインはありますか? そうでない場合は、サービス バスを介した統合を促進するために、システム全体でエンティティをリンクするための代替アプローチについて聞くことに興味があります。

PS: それが役に立てば、私は現在、バスを構築するための MassTransit フレームワークを評価しているので、それに固有の情報があれば、それも大歓迎です。

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

comparison - WSO2 ESB メディエーション シーケンスとプロキシ サービス

WSO2 ESB には、EAI パターンを実装するためのメディエーション シーケンスとプロキシ サービスがあります。私は現在初心者であり、メディエーション シーケンスまたはプロキシ サービスをいつ使用するかを区別できませんでした。どちらもほとんどのユースケースでうまく機能するようです。それぞれをいつ使用する必要がありますか?

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

jakarta-ee - Java EEアーキテクチャ:アダプタに対する個別の戦争

アーキテクチャに関する質問:多くの異なる顧客に展開することを目的としたJavaEEエンタープライズアプリケーションがあります。構成は次のとおりです。

  • 標準のバックエンド:すべての顧客に同じコア
  • EAIアダプター用の個別のモジュール:すべての顧客固有の統合(財務、CRM、ERPなど)を含むことを目的としています-顧客ごとに1つの異なる実装

私は2つのオプションを見ることができます:

  • core.jarとadapter-cust1.jarを含むbackend-cust1.earは1つだけです。
  • アダプター用の個別のWAR。つまり、core.jarのみを含むbackend.earがあります。これは、すべての顧客に同じ配信であり、個別のアダプターcust1.warです。

問題は、最初のソリューションでは、コアが単純なJavaメソッド呼び出しでアダプターを呼び出すことができ、顧客固有の実装にCDIコードを挿入できることです。

ただし、2番目のソリューションでは、コアとアダプターの間で通信するためのリモーティング手法が必要です。たとえば、JMSやWSなどです。それは私にはかなり重い方法のようです。

ただし、アダプターはあらゆるもの(MQ、SAPクライアント、実際にはあらゆるもの)に依存する可能性があると考えており、これらの依存関係が共通のコアに影響を与えないようにしたいので、別の戦争を検討します。

それについて何か考えはありますか?

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

messaging - EAI - メッセージング ブリッジとメッセージ トランスレータ

Spring Integration と Enterprise Integration Patterns について読んでいます。

Messaging Bridge パターンに行き詰まっています: http://enterpriseintegrationpatterns.com/MessagingBridge.html http://static.springsource.org/spring-integration/docs/2.0.0.M3/spring-integration-reference/html /bridge.html

メッセージ処理に関して、メッセージング ブリッジとメッセージ トランスレータの違いは何ですか? どちらも、異なるフォーマットを必要とする 2 つのエンティティが連携できるようにするものではないでしょうか?

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

rabbitmq - raw (ゲートウェイを使用しない) Spring Integration を使用するときにリクエストと応答を関連付ける方法は?

私は Spring-Integration について学んでおり、Gateway と Service-Activators について基本的な理解があります。ゲートウェイのコンセプトが大好きです。Spring Integration は、実行時にゲートウェイのプロキシを生成します。このプロキシは、すべてのメッセージングの詳細をゲートウェイのコンシューマから隠します。さらに、生成されたプロキシは、要求と応答を相互に関連付けている場合もあります。

学習の目的で、ゲートウェイを使用せずに生の Spring Integration 機能を使用して、リクエストと応答の相関関係を実装することに着手しました。リクエスト ヘッダーに相関識別子を設定することはできますが、チャネルの応答を受信中に相関識別子を指定することはできません。以下(質問の最後)は、同じコードスニペットです。また、相関関係はメッセージ ブローカー (RabbitMQ など) に対してどのように機能しますか? RabbitMQ は、特定のヘッダー (相関識別子) を含むメッセージを取得する機能を提供しますか?

ありがとう。

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

websphere - BizTalk、Jitterbit、Websphere メッセージ ブローカーなどを使用して開発された統合プロジェクトをデバッグするさまざまな方法は何ですか?

どの統合製品が最適なデバッグ機能を提供しているか知りたいですか? また、BizTalk、Jitterbit、Websphere Message Broker、Talend などのさまざまな統合製品で統合プロジェクトをデバッグするために一般的に使用する方法は何ですか?これらの製品では、どの程度の粒度でデバッグを実行できますか?

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

rest - 分散プラットフォームで標準データ モデルを設計する方法は?

私が取り組んでいる分散プラットフォームの正規データ モデルを定義しようとしています。これは、次のアーキテクチャに基づいています。

  • クライアントに機能を公開する RESTful API ファサード
  • Apache Camel に基づいており、クライアント要求のルーティングと変換に使用される基本的なミドルウェア
  • ミドルウェアによって呼び出される RESTful ビジネス サービス

アイデアは、ファサード層が着信要求を共通の情報モデルに変換できるようにすることです。これは、ヘッダーとペイロードを持つカスタム メッセージの形式を持っています。

  • ヘッダーには、要求されたワークフローにメッセージをルーティングするために、ミドルウェア (Apache Camel) が必要とする情報が含まれている必要があります (基本的に、ファサードは、クライアントからの各着信要求を処理するためにどのビジネス プロセスを呼び出す必要があるかを認識します)。これは、列挙型マップとして、またはカスタム メッセージを表すクラスの一連の属性としてモデル化できます。
  • ペイロードには、着信要求の「ビジネス モデル」を表す適切な Java Bean が含まれている必要があります (TicketOrder または Customer オブジェクトなど)。カスタム メッセージを表すクラスのオブジェクト属性としてモデル化でき、そのメッセージを管理するワークフローに関与する Camel のすべてのプロセッサ/コンバーターは、そのペイロード タイプ (選択された Java Bean) を予期する必要があります。

簡単に言うと、受信リクエストを処理してビジネス サービスにルーティングするために Camel が必要とする関連情報のみを含むミドルウェアのビジネス データ モデルを定義しようとしています。このデータは Java Bean としてモデル化され、ペイロードとしてメッセージに添付されます。メッセージのヘッダーには、Camel にとって意味のあるルーティングの詳細が含まれています。

上記のソリューションをどのように改善しますか?それは良いアプローチであり、十分に柔軟だと思いますか? どうもありがとうございました。