1

これは私が自分自身に課した奇妙な質問のようなものです。私たちは、実際にサービス指向アーキテクチャー(SOA)を実装する方法について少し議論を重ねていますが、いくつかの疣贅については説明する価値がありません。つまり、SaaS Webアプリの構築に使用されるのは、小さな単純なサービスの集まりです(ほとんどの場合、レガシーラッパーはそれほど少なくありません)。

とにかく、議論の問題の1つは、シェアードナッシングアプローチを使用して、各サービスがそのサービスのAPIを介して他のサービスと通信するかどうか、またはさまざまなサービスによってインポートされて直接通信するある種の共有APIライブラリを開発するかどうかです。お互いに。後者は人々にCORBAを思い出させるかもしれません。

ですから、チームへの私の提案は、強く感じているすべての人(私たちの数人)のために、私たちが個人的にシステムをどのように実装したいかについて調査し、よく引用された事例を作成することでした。次に、確証バイアスを減らし、すべての人に啓蒙するために、私たちが個人的にシステムを実装したくない方法について、よく引用された事例を作成します。その後、全員が集まってハッシュします。

私の問題は、とにかくCORBAの例を除いて、緊密に結合されたCORBAのようなライブラリのインポート設計のアイデアを検索するのがかなり難しいことです。特に分離されたSOAアーキテクチャーとは対照的に、この方法でそれを行うことの支持者はいますか?それとも、この時代のアイデアの一般的な支持者ですか?私は、各サービスが独自の明確に定義されたAPIを持つシェアードナッシングアーキテクチャに賛成です。今、私は賛成していないものについてプレゼンテーションを行う必要がありますが、裏付けとなる証拠を見つけることすら困難です。または、SOA以前の時代のものではない情報。

4

1 に答える 1

3

ほとんどの「X対Y」の質問のように、答えはそれが依存するということです。

デカップリングは特効薬ではありません。多くの利点(再利用性、モジュール性、テスト、メンテナンスの容易さなど)がありますが、ソリューションの過剰設計につながる可能性があり(したがって、参入障壁の作成と追加に時間がかかる可能性があります)、通常はいくつかの利点がありますパフォーマンスへの影響。また、それだけのためにデカップリング/抽象化を避けるのも良いことです(非常に簡単な、または「ぶら下がっている果物」でない限り)。それ以外の場合は、それをサポートするための適切なユースケースがあることを確認してください。

これの多くは、プロジェクトタイプ、スケジュール、およびパフォーマンス目標によって異なります。プロジェクトを検討する前にどのxが優れているかを尋ねる代わりに、各xを具体的かつ意味のある方法でプロジェクトに適用する方法を尋ね、それに基づいて判断する方がはるかに賢明です。

于 2012-05-04T00:36:02.913 に答える