2012-02-23 4 views
2

Привет, мне была назначена задача преобразования существующего приложения 3 уровня (уровень представления, бизнес-уровня и уровня данных) в проект Windows Azure.3 Архитектура архитектуры уровня возможна с Azure?

В основном, я создал веб-роль и разместил в ней уровень представления, тогда я создал две отдельные библиотеки классов (соответственно бизнес и уровень данных) и связал их с уровнем представления, используя ссылки.

Однако, когда я развертывания приложения в Azure только веб-роль (Presentation Layer) был загружен:/

My current 3 tier architecture that isnt working properly with azure

Может кто-нибудь сказать мне, если:

  1. Это даже можно используйте трехуровневую архитектуру с лазером
  2. Если я сделал ошибку при ссылке на проекты
  3. Если это не может быть b e достигнута, есть аналогичная архитектура, которая похожа на 3 уровня.

Спасибо!

ответ

1

О недостающей ссылке: Для каждой ссылки, которую вы добавляете в свой проект, вам нужно установить «скопировать местное значение в true». Таким образом, все эти ссылки будут упакованы и развернуты в облаке, доступными для вашего проекта.

О презентации и деловом уровне: - Имейте в виду, что если у вас есть роль Web и workrole в приложении, вы получите две отдельные виртуальные машины, запускающие приложение, единственным способом, которым вы могли бы поговорить, является использование внутренних конечных точек usign. При запуске приложения на Windows Azure подумайте, почему существует необходимость разделить код на двух виртуальных машинах (если это необходимо), потому что у вас наверняка есть веб-интерфейс, а также код фоновой обработки в веб-роли. Роль рабочего ничего, кроме виртуальной машины без предварительно сконфигурированного IIS. Большинство приложений non .net с веб-интерфейсом используют роль «Рабочий» в качестве своего интерфейса, поэтому вам нужно разработать приложение, чтобы выбрать, что будет в роли веб-сайта, и что в роли рабочего.

0

Azure - это не что иное, как коллекция компьютеров Windows Server 2008. Вы можете развернуть свое решение по своему усмотрению. Обычно webrole используется для веб-уровня (frontend) и рабочей роли для логики (бэкэнд). Ваша база данных или хранилище данных - последний уровень.

+0

Так что вы говорите, что мой уровень презентации должен быть веб-ролей, мой бизнес-уровень должен быть рабочей ролью, а мой уровень данных (который подключается к SQL Azure) должен быть другой ролью работников, а затем я подключаюсь их вместе через рефералы? –

+0

Вы можете подключить их к очередям служебной шины Azure/WCF/Azure или к любому другому каналу связи, о котором вы можете думать. – Peter

+0

Это не «ИМЕЕТ», чтобы быть отдельной рабочей ролью. Веб-роль - это просто виртуальная машина с установленным IIS. Вы можете запускать фоновые процессы, службы Windows ... все, что вы запускаете на традиционном сервере, все в одной роли. Если вы ссылаетесь на этот уровень данных в своем веб-проекте, DLL уровня данных будет развернута с сайтом. Затем вы указываете свою строку соединения на SQLAzure (или любой доступный в Интернете SQL Server), и вы отправляетесь на гонки. –

1

Azure может это сделать. Вопрос в том, являются ли вы ярусами логическими или физическими. Если они логичны, просто разные сборки, добавленные в один веб-проект, очень просто, просто установите его в веб-роли. Если они являются физическими уровнями, то есть бизнес-уровень - это службы WCF, это также возможно, и он может быть размещен в другой веб-роли или рабочей роли или даже в одной веб-роли, если вы захотите.

Смежные вопросы