0

私は大規模な Web アプリケーションのアーキテクチャについて考え、開発し始めています。使用するテクノロジやフレームワークに関する提案や推奨事項を知りたいと思っていました。

アプリケーションは、Windows 認証を使用し、IIS で実行され、ASP.NET を使用するイントラネット ベースの Web サイトになります。サブ Web アプリケーションを含むメイン Web アプリケーションとして構造化する必要があります。基本的に、スコープ全体は、個別の機能的に完全なモジュールまたはサブアプリケーションで構成される複合ブラウザベースのイントラネット アプリケーションです。

この複合 Web クライアント アプリケーションには、全体的なユーザー インターフェイス構造を提供するためのメイン モジュールまたはシェル モジュールがあります。さらに、シェル モジュールは、すべての個々のサブアプリまたはモジュールが使用できる共通サービスへのアクセスを提供します。次に、各サブアプリ/モジュールには独自の機能と実装が含まれますが、シェル ユーザー インターフェイスと統合されます。

次に、ユーザーと使用可能なサブアプリに基づいて、メインまたはシェル アプリは、個々のアプリケーションにアクセスする方法としてタブ (またはボタンなど) を動的に構築します。そして、ユーザーとアプリケーションのデータをデータベース テーブルに格納します。

たとえば、レポート アプリケーション、表示アプリケーション、およびその他のいくつかの異なるアプリケーションを作成します。メイン/シェル アプリケーションの起動時に、ユーザーが誰であるかを判断した後、メイン アプリはデータベースにクエリを実行して、ユーザーが使用できるサブアプリを判断し、UI を構築します。その後、ユーザーは使用可能なサブアプリ間を移動し、それぞれで作業を行うことができます。

これがすべて理にかなっていることを願っています。

とにかく、このようなシステムの設計と開発に最適な既存のテクノロジ/フレームワークはどれでしょうか。

Web Client Software Factory は適切な選択でしょうか? 他の MVP ソリューションは適切な選択でしょうか? ASP.NET MVC は適切な選択でしょうか? 他に何か???? これらのどれも良い選択ではなく、Web フォームを使用してゼロからすべてを開発する必要がありますか? 他に知っておくべき情報はありますか?

ありがとう!!!!

4

2 に答える 2

0

フレームワークについて説明する前に、そのようなシステム (サブアプリをプラグインできる場所) を構築する際に考慮すべきいくつかのポイント:

  • 可能な統合ポイント (データ、サービス、ビジネス ロジック、UI)
  • 分野横断的な問題 (システム ロギング、監査ロギング、構成、セキュリティ)
  • 誰がサブアプリを開発するか (あなた、あなたのオフィスで働く人々、または誰でも / より大きなコミュニティ)

フレームワークに飛び込んで構築する (または既存のフレームワークを選択する) 前に、まず一歩下がってこれらの側面について考える必要があると思います。

farmeworks に関しては、多くのフレームワークがありますが、求めているすべての範囲を提供するフレームワークはほとんどありません。

  • ASP.NET WebForms は、基本的に完全に空き地です。ほとんどのものを自分で構築するか、追加のフレームワーク (MS Enterprise Libraries など) を導入する必要があります。
  • ASP.NET MVC は事実上同じものですが、スタイルが異なります。

これらはどちらも「フレームワーク」ではありませんが、これらのいずれかを低レベルのベース「プラットフォーム」として使用できます。

  • MS Ent Lib は分野横断的な問題 (データ アクセス、ログ記録など) には最適ですが、それだけです。
  • さまざまな優れた依存性反転フレームワークもありますが、これらも完全なソリューションではありません。

重要なことは、依存関係を制御することです。(最初に) データ層を抽象化し、インターフェイスの分離、再利用などに関する原則を順守してください。

検討できるオプションの 1 つ (ここで私は自分のトランペットを吹いているので、公平ではありません) は、私が構築したオープン ソースの .net アプリケーション フレームワークです (「Morphfolia」はパートタイムで約 5 年かかりました)。 )。それを使用しなくても、「盗む」ことができるいくつかの良いアイデアやコードを見つけることができます:

モルフフォリア:

http://morphfolia.codeplex.com/からダウンロードできます。

于 2010-06-19T06:30:03.457 に答える
0

ASP.Net MVC2 は、エリアの使用も容易にします。ここに役立つリンクがあります

http://odetocode.com/Blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx

基本的に、領域を使用して「サブアプリケーション」を分割できます

于 2010-06-18T19:07:42.173 に答える