Разное

Какие архитектуры бывают: Все архитектурные стили от А до Я, список с фото – Rehouz

Содержание

Архитектурные стили: кратко, в хронологической последовательности

Архитектурные стили в хронологическом порядке, начиная со времён Древнего Мира, разложили по полочкам, написали несколько слов о каждом, добавили примеры, фото, видео, чтобы всё легко понять.

Стили в архитектуре и их особенности

Архитектурные стили формируются особенностями и свойствами исторического периода, региона или страны, которые проявляются в отличительных чертах зданий и композиций, таких как:

  • назначение строений (храмы, дворцы, замки),
  • конструкции и материалы, используемых при строительстве,
  • композиционные приёмы,
  • линии и оформление фасадов,
  • планы,
  • используемые формы.

Различные стили возникают в конкретных условиях развития экономики и общественного устройства. На них влияют:

  • религиозные течения,
  • государственность,
  • идеологическая составляющая,
  • исторические приёмы зодчества и
  • национальные отличия,
  • климат,
  • ландшафт и рельеф.

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

Архитектурные стили архаичного периода

Древнеегипетский стиль

Стиль этот дал развитие огромному множеству разнообразных архитектурных структур и великих памятников. Архитектура Древнего Египта, включая дворцы, храмы в Луксоре и пирамиды на реке Нил, является свидетельством существования одной из самых выдающихся цивилизаций мира. Преобладающие строительные материалы — это испечённый на солнце кирпич, известняк, песчаник и гранит.

Архитектура Древнего Египта: пирамиды Гизы

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

Архитектурные стили античности

Античность — это Древний Рим плюс Древняя Греция.

Древнегреческий стиль

Греки возводили много храмов для жертвоприношений богам. Они заложили основу европейской архитектуре, которая служила примером для всего мира. Их высокотехнологичные системы для пропорций и стиля, используя математику и геометрию создавали внешнюю гармонию и красоту. Заменив ещё в архаическую эпоху дерево на белый мрамор и известняк, греки строили благородные и прочные здания. Можно поделить на следующие периоды:

  • архаический,
  • классический,
  • эллинизм.

Античный греческий архитектурный стиль: храм Геры (возр. 460 до н. э.) в Пестуме, Италия (ошибочно называемый Нептуна или Посейдона).

Отмечены периоды архитектуры Древней Греции рождением трёх стилей: дорическим, ионическим и коринфским.

  • В архаике — дорический и ионический.
  • Во времена классики добавился коринфский.
  • Эллинизм использует все три.

Читайте краткий обзор архитектурных стилей Древней Греции.

Древнеримский стиль

Древнеримская архитектура — это форма этрусского зодчества. Этому стилю присущи величие, мощь и сила. Сильное влияние на неё оказали греки. Отличается монументальностью, множеством украшений и пышной отделкой зданий, строгой симметрией.

Римляне строили большинство зданий для практических целей, а не храмы, как в Греции. Читайте  об архитектуре Древнего Рима коротко. Описана история, применяемые материалы, технологии и градостроительство.

Древнеримский архитектурный стиль: Пантеон, Санта-Мария ин ВИА лата, Рим, Италия

Византийский стиль

Столица Римской империи была перенесена римским императором Константином I в город Византий (Константинополь) в 330 году и стала называться Новым Римом. Естественно, что в архитектуре Византии, можно видеть сильное влияние древнеримского стиля. При этом, в отношении изящества и роскоши она стремилась превзойти старый Рим.

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

Базилика Сан Витале в византийском стиле, Равенна, Италия

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

Читайте коротко о периодах развития византийской архитектуры с примерами и фотографиями.

Дороманские архитектурные стили

Дороманский стиль или прероманская архитектура охватывает времена

  • Меровинговского царства (5 — 8 вв),
  • эпоху Каролингов (8 — 9 вв) и
  • Оттоновский период (10 век) вплоть до начала 11 века, когда родился романский стиль.

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

Меровингский стиль

Меровингский архитектурный стиль: Собор Сен-Леонс, Фрежюс, Франция

Период распространения этого стиля приходится на период с 5 по 8 века, когда на землях, принадлежащих современной Франции, Бельгии и частично Германии, правила франкская королевская династия Меровингов. Это время крещения варваров. Сочетает в себе традиции позднеантичного римского стиля и варварские традиции.

Каролингский стиль в архитектуре

Прероманский стиль в архитектуре: типичная каролингская церковь на севере Франции Нова Корвей (Nova Corbeia)

На смену Меровингской эпохи пришла эпоха Каролингов (780 — 900 гг). Каролингское Возрождение в конце 8-го и 9-го веков — это стиль дороманской архитектуры северной Европы.

Став императором, германский король Карл Великий хотел, чтобы его империя была столь же великой, как Рим до него. Он спонсировал искусство и финансировал строительные проекты, в основном соборы и монастыри. Многие из этих зданий также служили школами, поскольку Карл Великий стремился создать большую грамотную базу своей империи.

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

Оттоновский стиль

Оттоновская церковь Святого Кириака (960-965гг ), Германия

Оттоновский период следует за Каролингским и предшествует появлению романской архитектуры. Сохранившиеся примеры этого стиля находятся в Германии и Бельгии. Оттоновский ренессанс (951-1024 гг) возник в Германии во времена правления Отто Великого и черпал вдохновение из Каролингской и Византийской эпох.

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

Романский стиль

Романские здания строились в Европе приблизительно с 1000 года и до появления готического стиля в 12 веке.

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

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

Замок обычно строился на возвышении, которое имело стратегическое значение для обороны и наблюдения. Украшением композиции служили башни — убежища. Форма их могла быть круглой, четырёх- или шестиугольной с заостренной крышей. Остальные постройки неприхотливой геометрической формы располагались вокруг неё.

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

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

Романская церковь Сан Миллан, Сеговия, Испания

Готический стиль

На основе романского стиля возникла готика с устремлёнными ввысь шпилями, заостренными арками и резьбой на религиозные темы. Этот стиль возник на севере Франции в 12 веке. Получил широкое распространение в австрийских, немецких, чешских, испанских, английских городах.

В Италии приживался с большим трудом и сильными изменениями, которые положили начало «итальянской готике». В конце 14 века этот архитектурный стиль трансформируется в так называемую «интернациональную готику».

Готический собор в Лионе, Франция

Для интересующихся более подробно в статье  Готический стиль в архитектуре. В статье Готические соборы средневековья описаны 6 наиболее ярких образцов готики в Европе. Пример лучистой готики приведён в статье о Кёльнском соборе.

Архитектурный стиль Ренессанс или Возрождение

Возрождение началось в Италии и распространилось по Европе. Гуманистическая направленность периода 1425 -1660 годов характеризовалась вниманием к человеческой деятельности, и возрождению интереса к античности.

В архитектурных зданиях это отражается в порядке расположения колонн, пилястр и притолок. Несимметричные средневековые черты меняются на полуовальные арки, полусферные купола и ниши (эдикулы). В архитектуру вновь возвращаются античные формы.

В ренессансе присутствует слияние готики и романского стилей.
После кризиса идей в 16 веке на смену Возрождению приходит Маньеризм и Барокко.

Собор Санта Мария дель Фьоре в архитектурном стиле ренессанс (эпоха Возрождения), Флоренция, Италия

Маньеризм

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

Образец маньеризма: Дворец Массимо-алле-Колонне, Рим, Италия

Некоторые искусствоведы называют его ранним барокко. Очаги возникновения: Флоренция, Рим и Мантуя в Италии (ит. maniera — манера). Но самое главное, он стал отражением трансформации средневекового искусства в Новом времени.

Барокко

Барочный стиль рождён итальянскими зодчими Борромини и Бернини. Его появление в конце 16 века знаменует эпоху Позднего Возрождения. Ещё называют витиеватым развитием Ренессанса.

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

Характеризуется большими колоннадами, обилием различных скульптур и пилястрами, наличием теламонов (атлантов), кариатид и маскарон (анфас головы человека или животного). Отмечен многоярусными сложными куполами (собор Св. Петра, Рим).

Любимый католической церковью (место рождения Ватикан), cтиль барокко быстро становиться популярным у испанцев и французов, у немцев и нидерландцев, у русских и поляков. Также его принимают и в странах Южной Америки.

Стиль барокко в архитектуре Рима, Италия

Читайте также Как зародилось барокко на Дзен канале Архитектура.
В статье Стиль барокко в Европе коротко рассматриваются наиболее яркие примеры в разные периоды развития направления, от раннего до позднего.
Очень коротко об особенностях и истории развития барокко в Европе можно узнать на канале Дзен Архитектура, кликнув по линку.
В конце барокко истончилось в рококо.

Рококо

Родиной этого стиля является Франция, где он проявился в начале 18 в.. Отличает рококо лёгкость, приветливость, игривость. Архитектура совершенно произвольно сочетает и распределяет части сооружения, не задумываясь о формах и их целесообразности. Строгая симметричность отсутствует, зато существует бесконечный перебор многочисленных деталей орнамента и их расчленения.

Полное отсутствие рациональности в обращении с расположением и гармоничным сочетанием элементов, капризность, изысканность и отягощенность форм на памятниках рококо делает их оригинальными и скошными. Шедевры архитектуры рококо в Италии, Германии, Англии имеют свои отличия. Они напоминают нам о временах, когда в моде были пудреные парики, мушки, румяна и белила.

Дом Хелблингов в Инсбруке, Австрия. Фотография Джеймса Дэвиса/Корбис

Читайте больше в статье Рококо в архитектуре: это надо знать.
Шедевры рококо в Италии описаны кратко на Дзен канале Архитектура, а также есть описание памятников рококо Англии и в архитектуре Германии.

Архитектурные стили классицизма

На закате эпохи Возрождения Палладио и Скамоцци (итальянские архитекторы) выразили архитектурным языком направление классицизма. Основа классического стиля: рационализм и использование только функциональных деталей.

Архитектор А. Палладио. Вилла Ла Ротонда, Виченца, Италия. Классический стиль в архитектуре

Благодаря следованию строгим канонам, постройки отличаются

  • правильностью планировки,
  • чёткими формами,
  • симметричными композициями и
  • сдержанным убранством.

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

В разных странах это направление проявляется с некоторыми особенностями. Италия, Франция, Англия, Германия, США выразили классику как:

  • Палладианизм или ранний классицизм,
  • Георгианская архитектура,
  • Ампир,
  • Регентство,
  • Бидермейер,
  • Федеральная архитектура.

Резиденция премьер-министра Великобритании. Георгианский стиль дома на Даунинг стрит 10, Лондон

В статье Архитекторы Классицизма в Англии можно проследить эволюцию архитектурных стилей на примере этой страны.

Классицизм — значит «образцовый». Рациональная методология европейского философа Рене Декарта (1596 -1650 гг) «от простого — к сложному» нашла выражение в архитектурных шедеврах классического стиля строений 17—19 веков.

Архитектурные стили данного направления более подробно описаны в статье «Классицизм в архитектуре«.

Стили историзма в архитектуре

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

Sint-Petrus-en-Pauluskerk, Ostend, неоготика, 1899–1908 Бельгия

К нему относят

  • субъективные интерпретации неоготики и неоренессанса с новыми для них элементами,
  • комбинации с неомавританским или византийским стилями,
  • вариации на тему барокко — необарокко
  • и тему греческого стиля — неогрек.

Историзм в России оформился в «псевдорусский стиль».

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

Современная архитектура, используя этот стиль в наше время, создала ещё один вид, которое получило название Нео-историзм.

Более полное описание архитектурных стилей этого периода читайте и смотрите в статьях «Историзм в архитектуре» и «Эклектика в архитектуре«.

Архитектурные стили Модерна

Хотя искусствоведы Великобритании однозначно определяют Ар Нуво как Викторианский стиль, его рождение провозгласило начало эпохи Модерна. А было это в 1861 году.

Ар Нуво (Арт-Нуво)

Этот архитектурный стиль, развивался с конца 19 века до середины 20х годов 20 века. Родоначальником Арт-Нуво считается англичанин Уильям Моррис (1830-1896), известный лидер «Артс энд крафт», и художники-прерафаэлиты.

Несмотря на разные названия, «либерти», «югендстиль», «тиффани », «метро» и другие, он легко узнаваем, т.к. черпает свое вдохновение из природы. Его основная характеристика — это орнаменты, наполненные стилизованными мотивами растений и цветов, птиц, насекомых, рыб.

Доминируют плавные изогнутые линии и формы; часто присутствуют женские силуэты и элементы неоклассицизма. Более подробно об этом стиле можно узнать в статье Модерн в архитектуре.

Арт Деко (Ар-Деко)

Это динамичное и смелое продолжение Ар Нуво. Он не отвергает неоклассицизм, но приветствует современные технологии и аэродинамические элементы. Трансформирует плавные линии Ар Нуво в геометрию, угловатые орнаменты и этнографические узоры. Отдает предпочтение дорогостоящим материалам, например, редким породам дерева, слоновой кости, алюминию и серебру.

Роскошь ограничена строгой закономерностью и отсутствием ярких цветов в оформлении. Главный акцент — это красота материала. Ар Деко получило международное признание в 30—40-е годы прошедшего 20 столетия.

Арт-деко. Здание Chrysler, Нью-Йорк, США

Модерн Рациональный

В 1930-1937 гг.  Ар Деко мягко перетекает в Рациональный модерн. Этот стиль подчеркивает выгнутые, вытянутые горизонтально формы и элементы корабельной архитектуры. Промышленные дизайнеры лишили Ар Деко орнамента в пользу чистой линии, острые углы сменились аэродинамическими изгибами, а экзотические породы дерева и камень вытеснил цемент и стекло.

Здание аптеки, Канзас-Сити, Миссури, США, в стиле модерн.

Архитектурные стили модернизма

Глобальное движение в архитектуре и дизайне 20-го века, объединившее возникшие архитектурные стили на базе инноваций в технологии строительства, новых материалов, железобетона, стали и стекла получило название интернациональный стиль.

Характерные черты:

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

Он отвергает орнамент, неоклассический подход к архитектуре и стилей Beaux-Arts (боз-арт), что значит «красивая архитектура», и отдает предпочтение минимализму. Основные элементы:

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

В разных странах их черты приобретали своё звучание. Но у всех наблюдаются одни и те же принципы:

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

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

Интернациональный стиль охватывает современные направления в зодчестве такие как:

  • Брутализм,
  • Конструктивизм,
  • Функционализм,
  • Рационализм,
  • Де Стиль (неопластика),
  • Баухауз и другие.

Модернизм. Дворец Гуштаву Капанемы, Рио, Бразилия

Более подробно архитектурные стили этого направления рассмотрены в статье Модернизм в архитектуре. 

Архитектурные стили постмодернизма

Объединение архитектурных течений, возникших в 60 годах прошлого столетия как реакция на жёсткую экономию, формализм и отсутствие разнообразия, представляет из себя постмодернизм. Его расцвет пришёлся на 1980-е годы.

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

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

Стремление к соблюдению пропорций и симметрии, к выражению образности зданий, внедрение или возрождение декора (барельефы, росписи) активно используются во внешней отделке.

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

Хай-тек в архитектуре

High Tec — высокие технологии. Возник в 1970-х на основе элементов высоких технологий в промышленности, инженерии.
Концепция High Tech развилась из британской модернистской архитектуры конца 1960-х. Отдаёт предпочтение легким материалам и чистым, гладким, непроницаемым поверхностям, часто из стекла. Характеризуется выраженными открытыми стальными конструкциями, открытыми трубами, воздуховодами и т. д., гибкостью для создания внутренних зон и интерьеров.

Эти изменения были внесены и реализованы ключевыми архитекторами стиля Норманом Фостером и Ричардом Роджерсом с 1970-х годов.

Здание в стиле хай-тек: штаб 4 канала, Horseferry Road, Лондон, 1994

Деконструктивизм

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

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

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

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

Деконструктивизм. Музей Гугенхейма, Бильбао, Испания

Зелёная, органическая  архитектура

Зеленое строительство стремится минимизировать отрицательное влияние строительства на природу. Это течение стремится к умеренному и эффективному использованию материалов, энергии и пространства с целью органичного развития экологической системы в целом.
Ключевой фактор зеленой архитектуры: применение экологически чистых технологий и ресурсов на каждом этапе строительства, начиная с идеи и планирования, завершая разрушением.

Зелёная архитектура. Офисное здание, Малага, Испания

Архитектор 20 века Ф.Л.Райт впервые использовал термин «органическая архитектура«, сформулировал её принципы и придерживался их в своих работах. Он умел совмещать желания заказчиков с уникальностью окружающей среды. Убедится в этом можно, познакомившись с примерами работ талантливого мастера.

Но не менее (а может и более) органической является архитектура другого великого зодчего Антонио Гауди. Он вдохновлялся формами, наблюдаемыми в природе, и переносил их в свои творения. Храм Саграда Фамилия — яркий пример тому.

Параметризм — новый взгляд на архитектуру

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

Комплекс зданий Galaxy SOHO[d] (2009—2012). Пекин, Китай. Архитектор Заха Хадид (2008—2012) Фото: Rob Deutscher — Flickr, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=54734274

Здание Даляньского международного конференц-центра (2008—2012). Далянь, Китай. Архитектурное бюро Coop Himmelb(l)au, Австрия. Фото: 準建築人手札網站 Forgemind ArchiMedia — https://www.flickr.com/photos/eager/14302092083, CC BY 2.0, https://commons.wikimedia.org/w/index.php?curid=36644368

Название стилю дал архитектор Патрик Шумахер в 2008 году. В своей статье «Parametricism — A New Global Style for Architecture and Urban Design» (с англ. — «Параметризм: новый глобальный стиль архитектуры и городского дизайна») он указывает, что в этом стиле все архитектурные элементы должны быть параметрически связаны в систему. Вместо классических геометрических фигур — линий, прямоугольников, цилиндров и пирамид — в параметрических проектах используются принципиально новые динамические элементы, основанные на

  • тесселяции (примером в природе являются пчелиные соты),
  • сплайне (функции, позволяющие моделировать объёмные тела) и
  • различного рода математических преобразованиях.

Во втором десятилетии XXI века параметризм стал претендовать на ведущую роль среди современных архитектурных направлений.

Первые ростки параметризма просматриваются ещё в архитектуре Антонио Гауди (начало XX века).  Представители параметризма: Грег Линн, Ян Каплицки, Сантьяго Калатрава, Заха Хадид, Костас Варотос.

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

Теперь Вы знаете архитектурные стили в хронологической последовательности. Каких не достаёт в этом перечне?

Делитесь своим мнением по поводу статьи в комментариях.
Ставьте оценку статье, выбрав нужное число звёзд ниже.
Заберите её себе на стену в социальной сети, чтобы не потерять. Или добавьте в закладки (Ctrl+D).

Очень краткая история архитектуры • Arzamas

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

Автор Сергей Кавтарадзе

Около 4000 года до н. э.


Стоечно-балочная система

 



Дольмен Пулнаброн в Ирландии. 2005 год

© SteveFE/Flickr

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


 


Около 2500 года до н. э.


Начало оформления колонн

 



Гробница фараона V династии Сахуры. Реконструкция Людвига Борхардта. 1910 год

© Wikimedia Commons

Древнеегипетские зодчие остались верны стоечно-балочной системе, но придали смысл архитектурным формам. Колонны в их храмах стали изображать пальму, лотос или связку папируса. Эти каменные «заросли» рассказывают о загробном лесе, через который души умерших должны пробраться к новой жизни. Так архитектура стала изобразительным искусством. Позже делать из архитектуры огромную скульптуру стали и в Междуречье. Однако там предпочитали ваять быков, грифонов и других существ животного мира.


 


Около 700 года до н. э.


Складывание античного ордера

 



Храм Т в Селинунте. Рисунок Жака Игнаса Гитторфа. 1859 год

© Wikimedia Commons

Греки сделали темой архитектуры как искусства саму архитектуру, точнее, рассказ о работе ее конструкций. С этого момента опоры стоечно-балочной системы не просто украшают здание, но и показывают, что они что-то поддерживают и что им тяжело. Они просят сочувствия зрителей и для убедительности подражают строению и пропорциям человеческой фигуры — мужской, женской или девичьей. Выстроенная строго логично система из поддерживающих и поддерживаемых элементов называется ордером  Ордер — (от лат. ordo) воинский строй, порядок.. Обычно различают три главных ордера — дорический, ионический и коринфский — и два дополнительных — тосканский и композитный. Это момент рождения европейского зодчества.


 


Около 70 года н. э.


Начало широкого применения арочных конструкций

 



Колизей в Риме. Гравюра Джованни Баттисты Пиранези. 1757 год

© Wikimedia Commons

Римляне начинают широко применять арки и арочные конструкции (своды и купола). Горизонтальная балка может треснуть, если она слишком длинная; клиновидные же части в арочной дуге при нагрузке не переламываются, а сжимаются, а разрушить камень давлением непросто. Поэтому арочными конструкциями можно перекрывать гораздо большие пространства и нагружать их значительно смелее. Вместе с тем, освоив арку, архитекторы Рима не стали сочинять новый архитектурный язык взамен древнегреческого. Стоечно-балочная система (то есть колонны и поддерживаемые ими элементы) осталась на фасадах, но теперь часто не работала, а лишь украшала здание. Таким образом, римляне сделали ордер декором.


 


318 год


Возвращение раннехристианских зодчих к деревянным стропильным перекрытиям 

 



Базилика Святого Петра в Риме. Реконструкция Генри Уильяма Брюэра. 1891 год

© Wikimedia Commons

Падение Западной Римской империи обрушило экономику тех территорий, которые мы сегодня называем Западной Европой. Средств на строительство каменных перекрытий не хватало, хотя потребность в больших зданиях, прежде всего в храмах, была. Поэтому византийским строителям пришлось вернуться к дереву, а с ним — и к стоечно-балочной системе. Из дерева делались стропила — конструкции под кровлю, где часть элементов (подкосы) согласно законам геометрии работает не на излом, а на разрыв или сжатие. 


 


