2012-02-23 7 views
2

こんにちは私は、既存の3層アプリケーション(プレゼンテーション層、ビジネス層およびデータ層)をWindows Azureプロジェクトに変換するタスクを割り当てられています。3層のアプリケーションアーキテクチャはAzureで可能ですか?

基本的には、Webロールを作成してプレゼンテーションレイヤーを作成し、2つの別々のクラスライブラリ(それぞれビジネスレイヤーとデータレイヤー)プロジェクトを作成し、参照を使用してプレゼンテーションレイヤーにリンクしました。私はAzureの唯一のWebロール(プレゼンテーション層)にアプリケーションをデプロイししかし

がアップロードされました:/

My current 3 tier architecture that isnt working properly with azure

場合、誰かが私に伝えることができます:それもすることが可能である

  1. azureと3層アーキテクチャを使用する
  2. プロジェクトを参照する際に間違いを犯した場合
  3. これがb達成されたのは、3層のような類似のアーキテクチャです。

ありがとう!

答えて

1

不足している参照について: 自分でプロジェクトに追加するすべての参照に対して、「コピーローカル」を設定する必要があります。このようにして、これらのすべてのリファレンスはパッケージ化され、クラウドにデプロイされると、プロジェクトに使用できます。

プレゼンテーションとビジネスレイヤについて: - アプリケーションでWebロールと作業ロールがある場合は、アプリケーションを実行する2つの別個のVMが、内部エンドポイントの使用によってのみ話せるようになります。 Windows Azureでアプリケーションを実行する場合、Webロールにバックグラウンド処理コードと同様にWebフロントエンドを持つことができるため、2つの仮想マシン上にコードを分離する必要がある理由を考えてください(必要な場合)。あらかじめ設定されたIISのないVMだけです。 Webフロントエンドを使用したほとんどの.netアプリケーションでは、フロントエンドとしてWorkerロールを使用しているため、アプリケーションを設計して、Webロールとワーカーロールを選択する必要があります。

0

Azureは、Windows Server 2008マシンの集まりに過ぎません。必要に応じてソリューションを展開できます。通常、Web層(フロントエンド)にはwebroleが使用され、ロジック(バックエンド)にはworkerロールが使用されます。データベースまたはデータストアは最後の層です。

+0

私のプレゼンテーションレイヤーはWebロールでなければならず、ビジネスレイヤーはワーカーロールでなければならず、データレイヤー(SQL Azureに接続する)は別のワーカーロールでなければならない彼らは一緒に参照を介して? –

+0

Azureサービスバス/ WCF/Azureキュー、または考えられる他の通信チャネルでそれらを接続できます。 – Peter

+0

それは、全く別の作業者の役割であることはありません。 Webロールは、IISがインストールされた単なるVMです。バックグラウンドプロセス、Windowsサービス、従来のサーバー上で実行するものはすべて1つの役割で実行できます。 Webプロジェクトでそのデータレイヤーを参照している場合は、データレイヤーDLLがサイトと共に展開されます。その後、接続文字列をSQLAzure(またはWebで使用可能なSQL Server)にポイントすると、レースに出ます。 –

1

これを行うことができます。問題は、論理的または物理的な層です。論理的なものであれば、1つのWebプロジェクトに異なるアセンブリを追加するだけで簡単ですが、Webロールにインストールしてください。それらが物理層、つまりビジネスレイヤーがWCFサービスの場合、これも可能であり、必要に応じて別のWebロールやワーカーロール、または1つのWebロール内でホストすることもできます。

関連する問題