Уровень N (многоуровневый), 3-уровневый, 2-уровневый Archiтекстура с ПРИМЕРОМ

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

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

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

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

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

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

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

N-уровень Archiтекстура

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

N-уровень Archiтекстура
Н-уровень ArchiДиаграмма тектуры

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

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

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

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

  • Распределенная сеть: Это сетевая архитектура, в которой компоненты, расположенные на сетевых компьютерах, координируют и сообщают о своих действиях только путем передачи сообщений. Это совокупность нескольких систем, расположенных в разных узлах, но воспринимаемая пользователем как единая система.
    • Он обеспечивает единую сеть передачи данных, которой разные сети могут управлять отдельно.
    • Пример распределенной сети – где разные клиенты подключены к архитектуре локальной сети с одной стороны, а с другой стороны они подключены к высокоскоростным коммутаторам вместе со стойкой серверов, содержащей сервисные узлы.
  • Клиент-сервер Archiтекстура: Это модель архитектуры, в которой клиент (одна программа) запрашивает услугу у сервера (другая программа). т.е. Это услуга запроса-ответа, предоставляемая через Интернет или интранет. В этой модели Клиент будет служить одним набором программ/кода, который выполняет набор действий по сети. Пока серверуС другой стороны, это набор другой программы, которая отправляет наборы результатов клиентской системе по запросу.
    • При этом клиентский компьютер предоставляет конечному пользователю интерфейс для запроса услуги или ресурса с сервера, а сервер, с другой стороны, затем обрабатывает запрос и отображает результат конечному пользователю.
    • Пример модели клиент-сервер – банкомат. Банк — это сервер для обработки приложений в больших базах данных клиентов, а банкомат — это клиент, имеющий пользовательский интерфейс с простой обработкой приложений.
  • Платформа: В информатике или индустрии программного обеспечения платформа — это система, на которой могут работать прикладные программы. Он состоит из комбинации аппаратного и программного обеспечения, имеющего встроенные инструкции для процессоров/микропроцессоров для выполнения определенных операций.
    • Проще говоря, платформа — это система или база, на которой могут запускаться и выполняться любые приложения для выполнения конкретной задачи.
    • Пример платформы. Персональная машина, на которой установлено Windows 2000 или Mac OS X как примеры двух разных платформ.
  • База данных: Это набор информации, организованный таким образом, чтобы к ней можно было легко получить доступ, управлять ею и обновлять.
    • Примеры базы данных – MySQL, SQL Сервер и Oracle Database некоторые общие БД.

Типы N-уровня Archiтекстуры

Существуют разные типы N-Tier. Archiтектуры, как 3 яруса Archiтектура, 2 уровня Archiтектура и 1-й уровень Archiтектура.

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

3-Tier Archiтекстура

Посмотрев на диаграмму ниже, вы можете легко определить это. Архитектура 3 имеет три разных слоя.

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

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

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

3-Tier Archiтекстура

Уровень представления

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Object of the Property layer
clsStudent objproperty=new clsStudent();
// Object of the business layer
clsStudentInfo objbs=new clsStudentInfo();
// Object of the dataset in which we receive the data sent by the business layer
DataSet ds=new DataSet();
// here we are placing the value in the property using the object of the
//property layer
objproperty.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 function
	 return ds;
	}
}

Объяснение кода

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

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

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

// this is the datalayer function which is receiving the data from the business 
//layer and performing the required operation into the database

public class clsStudentData // Data layer class 
{
	// object of property layer class
	public 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 operation
		ds=objdt.ExecuteSql(sql); 
		return ds;
	}
}

Объяснение кода

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

2-Tier Archiтекстура

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

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

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

Одноуровневый или 1-уровневый Archiтекстура

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

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

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

Наши преимущества Недостатки бонуса без депозита
Масштабируемость Увеличение усилий
Данные Integrity Увеличение сложности
Повторное использование
Уменьшенное распространение
Улучшенная безопасность
Улучшенная доступность

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

N-уровень ArchiСоветы и развитие

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

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

Резюме

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

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

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