532 год


Начало применения византийскими зодчими купола на парусах

 



Купол Софийского собора в Константинополе. 2012 год

© Hochgeladen von Myrabella / Wikimedia Commons

Технологический прорыв византийской архитектуры — постановка изобретенного еще в Древнем Риме купола не на круглые стены, замыкающие внутреннее пространство, а на четыре арки — соответственно, всего с четырьмя точками опоры. Между арками и подкупольным кольцом образовывались двояковогнутые треугольники — паруса. (В храмах на них чаще всего изображаются евангелисты Матфей, Лука, Марк и Иоанн — четыре опоры церкви.) В частности, благодаря этой конструкции православные церкви имеют привычный для нас вид.


 


Около 1030 года


Возвращение к строительству арочных сводов в архитектуре романики

 



Шпайерский собор в Германии. Рисунок Августа Эссенвейна. 1858 год

© Wikimedia Commons

К началу второго тысячелетия нашей эры в Европе стали складываться могущественные империи, и каждая считала себя наследницей Рима. Возродились и традиции римского зодчества. Величественные романские соборы снова перекрывались арочными конструкциями, похожими на античные, — каменными и кирпичными сводами. 


 


1135 год


Готические архитекторы придают арочным конструкциям стрельчатые очертания

 



Собор Святого Креста в Орлеане

© Renaud Camus / Flickr

У арки и арочных конструкций есть один серьезный недостаток. Они стремятся «разъехаться». До готики архитекторы боролись с этим эффектом, строя толстые стены. Затем был найден другой прием: арки и своды стали делать стрельчатыми. Конструкция такой формы давит больше вниз, на опоры, чем в стороны. Кроме того, с боков эта система подпиралась специальными «мостиками» — аркбутанами, которые перекидывались от отдельно стоящих столбов — контрфорсов. Так стены освобождались от всякой нагрузки, делались легкими или даже исчезали, уступая место стеклянным картинам — витражам. 


 


1419 год


В эпоху Ренессанса, барокко и классицизма стили формируются вне зависимости от новизны применяемых конструкций

 



Вид на площадь Святейшего Благовещения. Картина Джузеппе Дзокки. XVI векНа площади находится портик Оспедале-дельи-Инноченти («Приют невинных») архитектора Филиппа Брунеллески (1419–1445 годы).
© christies.com

Эпоха Возрождения дала миру величайшие купола, но с этого момента большие стили возникали уже не столько благодаря строительным новшествам, сколько в результате изменения самой картины мира. Ренессанс, маньеризм, барокко, рококо, классицизм и ампир родились скорее благодаря философам, теологам, математикам и историкам (и в какой-то степени тем, кто ввел в моду галантные манеры), чем изобретателям новых конструкций перекрытий. Вплоть до эпохи промышленной революции новшества в строительных технологиях перестают быть определяющим фактором в смене стилей.



 


1830 год


Начало «железнодорожной лихорадки» привело к массовому применению в строительстве металлических конструкций

 



Запуск железной дороги Ливерпуль — Манчестер. Рисунок А. Б. Клейтона. 1830 год

© Wikimedia Commons

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


 


1850 год


Стекло становится полноправным строительным материалом

 



Хрустальный дворец в Гайд-парке. Рисунок Филиппа Браннана. 1850–1851 годы

© Victoria and Albert Museum

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


 


1861 год


Начало промышленного применения железобетона

 



Чертеж дома Франсуа Куанье из ноябрьского номера журнала L’Ingénieur за 1855 год

© histoire-vesinet.org

Попытки упрочнить бетон предпринимались еще в Древнем Риме; металлические стержни для армирования перекрытий начинают активно применять с начала XIX века. В 1860-х годах садовник Жозеф Монье в поисках средства сделать садовые кадки более прочными случайно обнаруживает, что, если в бетон заложить металлическую арматуру, прочность получившейся детали возрастает многократно. В 1867 году открытие было запатентовано, а затем продано профессиональным инженерам, разработавшим методы применения этой новейшей технологии. Однако предприимчивый садовник был лишь одним из нескольких отцов новой строительной технологии. Например, в 1853 году во Франции инженер Франсуа Куанье построил дом целиком из железобетона, а в 1861 году опубликовал книгу о его применении.


 


1919 год


Соединение всех технологических возможностей в новом 

«современном» стиле

 



Павильон «Эспри нуво» Ле Корбюзье в Париже. Открытка 1925 года

© delcampe.net

В своем манифесте в журнале «Эспри нуво» один из лидеров архитекторов-модернистов Ле Корбюзье формулирует пять принципов современной архитектуры, которые возвращают ее к античным идеалам — не внешне, но в главном: образ здания опять стал правдиво отражать работу конструкций и функциональное назначение объемов. К началу XX века декор на фасадах стал восприниматься как обман. Появилась потребность обратиться к истокам, брать пример с древнегреческих храмов, правдиво рассказывавших о работе конструкций. Однако теперь перекрытия делались из железобетона, смысл применения которого в том, что там, где деталь работает на излом, замурованная в ней арматура сопротивляется разрыву. Поэтому современные конструкции могут перекрывать пролеты почти любой ширины. Теперь здания смогли совсем лишиться колонн, украшений, смогли иметь сплошное остекление, то есть обрести привычный нам «современный вид».  

Архитектурный стиль — это… Что такое Архитектурный стиль?

Архитектурный стиль — совокупность характерных черт и признаков архитектуры.

Характерные черты определённого времени и места, проявляющиеся в особенностях функциональной, конструктивной и художественной сторон (назначение зданий, строительные материалы и конструкции, приёмы архитектурной композиции), формируют архитектурный стиль.

Развитие архитектурных стилей зависит от климатических, технических, религиозных и культурных факторов.

Хотя развитие архитектуры напрямую зависит от времени, не всегда стили сменяют друг друга последовательно, известно одновременное сосуществование стилей как альтернативы друг другу (например, барокко и классицизм, модерн и эклектика, функционализм, конструктивизм и ар-деко)[1].

Понятие архитектурного стиля

Понятие стиля в научное искусствознание было введено в середине XVIII века немецким археологом Иоганном Иоахимом Винкельманом. Основная масса трудов, посвящённых художественному стилю, была ориентирована на исследование природы самого явления и механизмов стилеобразования в искусстве и архитектуре в философском, культурологическом, семиотическом, системно-синергетическом аспектах. Поэтому в теории архитектуры и искусствоведении наиболее удобным и популярным «описательным средством» для архитектурных форм стало понятие стиля[2].

Общепринятого определения архитектурного стиля не существует. Так, Энциклопедический словарь Брокгауза и Ефрона, изданный в 1890—1907 годах, понимал архитектурный стиль двояко: как пространственную (территориальную) и как временнýю характеристику архитектурного языка. В пространственном аспекте выделялись стили: «египетский, древнегреческий с его дорическою, ионическою и коринфскою ветвями, этрусский». В разрезе времени указывались «романский, готический, стиль возрождения, барокко, рококо, империи». Там же отмечался объективный характер стиля как феномена и субъективная роль автора, а также давалась качественная оценка архитектурного языка с точки зрения стиля: «Стиль называется „чистым“, если все элементы в неизменном виде и должном соотношении находятся на своём месте, или „нечистым“, когда в него введены элементы других стилей»[3].

Особенности архитектурного стиля как описательного средства

Региональный характер стиля

Архитектурный стиль, как и стиль в искусстве вообще, — понятие условное. Он удобен для осмысления истории европейской архитектуры. Однако для сопоставления истории архитектуры нескольких регионов стиль как описательное средство не подходит. Трудно выделить в истории архитектуры азиатских стран, например, архитектуры Китая, периоды, соответствующие архитектурным стилям Европы. Аналогичная проблема возникает при исследовании русской архитектуры.

Несоответствие национальных доктрин

Архитектурный стиль, приходящийся на период 1762—1840 гг., в России (как и в Германии) традиционно называют классицизмом, тогда как во Франции классицизмом принято считать стиль XVII века, стиль Людовика XIV (Louis XIV).

Неоклассицизмом в России и Германии называют ретроспективный стиль начала XX века. Во Франции под неоклассицизмом понимают стиль второй половины XVIII века, стиль Людовика XVI (Louis XVI).

Стиль, который в российском искусствоведении называется модерном, иностранное искусствоведение именует также: в США — «тиффани» (по имени Л. К. Тиффани), во Франции — «ар-нуво» и «fin de siècle» (букв. «конец века»), в Германии — «югендстиль» (точнее, «югендштиль» — нем. Jugendstil, по названию основанного в 1896 году иллюстрированного журнала Die Jugend), в Австрии — «стиль Сецессион» (Secessionsstil), в Англии — «модерн стайл» (modern style, букв. «современный стиль»), в Италии — «стиль либерти», в Испании — «модернизмо», в Нидерландах — «Nieuwe Kunst», в Швейцарии — «еловый стиль» (style sapin).

Новейшие стили

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

Архитектурные стили

Подробнее см. История архитектуры
См. также Хронология архитектурных стилей

Наиболее значимые архитектурные стили:

Примечания

См. также

Архитектура — это… Что такое Архитектура?

Греческий храм на Сицилии, посвященный Гере, построен в 5-м столетии до н. э.

Архитекту́ра (лат. architectura от др.-греч. αρχι — старший, главный и др.-греч. τέκτων — строитель, плотник) — искусство проектировать, строить здания и сооружения (также их комплексы). Архитектура непременно создает материально организованную среду, необходимую людям для их жизни и деятельности, в соответствии с современными техническими возможностями и эстетическими воззрениями общества[1].

Архитектурой также называют облик зданий и сооружений, а также и сами здания и сооружения собирательно[2][3].

Архитектурные работы часто воспринимаются как культурные или политические символы, как произведения искусства. Исторические цивилизации характеризуются своими архитектурными достижениями. Архитектура позволяет выполняться жизненным функциям общества, в то же время направляет жизненные процессы. Однако архитектура создается в соответствии с возможностями и потребностями людей[3].

Предметом работы с пространством является и организация населенного места в целом. Это выделилось в отдельное направление — градостроительство[3], которое охватывает комплекс общественно-экономических, строительно-технических, архитектурно-художественных, санитарно-гигиенических проблем. По этой же причине трудно дать правильную оценку архитектурному сооружению, не зная градостроительства. Почти все известные градостроители имели архитектурное образование[4].

Этимология слова «архитектура»

Слово «архитектура» по своей форме латинское (architectura), хотя и происходит от греческих корней αρχι и τεκτονική, что значит высшее плотничное или строительное искусство. В этом смысле слову «архитектура» придавали очень обширное значение; так, например, были в ходу выражения «военная архитектура», «корабельная архитектура», «гидротехническая архитектура» и т. д. Но в настоящее время под словом «архитектура» разумеется исключительно искусство строить здания, предназначенные только для помещения людей, животных или каких-либо предметов.

— Энциклопедический Словарь Брокгауза и Ефрона[5], 1890—1907 гг.

Этимологический словарь русского языка Макса Фасмера[6] указывает на польский след в происхождении русского слова «архитектура»:

В русском языке имеется оригинальное слово для обозначения строительного искусства: «зодчество» (ст.-слав. «зьдьчий» от «зьдь» — глина, материя)[7].

Архитектор

Архитектор (от др.-греч. αρχι- (главный, старший) и др.-греч. τέκτων (плотник, строитель) — «главный строитель»[8]) — специалист, занимающийся архитектурным проектированием, то есть разработкой планов зданий, их фасадов — в целом и в деталях, а также внутренних пространств. В Российской Федерации высшее архитектурное образование предоставляется по специальности 270100 «Архитектура», а также по специальности 270900 «Градостроительство»[9].

Архитектура как вид искусства

Как вид искусства архитектура входит в сферу духовной культуры, эстетически формирует окружение человека, выражает общественные идеи в художественных образах.

Историческое развитие общества определяет функции и типы сооружений (здания с организованным внутренним пространством, сооружения, формирующие открытые пространства, ансамбли), технические конструктивные системы, художественный строй архитектурных сооружений.

По способу формирования образов архитектуру относят к неизобразительным (тектоническим) видам искусства, которые пользуются знаками, не допускающими узнавания в образах каких бы то ни было реальных предметов, явлений, действий и обращённых непосредственно к ассоциативным механизмам восприятия[11].

По способу развёртывания образов архитектуру относят к пространственным (пластическим) видам искусства, произведения которых:

  • существуют в пространстве, не изменяясь и не развиваясь во времени;
  • имеют предметный характер;
  • выполняются путём обработки вещественного материала;
  • воспринимаются зрителями непосредственно и визуально[11][12].

Основные области архитектуры

Проектирование зданий и сооружений

Объёмно-планировочное проектирование (архитектура в узком смысле, зодчество) — основной раздел архитектуры, связанный с проектированием и строительством зданий и сооружений.

Архитектурная деятельность — профессиональная деятельность архитекторов, имеющая целью создание архитектурного объекта и включающая в себя

Градостроительная деятельность

В середине XX века архитектурная профессия разделилась на две ветви: «объёмное проектирование» (которое ведает проектированием зданий — «объёмов»), и «градостроительство» (то есть проектирование городских районов или крупных многофункциональных комплексов).

Градостроительство — раздел архитектуры, решающий задачи проектирования и развития городской среды. В том числе комплексно охватывает вопросы развития планировочного решения города, строительства новых объектов, санитарно-экономические и экологические проблемы.

Одним из основоположников современного градостроительства считается Ле Корбюзье[13]. Ему принадлежит большое количество градостроительных проектов (1922—1945), в которых проведена идея «свободного городского плана», или «зеленого города» («Лучезарный Город» — по Ле Корбюзье) — идея, получившая настоящее распространение лишь во второй половине XX века.

Весьма важным (и дискуссионным) является вопрос о соотношении архитектуры и градостроительства

О соотношении понятий архитектуры и градостроительства пункт 92 Афинской хартии (градостроительного манифеста, составленного Ле Корбюзье и принятого конгрессом CIAM в Афинах в 1933 году) говорит следующее:

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

Из сказанного следует, что Афинская хартия первичной считает архитектуру, исходя из принципа сомасштабности человеку: «Человек — мера всех вещей».

Однако существуют иные мнения. В частности, Зигфрид Гидион пишет[14]:

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

Очевидно, такой подход основан не на масштабе отдельного человека, а на масштабе крупных социальных групп, общества в целом.
Советская градостроительная школа также учила мыслить масштабами города как среды[15]:

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

Современное российское законодательство также рассматривает градостроительную деятельность как более широкое понятие, нежели архитектурную деятельность. В соотв. со ст. 1 ГСК РФ:

Градостроительная деятельность — деятельность по развитию территорий, в том числе городов и иных поселений, осуществляемая в виде:

Урбанистика

В конце XX века, из градостроительства, на стыке социологии и общей теории систем, выделилась как самостоятельная дисциплина урбанистика, имеющая своим предметом город и принципы городского развития[источник не указан 586 дней].

Ландшафтная архитектура

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

Дизайн интерьера

Дизайн интерьера — это профессиональная творческая деятельность архитекторов и дизайнеров по созданию функционального, эргономичного и эстетичного пространства внутри помещения архитектурно-художественными средствами.

Архитектура малых форм

Архитектура малых форм — раздел архитектуры, к которому относятся объекты функционально-декоративного (напр., ограды), мемориального характера (напр., надгробия), объекты, являющиеся частью городского благоустройства (напр., фонари), объекты-носители информации (напр., стенды, рекламные щиты).

«Бумажная архитектура»

«Бумажная архитектура» — теоретическая деятельность архитекторов, состоящая в проектировании архитектурных форм без цели их последующей материализации. Пример бумажной архитектуры — графические циклы Якова Георгиевича Чернихова.

Теория архитектуры

Строительный словарь[16] определяет теорию архитектуры как науку о природе и специфике архитектуры и о её общих закономерностях.

Основа предмета теории архитектуры — общие закономерности возникновения, развития и функционирования архитектуры как искусства, её сущность, содержание и формы.
Также в предмет теории архитектуры входит система основных понятий (категорий).

Авторские суждения о сущности архитектуры

Чтобы понять, чем действительно является архитектура, мне понадобилось пятьдесят лет — полстолетия…

  • Архитектура заключается в том, чтобы превратить дешёвый камень в камень из чистого золота. Алвар Аалто[17]
  • Пространство, а не камень — материал архитектуры. Николай Александрович Ладовский[17]
  • Я верю в то, что архитектура — разумный способ организации пространства. Луис Кан[17]
  • Я могу сказать, чем архитектура не является. Это не жилье и не функциональность. Питер Эйзенман[17]

История архитектуры

Забудьте обо всех архитектурах мира, если не понимаете того, что они были хороши в своём роде и в своё время.

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

Архитектурный стиль

Подробное рассмотрение темы: Хронология архитектурных стилей

Архитектурный стиль может определяться как совокупность основных черт и признаков архитектуры определённого времени и места, проявляющихся в особенностях её функциональной, конструктивной и художественной сторон (назначение зданий, строительные материалы и конструкции, приёмы архитектурной композиции). Понятие архитектурного стиля входит в общее понятие стиля как художественного мировоззрения, охватывающего все стороны искусства и культуры общества в определённых условиях его социального и экономического развития, как совокупности главных идейно-художественных особенностей творчества мастера.

Развитие архитектурных стилей зависит от климатических, технических, религиозных и культурных факторов.

Хотя развитие архитектуры напрямую зависит от времени, не всегда стили сменяют друг друга последовательно, известно одновременное сосуществование стилей как альтернативы друг другу (например, барокко и классицизм, модерн и эклектика, функционализм, конструктивизм и ар-деко)[21].

Архитектурный стиль, как и стиль в искусстве вообще, — понятие условное. Он удобен для осмысления истории европейской архитектуры. Однако для сопоставления истории архитектуры нескольких регионов стиль как описательное средство не подходит.

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

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

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

См. также

Примечания

  1. Большой энциклопедический словарь
  2. Ожегов С. И., Шведова Н. Ю. Толковый словарь русского языка
  3. 1 2 3 Большая советская энциклопедия
  4. А. Гутнов, В. Глазычев Мир архитектуры. — Москва: Молодая гвардия, 1990. — 351 с. — 200 000 экз. — ISBN 5-235-00487-6
  5. Архитектура // Энциклопедический словарь Брокгауза и Ефрона: В 86 томах (82 т. и 4 доп.). — СПб., 1890—1907.
  6. Этимологический словарь русского языка Макса Фасмера
  7. Преображенский, А. Этимологический словарь русского языка. — М.: Типография г. Лиссиера и Д. Совко, 1910-1914. — С. 246-247.
  8. Архитектор // Энциклопедический словарь Брокгауза и Ефрона: В 86 томах (82 т. и 4 доп.). — СПб., 1890—1907.
  9. http://www.consultant.ru/online/base/?req=doc;base=LAW;n=118285;p=3 Приказ Минобрнауки РФ от 17.09.2009 г. № 337 «Об утверждении перечней направлений подготовки высшего профессионального образования»
  10. Иллюстрация из «Энциклопедии, или Толкового словаря наук, искусств и ремёсел». Франция, XVIII век
  11. 1 2 Проект apxu.ru — Художественно-творческая деятельность человека
  12. Глоссарий.ru
  13. Ле Корбюзье Три формы расселения. Афинская хартия = Пер. с франц. Ж. Розенбаума. Послесл. Ю. Бочарова и А. Раппапорта. — М.: Стройиздат, 1976. — 136 с.
  14. Гидион, Зигфрид Пространство. Время. Архитектура = Перевод. изд.: Raum, Zeit, Architektur: Die Entstehung einer neuen Tradition / S. Giedion — Ravensburg / Сокр. пер. с нем. М.В. Леонене, И.Л. Черня.. — 3-е изд. — М.: Стройиздат, 1984. — С. 39. — 455 с., ил. с.
  15. Гутнов А.Э. Эволюция градостроительства. — М.: Стройиздат, 1984. — С. 5. — 256 с., ил. с.
  16. Терминологический словарь по строительству на 12 языках
  17. 1 2 3 4 5 6 7 Проектирование и строительство гражданских зданий. Сайт Александра Прокуратова. Архитектура или революция
  18. Витрувий. Десять книг об архитектуре. Пер. с лат. Ф. А. Петровского. — М.: Едиториал УРСС, 2003.
  19. Aphorism.ru. Афоризмы, мысли, фразы. Архитектура
  20. Роберт Вентури. Определение архитектуры как укрытия с декорацией на нём, и другие оправдания банального символизма в архитектуре
  21. Давидич Т.Ф. Стиль как язык архитектуры. — Харьков: Изд-во Гуманитарный центр, 2010. — 336 с. — ISBN 978-966-8324-70-3

Ссылки

Как легко и просто разбираться в архитектурных стилях

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

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

Романский стиль

В этом стиле было построено множество крепостей, массивных замков, а также похожих на крепости соборов и аббатств из строгого серого камня. Это самый первый из выраженных архитектурных стилей со времен античности, господствовавший практически на всей территории Западной и Восточной Европы с X по XII век.

Как узнать

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

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

Где посмотреть

Представителями этого стиля являются почти все сохранившиеся до наших дней замки и соборы Европы, построенные в XI–XII веках. Например, Лиссабонский собор (Португалия), Сен-Савен-сюр-Гартамп (Франция), собор в Клонферте (Ирландия), собор Модены (Италия), замок Данноттар, Абердиншир (Шотландия).

Готика

Готика заменила собой романский стиль и властвовала в Европе с конца XII по XVI век. Здания стали легче, выше и сложнее. Многие из самых известных соборов, аббатств и административных зданий Европы выстроены именно в готическом стиле.

Как узнать

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

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

Где посмотреть

