私たちも同じシナリオで作業しています。私たちのソリューションは .NET にありますが、少なくともほとんどの場合、テクノロジは心配する必要はありません。
共通のアプリケーション コンポーネントは、顧客アカウント管理、ショッピング カート、および認証モデルであり、3 つの異なるクライアント Web アプリケーションで共有されます。この問題を解決するために調査する方法がいくつかあります。目標は、すべての Web サイトで共通のコンポーネントを共有することです。
私たちが選んだアプローチは、すべてのアプリケーションが同じコードベースを共有することでした。3 つのアプリケーションすべてから Customer Account Management、Shopping Cart、および Authentication モデルを抽出し、最初に共通のコード ベースを作成しました。重要なのは、共通の共有モデルが、そのサービスを使用していたアプリケーションについての手がかりを持たないようにすることです。場合によっては、アプリケーションに固有のインジェクションを使用しましたが、ほとんどの場合、主要な共通コンポーネントは、どのアプリケーション データベースに書き込むか、またはアプリケーションごとに異なる共通のその他の設定のみを考慮していました。
欠点は、各アプリケーションが独自のバイナリを持っているため、同じ Web サーバーで実行すると、メモリにロードされるコードが、同じ共通モデルをロードする各アプリケーションの 3 倍の大きさになることです。しかし、これは私たちが事前に知っていた価格であり、現在のメモリは非常に安価です.
利点は、関心事の共通の分離があり、ある時点でアプリケーションが十分に異なる場合、それらは進化して別の動物になる可能性があることです。
もう 1 つのアプローチは、共通モデルを Web サービスに分離することです。ただし、このアプローチは、展開の観点からは少し脆弱です。
これが役立つことを願っています!