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