Классикой готической архитектуры является, к примеру, собор Парижской Богоматери (Франция), собор Святого Стефана (Австрия), собор Антверпенской Богоматери (Бельгия), Кельнский собор (Германия), собор Святого Вита (Чехия), Вестминстерское аббатство (Англия).

ТАКЖЕ ЧИТАЙТЕ Усадьба Быково: готическая церковь и дворец-диспансер в ближайшем Подмосковье (ФОТО)

Классицизм

Этот стиль господствовал с XVII по начало XIX века. Подобных зданий очень много в Западной Европе и в России. Это имперский стиль: все новорожденные империи, которые хотели обставить свое величие должным образом, ориентировались на него.

Как узнать

Строгость, симметричность, монументальность – вот его признаки. Если вы видите множество круглых колонн, строгую геометричность планировки и симметрию, при этом никаких завитков, «взбитых сливок», складок и прочих архитектурных излишеств, то это классицизм.

Где посмотреть

Наиболее яркие представители – садово-парковый ансамбль Версаля, собор Святого Павла в Лондоне, а в Москве – дом Пашкова на Воздвиженке. Санкт–Петербург и вовсе считается подлинным музеем классицизма под открытым небом, взять хотя бы Адмиралтейство, здание Главного штаба и Казанский собор.

Барокко

Название этого художественного и архитектурного стиля дословно переводится как «жемчужина с пороком». И действительно – что-то роскошное и порочное в нем есть. Он развивался в противовес классицизму и почти одновременно с ним. Центром этого направления стала Италия.

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

Как узнать

Характерные детали барокко – это обильная лепнина, вычурные украшения, балкончики и эркеры. А еще большое число раскреповок (это когда отрезок стены выдвигается вперед или назад со всеми частями сверху до низу). Плюс изобилие атлантов, кариатид и вообще многообразие скульптурных украшений на фасаде и в интерьерах. Приметами барокко также является богатая цветовая палитра (от изумрудного до бордо), хотя все же самым популярным сочетанием является белый с золотом.

Где посмотреть

Самые характерные представители этого стиля – дворцовый комплекс в Петергофе, собор Святого Петра в Риме (Италия). кафедральный собор в Берлине (Германия), королевский дворец в Мадриде (Испания).

Фото: A.Savin, Wikimedia Commons

Модерн

Этот стиль возник в западной культуре в конце XIX века. В каждой стране он имел свое наименование: его называли «ар нуво» во Франции, Бельгии, Голландии, Англии и США, «югендштилем» в Германии, «либерти» в Италии, «модерном» в России.

Модерн – это стремление изменить взгляд на архитектурную эстетику, поэтизация обыденных вещей.

Как узнать

Определить его можно по тому, что углы и прямые линии в модерне практически отсутствуют – они заменены на чуть изогнутые плавные очертания фасадов, окон, конструктивных элементов.

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

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

Где посмотреть

Примеров этого стиля по всей Европе и в России множество. Самыми яркими считаются Каса Мила и Каса Батло в Барселоне (Испания), особняк Сольве в Брюсселе (Бельгия). А в Москве – доходный дом Тарховой в Подсосенском переулке, особняк Рябушинского на Малой Никитской, особняк Листа в Глазовском переулке.

ТАКЖЕ ЧИТАЙТЕ Особняк Рябушинского в Москве: от подводного царства к звездам

Ар-деко

Это также стиль первой половины ХХ века, активно развивавшийся в США и менее активно – в Европе. Ар-деко – стиль, выражавший откровенное наслаждение намеренно дорогими и солидными вещами, проповедовавший уверенность в завтрашнем дне. Стиль благополучной респектабельной жизни – вот что это такое.

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

Как узнать

Для ар-деко характерно использование дорогих добротных материалов, особенно сочетание изысканной фактуры редких пород камня или дерева со сверкающим полированным металлом. Цвета – насыщенные, контрастные: белый с черным, золотой с коричневым. В декоре особенно любимы яркие вкрапления ярко-красного, -зеленого, -синего. Да такие, чтобы сверкали, как драгоценности. Но это не выглядит дешевой подделкой, а усиливает общее впечатление.

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

Где посмотреть

Звезды Голливуда и в жизни и в кино жили в окружении этого стиля. Множество развлекательных заведений и казино по всему миру созданы под его влиянием. Символом ар-деко считается Крайслер билдинг в Нью-Йорке. У нас в этом стиле выполнена станция «Маяковская» Московского метрополитена.

Деконструктивизм

Это молодой архитектурный стиль, сформировавшийся в самом конце прошлого века. Это попытка «растянуть» рамки привычного пространства, придав ему мощный динамический импульс.

Как узнать

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

Где посмотреть

Яркие представители этого стиля – Танцующий дом в Праге (Чехия) и здание музея Гуггенхайма в Бильбао (Испания).

Хай-тек

Этот архитектурный стиль возник в 80-х годах ХХ века и продолжает развиваться в наши дни. Этот стиль любит серебристый цвет, зеркальные поверхности и современные материалы: металл, пластик, бетон, разнообразные полимерные покрытия. Здания нарочито простых форм, часто с элементами кубизма, просторные и хорошо освещенные.

Как узнать

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

Где посмотреть

В качестве примеров этого стиля можно вспомнить здание Fuji TV в Японии, Пацифик дизайн центр в США, центр Помпиду во Франции.

Био-тек

Био-тек развивается параллельно с хай-теком и тоже использует стекло, металл и бетон, зеркальные поверхности и часто – игру отражений. Архитектура этого направления экспериментирует с экологичными материалами и энергоэффективностью, пытается создать новейшее пространство для проживания человека: экодома, в которых есть автономные системы жизнеобеспечения и озелененные террасы, используются естественное освещение, солнечные батареи, накопители влаги и прочие достижения цивилизации.

Как узнать

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

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

Где посмотреть

Яркие представители био-тека – город искусств и наук в Валенсии, Фред Олсен Центр в Лондоне. А в Москве – гостиница Майкла Соркина, спроектированная в виде медузы.

Татьяна Рублева

Таблица «Классификация архитектурных стилей»

Классификация архитектурных стилей

название стиля

характеристика стиля

план

изображение

Канонический

4тыс. до н.э.

332 г.н.э.

Сверх человеческие размеры, устойчивость, строгая симметрия, «колличественность», геометризм форм, грандиозность. Архитектура увековечила обожествлённую власть фараона и веру в загробную жизнью.

(пирамиды в Гизе, ансамбль храмов в Карнаке)

Классический

8 в до н.э.-

5 век н.э.

Этот стиль выработался в Античности: Греции, Риме. Лёгкая стройная архитектура Др. Греции несёт в своём художественном строе иной дух героики и значимости человека. Главное достижение греческих зодчих- создание ордера. Гармония, лёгкость, простота, соразмерность человеческому маштабу практичность, рационализм, торжественность.

(Афинский акрополь, римский колизей)

Романский

11- 12 в.в.

Массивность, тяжеловестность, грузность, крепостной характер, основное выразительное средство — стела с узкими проёмами — крестово -купальная система. Толстые стены, узкие окна- бойниц в монастырях и замках. Главным элементом композиции — донжон. Вокруг нее располагались остальные постройки, составленные из простых геометрических форм — кубов, призм, цилиндров. 

(Соборный ансамбль в Пизе, Собор в Вормсе)

Готический

13 — 14 в.в.

Конструктивной основой становится каркас, появляются огромные проёмы, заполненные витражами. Вытягиваются и принимают стрельчатую форму арки и порталы. Лёгкость, ажурность, невесомость, устремлённость вверх к небу, к Богу.

(собор Парижской Богоматери, собор в Реймсе, в Кёльне)

Древне — русский

9 — 17 в.в.

Величавая простота, праздничность, нарядность, декоративность, многоглавие.

(храм Св. Софии в Киеве, церковь Покрова на Нерли,

Дмитриевский собор во Владимире)

Ренессанс

13 — 17 в.в.

Симметрия, гармония, уравновешенность, геометорическая правильность форм. Важным достижением- создание новой архитектурной формы — этажа. Окна трактуются как глаза здания, фасад — как лицо здания; т.е. снаружи выражается внутреннее архитектурное пространство.

(храм Санта — Мария дель Фьоре, Палаццо Ручелаи, Микеланджело Буонарроти. Купол собора св.Петра. Рим)

Барокко

17 век

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

(Ансамбль собора Св. Петра в Риме, Царскосельский дворец, Эрмитаж, Борромини. Церковь Сан Карло алле кватро фонтане. Рим)

Классицизм

17 — 19 в.в.

«Классиус» — образец. Стиль абсолютных монархий, спокойное величие и благородная простота, строгий ритм, симметрия, нарядность, торжественность. строгость формы, ясность пространственного решения, геометризм интерьеров, мягкость цветов и лаконизм внешней и внутренней отделки сооружений

(дворцовый ансамбль Версаля, стрелки Васильевского острова, Казанский собор)

Рококо

18век

«Рокайль» — раковина. Утончённость, манерность, роскошь, прихотливая декоративность, орнамент в виде раковины. характерно тяготение к асимметрии композиций, мелкая деталировка формы, насыщенная и уравновешенная структура декора в интерьерах, сочетание ярких и чистых тонов цвета с белым и золотом, контраст между строгостью внешнего облика зданий и деликатностью внутреннего их убранства. (Овальный зал отеля Субиз, двоцовые интерьеры Зимнего дворца, Смольный собор)

Ампир

18век

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

(Шальгрен. Арка Звезды в Париже, здание главного штаба в Петербурге, Лепер и Гондуэн. Вандомская колонна в Париже.)

Модерн

19 век

Ассиметрия, смягчённые обтекаемые формы, изгибающиеся линии орнамента, внешняя декоративность. использование новых технологий (металл, стекло). Лестничные перила, светильники, свисающие с потолка, даже дверные ручки — все тщательно проектировалось в едином стиле

