4

私は最近、現在成長中の痛みを経験している小さな会社で働き始めました。ここで説明しようとしているのがどのようなシステムなのかよくわかりません。基本的に、SQL ジョブ、.NET で記述されたバックグラウンド サービス、FTP 転送、SSIS などの組み合わせである自家製の「統合システム」によって互いに通信している、さまざまな 3 番目のアプリケーションのポプリがあります。

鳥瞰図は次のとおりです。当社の公開 Web サイトは、ベンダーによってオフサイトでホストされる注文入力システム (サード パーティのショッピング カート ソフトウェア) です。注文情報は 1 日 4 時間ごとにダウンロードされます。このデータは、この情報を在庫および倉庫管理システム (WMS) に供給する、独自の「統合システム」によって処理されます。また、MS Great Plains、Pulse、PayFuse、およびサードパーティの CMS などに情報をフィードします。

お察しのとおり、このアーキテクチャは非常に壊れやすく、わずかな事故 (SQL ジョブの失敗の FTP 障害など) によってデータの不一致が発生し、ドミノ効果が発生する可能性があります。データ関連の問題またはレプリケーションの問題により、倉庫全体が停止する可能性があり、注文の受付、処理、または注文の発送ができない場合があります。

私の仕事は、システムを再構築し、システムの密結合を取り除き、ビジネスの成長を可能にすることです。どの領域を調査する必要がありますか? 私は ESB と SOA について調査してきましたが、私の会社では、iWay や Talend などの 50 万ドルの事業を行う余裕はないと言われています。

どのようなオプションがありますか? 社内開発が解決策であり、ESB 実装よりも安価ですか? 同じような成長痛を経験した人はいますか?もしそうなら、統合をどのように処理しましたか?

4

2 に答える 2

7

これが私がこの問題にアプローチする方法です。

  1. 単一の「完璧な」システムを事前に設計することは忘れてください。
  2. 一度にすべてを交換することを忘れてください。
  3. 多くの痛みを引き起こし、比較的簡単に交換でき、ビジネスの存続を脅かさないものを見つけてください。最初にそれに取り組みます。

ある意味、「いろいろな3次アプリのポプリ」があるのはいいことですよね。ビジネス価値が最も高いものを修正することに集中しながら、より良いものはそのままにしておくことができます。

安定したビジネス コンセプトを探し出し、それらを明示的にモデル化します。ここでは、コマンド パターンとイベント パターンが役に立ちます。SOAの原則に従って、これらの概念を「サービス」にグループ化します。

あなたのテキストから、SLA に関する議論はすでに暗黙のうちに始まっているように見えます。これらの SLA の議論を明確にしますが、一夜にして変革するのではなく、目標に向けて時間をかけて改善することに重点を置きます。

この変革のために手動でインフラストラクチャを構築するのは、おそらく時間に見合う価値はありませんが、製品に 6 桁または 7 桁を費やしてから、どこに行くのかを知るのも賢明ではありません。あなたが .Net について言及して以来、私はNServiceBusを使用しており、快適なプログラミング体験であることがわかりました。ドメインとビジネス ロジックに集中し、NSB に配管/インフラストラクチャを処理させます。メッセージのスループットが低い場合は、無料のオプションがあります。これにより、予算や資金調達について話し合う前に、ある程度のビジネス価値を提供できます。Web サイトのドキュメントに加えて、 NServiceBus コミュニティが盛んに開始するのに役立ちます。

MassTransitEventStoreなど、.net スペースには他のオプションもあります。私はこれらを個人的に使用したことはなく、機能的に同等ではないため、それらを調べて、ニーズとチームの能力を満たすものを確認する必要があります.

于 2013-06-23T17:31:02.770 に答える
2

過去数年間、いくつかの同様の問題に取り組んできました。ESB を活用すると、それを少しずつ減らすのに役立ちます。チームがデカップリングを評価し始めると、プロセスが加速されます。私が最もよく知っているのは、参入障壁が非常に低い NServiceBus です。開発者はすぐに使い始め、低コストで試すことができます。ビジネスにとって最も重要な分野から始めて、まずそれをしっかりと固めたいと考えていることに同意します。

于 2013-06-23T21:05:27.110 に答える