質問

最近ではリストラへの会社のIの仕事でプロジェクトを開始し、当社のシステムの風景や救助子どもたちの未来を書き換えます。

私たちは絶対に理由は恐ろしいコードの新しいユースケースに適合させることができない3-4レガシーシステムを持っているが、それでも電子メール、XMLRPC、ウェブインターフェースなどの異なるインターフェイスおよびフォーマットを経由して一日あたりの注文のかなり大きな金額を扱います。

だから我々は完全に再設計されたドメインモデルに基づいて、ゼロから新しいシステムを書くことについて考えました。そのための我々は単に古いシステムのスイッチをオフにし、本当に小さなチームですカント、私たちは私たちに、徐々に新しいシステムを開発し、生活しやすい(読み、それの部品を置くが可能なアーキテクチャとアプローチが必要であることを結論に達しました。高速の)新しいインターフェイス、パートナー、レガシーアプリケーションとのインタフェースとを統合します。

アイデアは完全にレガシーに注文をルーティング古いインターフェースと新しいシステムを受注サービスを作成し、模倣するのOSGiコンテナとApacheのキャメルを使用するように、最初から全ドメインモデルを再設計することだったとフォーマット処理デカップルそして、新しいシステムから自分自身を運びます。漸進的な開発の私たちが選んだしたいので、私たちに緩やかな改善、再利用性とスケーラビリティを許可するより、「サービス中心」アーキテクチャです。それは紙の上のすべての音の素敵な、と私は、「SOA」についてかなり読んでますが誇大広告を待っていたまでは死滅すると、「良いパーツ」は、滞在するが、話のほとんどは非常に抽象的でunprecise「技術的にはまだです販売」それはそうレベル。

私はかなり大規模なグラフとオーダーのような関係のたくさんのエンティティを持っている場合は、

私はかなり問題のある「基本/共有データサービス」アプローチを見つけます。私はより抽象的なものをベースにCRUDオーダーでの操作や他のエンティティのための個別のサービスを作成した場合は、ACID、リレーショナル整合性を処理するために本当に問題か不可能でしょうか、あなたはそれらのサービスとの相互接続の自律性を犠牲にしなければなりませんそれら、どのサービスになるだろう、かなり役に立たない(そしておそらく非常に遅いです)。それとも私が何かを間違って理解したのですか?

私の考えは、単にインターフェイスを持つ当然の素敵なJPA POJOを使用して、「伝統的な」DALを作成し、単純にそれを展開することでしたので、使用するビジネスプロセスサービスのためのバージョン管理OSGiバンドル、より抽象的なマッピングを持っています。これらのサービスは、単純にそれを使用し、バスへのインタフェースを公開します。アクセス個々のデータを必要とするまれなケースを提供するために、ラクダまたはバルクデータのインポートや報告の内容濃縮のためのような、醜い「すべてのエンティティは、サービスを含む」ACIDと整合性の問題を解決することになる作成することができます。

これまでのところは良いので、しかし:どのようにすべきであるアクセスデータ(実際にはほとんどCRUDを私が述べたように、したがって、抽象的なプロセスではない)WebUIの?直接それはかなりtighly結合するだろうJPA POJOを使用しますが、マッピングを作成し、別の、ほぼ同じモデルを導入し、あまりにもあまりにも良い前述の「モンスターDALサービス」doesntの音を使用しています。

あなたはどう思いますか?感覚間の良好なバランスがどこにある、優雅さと実用性?

私はそれらのいくつかの質問で、テキストが非常に長いですが、私は我々がここでもう少し詳細に直面している状況を描写することが重要だと感じたことを残念に思います。

お時間をいただき、ありがとうございます:)

役に立ちましたか?

解決

このはあなたに幸運を願っノートなどの回答のほどではありません。

私たちは、同じ/異なるフォームあなたの状況を持っており、効果的に対処するため非常に難しいprobleであることを証明しています。

私はあなたのような音がOKのバランスを打つしている、あなたのアプローチはOKだと思います。

あなたは、Martin Fowler氏ので発行されているのようなエンタープライズ統合パターンを取ることができますが、それはあなたのようになるだろうかあなたがしたい場所/見守らなければならないようにする必要があります。

その他のオプション:あなたは新しいプラットフォームとなり(Javaや.NETで)「新しい」コードを生成するシステムに古いシステムをプッシュする:「ソーセージ」のマシンがあります。良いことは、悪いニュースは、それはあなたが想像スパゲッティの最大の最もひどい杭になるということです、あなたは今、あなたと働くことができる言語でコードベースを持っているということです。

でも、それは巨大な事業です。政府機関は、ここ2〜3年を過ごしたと$ 500万が、これは終ら。それはかなりや無痛ませんでしたが、働いているようです。あなたの周り(すなわち:ないStackOverflowの上で)十分に頼む場合あなたとあなたのスタックのプラットフォームをオフの移行を扱っている人を見つける必要があり、彼らとの会話に入る。

scroll top