(Дом Бальо (1906, арх. Антонио Гауди), Викто́р Орта́ Дом Тасселя (1983), дом Сытина, Особняк С.Рябушинского. Ф.Шехтель. Москва.1902

Модерн – к. XIX — начале XX в; характеризуются различными украшениями домов, скруглениями, уходом от правильных геометрических форм. Использование больших, площадей остекления. Облицовочные поверхности выполняются из декоративного кирпича, керамогранита, а также в отдельных случаях – покраска.( в архитектуре Москвы — Ярославский вокзал, ЦУМ, гостиница Метрополь)

Современный

(контруктивизм,

органика,

ретро)
20 век

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

Конструктивизм- конструирования окружающей среды, возможности новой техники, ее логичных, целесообразных конструкций, эстетические возможности таких материалов, как металл, стекло, дерево. Показной роскоши конструктивисты стремились противопоставить простоту и подчеркнутый утилитаризм новых предметных форм, в чем они видели овеществление демократичности и новых отношений между людьми. (Московский планетарий, арх. М. Барща, М. Синявского; Эйфелева башня

Г. Эйфель

Франция)

«органическая архитектура»- утверждать необходимость и приятность для человеческого глаза гибких природных форм, соединения архитектурных сооружений с природным окружением. (Оперный театр,Йорн Устцон,

Австралия, Сидней )

Ретро стиль -просторные формы, веранды. Наружная отделка дома выполняется из современных материалов, но стилизованная под старину. Здесь присутствует контраст темных цветов и светлых, изломы крыш, ендовы, мансардные окна, просторные лестницы.

«хай-тек» («хайтек») — максимальная функциональность. Никаких декоративных излишеств. Активное внедрение новейших технологий в среду обитания человека. Порой демонстративное использование технических форм – ярко окрашенных открытых труб, воздуховодов, элементов инженерного оборудования, металлических конструкций и другого антуража «века техники»

Конструкциям присущи: строгость и простота, прямые линии, простые геометрические формы. Декор спокойный. В цветовой гамме преобладает однотонность. Много металла и стекла. Популярны металлостеклянные многоярусные галереи(«Рейнбоу сентр» в Ниагара-Фоллс, США, 1978 )

http://www.labstend.ru/site/index/uch_tech/index_full.php?mode=full&id=376&id_cat=1565

Учебные наглядные пособия и презентации по курсу

«История архитектуры» (диск, плакаты, слайды)

Общие архитектуры веб-приложений | Документы Microsoft

  • Читать 19 минут

В этой статье

«Если вы думаете, что хорошая архитектура стоит дорого, попробуйте плохую архитектуру».
— Брайан Фут и Джозеф Йодер

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

Что такое монолитное приложение?

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

Универсальные приложения

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

Новый проект ASP.NET Core, созданный в Visual Studio или из командной строки, начинается с простого монолита «все в одном».Он содержит все поведение приложения, включая логику представления, бизнеса и доступа к данным. На рис. 5-1 показана файловая структура приложения для одного проекта.

Рисунок 5-1. Приложение ASP.NET Core для одного проекта.

В сценарии одного проекта разделение задач достигается за счет использования папок. Шаблон по умолчанию включает отдельные папки для обязанностей шаблона MVC для моделей, представлений и контроллеров, а также дополнительные папки для данных и служб.При таком расположении детали представления должны быть максимально ограничены папкой Views, а детали реализации доступа к данным должны быть ограничены классами, хранящимися в папке Data. Бизнес-логика должна находиться в сервисах и классах в папке Models.

Однопроектное монолитное решение простое, но имеет некоторые недостатки. По мере роста размера и сложности проекта количество файлов и папок также будет расти. Проблемы пользовательского интерфейса (UI) (модели, представления, контроллеры) находятся в нескольких папках, которые не сгруппированы по алфавиту.Эта проблема только усугубляется, когда дополнительные конструкции уровня пользовательского интерфейса, такие как фильтры или ModelBinders, добавляются в их собственные папки. Бизнес-логика разбросана между папками Models и Services, и нет четкого указания, какие классы, в каких папках должны зависеть от других. Такая неорганизованность на уровне проекта часто приводит к спагетти-коду.

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

Что такое слои?

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

За счет организации кода по уровням общие низкоуровневые функции могут быть повторно использованы во всем приложении.Это повторное использование выгодно, потому что оно означает, что нужно писать меньше кода, и потому, что оно может позволить приложению стандартизироваться для одной реализации, следуя принципу «не повторяйся» (DRY).

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

Слои (и инкапсуляция) значительно упрощают замену функциональности в приложении. Например, приложение может изначально использовать свою собственную базу данных SQL Server для сохранения, но позже может выбрать стратегию сохранения на основе облака или стратегию за веб-API. Если приложение правильно инкапсулировало свою реализацию сохраняемости на логическом уровне, этот специфический для SQL Server уровень может быть заменен новым, реализующим тот же открытый интерфейс.

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

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

Примечание

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

Приложения с традиционной архитектурой «N-уровня»

Наиболее распространенная организация логики приложения по уровням показана на рисунке 5-2.

Рисунок 5-2. Типичные прикладные слои.

Эти уровни часто обозначаются сокращениями как UI, BLL (уровень бизнес-логики) и DAL (уровень доступа к данным). Используя эту архитектуру, пользователи отправляют запросы через слой пользовательского интерфейса, который взаимодействует только с BLL. BLL, в свою очередь, может вызывать DAL для запросов доступа к данным. Уровень пользовательского интерфейса не должен делать никаких запросов к DAL напрямую, а также не должен напрямую взаимодействовать с персистентностью другими способами. Точно так же BLL должен взаимодействовать с постоянством только через DAL.Таким образом, каждый уровень несет свою известную ответственность.

Одним из недостатков этого традиционного многоуровневого подхода является то, что зависимости времени компиляции выполняются сверху вниз. То есть уровень пользовательского интерфейса зависит от BLL, который зависит от DAL. Это означает, что BLL, который обычно содержит наиболее важную логику в приложении, зависит от деталей реализации доступа к данным (и часто от существования базы данных). Тестирование бизнес-логики в такой архитектуре часто бывает затруднительным и требует тестовой базы данных.Как вы увидите в следующем разделе, для решения этой проблемы можно использовать принцип инверсии зависимостей.

На рис. 5-3 показан пример решения, в котором приложение разбито на три проекта по ответственности (или уровням).

Рисунок 5-3. Простое монолитное приложение с тремя проектами.

Хотя это приложение использует несколько проектов для организационных целей, оно по-прежнему развертывается как единое целое, и его клиенты будут взаимодействовать с ним как с единым веб-приложением.Это позволяет упростить процесс развертывания. На рис. 5-4 показано, как такое приложение можно разместить с помощью Azure.

Рисунок 5-4. Простое развертывание веб-приложения Azure

По мере роста потребностей приложений могут потребоваться более сложные и надежные решения для развертывания. На рис. 5-5 показан пример более сложного плана развертывания, который поддерживает дополнительные возможности.

Рисунок 5-5. Развертывание веб-приложения в службе приложений Azure

Внутренняя организация этого проекта в несколько проектов на основе ответственности улучшает ремонтопригодность приложения.

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

Самый простой подход к масштабированию веб-приложения в Azure — это настроить масштабирование вручную в плане службы приложений приложения.На рис. 5-6 показан соответствующий экран панели мониторинга Azure для настройки количества экземпляров, обслуживающих приложение.

Рисунок 5-6. Масштабирование плана службы приложений в Azure.

Чистая архитектура

Приложения, которые следуют принципу инверсии зависимостей, а также принципам доменно-ориентированного проектирования (DDD), как правило, приходят к аналогичной архитектуре. За прошедшие годы эта архитектура получила множество имен. Одним из первых названий была «Гексагональная архитектура», за которой последовали «Порты и адаптеры».Совсем недавно ее называли луковой архитектурой или чистой архитектурой. Последнее название, Чистая Архитектура, используется в качестве названия этой архитектуры в этой электронной книге.

Эталонное приложение eShopOnWeb использует подход чистой архитектуры для организации своего кода в проекты. Вы можете найти шаблон решения, который вы можете использовать в качестве отправной точки для своего собственного ASP.NET Core, в репозитории ardalis / cleanarchitecture GitHub.

Чистая архитектура ставит бизнес-логику и модель приложения в центр приложения.Вместо того, чтобы бизнес-логика зависела от доступа к данным или других проблем инфраструктуры, эта зависимость инвертируется: детали инфраструктуры и реализации зависят от ядра приложения. Это достигается путем определения абстракций или интерфейсов в ядре приложения, которые затем реализуются типами, определенными на уровне инфраструктуры. Распространенный способ визуализации этой архитектуры — использовать серию концентрических кругов, похожих на лук. На рис. 5-7 показан пример этого стиля архитектурного представления.

Рисунок 5-7. Чистая архитектура; лук вид

На этой диаграмме зависимости переходят в самый внутренний круг. Ядро приложения берет свое название из-за положения в центре этой диаграммы. На диаграмме видно, что ядро ​​приложения не зависит от других уровней приложения. Сущности и интерфейсы приложения находятся в самом центре. Снаружи, но все еще в ядре приложения, находятся доменные службы, которые обычно реализуют интерфейсы, определенные во внутреннем круге.Вне ядра приложения уровни пользовательского интерфейса и инфраструктуры зависят от ядра приложения, но не друг от друга (обязательно).

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

Рисунок 5-8. Чистая архитектура; горизонтальный вид слоя

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

На рис. 5-9 показано более подробное представление архитектуры приложения ASP.NET Core, построенного в соответствии с этими рекомендациями.

Рисунок 5-9. Схема архитектуры ASP.NET Core в соответствии с чистой архитектурой.

Поскольку ядро ​​приложения не зависит от инфраструктуры, очень легко написать автоматизированные модульные тесты для этого уровня. На рисунках 5-10 и 5-11 показано, как тесты вписываются в эту архитектуру.

Рисунок 5-10. Модульное тестирование ядра приложения изолированно.

Рисунок 5-11. Интеграционное тестирование Реализации инфраструктуры с внешними зависимостями.

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

Для монолитных приложений все проекты ядра приложения, инфраструктуры и пользовательского интерфейса выполняются как единое приложение.Архитектура рабочего приложения может выглядеть примерно так, как показано на рис. 5-12.

Рисунок 5-12. Пример архитектуры времени выполнения приложения ASP.NET Core.

Организационный код в чистой архитектуре

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

Ядро приложения

Ядро приложения содержит бизнес-модель, которая включает сущности, службы и интерфейсы.Эти интерфейсы включают абстракции для операций, которые будут выполняться с использованием инфраструктуры, таких как доступ к данным, доступ к файловой системе, сетевые вызовы и т. Д. Иногда службы или интерфейсы, определенные на этом уровне, должны будут работать с типами, не являющимися объектами, которые не зависят от пользовательского интерфейса. или Инфраструктура. Их можно определить как простые объекты передачи данных (DTO).

Типы ядер приложений
  • Сущности (классы бизнес-модели, которые сохраняются)
  • Интерфейсы
  • Услуги
  • DTO
Инфраструктура

Проект инфраструктуры обычно включает реализации доступа к данным.В типичном веб-приложении ASP.NET Core эти реализации включают DbContext Entity Framework (EF), любые определенные объекты EF Core Migration и классы реализации доступа к данным. Наиболее распространенный способ абстрагирования кода реализации доступа к данным — использование шаблона проектирования репозитория.

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

Типы инфраструктуры
  • Типы ядра EF ( DbContext , Migration )
  • Типы реализации доступа к данным (Репозитории)
  • Инфраструктурные службы (например, FileLogger или SmtpNotifier )
Уровень пользовательского интерфейса

Уровень пользовательского интерфейса в ASP.NET Core MVC — это точка входа для приложения. Этот проект должен ссылаться на проект Application Core, а его типы должны взаимодействовать с инфраструктурой строго через интерфейсы, определенные в Application Core. На уровне пользовательского интерфейса не должно быть разрешено прямое создание экземпляров или статические вызовы типов уровня инфраструктуры.

Типы слоев пользовательского интерфейса
  • Контроллеры
  • Фильтры
  • Просмотры
  • ViewModels
  • Запуск

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

Примечание

Чтобы подключить внедрение зависимостей в ConfigureServices в файле Startup.cs проекта пользовательского интерфейса, проекту может потребоваться ссылка на проект инфраструктуры. Эту зависимость можно устранить, проще всего с помощью настраиваемого контейнера DI. Для целей этого примера самый простой подход — разрешить проекту пользовательского интерфейса ссылаться на проект инфраструктуры.

Монолитные приложения и контейнеры

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

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

В каждый контейнер можно включить несколько компонентов / библиотек или внутренних слоев, как показано на рисунке 5-13.Но, следуя принципу контейнера «контейнер делает одну вещь, а делает это в одном процессе », монолитный шаблон может вызвать конфликт.

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

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

В дополнение к проблеме «масштабирования всего» изменения в одном компоненте требуют полного повторного тестирования всего приложения и полного повторного развертывания всех экземпляров.

Монолитный подход является распространенным, и многие организации развивают этот архитектурный подход. Многие достигают достаточно хороших результатов, в то время как другие достигают пределов. Многие разрабатывали свои приложения в этой модели, потому что инструменты и инфраструктура были слишком сложными для построения сервис-ориентированных архитектур (SOA), и они не видели необходимости, пока приложение не выросло. Если вы обнаружите, что выходите за пределы монолитного подхода, следующим логическим шагом может стать разделение приложения, чтобы оно могло лучше использовать контейнеры и микросервисы.

Развертывание монолитных приложений в Microsoft Azure может быть достигнуто с помощью выделенных виртуальных машин для каждого экземпляра. Используя масштабируемые наборы виртуальных машин Azure, вы можете легко масштабировать виртуальные машины. Службы приложений Azure могут запускать монолитные приложения и легко масштабировать экземпляры без необходимости управлять виртуальными машинами. Службы приложений Azure также могут запускать отдельные экземпляры контейнеров Docker, что упрощает развертывание. Используя Docker, вы можете развернуть одну виртуальную машину в качестве хоста Docker и запустить несколько экземпляров.Используя балансировщик Azure, как показано на рисунке 5-14, вы можете управлять масштабированием.

Развертыванием на различные хосты можно управлять с помощью традиционных методов развертывания. Хостами Docker можно управлять с помощью таких команд, как docker run , выполняемых вручную, или посредством автоматизации, такой как конвейеры непрерывной доставки (CD).

Монолитное приложение, развернутое как контейнер

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

Развертывание обновлений в виде образов Docker происходит намного быстрее и эффективнее в сети. Образы Docker обычно запускаются за секунды, что ускоряет развертывание. Остановить экземпляр Docker так же просто, как выполнить команду docker stop , которая обычно выполняется менее чем за секунду.

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

Вы можете использовать контейнеры Docker для монолитного развертывания более простых веб-приложений. Это улучшает конвейеры непрерывной интеграции и непрерывного развертывания и помогает добиться успеха от развертывания к производственной среде. Больше никаких «Это работает на моей машине, почему не работает в производстве?»

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

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

Возможно, приложению еще не нужно масштабировать функции независимо.Многие приложения, когда им необходимо масштабироваться за пределы одного экземпляра, могут сделать это с помощью относительно простого процесса клонирования всего экземпляра. Дополнительная работа по разделению приложения на отдельные службы дает минимальные преимущества при простом и экономичном масштабировании полных экземпляров приложения.

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

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

Намного более простое эталонное приложение eShopOnWeb поддерживает использование монолитного контейнера с одним контейнером. Приложение включает одно веб-приложение, которое включает традиционные представления MVC, веб-API и страницы Razor.Это приложение можно запустить из корня решения с помощью команд docker-compose build и docker-compose up . Эта команда настраивает контейнер для веб-экземпляра, используя Dockerfile , найденный в корне веб-проекта, и запускает контейнер на указанном порту. Вы можете загрузить исходный код этого приложения с GitHub и запустить его локально. Даже это монолитное приложение выигрывает от развертывания в контейнерной среде.

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

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

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

Поддержка докеров

Проект eShopOnWeb работает на .NET Core. Следовательно, он может работать в контейнерах на базе Linux или Windows. Обратите внимание, что для развертывания Docker вы хотите использовать тот же тип хоста для SQL Server. Контейнеры на базе Linux занимают меньше места и являются предпочтительными.

Вы можете использовать Visual Studio 2017 или более поздней версии, чтобы добавить поддержку Docker в существующее приложение, щелкнув правой кнопкой мыши проект в Solution Explorer и выбрав Добавить > Поддержка Docker . Это добавляет необходимые файлы и модифицирует проект для их использования. В текущем образце eShopOnWeb эти файлы уже есть.

Файл docker-compose.yml уровня решения содержит информацию о том, какие образы нужно создавать и какие контейнеры запускать.Этот файл позволяет использовать команду docker-compose для одновременного запуска нескольких приложений. В данном случае это только запуск веб-проекта. Вы также можете использовать его для настройки зависимостей, таких как отдельный контейнер базы данных.

  версия: '3'

Сервисы:
  eshopwebmvc:
    изображение: eshopwebmvc
    сборка:
      контекст:.
      dockerfile: src / Web / Dockerfile
    Окружающая среда:
      - ASPNETCORE_ENVIRONMENT = Разработка
    порты:
      - «5106: 5106»

сети:
  по умолчанию:
    внешний:
      имя: нат
  

Файл docker-compose .yml ссылается на Dockerfile в проекте Web . Dockerfile используется для указания, какой базовый контейнер будет использоваться и как приложение будет настроено на нем. Web Dockerfile :

  ИЗ mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
WORKDIR / приложение

КОПИРОВАТЬ * .sln.
КОПИРОВАТЬ. .
WORKDIR / app / src / Web
RUN dotnet restore

RUN dotnet publish -c Release -o out

ИЗ mcr.microsoft.com/dotnet/core/aspnet:3.1 среда выполнения AS
WORKDIR / приложение
КОПИРОВАТЬ --from = build / app / src / Web / out ./

ENTRYPOINT ["dotnet", "Web.dll"]
  

Устранение неполадок Docker

После запуска контейнерного приложения оно продолжает работать, пока вы его не остановите. Вы можете просмотреть, какие контейнеры запущены, с помощью команды docker ps . Вы можете остановить работающий контейнер, используя команду docker stop и указав идентификатор контейнера.

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

Если вы хотите добавить поддержку Docker в свое приложение с помощью Visual Studio, убедитесь, что Docker Desktop запущен, когда вы это делаете. Мастер не будет работать правильно, если Docker Desktop не запущен при запуске мастера. Кроме того, мастер проверяет ваш текущий выбор контейнера, чтобы добавить правильную поддержку Docker.Если вы хотите добавить поддержку контейнеров Windows, вам необходимо запустить мастер, когда у вас есть рабочий стол Docker с настроенными контейнерами Windows. Если вы хотите добавить поддержку контейнеров Linux, запустите мастер, пока Docker работает с настроенными контейнерами Linux.

Ссылки — Общие веб-архитектуры

N-уровневый архитектурный стиль — Руководство по архитектуре приложений Azure

  • 5 минут на чтение

В этой статье

N-уровневая архитектура делит приложение на логических уровней и физических уровней .

Уровни

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

Уровни физически разделены и работают на разных машинах. Уровень может напрямую обращаться к другому уровню или использовать асинхронный обмен сообщениями (очередь сообщений). Хотя каждый уровень может размещаться на собственном уровне, это не обязательно. На одном уровне может размещаться несколько слоев.Физическое разделение уровней улучшает масштабируемость и отказоустойчивость, но также увеличивает задержку от дополнительной сетевой связи.

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

N-уровневое приложение может иметь архитектуру закрытого уровня или архитектуру открытого уровня :

  • В архитектуре закрытого уровня уровень может вызывать следующий уровень только сразу вниз.
  • В архитектуре открытого уровня уровень может вызывать любой из нижележащих слоев.

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

Когда использовать эту архитектуру

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

обычно реализуются как приложения «инфраструктура как услуга» (IaaS), где каждый уровень работает на отдельном наборе виртуальных машин. Однако N-уровневое приложение не обязательно должно быть чистым IaaS.Часто для некоторых частей архитектуры, в частности, для кэширования, обмена сообщениями и хранения данных, выгодно использовать управляемые службы.

Рассмотрим N-уровневую архитектуру для:

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

N-уровневые архитектуры очень распространены в традиционных локальных приложениях, поэтому они естественным образом подходят для миграции существующих рабочих нагрузок в Azure.

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

  • Переносимость между облаком и локальной средой, а также между облачными платформами.
  • Для большинства разработчиков меньше времени на обучение.
  • Естественная эволюция от традиционной прикладной модели.
  • Открыт для гетерогенной среды (Windows / Linux)

Вызовы

  • Легко получить средний уровень, который просто выполняет операции CRUD с базой данных, добавляя дополнительную задержку без выполнения какой-либо полезной работы.
  • Монолитная конструкция предотвращает независимое развертывание функций.
  • Управление приложением IaaS требует больше усилий, чем приложение, использующее только управляемые службы.
  • Управлять сетевой безопасностью в большой системе может быть сложно.

Лучшие практики

N-уровневая архитектура на виртуальных машинах

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

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

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

Веб-уровни и бизнес-уровни не имеют состояния. Любая виртуальная машина может обработать любой запрос для этого уровня. Уровень данных должен состоять из реплицированной базы данных.Для Windows мы рекомендуем SQL Server с использованием групп доступности AlwaysOn для обеспечения высокой доступности. Для Linux выберите базу данных, поддерживающую репликацию, например Apache Cassandra.

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

Примечание

Слой, обозначенный на нашей справочной диаграмме «Бизнес-уровень», является прозвищем уровня бизнес-логики. Точно так же мы также называем уровень представления «Веб-уровень».«В нашем примере это веб-приложение, хотя многоуровневые архитектуры могут использоваться и для других топологий (например, настольных приложений).
Назовите свои уровни так, чтобы ваша команда лучше всего сообщала о намерениях этого логического и / или физического уровня в вашем приложении — вы даже можете выразить это именование в ресурсах, которые вы выбираете для представления этого уровня (например, vmss-appName-business-layer).

Для получения дополнительных сведений о запуске N-уровневых приложений в Azure:

Дополнительные соображения

  • N-уровневые архитектуры не ограничиваются тремя уровнями.Для более сложных приложений обычно используется больше уровней. В этом случае рассмотрите возможность использования маршрутизации уровня 7 для маршрутизации запросов на определенный уровень.

  • Уровни — это граница масштабируемости, надежности и безопасности. Рассмотрите возможность создания отдельных уровней для служб с разными требованиями в этих областях.

  • Используйте масштабируемые наборы виртуальных машин для автомасштабирования.

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

  • Для повышения безопасности разместите сетевую DMZ перед приложением. DMZ включает сетевые виртуальные устройства (NVA), которые реализуют функции безопасности, такие как межсетевые экраны и проверка пакетов. Для получения дополнительной информации см. Эталонную архитектуру сетевой DMZ.

  • Для обеспечения высокой доступности поместите два или более NVA в группу доступности с внешним балансировщиком нагрузки для распределения интернет-запросов по экземплярам.Дополнительные сведения см. В разделе Развертывание виртуальных сетевых устройств высокой доступности.

  • Не разрешать прямой RDP или SSH доступ к виртуальным машинам, на которых выполняется код приложения. Вместо этого операторы должны входить в систему перехода, также называемую хостом-бастионом. Это виртуальная машина в сети, которую администраторы используют для подключения к другим виртуальным машинам. В Jumpbox есть группа сетевой безопасности, которая разрешает RDP или SSH только с одобренных общедоступных IP-адресов.

  • Вы можете расширить виртуальную сеть Azure до своей локальной сети, используя виртуальную частную сеть типа «сеть-сеть» (VPN) или Azure ExpressRoute.Дополнительные сведения см. В разделе Эталонная архитектура гибридной сети.

  • Если ваша организация использует Active Directory для управления удостоверениями, вы можете расширить среду Active Directory до виртуальной сети Azure. Для получения дополнительной информации см. Эталонную архитектуру управления идентификацией.

  • Если вам нужна более высокая доступность, чем обеспечивает Azure SLA для виртуальных машин, реплицируйте приложение в двух регионах и используйте диспетчер трафика Azure для отработки отказа. Дополнительные сведения см. В разделах Запуск виртуальных машин Windows в нескольких регионах или Запуск виртуальных машин Linux в нескольких регионах.

Что такое программная архитектура?

Питер Илес
Опубликовано 15 февраля 2006 г.

Несомненно, мир становится все более зависимым от программного обеспечения.Программное обеспечение является важным элементом повсеместного сотового телефона, а также сложных систем управления воздушным движением. Фактически, многие инновации, которые мы сейчас принимаем как должное, включая такие организации, как eBay или Amazon, просто не существовали бы, если бы не программное обеспечение. Даже традиционные организации, например, в финансовом, розничном и государственном секторах, сильно зависят от программного обеспечения. В наши дни трудно найти организацию, которая каким-либо образом не занимается программным бизнесом.

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

На все эти характеристики влияет архитектура программного обеспечения, о котором идет речь в данной статье. Я сосредоточен здесь на «системах с интенсивным использованием программного обеспечения», которые IEEE определяет следующим образом:

Система с интенсивным использованием программного обеспечения — это любая система, в которой программное обеспечение вносит существенный вклад в проектирование, построение, развертывание и развитие системы. целое.[из IEEE 1471. См. раздел «Архитектура, определенная ниже».]

В этой статье термин «архитектура», если он не определен, является синонимом термина «программная архитектура». Хотя эта статья посвящена системам с интенсивным использованием программного обеспечения, важно помнить, что система с интенсивным использованием программного обеспечения по-прежнему нуждается в аппаратном обеспечении для работы и что определенные качества, такие как надежность или производительность, достигаются за счет комбинации программного и аппаратного обеспечения. Следовательно, нельзя игнорировать аппаратный аспект всего решения.Это обсуждается более подробно далее в этой статье.

Определение архитектуры

Когда дело доходит до «архитектуры», нет недостатка в определениях. Есть даже веб-сайты, на которых хранятся наборы определений. 1 Определение, используемое в этой статье, взято из IEEE Std 1472000, Рекомендуемая практика IEEE для архитектурного описания программно-интенсивных систем, называемая IEEE 1471. 2 Это определение приводится ниже, ключевые характеристики выделены жирным шрифтом.

Архитектура — это фундаментальная организация системы , воплощенная в ее компонентах , их взаимосвязях друг с другом и в среде , а также в принципах, определяющих ее дизайн и развитие. [IEEE 1471]

В этом стандарте также определены следующие термины, относящиеся к этому определению:

Система — это совокупность компонентов, организованных для выполнения определенной функции или набора функций.Термин «система» включает в себя отдельные приложения, системы в традиционном смысле, подсистемы, системы систем, линейки продуктов, семейства продуктов, целые предприятия и другие представляющие интерес совокупности. Система существует для выполнения одной или нескольких миссий в своей среде. [IEEE 1471]

Среда , , или контекст, определяет настройку и обстоятельства развития, операционных, политических и других влияний на эту систему. [IEEE 1471]

Задача — это использование или операция, для которых система предназначена одним или несколькими заинтересованными сторонами для достижения некоторого набора целей.[IEEE 1471]

Заинтересованная сторона — это физическое лицо, группа или организация (или их классы) с интересами или проблемами, связанными с системой. [IEEE 1471]

Как мы видим, термин «компонент» используется в этих определениях. Однако в большинстве определений архитектуры не содержится определения термина «компонент», и IEEE 1471 не является исключением, поскольку оставляет его намеренно расплывчатым, чтобы охватить множество интерпретаций в отрасли. Компонент может быть логическим или физическим, независимым от технологии или зависящим от технологии, крупномасштабным или мелкозернистым.В этой статье я использую определение компонента из спецификации UML 2.0; и я использую этот термин довольно свободно, чтобы охватить множество архитектурных элементов, с которыми мы можем столкнуться, включая объекты, технологические компоненты (такие как Enterprise JavaBean), службы, программные модули, унаследованные системы, упакованные приложения и так далее. Вот определение UML 2.0 для «компонента»:

[Компонент — это] модульная часть системы, которая инкапсулирует ее содержимое и чье воплощение можно заменить в ее среде.Компонент определяет свое поведение с точки зрения предоставленных и требуемых интерфейсов. Таким образом, компонент служит типом, соответствие которого определяется этими предоставленными и необходимыми интерфейсами (включая как их статическую, так и динамическую семантику). 3

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

Архитектура — это набор важных решений об организации программной системы, выборе структурных элементов и их интерфейсов, с помощью которых система состоит, а также их поведения , как указано в сотрудничестве между эти элементы, композиция , этих элементов в постепенно увеличивающиеся подсистемы и архитектурный стиль , который руководит этой организацией — эти элементы и их интерфейсы, их взаимодействие и их состав.[Kruchten] 4

Программная архитектура программы или вычислительной системы — это структура или структуры системы, которые включают программные элементы, видимые извне свойства этих элементов и взаимосвязей между ними . [Басс и др.] 5

[Архитектура] организационная структура и связанное с ней поведение системы. Архитектуру можно рекурсивно разложить на части, которые взаимодействуют через интерфейсы, отношения, которые соединяют части, и ограничения для сборки частей.Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы. [UML 1.5] 6

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

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

Архитектура определяет структуру

Если вы попросите кого-нибудь описать вам «архитектуру», в девяти случаях из десяти они сделают некоторую ссылку на структуру.Довольно часто это относится к зданию или другому строению гражданского строительства, например, мосту. Хотя существуют и другие характеристики этих предметов, такие как поведение, соответствие назначению и даже эстетика, это структурная характеристика, которая является наиболее известной и наиболее часто упоминаемой.

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

Многие определения архитектуры также признают не только сами структурные элементы, но и состав структурных элементов, их отношения (и любые соединители, необходимые для поддержки этих отношений), их интерфейсы и их разделение.Опять же, каждый из этих элементов может быть предоставлен множеством способов. Например, соединитель может быть сокетом, быть синхронным или асинхронным, быть связанным с определенным протоколом и так далее.

Пример некоторых структурных элементов показан на рисунке 1. На этом рисунке показана диаграмма классов UML, содержащая некоторые структурные элементы, которые представляют систему обработки заказов. Здесь мы видим три класса — OrderEntry, CustomerManagement и AccountManagement. Класс OrderEntry показан в зависимости от класса CustomerManagement, а также класса AccountManagement.

Рис. 1: Диаграмма классов UML, показывающая структурные элементы

Архитектура определяет поведение

Помимо определения структурных элементов, архитектура определяет взаимодействия между этими структурными элементами. Именно эти взаимодействия обеспечивают желаемое поведение системы. На рисунке 2 показана диаграмма последовательности UML, показывающая ряд взаимодействий, которые вместе позволяют системе поддерживать создание заказа в системе обработки заказов.Здесь мы видим пять взаимодействий. Во-первых, сотрудник отдела продаж создает заказ, используя экземпляр класса OrderEntry. Экземпляр OrderEntry получает сведения о клиенте с помощью экземпляра класса CustomerManagement. Затем экземпляр OrderEntry использует экземпляр класса AccountManagement для создания заказа, заполнения заказа элементами заказа и последующего размещения заказа.

Рисунок 2: Схема последовательности UML, показывающая поведенческие элементы

Следует отметить, что рисунок 2 согласуется с рисунком 1 в том смысле, что мы можем вывести зависимости, показанные на рисунке 1, из взаимодействий, определенных на рисунке 2.Например, экземпляр OrderEntry зависит от экземпляра CustomerManagement во время его выполнения, как показано взаимодействиями на рисунке 2. Эта зависимость отражена в отношении зависимости между соответствующими классами OrderEntry и CustomerManagement, как показано на рисунке 1.

Архитектура фокусируется на важных элементах

Хотя архитектура определяет структуру и поведение, она не связана с определением всех структуры и всех поведения.Он касается только тех элементов, которые считаются важными. Значимые элементы — это те, которые имеют длительный и продолжительный эффект, такие как основные структурные элементы, те элементы, которые связаны с существенным поведением, и те элементы, которые касаются таких важных качеств, как надежность и масштабируемость. В общем, архитектура не заботится о мелких деталях этих элементов. Архитектурная значимость также может быть выражена как экономическая значимость, поскольку основной движущей силой для рассмотрения одних элементов над другими является стоимость создания и стоимость изменений.

Поскольку архитектура фокусируется только на важных элементах, она дает нам конкретную перспективу рассматриваемой системы — перспективу, которая наиболее актуальна для архитектора. 8 В этом смысле архитектура — это абстракция системы, которая помогает архитектору управлять сложностью.

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

Архитектура уравновешивает потребности заинтересованных сторон

Архитектура создается для того, чтобы в конечном итоге удовлетворить ряд потребностей заинтересованных сторон.Однако зачастую невозможно удовлетворить все выраженные потребности. Например, заинтересованная сторона может запросить некоторую функциональность в течение определенного периода времени, но эти две потребности (функциональность и временные рамки) взаимоисключают. Либо объем может быть сокращен, чтобы соответствовать графику, либо все функции могут быть предоставлены в течение расширенного периода времени. Точно так же разные заинтересованные стороны могут выражать противоречивые потребности, и, опять же, должен быть достигнут соответствующий баланс. Поэтому поиск компромиссов является важным аспектом процесса проектирования, а переговоры — важной характеристикой архитектора.

Чтобы дать вам представление о поставленной задаче, рассмотрите следующие потребности группы заинтересованных сторон:

  • Конечный пользователь озабочен интуитивным и правильным поведением, производительностью, надежностью, удобством использования, доступностью и безопасностью.
  • Системный администратор озабочен интуитивным поведением, администрированием и инструментами, помогающими контролировать.
  • Маркетолога заботят конкурентные характеристики, время выхода на рынок, позиционирование среди других продуктов и стоимость.
  • Заказчик озабочен стоимостью, стабильностью и графиком.
  • Разработчик озабочен четкими требованиями, а также простым и последовательным подходом к проектированию.
  • Менеджер проекта заботится о предсказуемости в отслеживании проекта, расписании, продуктивном использовании ресурсов и бюджете.
  • Сопровождающий заинтересован в понятном, последовательном и задокументированном подходе к проектированию, а также в простоте внесения изменений.

Как видно из этого списка, еще одна проблема для архитектора заключается в том, что заинтересованные стороны не только обеспокоены тем, что система обеспечивает требуемую функциональность.Многие из перечисленных проблем нефункциональны по своей природе, поскольку они не влияют на функциональность системы (например, проблемы, связанные с затратами и планированием). Тем не менее, подобные опасения представляют собой системные качества или ограничения. Нефункциональные требования часто оказываются наиболее важными для архитектора.

Архитектура воплощает решения, основанные на обосновании

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

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

Архитектура может соответствовать архитектурному стилю

Большинство архитектур основано на системах, которые разделяют схожий набор задач. Это сходство можно охарактеризовать как архитектурный стиль, который можно рассматривать как особый вид паттерна, хотя зачастую он представляет собой сложный и составной паттерн (ряд паттернов, применяемых вместе). Подобно паттерну, архитектурный стиль представляет собой кодификацию опыта, и архитекторам рекомендуется искать возможности для повторного использования такого опыта.Примеры архитектурных стилей включают распределенный стиль, стиль конвейера и фильтра, стиль, ориентированный на данные, стиль на основе правил и т. Д. Данная система может иметь более одного архитектурного стиля. Как описывают Шоу и Гарлан:

[архитектурный стиль] определяет семейство систем в терминах структурной организации. В частности, архитектурный стиль определяет словарь компонентов и типов соединителей, а также набор ограничений на то, как их можно комбинировать. 9

А с точки зрения UML:

[Шаблон — это] общее решение общей проблемы в данном контексте. 10

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

На архитектуру влияет ее среда

Система находится в среде, и эта среда влияет на архитектуру. Иногда это называют «архитектурой в контексте». По сути, среда определяет границы, в которых должна работать система, которые затем влияют на архитектуру. Факторы среды, влияющие на архитектуру, включают бизнес-миссию, которую будет поддерживать архитектура, заинтересованные стороны системы, внутренние технические ограничения (например, требование соответствия стандартам организации) и внешние технические ограничения (такие как необходимость взаимодействия с внешним системе или соответствовать внешним регулирующим стандартам).

И наоборот, как красноречиво описано в Bass, Clements, and Kazman, 11 , архитектура также может влиять на окружающую среду. Создание архитектуры не только изменяет среду с технологической точки зрения — оно может, например, предоставлять повторно используемые активы для владеющей организации — создание архитектуры может также изменить среду с точки зрения навыков, доступных в рамках организация.

Когда дело доходит до систем с интенсивным использованием программного обеспечения, всегда необходимо учитывать особый аспект среды, как обсуждалось ранее в этой главе.Чтобы программное обеспечение было полезным, оно должно выполняться. Для выполнения программное обеспечение работает на каком-то оборудовании. Таким образом, результирующая система представляет собой комбинацию программного и аппаратного обеспечения, и именно эта комбинация позволяет достичь таких свойств, как надежность и производительность. Программное обеспечение не может достичь этих свойств в отрыве от оборудования, на котором оно выполняется.

IEEE Std 12207-1995, Стандарт IEEE для информационных технологий — Процессы жизненного цикла программного обеспечения, определяет систему иначе, чем определение системы IEEE 1471, упомянутое ранее (которое фокусируется на системах с интенсивным использованием программного обеспечения), но соответствует определениям найдено в области системной инженерии:

[Система] представляет собой интегрированный состав, состоящий из одного или нескольких процессов, оборудования, программного обеспечения, средств и людей, который обеспечивает возможность удовлетворить заявленную потребность или цель.[IEEE 12207] 12

Конфигурация Rational Unified Process® для системного проектирования (RUP SE) содержит аналогичное определение.

[Система — это] набор ресурсов, которые предоставляют услуги, которые используются предприятием для выполнения бизнес-целей или миссии. Системные компоненты обычно состоят из оборудования, программного обеспечения, данных и сотрудников 13 .

В области системной инженерии идет на компромисс в отношении использования программного обеспечения, оборудования и людей.Например, если производительность является ключевой, тогда может быть принято решение внедрить определенные элементы системы в оборудование, а не в программное обеспечение или людей. Другим примером является то, что для того, чтобы предоставить клиентам удобную систему, принимается решение предоставить клиентский интерфейс, который является человеческим существом, а не интерфейс, реализованный в программном или аппаратном обеспечении. Более сложные сценарии требуют достижения определенных качеств системы за счет комбинации программного обеспечения, оборудования и людей. (Соответственно, в этой серии статей при необходимости упоминаются элементы, отличные от программного обеспечения.)

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

Архитектура влияет на структуру команды

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

Для каждой из этих групп могут потребоваться разные наборы навыков. Поэтому имеет смысл согласовать структуры групп разработчиков программного обеспечения с архитектурой, как только она будет определена. Однако часто бывает, что на архитектуру влияет исходная структура команды, а не наоборот.Это ловушка, которую лучше избегать, поскольку в результате обычно получается неидеальная архитектура. «Закон Конвея» гласит: «Если у вас есть четыре группы, работающие над компилятором, вы получите компилятор с 4 проходами». На практике мы часто непреднамеренно создаем архитектуры, которые отражают организацию, создающую архитектуру.

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

Архитектура присутствует в каждой системе

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

И наоборот, если архитектура не задокументирована, то трудно (если не невозможно) доказать, что она соответствует заявленным требованиям с точки зрения таких качеств, как ремонтопригодность, использование передового опыта и т. Д. Недокументированные архитектуры, которых сегодня, кажется, большинство, имеют тенденцию быть случайными, а не преднамеренными.

Архитектура имеет особую область применения

Существует много видов архитектуры, наиболее известными из которых являются архитектуры, связанные со зданиями и другими инженерными сооружениями.Даже в области разработки программного обеспечения мы часто сталкиваемся с разными формами архитектуры. Например, в дополнение к концепции архитектуры программного обеспечения , мы можем встретить такие концепции, как архитектура предприятия , системная архитектура, организационная архитектура, информационная архитектура, архитектура оборудования, архитектура приложений, архитектура инфраструктуры и так далее. Вы также услышите другие термины, каждый из которых определяет конкретный объем архитектурной деятельности.

К сожалению, в отрасли нет согласия в отношении значения каждого из этих терминов или их отношения друг к другу, что приводит к различным значениям одного и того же термина (омонимы), а два или более терминов означают одно и то же (синонимы) . Однако объем некоторых из этих терминов можно вывести из рисунка 3. Когда вы рассматриваете этот рисунок и последующее обсуждение, почти наверняка есть элементы, с которыми вы не согласны или которые вы используете по-другому в своей организации.Но в том-то и дело — показать, что эти термины действительно существуют в отрасли, но что нет единого мнения по их значению.

Рисунок 3: Сфера применения различных терминов

На рисунке 3 показаны следующие элементы:

  • Архитектура программного обеспечения, которая, как определено ранее, является основной темой данной статьи.
  • Аппаратная архитектура, которая учитывает такие элементы, как процессоры, память, жесткие диски, периферийные устройства, такие как принтеры, и элементы, используемые для соединения этих элементов.
  • Организационная архитектура, которая рассматривает элементы, которые связаны с бизнес-процессами, организационными структурами, ролями и обязанностями, а также основными компетенциями организации.
  • Информационная архитектура, учитывающая структуру организации информации.
  • Архитектура программного обеспечения, архитектура оборудования, организационная архитектура и информационная архитектура, которые являются подмножествами общей архитектуры системы, как обсуждалось ранее в этой главе.
  • Архитектура предприятия, которая похожа на архитектуру системы в том, что она также учитывает такие элементы, как оборудование, программное обеспечение и людей. Тем не менее, архитектура предприятия имеет более сильную связь с бизнесом, поскольку она ориентирована на достижение бизнес-целей и связана с такими элементами, как гибкость бизнеса и эффективность организации. Архитектура предприятия может выходить за рамки компании.

Как и следовало ожидать, существуют соответствующие формы архитектора (например, архитектор программного обеспечения, архитектор аппаратного обеспечения и т. Д.) И архитектора (например, разработка архитектуры программного обеспечения, архитектура оборудования и т. Д.).

Теперь, когда мы рассмотрели эти определения, осталось много вопросов, на которые нет ответа. В чем разница между архитектурой предприятия и архитектурой системы? Является ли предприятие системой? Является ли информационная архитектура такой же, как архитектура данных в некоторых программных приложениях, интенсивно использующих данные? К сожалению, на эти вопросы нет однозначных ответов.

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

Резюме

В этой статье основное внимание уделяется определению основных характеристик программной архитектуры. Однако остается много вопросов, оставшихся без ответа. Какова роль архитектора программного обеспечения? Какими ключевыми видами деятельности занимается архитектор? Каковы преимущества «архитектурного проектирования»? На эти и другие вопросы мы ответим в следующих статьях этой серии.

Благодарности

Содержание этой статьи взято из готовящейся к выходу книги, предварительно озаглавленной «Процесс создания архитектуры программного обеспечения». В результате содержание было прокомментировано многими людьми, которых я хотел бы поблагодарить, а именно Грэди Буч, Дэйв Брейнс, Алан Браун, Марк Диксон, Хольгер Хойс, Келли Хьюстон, Луан Доан-Мин, Филипп Кручтен, Ник Розански. , Дэйв Уильямс и Эоин Вудс.

Примечания

1 Веб-сайт по архитектуре Института программной инженерии (SEI) — определения архитектуры — хороший пример.См. Http://www.sei.cmu.edu/architecture/definitions.html

2 IEEE Computer Society, Рекомендуемая практика IEEE для архитектурного описания программно-интенсивных систем: IEEE Std 1472000. 2000.

3 Object Management Group Inc., Спецификация инфраструктуры UML 2.0: номер документа 03-09-15. Сентябрь 2003 г.

4 Филипп Крюхтен, Рациональный унифицированный процесс: введение , третье издание. Аддисон-Уэсли Профессионал 2003.

5 Лен Басс, Пол Клементс и Рик Казман, Архитектура программного обеспечения на практике , второе издание. Addison Wesley 2003.

6 Object Management Group Inc., OMG Unified Modeling Language Specification Version 1.5 , номер документа 03-03-01. Март 2003 г.

7 Джеймс Макговерн и др., Практическое руководство по архитектуре предприятия . Прентис Холл 2004

8 Роль, которая будет рассмотрена в следующей статье этой серии.

9 Мэри Шоу и Дэвид Гарлан, Архитектура программного обеспечения Перспективы возникающей дисциплины . Prentice Hall 1996.

10 Грэди Буч, Джеймс Рамбо и Ивар Якобсон, Руководство пользователя унифицированного языка моделирования . Addison Wesley 1999.

11 Bass et al., Op. соч.

12 IEEE Computer Society, Стандарт IEEE для информационных технологий — процессы жизненного цикла программного обеспечения.IEEE Std 12207-1995.

13 Мюррей Кантор, «Рациональный унифицированный процесс для системного проектирования». The Rational Edge , август 2003 г. http://public.dhe.ibm.com/software/dw/rationaledge/aug03/f_rupse_mc.pdf

Ресурсы для скачивания

Изучите архитектуру | Знакомство с архитектурой Arm — Arm Developer

Общие термины архитектуры

В архитектуре используется ряд терминов, обычно записываемых в документации маленькими заглавными буквами, которые имеют очень специфическое значение.Хотя Справочные руководства по архитектуре Arm содержат полное определение каждого термина, здесь мы рассмотрим наиболее общие термины и их значение для программистов.

Технологический элемент PE

Processing Element (PE) — это общий термин для реализации архитектуры Arm. Вы можете думать о PE как о чем угодно, что имеет собственный счетчик программ и может выполнять программу. Например, в Справочном руководстве по архитектуре руки указано:

Состояния, которые определяют, как работает PE, включая текущий уровень исключения и состояние безопасности, а в состоянии AArch42 — режим PE.

Руководства используют общий термин PE, потому что существует множество различных потенциальных микроархитектур. Например, в процессорах Arm Cortex-A возможны следующие микроархитектуры:

  • Cortex-A8 — это одноядерный однопоточный процессор. Весь процессор — это PE.
  • Cortex-A53 — это многоядерный процессор, каждое ядро ​​представляет собой один поток. Каждое ядро ​​- это PE.
  • Cortex-A65AE — многоядерный процессор, каждое ядро ​​имеет два потока.Каждый поток — это PE.

Использование термина PE означает, что архитектура отделена от конкретных проектных решений, принимаемых в разных процессорах.

ОПРЕДЕЛЕНИЕ РЕАЛИЗАЦИИ

Функция, которая ОПРЕДЕЛЯЕТСЯ РЕАЛИЗАЦИЕЙ (сокращенно IMP DEF), определяется конкретной микроархитектурой. Реализация должна представлять последовательное поведение / ценность.

Например, размер кэшей — IMP DEF. Архитектура предоставляет программному обеспечению определенный механизм для запроса размеров кэша, но размер кэша остается на усмотрение разработчика процессора.

Аналогичным образом, поддержка инструкций криптографии — IMP DEF. Опять же, есть регистры, позволяющие программному обеспечению определять, присутствуют ли инструкции или нет.

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

Для процессоров Cortex-A некоторые варианты IMP DEF будут исправлены, а некоторые будут вариантами синтеза. Например, в Cortex-A57 размер кэшей L1 является фиксированным, а размер кэша L2 является вариантом синтеза.Однако решение о размере кэша L2 принимается во время разработки. Он по-прежнему статичен во время выполнения.

Полная информация о параметрах IMP DEF будет задокументирована в TRM.

НЕПРЕДСКАЗУЕМАЯ И СГРАНИЧЕННАЯ НЕПРЕДСКАЗУЕМАЯ

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

Если что-то НЕПРЕДСКАЗУЕМО или ОГРАНИЧИВАЕТСЯ НЕПРЕДСКАЗУЕМЫЙ, программное обеспечение не может полагаться на поведение процессора.Процессор также может вести себя по-разному, если программное обеспечение выполняет неправильное действие несколько раз.

Например, предоставление неверно выровненной таблицы преобразования НЕПРЕДСКАЗУЕМО. Это плохое программное обеспечение. Плохое программное обеспечение — это программное обеспечение, которое нарушает архитектурное правило, которому должны соответствовать таблицы перевода.

В отличие от поведения IMP DEF, TRM обычно не описывает все НЕПРЕДСКАЗУЕМЫЕ поведения.

УСТАРЕЛО

Иногда мы удаляем элемент из архитектуры.Это может произойти по нескольким причинам, например из-за производительности или из-за того, что функция больше не используется широко и в ней нет необходимости. Тем не менее, некоторые устаревшие программы могут использовать эту функцию. Поэтому перед полным удалением функции мы сначала помечаем ее как УСТАРЕВШЕЕ. Например, в Справочном руководстве по архитектуре руки указано:

Использование инструкций IT и инструкций барьера CP15DMB, CP15DSB и CP151SB не рекомендуется по соображениям производительности.

УСТАРЕЛО — предупреждение для разработчиков о том, что функция будет удалена в будущем, и что они должны начать удалять ее из своего кода.

Часто в архитектуру одновременно добавляется элемент управления, позволяющий отключить эту функцию. Этот элемент управления позволяет разработчикам тестировать использование функции в устаревшем коде.

RES0 / RES1 Зарезервировано, должно быть равно нулю / зарезервировано, должно быть равно единице

Зарезервировано, должно быть равно нулю / зарезервировано, должно быть равно единице. ( RES0 / RES1) используется для описания поля, которое не используется и не оказывает функционального воздействия на процессор.

Зарезервированное поле может использоваться в какой-нибудь будущей версии архитектуры. В этом случае значение 1 поля RES0 / RES1 даст новое поведение.

Поле RES0 не всегда читается как 0, а поле RES1 не всегда может читаться как 1. RES0 / 1 только сообщает вам, что поле не используется.

Бывают случаи, когда поля RES0 / RES1 должны иметь состояние. Состояние означает, что поля считывают последнее записанное значение.

Микросервисы как эволюционная архитектура

Архитектурный стиль микросервисов захватывает мир.В марте прошлого года O’Reilly провела свою первую конференцию по архитектуре программного обеспечения, и огромный процент рефератов, полученных программным комитетом, касался некоторых аспектов микросервисов. Почему этот архитектурный стиль внезапно вошел в моду?

Microservices — это первый архитектурный стиль революции после DevOps, первый, полностью охватывающий инженерные практики непрерывной доставки. Это также пример эволюционной архитектуры, которая поддерживает постепенное непрерывное изменение в качестве первого принципа по множеству измерений на структурном уровне приложения.Однако это только одна из групп архитектур, поддерживающих определенное эволюционное поведение. В данной статье исследуются некоторые характеристики и принципы этого семейства архитектурных стилей.

Эволюционные архитектуры

Распространенное мнение в программном обеспечении когда-то гласило, что архитектурные элементы «трудно изменить позже». Эволюционная архитектура предполагает постепенное изменение архитектуры в качестве первого принципа. Эволюционные архитектуры привлекательны, потому что исторически было трудно предвидеть изменения, и их было дорого модернизировать.Если эволюционное изменение встроено в архитектуру, изменение становится проще и дешевле, что позволяет вносить изменения в методы разработки, методы выпуска и общую гибкость.

Микросервисы

соответствуют этому определению из-за своего строгого принципа ограниченного контекста, что делает логическое разделение, описанное в проекте Эвана на основе предметной области, физическим разделением. Микросервисы достигают этого разделения с помощью передовых методов DevOps, таких как подготовка машин, тестирование и автоматическое развертывание. Поскольку каждый сервис отделен от всех других сервисов (на структурном уровне), замена одного микросервиса другим похожа на замену одного кубика Lego на другой.

Характеристики эволюционных архитектур

Архитектура

Evolutionary обладает несколькими общими характеристиками. Мы определили большое количество для будущей книги «Эволюционная архитектура»; Вот несколько из них.

Модульность и связь

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

[ Связь между классами (точки по периметру) в Большом комке грязи из неназванного клиентского проекта.]

Несоответствующее сцепление тормозит эволюцию, распространяя изменения труднопредсказуемым образом. Все эволюционные архитектуры поддерживают некоторый уровень модульности, обычно в технической архитектуре (например, классическая многоуровневая архитектура).

Организовано для бизнес-возможностей

Все чаще в современных успешных архитектурах присутствует модульность на уровне доменной архитектуры, вдохновленная Domain Driven Design.Архитектуры на основе служб отличаются от традиционной SOA прежде всего стратегией разделения: SOA строго разделена по техническим уровням, а архитектуры на основе служб имеют тенденцию к разделению доменов, вдохновленному микросервисами.

Эксперименты

Экспериментирование — это одна из суперспособностей, которые эволюционная архитектура предоставляет бизнесу. Недорогое в эксплуатации тривиальное изменение приложений позволяет использовать стандартные методы непрерывной доставки, такие как A / B-тестирование, Canary Releases и другие.Часто архитектуры микросервисов проектируются на основе маршрутизации между сервисами для определения приложений, что позволяет нескольким версиям конкретного сервиса существовать в экосистеме. Это, в свою очередь, позволяет экспериментировать и постепенно заменять существующие функции. В конечном итоге эта сила позволяет вашему бизнесу тратить меньше времени на размышления о незавершенных историях и вместо этого заниматься разработкой на основе гипотез.

Принципы эволюционной архитектуры

Один из способов мышления об эволюционной архитектуре — это принципы.Принципы описывают различные характеристики как самих архитектур, так и методов проектирования архитектур. Некоторые принципы фокусируют внимание на том, когда в процессе принимаются конкретные архитектурные решения.

Фитнес-функции

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

[ Радиолокационная диаграмма, используемая для выделения важных фитнес-функций, соответствующих этой программной системе. ]

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

Принесите боль вперед

Многие практики непрерывной доставки и эволюционной архитектуры служат примером принципа «устранять боль», вдохновленного сообществом программистов eXtreme. Когда что-то в проекте может вызвать боль, заставьте себя делать это чаще и раньше, что, в свою очередь, побуждает вас автоматизировать боль и выявлять проблемы на раннем этапе. Распространенные практики непрерывной доставки, такие как конвейеры развертывания, автоматическое выделение ресурсов компьютеров и миграция баз данных, упрощают эволюционную архитектуру, устраняя общие болевые точки для изменений.

Последний ответственный момент

Когда принимаются решения, это главное различие между традиционной архитектурой и эволюционной архитектурой. Эти решения могут быть связаны со структурой приложения, технологическим стеком, конкретными инструментами или шаблонами взаимодействия. В традиционной архитектуре эти решения проявляются рано, еще до написания кода. В эволюционной архитектуре мы ждем последнего ответственного момента, чтобы принимать решения. Преимущество отсрочки принятия решения — это дополнительная информация, доступная для принятия решения.Стоимость — это любая потенциальная переделка, которая должна произойти после принятия решения, которую можно уменьшить с помощью соответствующих абстракций, но стоимость все еще реальна. Однако цена принятия слишком раннего решения также реальна. Обдумайте выбор средства обмена сообщениями. Различные инструменты имеют разные поддерживаемые функции. Если мы выберем инструмент более тяжелый, чем нам в конечном итоге понадобится, мы добавим в наш проект источник технического долга. Эта задолженность возникает в виде тормозов в развитии, вызванных использованием неправильного инструмента.Это не повод для упреждающего «абстрагирования всего» — мы по-прежнему поддерживаем принцип Agile YAGNI (вам это не понадобится), — а скорее осознанная попытка принять решение в нужное время.

Конечно, самый главный вопрос, когда думаешь о последнем ответственном моменте, — это решить, когда он наступит. Функция пригодности дает рекомендации для этого решения. Решения, которые окажут существенное влияние на другие архитектурные или дизайнерские решения, или решения, влияющие на критический фактор успеха проекта, следует принимать раньше.Откладывание такого решения для проекта зачастую больше, чем польза от ожидания.

Заключение

Архитекторы программного обеспечения несут ответственность за разъяснение решений о том, как системы сочетаются друг с другом, часто путем создания диаграмм. Слишком многие архитекторы не понимают, что статическая двумерная картина архитектуры имеет короткий срок хранения. Вселенная программного обеспечения существует в состоянии постоянного изменения; он скорее динамический, чем статический. Архитектура — это не уравнение, а скорее снимок текущего процесса.

Continuous Delivery и движение DevOps продемонстрировали подводные камни игнорирования усилий, необходимых для реализации архитектуры и поддержания ее в актуальном состоянии. Нет ничего плохого в моделировании архитектуры и отражении этих усилий, но реализация — это только первый шаг. Архитектура абстрактна, пока не будет введена в действие. Другими словами, вы не можете реально судить о долгосрочной жизнеспособности какой-либо архитектуры, пока вы не только не реализовали ее, но и не обновили. И, возможно, даже позволил ему противостоять необычным явлениям.

Оперативная осведомленность архитектора имеет решающее значение для эволюционных архитектур. Эволюция влияет на специфику реализации, поэтому детали реализации нельзя игнорировать. Требования, предъявляемые к архитектуре непрерывной доставкой, делают реализацию более заметной и облегчают ее развитие. Следовательно, непрерывная доставка — важный фактор для любой эволюционной архитектуры.

Дополнительные ресурсы:

В этом выпуске подкаста ThoughtWorks Tech Leaders Ребекка и Нил обсуждают значение эволюционной архитектуры и то, как организации могут использовать ее в качестве бизнес-преимущества.


Посмотрите недавний веб-семинар по эволюционной архитектуре, представленный Нилом.

Интернет вещей: архитектуры, протоколы и приложения

Интернет вещей (IoT) определяется как парадигма, в которой объекты, оснащенные датчиками, исполнительными механизмами и процессорами, взаимодействуют друг с другом для достижения определенной цели. В этой статье мы рассматриваем современные методы, протоколы и приложения в этой новой развивающейся области.В этом обзоре предлагается новая таксономия технологий Интернета вещей, выделяются некоторые из наиболее важных технологий и описываются некоторые приложения, которые могут существенно изменить жизнь людей, особенно людей с ограниченными возможностями и пожилых людей. По сравнению с аналогичными обзорами в этой области, этот документ является гораздо более всеобъемлющим по своему охвату и исчерпывающе охватывает большинство основных технологий, от датчиков до приложений.

1. Введение

Сегодня Интернет стал повсеместным, затронул почти все уголки земного шара и оказывает невообразимое влияние на человеческую жизнь.Однако путь еще далек от завершения. Сейчас мы вступаем в эру еще более широких возможностей подключения, когда к Интернету будет подключено очень большое количество устройств. Мы вступаем в эру «Интернета вещей» (сокращенно IoT). Этот термин был определен разными авторами по-разному. Давайте посмотрим на два самых популярных определения. Vermesan et al. [1] определяют Интернет вещей как простое взаимодействие между физическим и цифровым мирами. Цифровой мир взаимодействует с физическим миром с помощью множества датчиков и исполнительных механизмов.Другое определение Peña-López et al. [2] определяет Интернет вещей как парадигму, в которой вычислительные и сетевые возможности встроены в любой мыслимый объект. Мы используем эти возможности для запроса состояния объекта и, если возможно, для изменения его состояния. Проще говоря, Интернет вещей относится к новому типу мира, в котором почти все устройства и устройства, которые мы используем, подключены к сети. Мы можем использовать их совместно для решения сложных задач, требующих высокой степени интеллекта.

Для этого интеллекта и взаимодействия устройства IoT оснащены встроенными датчиками, исполнительными механизмами, процессорами и трансиверами. IoT — это не единственная технология; скорее это совокупность различных технологий, которые работают вместе в тандеме.

Датчики и исполнительные механизмы — это устройства, которые помогают взаимодействовать с физической средой. Данные, собранные датчиками, должны храниться и обрабатываться разумно, чтобы сделать из них полезные выводы. Обратите внимание, что мы широко определяем термин датчик ; мобильный телефон или даже микроволновая печь могут считаться датчиком, если они предоставляют информацию о своем текущем состоянии (внутреннее состояние + окружающая среда).Привод — это устройство, которое используется для изменения окружающей среды, например, регулятор температуры кондиционера.

Хранение и обработка данных могут выполняться на границе самой сети или на удаленном сервере. Если возможна какая-либо предварительная обработка данных, то она обычно выполняется либо на датчике, либо на другом ближайшем устройстве. Затем обработанные данные обычно отправляются на удаленный сервер. Возможности хранения и обработки объекта IoT также ограничены доступными ресурсами, которые часто очень ограничены из-за ограничений размера, энергии, мощности и вычислительных возможностей.В результате основная задача исследования — убедиться, что мы получаем нужные данные с желаемым уровнем точности. Помимо проблем со сбором и обработкой данных, существуют проблемы и с коммуникацией. Связь между устройствами IoT в основном беспроводная, поскольку они обычно устанавливаются в географически удаленных местах. Беспроводные каналы часто имеют высокий уровень искажений и ненадежны. В этом сценарии надежная передача данных без слишком большого количества повторных передач является важной проблемой, и, следовательно, коммуникационные технологии являются неотъемлемой частью исследования устройств IoT.

Теперь, после обработки полученных данных, необходимо предпринять некоторые действия на основе полученных выводов. Характер действий может быть разнообразным. Мы можем напрямую изменять физический мир с помощью исполнительных механизмов. Или мы можем что-то сделать виртуально. Например, мы можем отправить некоторую информацию другим умным вещам.

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

Датчики, исполнительные механизмы, вычислительные серверы и сеть связи образуют базовую инфраструктуру инфраструктуры Интернета вещей. Однако есть много аспектов программного обеспечения, которые необходимо учитывать. Во-первых, нам нужно промежуточное программное обеспечение, которое можно использовать для подключения и управления всеми этими разнородными компонентами. Для подключения множества различных устройств нам нужна большая стандартизация. Мы обсудим методы обмена информацией и действующие стандарты в разделе 7.

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

2. Архитектура IoT

Не существует единого консенсуса по архитектуре IoT, который согласован повсеместно.Разные исследователи предлагали разные архитектуры.

2.1. Трех- и пятиуровневые архитектуры

Самая базовая архитектура — это трехуровневая архитектура [3–5], как показано на рисунке 1. Она была представлена ​​на ранних этапах исследований в этой области. Он имеет три уровня, а именно: уровень восприятия, сеть и уровень приложения. (I) Уровень восприятия — это физический уровень, который имеет датчики для восприятия и сбора информации об окружающей среде.Он определяет некоторые физические параметры или идентифицирует другие интеллектуальные объекты в среде. (Ii) Сетевой уровень отвечает за подключение к другим интеллектуальным объектам, сетевым устройствам и серверам. Его функции также используются для передачи и обработки данных датчиков. (Iii) Уровень приложения отвечает за предоставление пользователю услуг, специфичных для приложения. Он определяет различные приложения, в которых может быть развернут Интернет вещей, например, умные дома, умные города и умное здоровье.

Трехуровневая архитектура определяет основную идею Интернета вещей, но ее недостаточно для исследования IoT, поскольку исследования часто фокусируются на более тонких аспектах Интернета вещей. Вот почему в литературе предлагается гораздо больше многоуровневых архитектур. Один из них — это пятиуровневая архитектура, которая дополнительно включает в себя уровни обработки и бизнеса [3–6]. Пять уровней — это уровни восприятия, транспорта, обработки, приложения и бизнеса (см. Рисунок 1).Роль уровней восприятия и приложений такая же, как и в трехуровневой архитектуре. Мы очерчиваем функцию остальных трех уровней. (I) Транспортный уровень передает данные датчиков с уровня восприятия на уровень обработки и наоборот через такие сети, как беспроводная связь, 3G, LAN, Bluetooth, RFID и NFC. (ii) Уровень обработки также известен как уровень промежуточного программного обеспечения. Он хранит, анализирует и обрабатывает огромные объемы данных, поступающих с транспортного уровня.Он может управлять и предоставлять разнообразный набор услуг нижним уровням. Он использует множество технологий, таких как базы данных, облачные вычисления и модули обработки больших данных. (Iii) Бизнес-уровень управляет всей системой IoT, включая приложения, бизнес-модели и модели прибыли, а также конфиденциальность пользователей. Бизнес-уровень выходит за рамки данной статьи. Следовательно, мы не обсуждаем это дальше.

Другая архитектура, предложенная Нингом и Вангом [7], вдохновлена ​​слоями обработки в человеческом мозгу.Он вдохновлен интеллектом и способностью людей думать, чувствовать, помнить, принимать решения и реагировать на физическую среду. Он состоит из трех частей. Во-первых, это человеческий мозг, который аналогичен блоку обработки и управления данными или центру обработки данных. Во-вторых, спинной мозг, аналог распределенной сети узлов обработки данных и интеллектуальных шлюзов. В-третьих, это сеть нервов, которая соответствует сетевым компонентам и датчикам.

2.2. Архитектуры на основе облаков и тумана

Давайте теперь обсудим два типа системных архитектур: облачные и туманные вычисления (см. Эталонные архитектуры в [8]). Обратите внимание, что эта классификация отличается от классификации в разделе 2.1, которая была сделана на основе протоколов.

В частности, у нас нет четкого представления о природе данных, генерируемых устройствами Интернета вещей, и о характере обработки данных. В некоторых системных архитектурах обработка данных выполняется централизованно с помощью облачных компьютеров.В такой архитектуре, ориентированной на облако, облако находится в центре, приложения — над ним, а сеть интеллектуальных устройств — под ним [9]. Облачным вычислениям отдается приоритет, поскольку они обеспечивают большую гибкость и масштабируемость. Он предлагает такие услуги, как базовая инфраструктура, платформа, программное обеспечение и хранилище. Разработчики могут предоставлять свои инструменты хранения, программные инструменты, инструменты интеллектуального анализа данных и машинного обучения, а также инструменты визуализации через облако.

В последнее время наблюдается переход к другой системной архитектуре, а именно, туманных вычислений [10–12], где датчики и сетевые шлюзы выполняют часть обработки данных и аналитики.Архитектура тумана [13] представляет многоуровневый подход, показанный на рисунке 2, который вставляет уровни мониторинга, предварительной обработки, хранения и безопасности между физическим и транспортным уровнями. Уровень мониторинга отслеживает мощность, ресурсы, ответы и услуги. Уровень предварительной обработки выполняет фильтрацию, обработку и анализ данных датчиков. Уровень временного хранения обеспечивает такие функции хранения, как репликация, распространение и хранение данных. Наконец, уровень безопасности выполняет шифрование / дешифрование и обеспечивает целостность и конфиденциальность данных.Мониторинг и предварительная обработка выполняются на границе сети перед отправкой данных в облако.

Часто термины «туманные вычисления» и «периферийные вычисления» используются как синонимы. Последний термин предшествует первому и считается более общим. Туманные вычисления , первоначально называвшееся Cisco, относится к интеллектуальным шлюзам и интеллектуальным датчикам, тогда как граничные вычисления по своей природе несколько более проницательны. Эта парадигма предусматривает добавление интеллектуальных возможностей предварительной обработки данных к физическим устройствам, таким как двигатели, насосы или фонари.Цель состоит в том, чтобы выполнить как можно больше предварительной обработки данных в этих устройствах, которые называются границами сети. С точки зрения архитектуры системы архитектурная диаграмма существенно не отличается от рисунка 2. В результате мы не описываем отдельно периферийные вычисления.

Наконец, различие между архитектурой протокола и архитектурой системы не очень четкое. Часто протоколы и система имеют кодовую подпись. Мы будем использовать общий 5-уровневый стек протокола IoT (архитектурная схема, представленная на рисунке 2) как для туманной, так и для облачной архитектуры.

2.3. Социальный Интернет вещей

Давайте теперь обсудим новую парадигму: социальный Интернет вещей (SIoT). Здесь мы рассматриваем социальные отношения между объектами так же, как люди формируют социальные отношения (см. [14]). Вот три основных аспекта системы SIoT: (i) SIoT является навигационным. Мы можем начать с одного устройства и перемещаться по всем устройствам, которые к нему подключены. С помощью такой социальной сети IoT-устройств легко обнаруживать новые устройства и услуги. (Ii) Между устройствами существует потребность в надежности (прочности отношений) (аналогично друзьям на Facebook).(iii) Мы можем использовать модели, аналогичные изучению социальных сетей человека, также для изучения социальных сетей устройств IoT.

2.3.1. Базовые компоненты

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

Чтобы такая модель работала, нам нужно иметь много взаимодействующих компонентов.Давайте посмотрим на некоторые из основных компонентов такой системы. (1) ID: нам нужен уникальный метод идентификации объекта. Идентификатор может быть назначен объекту на основе традиционных параметров, таких как MAC-идентификатор, IPv6-идентификатор, универсальный код продукта или какой-либо другой настраиваемый метод. (2) Метаинформация: наряду с идентификатором нам нужна некоторая метаинформация об устройстве, которое описывает его форму и принцип действия. Это необходимо для установления соответствующих отношений с устройством, а также для надлежащего размещения его в совокупности устройств IoT.(3) Контроль безопасности: аналогично настройкам «списка друзей» на Facebook. Владелец устройства может наложить ограничения на типы устройств, которые могут к нему подключаться. Обычно их называют , контролирует владелец, . (4) Обнаружение служб: такая система похожа на облако служб, где нам нужны выделенные каталоги, в которых хранятся сведения об устройствах, предоставляющих определенные виды услуг. Очень важно поддерживать эти каталоги в актуальном состоянии, чтобы устройства могли узнавать о других устройствах.(5) Управление отношениями: этот модуль управляет отношениями с другими устройствами. Он также хранит типы устройств, к которым данное устройство должно попытаться подключиться, в зависимости от типа предоставляемых услуг. Например, для контроллера освещения имеет смысл установить связь с датчиком освещенности. (6) Состав службы: этот модуль выводит модель социального Интернета вещей на новый уровень. Конечная цель наличия такой системы — предоставить пользователям более интегрированные услуги. Например, если у человека есть датчик мощности с кондиционером, и это устройство устанавливает связь с аналитическим механизмом, то ансамбль может предоставить большой объем данных о схемах использования кондиционера.Если социальная модель более обширна и устройств гораздо больше, то можно сравнить данные с моделями использования другими пользователями и получить еще более значимые данные. Например, пользователям можно сказать, что они являются крупнейшими потребителями энергии в своем сообществе или среди своих друзей в Facebook.

2.3.2. Типичная архитектура

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

Архитектура на стороне сервера обычно состоит из трех уровней. Первый — это базовый уровень , содержащий базу данных, в которой хранятся сведения обо всех устройствах, их атрибутах, метаинформации и их взаимосвязях. Второй уровень (уровень Component ) содержит код для взаимодействия с устройствами, запроса их статуса и использования их подмножества для оказания услуги. Самый верхний уровень — это уровень приложения , который предоставляет услуги пользователям.

Со стороны устройства (объекта) в целом у нас два слоя.Первый — это уровень объекта , который позволяет устройству подключаться к другим устройствам, общаться с ними (через стандартные протоколы) и обмениваться информацией. Слой объекта передает информацию на уровень social . Социальный уровень управляет выполнением пользовательских приложений, выполняет запросы и взаимодействует с уровнем приложений на сервере.

3. Таксономия

Давайте теперь предложим таксономию для исследований в области технологий Интернета вещей (см. Рисунок 3).Наша таксономия основана на архитектурных элементах IoT, представленных в разделе 2.

Первым архитектурным компонентом IoT является уровень восприятия. Он собирает данные с помощью датчиков, которые являются наиболее важными движущими силами Интернета вещей [15]. В различных приложениях Интернета вещей используются различные типы датчиков. Самый универсальный датчик, доступный сегодня, — это смартфон. В сам смартфон встроено множество типов датчиков [16], таких как датчик местоположения (GPS), датчики движения (акселерометр, гироскоп), камера, датчик освещенности, микрофон, датчик приближения и магнитометр.Они активно используются в различных приложениях Интернета вещей. Начинают использоваться многие другие типы датчиков, такие как датчики для измерения температуры, давления, влажности, медицинских параметров тела, химических и биохимических веществ и нейронных сигналов. Класс датчиков, которые выделяются, — это инфракрасные датчики, появившиеся раньше смартфонов. Сейчас они широко используются во многих приложениях Интернета вещей: ИК-камерах, детекторах движения, измерении расстояния до близлежащих объектов, наличия дыма и газов, а также в качестве датчиков влажности.Мы обсудим различные типы датчиков, используемых в приложениях IoT, в Разделе 5.

Далее мы обсудим соответствующие работы по предварительной обработке данных. Такие приложения (также известные как приложения туманных вычислений) в основном фильтруют и суммируют данные перед их отправкой в ​​сеть. Такие устройства обычно имеют небольшой объем временного хранилища, небольшой процессор и некоторые функции безопасности.

Следующий архитектурный компонент, который мы обсудим, — это коммуникация. Мы обсудим соответствующую работу (в разделе 7) по различным коммуникационным технологиям, используемым для Интернета вещей.Различные объекты общаются по сети [17–19], используя разнообразный набор протоколов и стандартов. Наиболее распространенными технологиями связи для протоколов передачи данных с низким энергопотреблением на короткие расстояния являются RFID (радиочастотная идентификация) и NFC (связь ближнего поля). Для среднего радиуса действия это Bluetooth, Zigbee и WiFi. Связь в мире Интернета вещей требует специальных сетевых протоколов и механизмов. Поэтому были предложены и реализованы новые механизмы и протоколы для каждого уровня сетевого стека в соответствии с требованиями, предъявляемыми устройствами IoT.

Далее мы рассмотрим два типа программных компонентов: промежуточное ПО и приложения. Промежуточное ПО создает абстракцию для программиста, так что детали оборудования могут быть скрыты. Это увеличивает функциональную совместимость интеллектуальных устройств и упрощает предоставление различных видов услуг [20]. Существует множество коммерческих предложений и предложений с открытым исходным кодом для предоставления услуг промежуточного программного обеспечения для устройств IoT. Некоторыми примерами являются OpenIoT [21], MiddleWhere [22], Hydra [23], FiWare [24] и Oracle Fusion Middleware.Наконец, мы обсуждаем приложения IoT в Разделе 9. Мы в первую очередь фокусируемся на домашней автоматизации, окружающей среде для жизни, здоровье и фитнесе, умных транспортных системах, умных городах, умной среде, умных сетях, социальной жизни и развлечениях.

4. Сопутствующие обзоры

Наша таксономия описывает технологии в области IoT и классифицируется на основе архитектурных уровней. Мы попытались охватить все подобласти и новейшие технологии в нашей таксономии. В прошлом об Интернете вещей было опубликовано множество обзоров.В таблице 1 показано, чем наш опрос отличается от других широко цитируемых в литературе обзоров.

912 912 912 912 912 Интернет Вещи ”Atzori et al., 2010

14

14

14 912 Охватывает различные типы датчиков: экологические, медицинские, нейронные, химические, инфракрасные, датчики мобильных телефонов, RFID


Обзорная статья Датчики Вычисления тумана Промежуточное ПО Связь Приложения Другое
RFID Не покрывается Сервисно-ориентированная архитектура Стандарты связи, IEEE 802.15.4, WSN, Zigbee, 6LoWPAN, NFC, Wireless Hart, M2M, EPC global, ROLL routing Умный дом, здравоохранение, логистика, транспорт, сельское хозяйство, социальные сети, окружающая среда Проблемы, связанные с безопасностью, конфиденциальностью, присвоением имен, обращение к

«Интернет вещей (IoT): видение, элементы архитектуры и будущие направления», Губби и др., 2013 г. RFID Не покрывается Сервис-ориентированная архитектура WSN, схемы адресации Персональные и домашние, корпоративные, коммунальные, мобильные Интернет вещей, ориентированный на облако

«Интернет вещей — обзор тем и тенденций», Whitmore et al., 2014 RFID Не покрывается Семантическое промежуточное ПО WSN, NFC, WSN Интеллектуальная инфраструктура, здравоохранение, цепочки поставок / логистика Безопасность и учет

Многоуровневая архитектура туманных вычислений / интеллектуального шлюза IoT Проблемы, решаемые промежуточным программным обеспечением, типы промежуточного программного обеспечения: основанные на событиях, основанные на сервисах, семантические , база данных, для конкретного приложения Все уровни IP-стека, протоколы и стандарты каждого уровня, IEEE 802.15.4, 6LoWPAN, NFC, маршрутизация ROLL, COAP, MQTT, LPWAN, энергосберегающие технологии беспроводной связи: BLE, Zigbee, интеграция RFID-WSN Умный дом, здоровье, логистика, транспорт, социальная сфера, окружающая среда, сельское хозяйство, энергетика Различное архитектуры IoT

Давайте сначала рассмотрим наши новые достижения. В нашей статье рассматривается каждый уровень в стеке IoT, и в результате представление намного более сбалансировано.Новым дополнением к нашему обзору является то, что мы обсудили различные архитектуры Интернета вещей. Это не обсуждалось в предыдущих обзорах Интернета вещей. В разделе архитектуры также рассматриваются новые парадигмы, такие как туманные вычисления, которые до сих пор также не рассматривались. Более того, в нашем обзоре технологии четко классифицируются на основе архитектурного уровня, к которому они принадлежат. Мы также тщательно классифицировали сетевой уровень и попытались объединить почти все технологии, которые используются в системах IoT.Насколько нам известно, такая тщательная категоризация и представление технологий новы.

Наряду с этими новыми материалами наш обзор является гораздо более полным, подробным и исчерпывающим по сравнению с другими исследованиями в этой области. Большинство других обзоров рассматривают только один или два типа датчиков, тогда как мы описываем 9 типов датчиков с множеством примеров. Другие опросы также довольно ограничены, когда они обсуждают коммуникационные технологии и приложения. Мы также обсудили многие типы технологий промежуточного программного обеспечения.В предыдущих работах технологиям промежуточного программного обеспечения не уделялось такого внимания. Мы подробно рассматриваем 10 коммуникационных технологий и рассматриваем широкий спектр приложений, включая умные дома, здравоохранение, логистику, транспорт, сельское хозяйство, окружающую среду, умные города и зеленую энергию. Ни один другой опрос в этой области не описывает столько технологий, приложений и вариантов использования.

5. Датчики и исполнительные механизмы

Все приложения Интернета вещей должны иметь один или несколько датчиков для сбора данных из окружающей среды.Датчики — важные компоненты интеллектуальных объектов. Одним из наиболее важных аспектов Интернета вещей является контекстная осведомленность , что невозможно без сенсорной технологии. Датчики Интернета вещей в основном имеют небольшой размер, низкую стоимость и меньше энергии. Они ограничены такими факторами, как емкость аккумулятора и простота развертывания. Шмидт и Ван Лаерховен [25] предоставляют обзор различных типов датчиков, используемых для создания интеллектуальных приложений.

5.1. Датчики для мобильных телефонов

Прежде всего, давайте посмотрим на мобильный телефон, который широко распространен и имеет встроенные датчики многих типов.В частности, смартфон — это очень удобное и удобное устройство, которое имеет множество встроенных функций связи и обработки данных. С ростом популярности смартфонов среди людей исследователи проявляют интерес к созданию интеллектуальных решений IoT с использованием смартфонов из-за встроенных датчиков [16, 26]. Некоторые дополнительные датчики также могут использоваться в зависимости от требований. На смартфоне можно создавать приложения, использующие данные датчиков для получения значимых результатов. Вот некоторые из сенсоров внутри современного смартфона.(1) Акселерометр определяет движение и ускорение мобильного телефона. Обычно он измеряет изменения скорости смартфона в трех измерениях. Существует много типов акселерометров [27]. В механическом акселерометре мы имеем сейсмическую массу в корпусе, которая привязана к корпусу пружиной. Для перемещения массы требуется время, и она остается позади по мере движения корпуса, поэтому сила в пружине может быть соотнесена с ускорением. В емкостном акселерометре емкостные пластины используются с той же настройкой.При изменении скорости масса сдвигает емкостные пластины вместе, тем самым изменяя емкость. Скорость изменения емкости затем преобразуется в ускорение. В пьезоакселерометре используются пьезоэлектрические кристаллы, которые при сжатии генерируют электрическое напряжение. Изменения напряжения можно перевести в ускорение. Шаблоны данных, захваченные акселерометром, могут использоваться для определения физической активности пользователя, такой как бег, ходьба и езда на велосипеде. (2) Гироскоп очень точно определяет ориентацию телефона.Ориентация измеряется с использованием емкостных изменений, когда сейсмическая масса движется в определенном направлении. (3) Камера и микрофон являются очень мощными датчиками, поскольку они фиксируют визуальную и звуковую информацию, которая затем может быть проанализирована и обработана для обнаружения различных типов контекстной информации. Например, мы можем сделать вывод о текущей среде пользователя и взаимодействиях, которые у него происходят. Чтобы понять аудиоданные, можно использовать такие технологии, как распознавание голоса и акустические функции.(4) Магнитометр обнаруживает магнитные поля. Его можно использовать в качестве цифрового компаса и в приложениях для обнаружения присутствия металлов. (5) GPS (глобальная система позиционирования) определяет местоположение телефона, что является одним из наиболее важных элементов контекстной информации для интеллектуальных приложений. Местоположение обнаруживается с использованием принципа трилатерации [28]. Расстояние измеряется от трех или более спутников (или вышек мобильной связи в случае A-GPS) и вычисляются координаты. (6) Датчик освещенности определяет интенсивность окружающего света.Его можно использовать для настройки яркости экрана и других приложений, в которых необходимо выполнять определенные действия в зависимости от интенсивности окружающего света. Например, мы можем управлять освещением в комнате. (7) В датчике приближения используется инфракрасный (ИК) светодиод, который излучает ИК-лучи. Эти лучи отражаются, когда они ударяются о какой-либо объект. Исходя из разницы во времени, мы можем рассчитать расстояние. Таким образом можно измерить расстояние до различных объектов от телефона. Например, мы можем использовать его, чтобы определить, когда телефон находится близко к лицу во время разговора.Его также можно использовать в приложениях, в которых мы должны инициировать какое-либо событие, когда объект приближается к телефону. (8) Некоторые смартфоны, такие как Samsung Galaxy S4, также имеют термометр, барометр и датчик влажности для измерения температуры, атмосферного давления и т. Д. и влажность соответственно.

Мы изучили множество интеллектуальных приложений, которые используют данные датчиков, собранные со смартфонов. Например, обнаружение активности [29] достигается путем применения алгоритмов машинного обучения к данным, собранным сенсорами смартфонов.Он определяет такие действия, как бег, подъем и спуск по лестнице, ходьба, вождение автомобиля и езда на велосипеде. Приложение обучается с помощью шаблонов данных с использованием наборов данных, записываемых датчиками, когда эти действия выполняются.

Многие приложения для здоровья и фитнеса созданы для постоянного отслеживания состояния здоровья человека с помощью смартфонов. Они отслеживают физическую активность, диету, упражнения и образ жизни пользователей, чтобы определить уровень физической подготовки и дать пользователю соответствующие предложения.Wang et al. [30] описывают мобильное приложение, полностью основанное на смартфоне. Они используют его для оценки общего психического здоровья и успеваемости студента колледжа. Чтобы отслеживать местоположение и действия, в которых участвует учащийся, используются распознавание активности (акселерометр) и данные GPS. Чтобы следить за тем, сколько спит ученик, используются акселерометр и датчики света. Для общественной жизни и разговоров используются аудиоданные с микрофона. Приложение также проводит быстрые анкеты со студентами, чтобы узнать об их настроении.Все эти данные можно использовать для оценки уровня стресса, социальной жизни, поведения и физических упражнений учащегося.

Другое приложение от McClernon и Choudhury [31] обнаруживает, когда пользователь собирается курить, используя контекстную информацию, такую ​​как присутствие других курильщиков, местоположение и связанные с этим действия. Датчики предоставляют информацию, относящуюся к движению, местоположению, визуальным изображениям и окружающим звукам пользователя. Подводя итог, можно сказать, что сенсоры смартфонов используются для изучения различных типов человеческого поведения (см. [32]) и для улучшения качества жизни человека.

5.2. Медицинские датчики

Интернет вещей может быть действительно полезен для приложений здравоохранения. Мы можем использовать датчики, которые могут измерять и контролировать различные медицинские параметры в организме человека [33]. Эти приложения могут быть нацелены на мониторинг здоровья пациента, когда он не в больнице или когда он один. Впоследствии они могут предоставлять обратную связь в реальном времени врачу, родственникам или пациенту. McGrath и Scanaill [34] подробно описали различные датчики, которые можно носить на теле для наблюдения за здоровьем человека.

На рынке доступно множество носимых сенсорных устройств. Они оснащены медицинскими датчиками, способными измерять различные параметры, такие как частота сердечных сокращений, пульс, артериальное давление, температура тела, частота дыхания и уровень глюкозы в крови [35]. Эти носимые устройства включают умные часы, браслеты, патчи для мониторинга и умный текстиль.

Более того, умные часы и фитнес-трекеры становятся довольно популярными на рынке, поскольку такие компании, как Apple, Samsung и Sony, предлагают очень инновационные функции.Например, умные часы включают в себя такие функции, как возможность подключения к смартфону, такие датчики, как акселерометр и монитор сердечного ритма (см. Рисунок 4).

Еще одно новое устройство Интернета вещей, многообещающее, — это отслеживание наклеенных на кожу пятен. Патчи мониторинга похожи на татуировки. Они растягиваются, одноразовые и очень дешевые. Эти пластыри предполагается носить пациенту в течение нескольких дней для непрерывного мониторинга жизненно важных параметров здоровья [15].Все электронные компоненты встроены в эти резиновые конструкции. Они даже могут передавать полученные данные по беспроводной сети. Подобно татуировке, эти пластыри можно наносить на кожу, как показано на рисунке 5. Одним из наиболее распространенных применений таких пластырей является мониторинг артериального давления.

Очень важным моментом здесь является контекст [34]. Данные, собранные медицинскими датчиками, должны сочетаться с контекстной информацией, такой как физическая активность. Например, частота пульса зависит от контекста.Он увеличивается, когда мы тренируемся. В этом случае мы не можем сделать вывод о ненормальной частоте сердечных сокращений. Следовательно, нам необходимо объединить данные от разных датчиков, чтобы сделать правильный вывод.

5.3. Нейронные датчики

Сегодня можно понимать нейронные сигналы в головном мозге, делать выводы о состоянии мозга и тренировать его для лучшего внимания и концентрации. Это известно как нейробиоуправление [36] (см. Рисунок 6). Технология, используемая для считывания сигналов мозга, называется ЭЭГ (электроэнцефалография) или компьютерный интерфейс мозга.Нейроны внутри мозга взаимодействуют электронным способом и создают электрическое поле, которое можно измерить извне с помощью частот. Мозговые волны можно разделить на альфа, бета, гамма, тета и дельта-волны в зависимости от частоты.

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

5.4. Датчики окружающей среды и химические датчики

Датчики окружающей среды используются для измерения параметров физической среды, таких как температура, влажность, давление, загрязнение воды и воздуха. Такие параметры, как температура и давление, можно измерить с помощью термометра и барометра. Качество воздуха можно измерить с помощью датчиков, которые определяют присутствие в воздухе газов и других твердых частиц (более подробную информацию см. В Sekhar et al. [37]).

Химические сенсоры используются для обнаружения химических и биохимических веществ.Эти датчики состоят из элемента распознавания и преобразователя. Электронный нос (электронный нос) и электронный язык (электронный язык) — это технологии, которые можно использовать для определения химических веществ на основе запаха и вкуса соответственно [38]. Электронный нос и электронный язык состоят из набора химических датчиков, соединенных с передовым программным обеспечением для распознавания образов. Датчики внутри электронного носа и электронного языка производят сложные данные, которые затем анализируются посредством распознавания образов для определения стимула.

Эти датчики могут использоваться для мониторинга уровня загрязнения в умных городах [39], контроля качества продуктов питания на умных кухнях, тестирования продуктов питания и сельскохозяйственных продуктов в приложениях цепочки поставок.

5.5. Радиочастотная идентификация (RFID)

RFID — это технология идентификации, в которой метка RFID (небольшой чип с антенной) переносит данные, которые считываются устройством чтения RFID. Тег передает данные, хранящиеся в нем, по радиоволнам. Это похоже на технологию штрих-кода. Но в отличие от традиционного штрих-кода, он не требует прямой видимости между тегом и считывателем и может идентифицировать себя на расстоянии даже без участия человека. Диапазон RFID зависит от частоты.Он может доходить до сотен метров.

RFID-метки бывают двух типов: активные и пассивные. Активные теги имеют источник питания, а пассивные теги не имеют источника питания. Пассивные метки потребляют энергию от электромагнитных волн, излучаемых считывателем, поэтому они дешевы и имеют длительный срок службы [40, 41].

Существует два типа RFID-технологий: ближняя и дальняя [40]. Ближайший считыватель RFID использует катушку, через которую мы пропускаем переменный ток и генерируем магнитное поле. Бирка имеет катушку меньшего размера, которая генерирует потенциал из-за изменений магнитного поля окружающей среды.Это напряжение затем соединяется с конденсатором для накопления заряда, который затем питает чип метки. Затем метка может создавать небольшое магнитное поле, которое кодирует передаваемый сигнал, и это может быть уловлено считывателем.

В дальнем RFID в считывателе есть дипольная антенна, которая распространяет электромагнитные волны. Тег также имеет дипольную антенну, на которой появляется переменная разность потенциалов, и на нее подается питание. Затем он может использовать эту мощность для передачи сообщений.

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

Для контроля доступа к авторизованному объекту прикрепляется RFID-метка. Например, к передней части автомобилей приклеиваются мелкие стружки. Когда автомобиль достигает баррикады, на которой стоит считыватель, он считывает данные тега и решает, является ли это авторизованным автомобилем.Если да, он открывается автоматически. Карты RFID выдаются людям, которые затем могут быть идентифицированы считывателем RFID и соответствующим образом предоставлен доступ.

Данные низкого уровня, собранные с помощью RFID-меток, могут быть преобразованы в данные более высокого уровня в приложениях IoT [42]. Доступно множество инструментов пользовательского уровня, с помощью которых можно управлять всеми данными, собранными определенными считывателями RFID, и данными, связанными с метками RFID. Данные высокого уровня можно использовать, чтобы делать выводы и предпринимать дальнейшие действия.

5.6. Приводы

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

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

В качестве примера можно рассмотреть систему «умный дом», которая состоит из множества датчиков и исполнительных механизмов. Приводы используются для блокировки / разблокировки дверей, включения / выключения света или других электроприборов, предупреждения пользователей о любых угрозах с помощью сигналов тревоги или уведомлений, а также для контроля температуры в доме (с помощью термостата).

Сложным примером исполнительного механизма, используемого в IoT, является цифровой палец, который используется для включения / выключения переключателей (или всего, что требует небольшого движения) и управляется по беспроводной сети.

6. Предварительная обработка

Поскольку интеллектуальные устройства собирают огромное количество данных датчиков, для анализа, хранения и обработки этих данных требуются вычислительные ресурсы и ресурсы хранения. Наиболее распространенные вычислительные ресурсы и ресурсы хранения — облачные, потому что облако предлагает массовую обработку данных, масштабируемость и гибкость.Но этого будет недостаточно для удовлетворения требований многих приложений Интернета вещей по следующим причинам [43]: (1) Мобильность: большинство интеллектуальных устройств являются мобильными. Их меняющееся местоположение затрудняет связь с облачным центром обработки данных из-за изменения сетевых условий в разных местах. (2) Надежное срабатывание в реальном времени: обмен данными с облаком и получение ответов требует времени. Приложения, чувствительные к задержке и требующие отклика в реальном времени, могут оказаться неприменимыми с этой моделью.Кроме того, связь может быть с потерями из-за беспроводных соединений, что может привести к ненадежным данным. (3) Масштабируемость: чем больше устройств, тем больше запросов в облако, тем самым увеличивая задержку. (4) Ограничения мощности: связь потребляет много энергии. , и устройства IoT питаются от батареи. Таким образом, они не могут позволить себе общаться все время.

Для решения проблемы мобильности исследователи предложили мобильные облачные вычисления (MCC) [44]. Но все еще есть проблемы, связанные с задержкой и питанием.MCC также страдает от проблем мобильности, таких как частое изменение сетевых условий, из-за которых возникают такие проблемы, как замирание сигнала и ухудшение качества обслуживания.

В качестве решения этих проблем мы можем вывести некоторые вычислительные ресурсы и ресурсы хранения на периферию сети вместо того, чтобы полагаться на облако во всем. Эта концепция известна как туманных вычислений [11, 45] (также см. Раздел 2.2). Туман можно рассматривать как облако, которое находится близко к земле. Данные могут храниться, обрабатываться, фильтроваться и анализироваться на границе сети перед отправкой в ​​облако через дорогостоящие средства связи.Парадигмы тумана и облака идут рука об руку. Оба они необходимы для оптимальной производительности приложений Интернета вещей. Интеллектуальный шлюз [13] может использоваться между базовыми сетями и облаком для реализации туманных вычислений, как показано на рисунке 7.

Особенности туманных вычислений [11] следующие: (1) Низкая задержка: меньше времени требуется для доступа к вычислительным ресурсам и ресурсам хранения на узлах тумана (интеллектуальных шлюзах). (2) Знание местоположения: поскольку туман расположен на краю сети, он знает местоположение приложений и их контекст.Это полезно, поскольку осведомленность о контексте является важной особенностью приложений IoT. (3) Распределенные узлы: узлы тумана распределены, в отличие от централизованных облачных узлов. В распределенных географических областях необходимо развернуть несколько узлов тумана, чтобы предоставлять услуги мобильным устройствам в этих областях. Например, в автомобильных сетях развертывание узлов тумана на автомагистралях может обеспечить передачу данных / видео с малой задержкой в ​​транспортные средства. (4) Мобильность: туман поддерживает мобильность, поскольку интеллектуальные устройства могут напрямую взаимодействовать с интеллектуальными шлюзами, находящимися поблизости.(5) Отклик в реальном времени: узлы тумана могут дать немедленный ответ, в отличие от облака, которое имеет гораздо большую задержку. (6) Взаимодействие с облаком: узлы тумана могут далее взаимодействовать с облаком и передавать только те данные, которые требуются для отправки в облако.

Задачи, выполняемые интеллектуальным шлюзом [46]: сбор данных с датчиков, предварительная обработка и фильтрация собранных данных, предоставление вычислительных, хранилищ и сетевых услуг для устройств IoT, обмен данными с облаком и отправка только необходимых данных, мониторинг энергопотребления устройств IoT. , мониторинг действий и сервисов устройств IoT, а также обеспечение безопасности и конфиденциальности данных.Вот некоторые применения туманных вычислений [10, 11] 🙁 1) Интеллектуальные автомобильные сети: интеллектуальные светофоры используются в качестве интеллектуальных шлюзов для локального обнаружения пешеходов и транспортных средств с помощью датчиков, расчета их расстояния и скорости и, наконец, определения условий движения. Используется для предупреждения встречных автомобилей. Эти датчики также взаимодействуют с соседними интеллектуальными светофорами для выполнения задач управления дорожным движением. Например, если датчики обнаруживают приближающуюся машину скорой помощи, они могут переключить светофор, чтобы машина скорой помощи проехала первой, а также проинформировать об этом другие огни.Данные, собранные этими интеллектуальными светофорами, локально анализируются в режиме реального времени для удовлетворения потребностей управления дорожным движением в реальном времени. Кроме того, данные из нескольких шлюзов объединяются и отправляются в облако для дальнейшего глобального анализа трафика в городе. (2) Интеллектуальная сеть: интеллектуальная электрическая сеть упрощает балансировку нагрузки на энергию на основе использования и доступности. Это делается для того, чтобы автоматически переключаться на альтернативные источники энергии, такие как солнечная и ветровая энергия. Эта балансировка может выполняться на границе сети с использованием интеллектуальных счетчиков или микросетей, соединенных интеллектуальными шлюзами.Эти шлюзы могут анализировать и обрабатывать данные. Затем они могут прогнозировать будущий спрос на энергию, рассчитывать доступность и цену на электроэнергию, а также поставлять электроэнергию потребителям из традиционных и альтернативных источников.

