12

PHP プロジェクトのどこで、いつ、なぜ ESB を使用しましたか?

PHP プロジェクトのどこで、いつ、なぜ ESB を使用するのが理にかなっていると思いますか?

ESB (および Mule のような ESB ファシリテーター) は、PHP やネイティブ LAMP 技術に欠けている機能を提供しますか?

編集

この質問に対する私の動機は、Mule は実際には必要ないという私の仮定に由来しています。Mule は、Mule なしで処理できる外部サービスとの通信を容易にします。結局のところ、Mule はコストと間接費も生み出します。私の質問は、ESB や Mule などのツールが本当に役立つシナリオについて誰かに教えてもらうこと、または確かな知識に基づいて私の推測を支持することです。

編集 2

彼の投稿に対する私のコメントへの Houcem の返信について... ESB/Mule に対するネイティブ LAMP の回答は何でしょうか?

編集 3

Tuxedoは、Mule/ESB に代わるより PHP ネイティブな選択肢のようです誰かがこのツールを使用した経験がありますか?

4

4 に答える 4

3

ESB (エンタープライズ サービス バス) は、さまざまなベンダーやテクノロジに由来し、さらには冗長化されている可能性がある、エンタープライズの複数の異種アプリケーションを統合するための一種のバックボーンです。

PHP やその他の言語よりも Java の世界に関連しているように見えるという事実は、通常、大企業の情報システムは以下のもので構成されているということです。

  • オープンソース開発ツールとソフトウェア エディター ツール (ERP を含む) の組み合わせ。開発は、Java EE スタック (およびそのベンダーである IBM、Oracle など) に依存するために、Java EE を使用して行われることがよくあります。
  • フル Microsoft (ESB は不要、Microsoft は EAI/ESB のようなツールを提供)

PHP は Web アプリケーションに最もよく使用されます (大企業でも Web 指向です)。

ESB は大きなコストがかかり、相互接続されたアプリケーションの数が増えている場合にのみ有用/必要になります。少数の接続 (Java、PHP などの間) しかない場合は、DNS を使用してネットワーク レベルで処理し、構成キーを使用してアプリケーション レベルで処理し、ポイント ツー ポイント接続ごとにプロトコル交換とスモール ビジネス統合を実行できます。

PHP アプリケーションの潜在的な使用例は、旅行代理店のインターネット サイトで、複数の航空会社、列車会社、ホテル会社に問い合わせる場合です。そのような場合でも、完全なクロスクエリ システムを開発することは、そのようなサイト/会社のビジネスの中核であるため、狂うことはありません。

于 2011-05-19T13:54:36.237 に答える
3

ESB は、スケーラビリティの問題に対する一般的なソリューションです。多数のアプリケーション インターフェイスのオーバーヘッド、コスト、および複雑さを管理する際の問題。ESB/EAI ソリューションの理論的根拠に関する短い記事をhttp://psicom.com.au/solutions/eaiに書きました。

確かに、ほとんどの PHP サイトは小規模であり、通常、ESB の管理上および技術上のオーバーヘッドを正当化することは困難です。しかし、OSS PHP 製品でビジネスのアプリケーション ニーズをすべて満たすことは今や十分に可能であり、組織に対するコスト圧力も高まっています。私が書いたこと。これにより、アプリケーション統合の問題を再評価するようになる可能性があり、ESB はその問題に対する優れたソリューションです。

私が知る限り、PHP で開発された ESB 製品はなく、近い将来にこれが見られるとは思っていません。しかし、実のところ、多くの ESB 製品は PHP やその他の OSS プラットフォームのバインディングを提供しているため、ESB が実行されるプラットフォームは重要ではありません。

于 2012-05-15T05:20:32.597 に答える
3

ESB はさまざまな方法で使用できます。

  • 非同期処理の提供: 例: 大量の電子メールを送信する Web サイトがあり、電子メールの送信に時間がかかり、ページの実行がブロックされる可能性がある場合: ESB を使用して電子メール データを Mule に送信できます。そしてそれを電子メール送信チャネルにルーティングします。このようにして、メール メッセージ キューを実装したと言えます。非同期処理の別の形式: mule を使用して (コマンドラインを使用して) php スクリプトをブロックしない方法で実行します。

  • Java アプリケーションとの統合: PHP を使用して Mule にメッセージを送信し、Java で Mule API を使用して Java ビジネスを実装できます。PHP メッセージは Java ビジネス コンポーネントによって受信されます。これは、多くの複雑な処理を行い、Java のような柔軟で強力な言語を必要とする大規模な Web サイトで使用されます。

知っておくべきこと: ESB はバスのように使用する必要があります。つまり、異種環境から標準形式 (Mule メッセージ) でデータを収集します。ビジネス ロジックを実行し、データを (ルーティング後に) 別の環境に出力します。

PHP の世界には、Mule とのネイティブな PHP 統合はありません。そのためには、Web サービス (SOAP) を使用する必要があります。

于 2011-05-17T08:32:03.813 に答える
2

ここで PHP SDK を提供する Windows Azure Service Bus をお勧めします https://github.com/WindowsAzure/azure-sdk-for-php

サービスバスは素晴らしいですが、維持するのはそうではありません。Windows Azure サービス バスは、すべてのメンテナンス オーバーヘッドを解決し、PHP と互換性があります。Java、C#、VS C++ で記述されたアプリと PHP から簡単に通信することもできます。

于 2013-03-15T22:45:48.263 に答える