2013-04-24 4 views
0

У меня есть проект, который требует от меня настроить веб-приложение с использованием подхода ntier. Однако, поскольку большинство проектов, которые я сделал, это веб-сайт с использованием 1 уровня, поэтому я чуждо этой архитектуре.ASP.NET nTier Architecutre

Я решил создать трехуровневую архитектуру, уровень презентации, бизнес & Уровень доступа к данным и, наконец, уровень данных.

Я хотел бы знать, так как эти уровни находятся на другой серверной машине, как они могут общаться? Будет ли использование веб-службы для решения этой проблемы?

Есть ли какие-либо простые уроки или уроки, где это полностью обучается? От создания приложений до развертывания на отдельных серверных машинах.

+0

Вы можете получить вдохновение от http://tinyurl.com/d99w8rl. Примерами являются C#, но это больше о понятиях, которые могут быть вам полезны. –

ответ

0

Используйте следующую процедуру: Presentation Layer -> Создавая Asp.Net Project
Business Logic & Data Access Layer - > Создание проекта веб-службы.
База данных SQL -> Создавая новую БД на компьютере, на котором установлен SQL.

После того, как вы сделали:

  1. Дизайн таблиц базы данных в вашем SQL Studio.

  2. В BL & Проект DAL подключается к вашей SQL-базе данных с использованием Entity Framework, это создаст готовую схему и фактически автоматически создаст DAL со всеми бизнес-объектами, которые вам нужны.

  3. В BL создаются методы подписи (определения) для всех методов, которые должны быть реализованы.

  4. В вашем представлении Layer добавить ссылку на службу к вашему BL & DAL Web Service.

Это займет время, и вам нужно будет много узнать о платформе Entity Framework и веб-сервисах и о том, как использовать их для ваших нужд.

+0

Привет, Г.Y! В настоящее время я создал образец проекта для моделирования архитектуры nTier. У меня есть решение с тремя проектами: BLL, PL и WebService. Таким образом, файл aspx.vb в проекте/уровне PL вызовет функцию WebService, которая вызовет вызов функции в проекте BLL/уровне. Я думал о разделении проекта PL на один серверный сервер и проект BLL & Webservice на другую серверную машину. Нужно ли мне настраивать что угодно, чтобы уровень PL мог вызвать функцию Webservice? – user2315229

0

Если они находятся на разных машинах, то общий сценарий с использованием технологий Microsoft будет:

  1. User Interface (UI) осуществляется ASP.NET
  2. Business Layer (УСК) осуществляется C# или VB.NET в кучу DLLs
  3. Data Access Layer (DAL) как реляционная база данных, т.е. SQL база данных с ее таблицами, хранимые процедуры ... плюс классы (некоторые DLL) для доступа к базе данных. Наилучшей практикой является использование ORMs, т. Е. Entity Framework для обработки Data Access Layer и Data Layer.

Ваши слои в общем случае будут общаться друг с другом таким образом:

  • Ваш UI сообщит BLL обычно используя Web Services.
  • Ваш BLL свяжется с DAL, используя Web Services.
  • Ваш DAL свяжется с Database, используя TCP/IP.

Хотя дизайн n-Tier - лучшая практика, это не означает, что каждый уровень должен размещаться на разных машинах (считайте его более логичным, чем физическое). Например, если вы сохраняете все 3 уровня на одном компьютере и просто размещаете свою базу данных на другом сервере, вам не нужно внедрять веб-службы для BLL и DAL, что приводит к меньшей сложности и времени реализации, а также к другим преимуществам, т.е. более высокая скорость связи и безопасность.