7. Связь

Поскольку Интернет вещей развивается очень быстро, к Интернету подключается большое количество разнородных интеллектуальных устройств. Устройства IoT питаются от батареи с минимальными вычислительными ресурсами и ресурсами хранения. Из-за их ограниченного характера возникают различные коммуникационные проблемы, которые заключаются в следующем [19]: (1) Адресация и идентификация: поскольку миллионы интеллектуальных устройств будут подключены к Интернету, их необходимо будет идентифицировать по уникальному адресу. , на основе которых они общаются друг с другом.Для этого нам нужно большое адресное пространство и уникальный адрес для каждого смарт-объекта. (2) Связь с низким энергопотреблением: обмен данными между устройствами — это энергоемкая задача, особенно беспроводная связь. Следовательно, нам нужно решение, которое облегчает обмен данными с низким энергопотреблением. (3) Протоколы маршрутизации с низким потреблением памяти и эффективными схемами связи. (4) Высокая скорость и бесперебойная связь. (5) Мобильность интеллектуальных устройств.

Устройства Интернета вещей обычно подключаются к Интернету через стек IP (Интернет-протокол).Этот стек очень сложен и требует от подключаемых устройств большого количества энергии и памяти. Устройства IoT также могут подключаться локально через не-IP-сети, которые потребляют меньше энергии, и подключаться к Интернету через интеллектуальный шлюз. Каналы связи без IP, такие как Bluetooth, RFID и NFC, довольно популярны, но их диапазон ограничен (до нескольких метров). Следовательно, их приложения ограничены небольшими персональными сетями. Персональные сети (PAN) широко используются в приложениях Интернета вещей, таких как носимые устройства, подключенные к смартфонам.Для увеличения диапазона таких локальных сетей возникла необходимость изменить стек IP, чтобы облегчить передачу данных с низким энергопотреблением с использованием стека IP. Одним из решений является 6LoWPAN, который объединяет IPv6 с маломощными персональными сетями. Диапазон действия PAN с 6LoWPAN аналогичен локальным сетям, а потребление энергии намного ниже.

