|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
При создании информационной системы возник спор по этому понятию. Есть два непримеримых мнения. Условно я их подразделяю на мнение программиста-разработчика и на мнение специалиста по внедрению готовой ERP-ситемы. 1. Неотъемлемой частью трёхуровневой архитектуры является вынесение логики приложения на отдельный уровень. Уровень интерфейса является относительно независимым от выполнения основных задач приложения. Его окна или Web-страницы лишь направляют запросы на средний уровень логики приложения, а средний уровень, в свою очередь, взаимодействует с самым нижним уровнем хранения данных (Крэк Ларман, Применение UML и шаблонов проектирования, 2004, "Вильямс"). 2. Неотъемлемой частью трёхуровневой архитектуры является вынесение логики приложения на отдельный уровень. Этот уровень называется сервером приложений. Это отдельное приложение, которое выполняется либо на одном компьютере вместе с сервером БД, либо на отдельном компьютере. В первом мнении второй уровень может быть выполнен как в виде отдельного приложения, так и в одном приложении совместно с уровнем представления, а в этом случае, по второму мнению это двухуровневая архитектура. Либо одно из мнений ошибочно, либо существует два определения "трёхуровневой архитектуры", что не есть хорошо. Хотел бы узнать мнения специалистов. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 11:14 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Логически 1=2. Разница в реализации, что не является вопросом архитектуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 11:27 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Имхо если уровни нельза разнести по разным машинам это не совсем уровни то есть это логические уровни недоросшие(недостаточно разделённые между собой) до воплощения в материальном мире :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 11:29 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
gradyЛогически 1=2. Разница в реализации, что не является вопросом архитектуры. А если не логически? 1Сv77+MSSQL явно смоделирована логически как система с уровнями, больше двух. Но она продвигается как двухуровневая клиент-серверная система. А 1Сv80+MSSQL как трёхуровневая. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 11:44 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Вопрос про терминологию был? Так вот с точки зрения логической архитектуры конфликта нет. С точки зрения реализации есть. Вообще все это исходит к патерну Layers. В самых общих чертах разделение логики по функциональному признаку с декларативным прписыванием well-known интерфейсов между слоями. Слои взаимодействуют по принципу клиент-сервер, кода один предоставляет сервисы другому только через интерфейс. Получившаяся система нечувствительна к изменению реализации на любом слое. А еще трехзвенку применяют как маркетинговый термин. Например в приведенном тобой примере. Ну тут уж вообще нефига анализом семантики заниматься. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 11:57 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Вообще-то где-то в 93-94 году Gartner сказал что все есть клиент сервер. и Mainframe c Dumb terminal и Файл сервер. Самое главное где идет обработка. Это все может работать на одной машине. Главное это логические уровни. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:01 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Простой рабочий В первом мнении второй уровень может быть выполнен как в виде отдельного приложения, так и в одном приложении совместно с уровнем представления, а в этом случае, по второму мнению это двухуровневая архитектура. Либо одно из мнений ошибочно, либо существует два определения "трёхуровневой архитектуры", что не есть хорошо. Этот таинственный второй уровень можно еще и с уровнем базы данных объединить. Так что получается аж три определения. Но логически - все едино. Главное - не "размазывать" логику между клиентом и сервером. Но _как правило_, когда _говорят_ о трехзвенной архитектуре, подразумевают вынесенный второй уровень в отдельный сервер приложений. Отдельный компонент. И даже отдельную железяку под него. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:30 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
> gradyЛогически 1=2. Разница в реализации, что не является вопросом >архитектуры. Согласен, понятие "Трёхуровневая архитектура" - начинается с логического разделения системы на уровни, а как их реализовывать это другой вопрос и к понятию не как не относится. Реализуешь уровень бизнес логики в сервере приложений или нет, от этого уровни системы никуда ни денутся. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:39 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Имхо, приложение, написанное на ЯВУ, в котором логически выделены (при разработке этого приложения) уровни интерфеса с пользователем, уровень бизнес-логики и уровень работы с данными, это тоже трехуровневость. Но это ДРУГАЯ трехуровневость. Приложение (выполнимый код) может быть вообще одно. Оно что-то отображает на экране, оно же занимется вопросами бизнес-логики, оно же производит дисковые операции (само открывает и закрывает файлы). Но такое приложение может быть только файл-серверным. Клиент-серверная архитектуры предполагает возможность ФИЗИЧЕСКОГО разнесения исполнимого кода на разные компьютеры (хотя в общем случае клиент и сервер могут работать на одном компьютере). Трехуровневая архитектура, о которой сейчас принято говорить, в моем понимании, это программный код, способный выполняться на трех разных компьютерах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:45 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
gradyВопрос про терминологию был? Так вот с точки зрения логической архитектуры конфликта нет. С точки зрения реализации есть. Когда мне говорят: "Эта трёхуровневая система", я обязательно должен переспашивать: "С точки зрения логики или реализации"? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:46 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Простой рабочий gradyВопрос про терминологию был? Так вот с точки зрения логической архитектуры конфликта нет. С точки зрения реализации есть. Когда мне говорят: "Эта трёхуровневая система", я обязательно должен переспашивать: "С точки зрения логики или реализации"? Да. Лучше переспросить. Не шутка. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:54 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
авторТрехуровневая архитектура, о которой сейчас принято говорить, в моем понимании, это программный код, способный выполняться на трех разных компьютерах. Принято говорить, это не означает, что это верно, нужно смотреть на определение.Так вот "Трехуровневая архитектура" - это архитектура системы, которая содержит три уровня: 1. Уровень представления данных. 2. Уровень бизнес логики. 3. Уровень базы данных. А реализация, это к понятию не относиться. Например, проектирование баз данных или классов начинается с выделений сущностей. А реализация это уже др. этап ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:56 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Приходим к выводу, что у слова "архитектура" есть два понятия - логическая и физическая. И одни люди под "трехуровневая архитектура" понимают логическое разделение на 3 уровня, а другие - физическое. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 12:58 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
автор Приходим к выводу, что у слова "архитектура" есть два понятия - логическая и физическая. И одни люди под "трехуровневая архитектура" понимают логическое разделение на 3 уровня, а другие - физическое. Совершенно верно. Логический уровень развиваясь переростает в физический. Но термин "трехуровневая архитектура" следует читать в отношении физических уровней, т.к. в противном случае чуть ли не все программы можно будет именовать "трехуровневая архитектура". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 13:05 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Простой рабочийПриходим к выводу, что у слова "архитектура" есть два понятия - логическая и физическая. И одни люди под "трехуровневая архитектура" понимают логическое разделение на 3 уровня, а другие - физическое. Типа того. Кстати "логически" можно уровней много нарезать. И назвать красивыми словами. И нарисовать картинки в презентации. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 13:05 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Простой рабочий2. Неотъемлемой частью трёхуровневой архитектуры является вынесение логики приложения на отдельный уровень. Этот уровень называется сервером приложений. Это отдельное приложение, которое выполняется либо на одном компьютере вместе с сервером БД, либо на отдельном компьютере. Либо одно из мнений ошибочно, либо существует два определения "трёхуровневой архитектуры", что не есть хорошо. Хотел бы узнать мнения специалистов. Спасибо. Второе орпределение не верно, т.к. существуют 3-х уровневые архитектуры у которых нет сервера приложений ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 13:09 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Есть более жесткие определения, но они как првило относятся к определенной вендором дисциплине проектирования. Например в MS DNA вышеприведенные термины 1. Уровень представления данных. 2. Уровень бизнес логики. 3. Уровень базы данных. имеют вполне конкретный смысл. Переспрашивать не принято. Так что применив патерн Layers на другом уровне, приходим к выводу что у проектирования есть два слоя 1)логический и 2)физический. И есть интерфейсы между слоями - напрмер MS DNA. Этак теоретезируя далеко можно зайти :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 13:11 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
gradyЕсть более жесткие определения, но они как првило относятся к определенной вендором дисциплине проектирования. Например в MS DNA вышеприведенные термины 1. Уровень представления данных. 2. Уровень бизнес логики. 3. Уровень базы данных. имеют вполне конкретный смысл. Переспрашивать не принято. Так что применив патерн Layers на другом уровне, приходим к выводу что у проектирования есть два слоя 1)логический и 2)физический. И есть интерфейсы между слоями - напрмер MS DNA. Этак теоретезируя далеко можно зайти :) Согласен ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 13:13 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
На эту тему уже сто раз тёрто-перетёрто ! :) И в разных форумах. Ну сколько можно ? ! Сильно модная тема ? МАЗОХИЗМ ! Tygra ! на помощь ! :) :) :) :) Проблем, решаемых только 3-звенкой намного меньше, чем проблем от неё возникающих. Это просто что-то типа часов "РОЛЕКС". Модно, дорого обзавестись. А круг решаемых задач тривиален. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 17:01 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
На эту тему уже сто раз тёрто-перетёрто ! :) И в разных форумах. Ну сколько можно ? ! Сильно модная тема ? МАЗОХИЗМ ! Tygra ! на помощь ! :) :) :) :) Проблем, решаемых только 3-звенкой намного меньше, чем проблем от неё возникающих. Особенно от сложности реализации. Это просто что-то типа часов "РОЛЕКС". Модно, дорого обзавестись. А круг решаемых задач тривиален. А китайские электронные за 1$ идут точнее. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 17:08 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Специалист авторТрехуровневая архитектура, о которой сейчас принято говорить, в моем понимании, это программный код, способный выполняться на трех разных компьютерах. Принято говорить, это не означает, что это верно, нужно смотреть на определение.Так вот "Трехуровневая архитектура" - это архитектура системы, которая содержит три уровня: 1. Уровень представления данных. 2. Уровень бизнес логики. 3. Уровень базы данных. А реализация, это к понятию не относиться. Например, проектирование баз данных или классов начинается с выделений сущностей. А реализация это уже др. этап 2. Уровень бизнес логики. Подойдем к вопросу практически. Если я хочу чтобы моя система была в понимании Microsoft Истинной трехзвенкой я должен использовать Microsoft Transaction сервер, создавая свои Com+ компоненты, которые я могу заставить "крутиться" на другом сервере, снижая нагрузку c основного... Ну во всяком случае такой подход был озвучен... Файл с описанием выслал по почте ;-)) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 17:15 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
авторМАЗОХИЗМ ! Tygra ! на помощь ! :) :) :) :) Проблем, решаемых только 3-звенкой намного меньше, чем проблем от неё возникающих. Особенно от сложности реализации. Это просто что-то типа часов "РОЛЕКС". Модно, дорого обзавестись. А круг решаемых задач тривиален. А китайские электронные за 1$ идут точнее. Иду на помощь. Чего делать, правда, не знаю Да, о часах Ролекс. Я недавно видел такие, в ларьке на Ярославском вокзале, за 300 рублев!!! 2 Простой рабочий Ваши мнения почему то полностью одинаковые - где вы там нашли непримиримость? Одно приложение - один уровень. :) А вообще - да, про многозвенку уже столько говорили, что говорить еще нет смысла. Кроме как по конкретным решениям. -- Tygra's -- ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 17:48 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Полностью согласен с Copyright & tygra :-) в одной книге видел определение n-уровневой архитектуры, легче не стало. Решите сами что выделяется в логический 2-ой(3-ий, хоть в 25-ый) слой и решите как это реализуется технически. P.S. я думаю так, что скоро созреет (или созрел) какой-нибудь стандарт на поняти n-звенной архитектуры, потому как все приведённые определения разрознены. Давайте подождём (или напишем что такой есть) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2004, 21:29 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Большое спасибо всем за участие в обсуждении. Я всё понял. tygra Вы невнимательно прочитали первое сообщение. По Крэку Ларману как раз два уровня могут быть в одном приложении (на рисунке слева). ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2004, 08:27 |
|
Понятие "Трёхуровневая архитектура"
|
|||
---|---|---|---|
#18+
Простой рабочийдва уровня могут быть в одном приложении (на рисунке слева). угу, а дальше начнем: рисуем мы кнопочки на формах с помощью winapi - еще один уровень, фактический вывод на мон - дрова - еще один, так постепенно переберем все службы которых касаемся, и увидим работу с сетью, а это, по модели OSI, еще 7 уровней... вот так, бац, и notepad.exe привратился в multi-tier... а почему все вторым уровнем называют бизнес логику, это же так, один из примеров использования третьего звена, там ведь можно реализовывать все что хочется, например "слитие" воедино различных источников данных, типа фтп сервер, бд и текстовых файлов, или в таком случае это уже как-то по-другому называется? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2004, 04:12 |
|
|
start [/forum/topic.php?fid=29&msg=32789001&tid=1528631]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 539ms |
0 / 0 |