Многослойна архитектура

от Уикипедия, свободната енциклопедия

Многослойна Архитектура[редактиране | редактиране на кода]

В софтуерното инженерство, многослойната архитектура (наричана още N-слойна архитектура) е архитектура от тип клиент–сървър, в която интерфейсът, обработката на приложения и съхранението и обработката на данни са логически разделени на отделни модули. Най-разпространената форма на многослойна архитектура е трислойната архитектура.

Многослойната архитектура осигурява модел, по който разработчиците могат да създават гъвкави приложения, които могат да бъдат използвани многократно. При разделянето на едно приложение на слоеве, разработчиците имат възможността да добавят или променят отделен слой, вместо да преработват цялото приложение.

Трислойна Архитектура[редактиране | редактиране на кода]

Визуален изглед на приложение използващо трислойна архитектура

Трислойната архитектура обикновено се състои от презентационен слой (потребителски интерфейс) на най-високо ниво в приложението. Той служи за прякото взаимодействие с потребителя и изпращането на заявки към бизнес слоя. Не трябва да има директна връзка между този слой и слоят за бази данни. Бизнес слоят служи за обработка на данните и работните процеси. Той комуникира както с презентационния слой, така и с базите данни. Слоят за данни комуникира само с бизнес логиката и служи за съхранение данни и тяхното достъпване. Често отделните модули се разработват и на различни платформи. Разработена е от Джон Дж. Донован, в неговата компания OEC (Open Environment Corporation), основана в Кеймбридж, Масачузетс.

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

В повечето случаи, потребителският интерфейс работи на десктоп система и използва стандартен графичен интерфейс, функционалната логика за обработка на данните, която може да се състои от един или повече отделни модула, работещи на десктоп система или сървърно приложение, и РСУБД (релационните системи за управление на бази данни) работещи на сървър база данни или мейнфрейм, който съдържа логиката за съхранението и обработката на базите данни. Междинният слой може самият да бъде многослоен. В такъв случай цялостната архитектура се нарича N-слойна архитектура.

Трислойната архитектура се състои от следните три слоя:


ДА БЪДЕ ДОПЪЛНЕНО!!!


Употреба в уеб разработката[редактиране | редактиране на кода]

В областта на уеб разработката трислойната архитектура често се използва в уеб сайтове, най-често т.нар. „електронни магазини“, които се състоят от 3 слоя:

  1. Front-end слой (Клиентски слой) – този слой, е съдържанието, което се възпроизвежда от уеб браузърът и достига до крайния потребител. То може да бъде генерирано статично или динамично.
  2. Среден слой – той реализира логиката на самото уеб приложение. Това се осъществява със сървър, който обработва и генерира динамично съдържание. Този сървър може да е с платформа един от следните езици - Ruby on Rails, Java EE, ASP.NET, PHP, ColdFusion, Perl.
  3. Back-end слой – той представлява база данни, която се състои, както от самата информация в таблици, така и от система за управлението и (RDBMS).

Други факти[редактиране | редактиране на кода]

Обмяната на информация между слоевете е част от архитектурата. За целта може да се използват един или повече от следните протоколи – SNMP, CORBA, Java RMI, .NET Remoting, Windows Communication Foundation, sockets, UDP, уеб приложения или други стандартни или подходящи протоколи. Често за свързване на отделните слоеве се използва помощен софтуер, наричан “middleware”. Различните слоеве често (но не винаги) работят на различни сървъри, и всеки слой може да работи на система от свързани компютри, функциониращи като едно цяло, наричани cluster.

Проследяване на информацията[редактиране | редактиране на кода]

Възможността за проследяване на потока от информацията в n-слойни системи е задача, която увеличава значимостта и трудността си пропорционално на сложността на системата. За измерване и оценяване на представянето на една система се използва т.нар. система ARM (Application Response Measurement).