Ведущими коммуникационными технологиями, используемыми в мире Интернета вещей, являются IEEE 802.15.4, WiFi с низким энергопотреблением, 6LoWPAN, RFID, NFC, Sigfox, LoraWAN и другие проприетарные протоколы для беспроводных сетей.

7.1. Связь ближнего поля (NFC)

Связь ближнего поля [47–49] — это технология беспроводной связи очень малого радиуса действия, с помощью которой мобильные устройства могут взаимодействовать друг с другом на расстоянии всего лишь нескольких сантиметров. Все типы данных могут быть переданы между двумя устройствами с поддержкой NFC за секунды, если поднести их друг к другу. Эта технология основана на RFID. Он использует вариации магнитного поля для передачи данных между двумя устройствами с поддержкой NFC. NFC работает в частотном диапазоне 13.56 МГц, что соответствует высокочастотному RFID. Есть два режима работы: активный и пассивный. В активном режиме оба устройства генерируют магнитные поля, в то время как в пассивном режиме только одно устройство генерирует поле, а другое использует модуляцию нагрузки для передачи данных. Пассивный режим полезен в устройствах с батарейным питанием для оптимизации использования энергии. Одним из преимуществ требования непосредственной близости между устройствами является то, что оно полезно для безопасных транзакций, таких как платежи. Наконец, обратите внимание, что NFC может использоваться для двусторонней связи в отличие от RFID.Следовательно, почти все смартфоны, представленные сегодня на рынке, поддерживают NFC.

