N-уровневая (многоуровневая), 3-уровневая, 2-уровневая архитектура с ПРИМЕРОМ

Содержание:

Anonim

Что такое N-уровень?

N-уровень приложения программа является той , которая распределяется между тремя или более отдельными компьютерами в распределенной сети.

Наиболее распространенной формой n-уровня является трехуровневое приложение, которое подразделяется на три категории.

  • Программирование пользовательского интерфейса на компьютере пользователя
  • Бизнес-логика на более централизованном компьютере и
  • Обязательные данные на компьютере, который управляет базой данных.

Эта модель архитектуры позволяет разработчикам программного обеспечения создавать приложения / системы многократного использования с максимальной гибкостью.

В N-уровне «N» относится к количеству используемых уровней или уровней, например, 2-го, 3-го или 4-го уровня и т . Д. Ее также называют « многоуровневой архитектурой» .

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

В этом руководстве вы узнаете:

  • Что такое N-уровень?
  • N-уровневая архитектура
  • Типы многоуровневых архитектур
    • 3-х уровневая архитектура
    • Двухуровневая архитектура
    • Одноуровневая или одноуровневая архитектура
  • Преимущества и недостатки многоуровневых архитектур
  • Советы по разработке и разработке многоуровневой архитектуры

N-уровневая архитектура

Здесь показано схематическое представление n-уровневой системы - уровни представления, приложения и базы данных.

Схема N-уровневой архитектуры

Эти три уровня могут быть далее подразделены на разные подслои в зависимости от требований.

Некоторые из популярных сайтов, которые применили эту архитектуру:

  • MakeMyTrip.com
  • Корпоративное приложение Sales Force
  • Индийские железные дороги - IRCTC
  • Amazon.com и др.

Некоторые общие термины, которые следует запомнить, чтобы более четко понять концепцию.

  • Распределенная сеть: это сетевая архитектура, в которой компоненты, расположенные на сетевых компьютерах, координируют свои действия и сообщают о своих действиях только путем передачи сообщений. Это совокупность нескольких систем, расположенных в разных узлах, но представляемых пользователю как единая система.
    • Он обеспечивает единую сеть передачи данных, которой можно управлять по отдельности из разных сетей.
    • Пример распределенной сети - где разные клиенты подключены в архитектуре LAN с одной стороны, а с другой стороны они подключены к высокоскоростным коммутаторам вместе со стойкой серверов, содержащей узлы обслуживания.
  • Архитектура клиент-сервер: это модель архитектуры, в которой клиент (одна программа) запрашивает услугу у сервера (другая программа), т.е. это услуга запрос-ответ, предоставляемая через Интернет или через интрасеть.

    В этой модели Клиент будет служить одним набором программы / кода, который выполняет набор действий по сети. В то время как Server , с другой стороны, представляет собой набор другой программы, которая отправляет наборы результатов в клиентскую систему по запросу.

    • В этом случае клиентский компьютер предоставляет интерфейс для конечного пользователя для запроса услуги или ресурса с сервера, а с другой стороны, сервер затем обрабатывает запрос и отображает результат для конечного пользователя.
    • Пример клиент-серверной модели - банкомат. Банк - это сервер для обработки приложения в больших базах данных клиентов, а банкомат - это клиент, имеющий пользовательский интерфейс с некоторой простой обработкой приложений.
  • Платформа: В информатике или индустрии программного обеспечения платформа - это система, в которой могут работать прикладные программы. Он состоит из комбинации аппаратного и программного обеспечения, имеющего встроенные инструкции для процессоров / микропроцессоров для выполнения определенных операций.
    • Проще говоря, платформа - это система или база, на которой любые приложения могут запускаться и выполняться для выполнения конкретной задачи.
    • Пример платформы - персональный компьютер, на котором установлена ​​Windows 2000 или Mac OS X, например 2 различных платформы.
  • База данных: это организованный сбор информации, обеспечивающий легкий доступ, управление и обновление.
    • Примеры баз данных - MySQL, SQL Server и Oracle Database - это некоторые общие базы данных.

Типы многоуровневых архитектур

Существуют различные типы многоуровневой архитектуры, например трехуровневая архитектура, двухуровневая архитектура и одноуровневая архитектура.

Сначала мы увидим трехуровневую архитектуру, что очень важно.

3-х уровневая архитектура

