Уровень N (многоуровневый), 3-уровневый, 2-уровневый Archiтекстура с ПРИМЕРОМ
Что такое N-уровень?
An N-уровневое приложение Программа — это программа, которая распространяется между тремя или более отдельными компьютерами в распределенной сети.
Наиболее распространенной формой n-уровневого приложения является трехуровневое приложение, которое подразделяется на три категории.
- Программирование пользовательского интерфейса на компьютере пользователя
- Бизнес-логика на более централизованном компьютере и
- Необходимые данные на компьютере, который управляет базой данных.
Эта модель архитектуры позволяет разработчикам программного обеспечения создавать повторно используемые приложения/системы с максимальной гибкостью.
In N-ярус, «N» относится к нескольким уровням или слоям, которые используются, например – 2-х, 3-х или 4-х уровневый и т. д.. Его также называют «Многоуровневый Archiтектура».
N-уровневая архитектура — это проверенная в отрасли модель архитектуры программного обеспечения. Он подходит для поддержки клиент-серверных приложений корпоративного уровня, предоставляя решения для масштабируемости, безопасности, отказоустойчивости, возможности повторного использования и удобства обслуживания. Это помогает разработчикам создавать гибкие и повторно используемые приложения.
N-уровень Archiтекстура
Здесь показано схематическое представление n-уровневой системы – уровни представления, приложения и базы данных.
Эти три уровня могут быть дополнительно разделены на различные подуровни в зависимости от требований.
Некоторые из популярных сайтов, применивших эту архитектуру:
- 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 имеет три разных слоя.
- Уровень представления
- Уровень бизнес-логики
- Уровень базы данных
Здесь мы взяли простой пример студенческой формы, чтобы понять все эти три слоя. Она содержит информацию о студенте, такую как – Имя, Адрес, Электронная почта и Фотография.
Уровень пользовательского интерфейса или уровень представления
Уровень представления
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Советы и развитие
Учитывая, что специалисты по программному обеспечению должны иметь полный контроль над всеми уровнями архитектуры, советы по многоуровневой архитектуре приведены ниже.
- Постарайтесь максимально отделить слои от других слоев, используя такой метод, как мыльный XML.
- Используйте некоторые автоматизированные инструменты для создания сопоставления между уровнем бизнес-логики и уровнем реляционной базы данных (уровнем данных). Инструменты, которые могут помочь в моделировании этих методов сопоставления: Entity Framework и Hibernate для .Net и т. д.
- На уровне презентатора клиента поместите общий код для всех клиентов в отдельную библиотеку, насколько это возможно. Это позволит максимизировать возможность повторного использования кода для всех типов клиентов.
- Уровень кэша можно добавить в существующий уровень для повышения производительности.
Резюме
N-уровневая архитектура помогает управлять всеми компонентами (бизнес-уровень, уровень представления и уровень базы данных) приложения под одной крышей.
Приложения, использующие небольшое количество пользователей в локальной сети, могут извлечь выгоду из многоуровневой архитектуры.
Такой архитектурный проект обеспечивает эффективное обслуживание, масштабирование и развертывание приложения в Интернете.