7.2. Беспроводные сенсорные сети (WSN) на основе IP для смарт-объектов

Часто данные от одного сенсора бесполезны при мониторинге больших территорий и сложных действий. Различные узлы датчиков должны взаимодействовать друг с другом по беспроводной сети. Недостатком не-IP технологий, таких как RFID, NFC и Bluetooth, является то, что их диапазон очень мал. Таким образом, они не могут использоваться во многих приложениях, где необходимо контролировать большую территорию с помощью множества узлов датчиков, развернутых в разных местах.Сеть беспроводных датчиков (WSN) состоит из десятков и тысяч узлов датчиков, подключенных с помощью беспроводных технологий. Они собирают данные об окружающей среде и передают их шлюзовым устройствам, которые передают информацию в облако через Интернет. Связь между узлами в WSN может быть прямой или многозвенной. Узлы датчиков имеют ограниченный характер, но узлы шлюзов имеют достаточную мощность и ресурсы обработки. Популярные топологии сети, используемые в WSN, представляют собой звездообразную, ячеистую и гибридную сеть.Большая часть обмена данными в WSN основана на стандарте IEEE 802.15.4 (обсуждается в разделе 7.3). Очевидно, что существует множество протоколов, которые можно использовать в сценариях Интернета вещей. Давайте обсудим дизайн типичного стека сетевых протоколов IoT с наиболее популярными альтернативами.