Глядя на диаграмму ниже, вы можете легко определить, что трехуровневая архитектура имеет три разных уровня.

  • Уровень представления
  • Уровень бизнес-логики
  • Уровень базы данных

Схема трехуровневой архитектуры

Здесь мы взяли простой пример формы ученика, чтобы понять все эти три уровня. Он содержит такую ​​информацию о студенте, как имя, адрес, адрес электронной почты и изображение.

Уровень пользовательского интерфейса или уровень представления

Слой презентации

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString());// In this following code we are calling a function from the business layer and// passing the object of the property layer which will carry the ID till the database.ds=objbs.GetAllStudentBsIDWise(objproperty);// What ever the data has been returned by the above function into the dataset//is being populate through the presentation laye.txtId.Text=ds.Tables[0].Rows[0][0].ToString();txtFname.Text=ds.Tables[0].Rows[0][1].ToString();txtAddress.Text=ds.Tables[0].Rows[0][2].ToString();txtemail.Text=ds.Tables[0].Rows[0][3].ToString();

Код Пояснение

  • Приведенный выше код определяет базовое проектирование внешнего вида приложений, а также вызов функций других уровней, чтобы их можно было интегрировать друг с другом.

Уровень бизнес-доступа -

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

  • Бизнес-логика выступает в качестве интерфейса между уровнем клиента и уровнем доступа к данным.
  • Вся бизнес-логика, такая как проверка данных, вычисления, вставка / изменение данных, написана на уровне бизнес-логики.
  • Это ускоряет и упрощает обмен данными между клиентом и уровнем данных.
  • Определяет правильное действие рабочего процесса, которое необходимо для выполнения задачи.
// this is the function of the business layer which accepts the data from the//application layer and passes it to the data layer.public class clsStudentInfo{public DataSet GetAllStudentBsIDWise(clsStudent obj){DataSet ds=new DataSet();ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer functionreturn ds;}}

Пояснение к коду

Код использует функцию бизнес-уровня, которая принимает данные для уровня приложения и передает их на уровень данных. Коды бизнес-уровня действуют как посредник между функциями, определенными на уровне представления и уровне данных, и вызывают функции наоборот.

Уровень доступа к данным

Это функция уровня данных, которая получает данные от бизнес-уровня и выполняет необходимую операцию в базе данных.

// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic DataSet getdata_dtIDUise(clsStudent obj){DataSet ds;string sql;sql="select * from student where Studentld=" +obj.id+ "order by Studentld;ds=new DataSet();//this is the datalayer function which accepts the sql query and performs the//corresponding operationds=objdt.ExecuteSql(sql);return ds;}}

Пояснение к коду

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

Двухуровневая архитектура:

Это похоже на архитектуру клиент-сервер, в которой связь осуществляется между клиентом и сервером.

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

Между клиентом и сервером нет уровня бизнес-логики или непосредственного уровня.

Одноуровневая или одноуровневая архитектура:

Это самый простой способ, так как он эквивалентен запуску приложения на персональном компьютере. Все необходимые компоненты для запуска приложения находятся в одном приложении или на сервере.

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

Преимущества и недостатки многоуровневых архитектур

Преимущества

Недостатки

  • Масштабируемость
  • Увеличение усилий
  • Целостность данных
  • Увеличение сложности
  • Возможность повторного использования
  • Ограниченное распространение
  • Повышенная безопасность
  • Повышенная доступность

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

Советы по разработке и разработке многоуровневой архитектуры

Учитывая, что профессионалы в области программного обеспечения должны иметь полный контроль на всех уровнях архитектуры, ниже приведены советы по многоуровневой архитектуре.

  1. Постарайтесь как можно больше отделить слои от другого с помощью такой техники, как мыльный XML.
  2. Используйте некоторые автоматизированные инструменты для создания сопоставления между уровнем бизнес-логики и уровнем реляционной базы данных (уровнем данных). Инструменты, которые могут помочь в моделировании этих методов сопоставления: Entity Framework, Hibernate для .Net и т. Д.
  3. На уровне докладчика клиента по возможности поместите общий код для всех клиентов в отдельную библиотеку. Это максимизирует возможность повторного использования кода для всех типов клиентов.
  4. Слой кеша может быть добавлен к существующему слою для повышения производительности.

Резюме:

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

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

Такой архитектурный дизайн обеспечивает эффективное обслуживание, масштабирование и развертывание приложения в Интернете.