7.3. Стек сетевых протоколов IoT

Инженерная группа Интернета (IETF) разработала альтернативные протоколы для связи между устройствами IoT с использованием IP, поскольку IP — это гибкий и надежный стандарт [50, 51].Альянс Интернет-протокола для смарт-объектов (IPSO) опубликовал различные официальные документы, описывающие альтернативные протоколы и стандарты для уровней IP-стека и дополнительный уровень адаптации, который используется для связи [51–54] между смарт-объектами.

(1) Физический уровень и уровень MAC (IEEE 802.15.4) . Протокол IEEE 802.15.4 разработан для обеспечения связи между компактными и недорогими встраиваемыми устройствами с низким энергопотреблением, которым требуется длительный срок службы батареи. Он определяет стандарты и протоколы для физического и канального (MAC) уровня стека IP.Он поддерживает связь с низким энергопотреблением, а также низкую стоимость и связь на короткие расстояния. В случае таких сред с ограниченными ресурсами нам нужен небольшой размер кадра, низкая пропускная способность и низкая мощность передачи.

Для передачи требуется очень небольшая мощность (максимум один милливатт), которая составляет всего один процент от мощности, используемой в Wi-Fi или сотовых сетях. Это ограничивает диапазон общения. Из-за ограниченного диапазона устройства должны работать совместно, чтобы обеспечить многоскачковую маршрутизацию на большие расстояния.В результате размер пакета ограничивается только 127 байтами, а скорость передачи ограничивается 250 кбит / с. Схема кодирования в IEEE 802.15.4 имеет встроенную избыточность, которая делает связь устойчивой, позволяет нам обнаруживать потери и позволяет повторно передавать потерянные пакеты. Протокол также поддерживает короткие 16-битные адреса ссылок для уменьшения размера заголовка, накладных расходов на связь и требований к памяти [55].

Читатели могут обратиться к обзору Vasseur et al. [54] для получения дополнительной информации о различных технологиях физического и канального уровня для связи между интеллектуальными объектами.

(2) Уровень адаптации. IPv6 считается лучшим протоколом для связи в области Интернета вещей из-за его масштабируемости и стабильности. Такие громоздкие IP-протоколы изначально не считались подходящими для связи в сценариях с маломощными беспроводными линиями связи, такими как IEEE 802.15.4.

6LoWPAN, аббревиатура от IPv6 в беспроводных персональных сетях с низким энергопотреблением, является очень популярным стандартом беспроводной связи. Он обеспечивает связь с использованием IPv6 через IEEE 802.15.4 [52] протокол. Этот стандарт определяет уровень адаптации между канальным уровнем 802.15.4 и транспортным уровнем. 6LoWPAN-устройства могут связываться со всеми другими IP-устройствами в Интернете. Выбор IPv6 обусловлен большим адресным пространством, доступным в IPv6. Сети 6LoWPAN подключаются к Интернету через шлюз (Wi-Fi или Ethernet), который также имеет поддержку протокола для преобразования между IPv4 и IPv6, поскольку сегодня развернутый Интернет — это в основном IPv4. Заголовки IPv6 недостаточно малы, чтобы уместиться в небольшом 127-байтовом MTU стандарта 802.15.4 стандарт. Следовательно, сжатие и фрагментация пакетов для переноса только важной информации — это оптимизация, которую выполняет уровень адаптации.

В частности, уровень адаптации выполняет следующие три оптимизации, чтобы уменьшить накладные расходы связи [55]: (i) Сжатие заголовка 6loWPAN определяет сжатие заголовков пакетов IPv6 для уменьшения накладных расходов IPv6. Некоторые поля удаляются, потому что они могут быть получены из информации уровня канала или могут использоваться совместно в пакетах.(ii) Fragmentation : минимальный размер MTU (максимальная единица передачи) IPv6 составляет 1280 байт. С другой стороны, максимальный размер кадра в IEEE 802.15.4 составляет 127 байтов. Следовательно, нам нужно фрагментировать пакет IPv6. Это делается на уровне адаптации. (Iii) Пересылка на канальном уровне 6LoWPAN также поддерживает ячеистую маршрутизацию, которая выполняется на канальном уровне с использованием коротких адресов канального уровня, а не на сетевом уровне. Эта функция может использоваться для связи в сети 6LoWPAN.

(3) Сетевой уровень . Сетевой уровень отвечает за маршрутизацию пакетов, полученных с транспортного уровня. Рабочая группа IETF Routing over Low Power and Lossy Networks (ROLL) разработала протокол маршрутизации (RPL) для Low Power and Lossy Networks (LLN) [53].

Для таких сетей RPL — это открытый протокол маршрутизации, основанный на векторах расстояния. Он описывает, как целевой ориентированный ориентированный ациклический граф (DODAG) строится с узлами после того, как они обмениваются векторами расстояний.Набор ограничений и целевая функция используется для построения графика с наилучшим путем [53]. Целевая функция и ограничения могут различаться в зависимости от требований. Например, ограничения могут заключаться в том, чтобы избегать узлов с батарейным питанием или предпочитать зашифрованные ссылки. Целевая функция может быть направлена ​​на минимизацию задержки или ожидаемого количества пакетов, которые необходимо отправить.

Создание этого графа начинается с корневого узла. Корень начинает отправлять сообщения соседним узлам, которые затем обрабатывают сообщение и решают, присоединяться или нет, в зависимости от ограничений и целевой функции.Впоследствии они пересылают сообщение своим соседям. Таким образом, сообщение перемещается до конечных узлов и формируется граф. Теперь все узлы в графе могут посылать пакеты вверх, переход за шагом, к корню. Мы можем реализовать алгоритм маршрутизации точка-точка следующим образом. Мы отправляем пакеты общему предку, от которого он движется вниз (к листьям), чтобы достичь места назначения.

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

(4) Транспортный уровень .TCP не является хорошим вариантом для связи в средах с низким энергопотреблением, так как он имеет большие накладные расходы из-за того, что это протокол, ориентированный на соединение. Таким образом, предпочтительнее использовать UDP, поскольку это протокол без установления соединения и имеет низкие накладные расходы.

(5) Уровень приложения . Уровень приложения отвечает за форматирование и представление данных. Уровень приложений в Интернете обычно основан на HTTP. Однако HTTP не подходит для сред с ограниченными ресурсами, потому что он довольно подробный по своей природе и, следовательно, требует больших накладных расходов на синтаксический анализ.Для сред IoT было разработано множество альтернативных протоколов, таких как CoAP (протокол ограниченного приложения) и MQTT (передача телеметрии очереди сообщений). (A) Протокол ограниченного приложения: CoAP можно рассматривать как альтернативу HTTP. Он используется в большинстве приложений IoT [56, 57]. В отличие от HTTP, он включает оптимизацию для сред с ограничениями приложений [50]. Он использует формат данных EXI (Efficient XML Interchanges), который представляет собой двоичный формат данных и гораздо более эффективен с точки зрения пространства по сравнению с обычным текстом HTML / XML.Другие поддерживаемые функции включают сжатие заголовков, обнаружение ресурсов, автоконфигурацию, асинхронный обмен сообщениями, контроль перегрузки и поддержку многоадресных сообщений. В CoAP есть четыре типа сообщений: неподтвержденные, подтверждаемые, сброс (nack) и подтверждение. Для надежной передачи по UDP используются подтверждаемые сообщения [58]. Ответ может быть добавлен в само подтверждение. Кроме того, он использует DTLS (Datagram Transport Layer Security) в целях безопасности.(b) Транспорт телеметрии очереди сообщений: MQTT — это протокол публикации / подписки, работающий через TCP. Он был разработан IBM [59] прежде всего как протокол клиент / сервер. Клиенты — это издатели / подписчики, а сервер действует как брокер, к которому клиенты подключаются через TCP. Клиенты могут публиковать или подписываться на тему. Это общение происходит через брокера, чья работа заключается в координации подписок, а также в аутентификации клиента в целях безопасности. MQTT — это легкий протокол, что делает его подходящим для приложений IoT.Но из-за того, что он работает через TCP, его нельзя использовать со всеми типами приложений IoT. Более того, он использует текст для названий тем, что увеличивает накладные расходы.

MQTT-S / MQTT-SN — это расширение MQTT [60], которое предназначено для маломощных и недорогих устройств. Он основан на MQTT, но имеет следующие оптимизации для WSN [61]. Имена тем заменяются идентификаторами тем, что сокращает накладные расходы на передачу. Темы не требуют регистрации, так как они предварительно зарегистрированы.Сообщения также разделяются, поэтому отправляется только необходимая информация. Кроме того, для экономии энергии существует автономная процедура для клиентов, находящихся в состоянии сна. Сообщения могут быть помещены в буфер и позже прочитаны клиентами, когда они просыпаются. Клиенты подключаются к брокеру через шлюзовое устройство, которое находится в сенсорной сети и подключается к брокеру.

7.4. Bluetooth Low Energy (BLE)

Bluetooth Low Energy, также известный как «Bluetooth Smart», был разработан Bluetooth Special Interest Group.Он имеет относительно меньший радиус действия и потребляет меньше энергии по сравнению с конкурирующими протоколами. Стек протокола BLE похож на стек, используемый в классической технологии Bluetooth. Он состоит из двух частей: контроллера и хоста. Физический и канальный уровень реализованы в контроллере. Контроллер обычно представляет собой SOC (System on Chip) с радио. Функции верхних уровней включены в хост [62]. BLE не совместим с классическим Bluetooth. Давайте посмотрим, чем отличается классический Bluetooth от BLE [63, 64].

Главное отличие в том, что BLE не поддерживает потоковую передачу данных. Вместо этого он поддерживает быструю передачу небольших пакетов данных (размер пакета небольшой) со скоростью 1 Мбит / с.

В BLE есть два типа устройств: ведущие и ведомые. Ведущее устройство действует как центральное устройство, которое может подключаться к различным ведомым устройствам. Давайте рассмотрим сценарий Интернета вещей, в котором телефон или компьютер служат в качестве главного устройства, а мобильные устройства, такие как термостат, фитнес-трекер, смарт-часы или любое устройство мониторинга, выступают в качестве подчиненных устройств.В таких случаях ведомые устройства должны быть очень энергоэффективными. Поэтому для экономии энергии ведомые устройства по умолчанию находятся в спящем режиме и периодически просыпаются для приема пакетов от ведущего.

В классическом Bluetooth соединение постоянно, даже если передача данных не происходит. Кроме того, он поддерживает 79 каналов данных (полоса пропускания канала 1 МГц) и скорость передачи данных 1 миллион символов / с, тогда как BLE поддерживает 40 каналов с полосой пропускания канала 2 МГц (вдвое больше, чем у классического Bluetooth) и скоростью передачи данных 1 миллион символов / с.BLE поддерживает низкие требования к рабочему циклу, поскольку размер его пакета невелик, а время, необходимое для передачи самого маленького пакета, составляет всего 80 с. Стек протокола BLE также поддерживает связь на основе IP. Эксперимент, проведенный Siekkinen et al. [65] записал количество байтов, переданных на один джоуль, чтобы показать, что BLE потребляет гораздо меньше энергии по сравнению с конкурирующими протоколами, такими как Zigbee. Энергоэффективность BLE в 2,5 раза лучше, чем у Zigbee.

7.5. Wi-Fi с низким энергопотреблением

Альянс WiFi недавно разработал «WiFi HaLow», основанный на IEEE 802.11ач стандарт. Он потребляет меньше энергии, чем традиционное устройство WiFi, а также имеет больший радиус действия. Вот почему этот протокол подходит для приложений Интернета вещей. Дальность действия WiFi HaLow почти вдвое больше, чем у традиционного WiFi.

Как и другие устройства WiFi, устройства, поддерживающие WiFi HaLow, также поддерживают подключение по IP, что важно для приложений IoT. Обратимся к спецификациям стандарта IEEE 802.11ah [66, 67]. Этот стандарт был разработан для работы со сценариями беспроводной сенсорной сети, в которых устройства ограничены по энергии и требуют связи на относительно большом расстоянии.IEEE 802.11ah работает в субгигагерцовом диапазоне (900 МГц). Из-за относительно более низкой частоты диапазон длиннее, поскольку волны с более высокой частотой страдают от более высокого затухания. Мы можем расширить диапазон (в настоящее время 1 км) за счет дальнейшего понижения частоты; однако скорость передачи данных также будет ниже, и поэтому компромисс не оправдан. IEEE 802.11ah также разработан для поддержки больших звездообразных сетей, в которых множество станций подключено к одной точке доступа.

7.6. Zigbee

Он основан на IEEE 802.15.4 стандарт протокола связи и используется для персональных сетей или PAN [68]. Стандарт IEEE 802.15.4 имеет низкий уровень энергопотребления MAC и физические уровни и уже был объяснен в разделе 7.3. Zigbee был разработан альянсом Zigbee, который работает над надежными, низкоэнергетическими и дешевыми коммуникационными решениями. Дальность связи устройства Zigbee очень мала (10–100 метров). Детали сетевого и прикладного уровней также определены стандартом Zigbee. В отличие от BLE, сетевой уровень здесь обеспечивает маршрутизацию с несколькими переключениями.

В сети Zigbee есть три типа устройств: FFD (Полнофункциональное устройство), RFD (Ограниченное функциональное устройство) и один координатор Zigbee. Узел FFD может дополнительно действовать как маршрутизатор. Zigbee поддерживает топологии «звезда», «дерево» и «сетка». Схема маршрутизации зависит от топологии. Другие особенности Zigbee — это обнаружение и обслуживание маршрутов, поддержка узлов, присоединяющихся / покидающих сеть, короткие 16-битные адреса и многоскачковая маршрутизация.

Основа для коммуникаций и разработки распределенных приложений обеспечивается прикладным уровнем.Уровень приложения состоит из объектов приложения (APO), подуровня приложения (APS) и объекта устройства Zigbee (ZDO). APO распределены по узлам сети. Это части программного обеспечения, которые контролируют некоторое базовое оборудование устройства (примеры: переключатель и преобразователь). ZDO предоставляет услуги по управлению устройствами и сетью, которые затем используются APO. Услуги передачи данных предоставляются прикладным нижним уровнем для APO и ZDO. Он отвечает за безопасную связь между объектами приложения.Эти функции можно использовать для создания большого распределенного приложения.

7.7. Интеграция RFID и WSN

RFID и беспроводные сенсорные сети (WSN) являются важными технологиями в области Интернета вещей. RFID можно использовать только для идентификации объекта, но WSN служат гораздо большей цели. Они очень разные, но их объединение дает много преимуществ. Следующие компоненты могут быть добавлены к RFID для повышения удобства использования: (a) Возможности обнаружения (b) Многоканальная связь (c) Intelligence

RFID недорогой и потребляет очень мало энергии.Вот почему его интеграция с WSN очень полезна. Интеграция возможна следующими способами [69, 70]: (a) Интеграция RFID-меток с датчиками: RFID-метки с возможностью считывания называются сенсорными метками. Эти сенсорные метки воспринимают данные из окружающей среды, а затем считыватель RFID может считывать эти считанные данные с метки. В таких случаях используются простые протоколы RFID, когда связь осуществляется только в один переход. Технологии считывания RFID могут быть дополнительно классифицированы на основе требований к питанию сенсорных меток, как объяснялось ранее в разделе RFID (активные и пассивные) (см. Раздел 5.5). (B) Интеграция RFID-меток с узлами WSN: коммуникационные возможности сенсорных меток ограничены одним переходом. Чтобы расширить свои возможности, сенсорная метка оснащена беспроводным приемопередатчиком, небольшим объемом флэш-памяти и вычислительными возможностями, позволяющими инициировать обмен данными с другими узлами и беспроводными устройствами. Таким образом, узлы могут использоваться для формирования беспроводной ячеистой сети. В таких сетях сенсорные теги могут связываться друг с другом в большом диапазоне (через промежуточные переходы).С помощью дополнительных возможностей обработки в узле мы можем уменьшить чистый объем передаваемых данных и, таким образом, повысить энергоэффективность WSN. (C) Интеграция считывателей RFID с узлами WSN: этот тип интеграции также выполняется для увеличения ряд считывателей RFID-меток Считыватели оснащены беспроводными приемопередатчиками и микроконтроллерами, поэтому они могут обмениваться данными друг с другом, и, следовательно, данные тегов могут достигать считывателя, который находится вне зоны действия этого тега. Он использует преимущества многозвенной связи беспроводных сенсорных сетевых устройств.Данные от всех считывателей RFID в сети в конечном итоге достигают центрального шлюза или базовой станции, которая обрабатывает данные или отправляет их на удаленный сервер.

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

7.8. Маломощные глобальные сети (LPWAN)

Давайте теперь обсудим протокол для связи на большие расстояния в устройствах с ограничением мощности. Класс протоколов LPWAN — это технологии связи с низкой скоростью передачи данных для таких сценариев IoT.

Давайте теперь обсудим некоторые из наиболее распространенных технологий в этой области. Узкополосный Интернет вещей : это технология, предназначенная для большого количества устройств с ограниченным энергопотреблением. Таким образом, необходимо уменьшить битрейт. Этот протокол можно использовать как в сотовых телефонах, так и в сетях GSM и LTE. Скорость нисходящего канала варьируется от 40 кбит / с (LTE M2) до 10 Мбит / с (категория 1 LTE). Sigfox : это еще один протокол, использующий узкополосную связь (10 МГц). Он использует свободные участки радиоспектра (диапазон ISM) для передачи своих данных.Вместо сетей 4G в Sigfox используются очень длинные волны. Таким образом, дальность полета может увеличиться до 1000 км. Из-за этого энергия передачи значительно ниже (0,1%), чем у современных сотовых телефонов. Опять же, стоимость — это пропускная способность. Он может передавать только 12 байт на сообщение, а устройство ограничено до 140 сообщений в день. Это разумно для многих типов приложений: подводных приложений, отправки управляющих (аварийных) кодов, геолокации, мониторинга удаленных местоположений и медицинских приложений. Weightless : для передачи узкополосных сигналов используется метод на основе дифференциальной двоичной фазовой манипуляции. Чтобы избежать помех, протокол переключается между полосами частот (вместо использования CSMA). Он поддерживает криптографическое шифрование и мобильность. Наряду со скачкообразной перестройкой частоты используются два дополнительных механизма для уменьшения коллизий. Служба нисходящей линии связи использует множественный доступ с временным разделением каналов (TDMA), а служба восходящей линии связи использует несколько подканалов, которые сначала выделяются передающим узлам путем установления связи с центральным сервером.Некоторые приложения включают интеллектуальные счетчики, отслеживание транспортных средств, мониторинг состояния и мониторинг промышленного оборудования. Neul : этот протокол работает в диапазоне частот ниже 1 ГГц. Он использует небольшие фрагменты пустого телевизионного спектра для создания недорогих сетей с низким энергопотреблением и очень высокой масштабируемостью. Он имеет радиус действия 10 км и использует для связи протокол невесомости. LoRaWAN : этот протокол похож на Sigfox. Он предназначен для приложений глобальной сети и разработан как протокол с низким энергопотреблением.Его скорость передачи данных может варьироваться от 0,3 до 50 кбит / с, и он может использоваться в городской или пригородной среде (диапазон 2–5 км в густонаселенной городской местности). Он был разработан, чтобы служить стандартом для протоколов Интернета вещей на большие расстояния. Таким образом, он имеет функции для поддержки множественной аренды, включения нескольких приложений и включения нескольких различных сетевых доменов.

7.9. Облегченные протоколы прикладного уровня

Наряду с протоколами физического и MAC-уровня нам также необходимы протоколы прикладного уровня для сетей IoT.Эти облегченные протоколы должны иметь возможность передавать сообщения приложений, одновременно снижая энергопотребление в максимально возможной степени.

OMA Lightweight M2M (LWM2M) — один из таких протоколов. Он определяет протокол связи между сервером и устройством. Устройства часто имеют ограниченные возможности и поэтому называются ограниченными устройствами . Основными целями протокола OMA являются следующие: (1) Удаленное управление устройством. (2) Передача служебных данных / информации между различными узлами в сети LWM2M.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *