Трехзвенная архитектура и PHP

alienzzzz

интернет бизнес
Трехзвенная архитектура и PHP

Кто-нибудь может умными словами доказать, что связка APACHE + PHP + БД - это трехзвенная архитектура.
_____
Пролог:
Есть портал (PHP + ORACLE)
все работает прекрасно, пользователи входят на него и получают всю необходимую информацию.
______
Эпилог:
Мы это продаем.
И тут тендер, и нам выставили претензии, что мы не используем сервер приложений, а это, как они говорят, и есть трехзвенная архитектура.
_______
Тяжело общаться с теми, кто почитав «компьютеры» понял только то, что трехзвенная архитектура это круто и обязательно должен быть сервер приложений. Хотя, что это он конечно не понимает.
_______
Если не сложно Давайте попробуем сформулировать аргументы для доказательства основного тезиса – связка « Apache + PHP + BD » - Это и есть трехзвенная архитектура, и в данной связке Сервер приложений есть (например это модуль php).
 

Tor

Новичок
1) что делает "сервер приложений"?
2) что делает пхп?

1==2?
 

pachanga

Новичок
Re: Трехзвенная архитектура и PHP

Автор оригинала: alienzzzz
Кто-нибудь может умными словами доказать, что связка APACHE + PHP + БД - это трехзвенная архитектура.
А если не секрет, что в данном контексте подразумевается под "трехзвенной архитектурой"?
 

alienzzzz

интернет бизнес
Да я бы рад объяснить . но я не могу. потому-что те люди, которые проводят тендер объяснили, что первое требование к системе, это "трехзвенная архитектура" ! =(
вот так.
Tor
Я так не могу сказать =(
 

pachanga

Новичок
Автор оригинала: alienzzzz
Да я бы рад объяснить . но я не могу. потому-что те люди, которые проводят тендер объяснили, что первое требование к системе, это "трехзвенная архитектура" ! =(
Гм, забавно :) Мне все же кажется, что те самые люди имели в виду MVC, и если очень глобально посмотреть, с оооочень большой высоты(а заказ очень нужен), то в принципе можно доказать, что:

Model - Mysql
View - PHP
Controller - Apache


:D :D :D
 

whirlwind

TDD infected, paranoid
Трехзвенная архитектура
"клиент - сервер(-а) приложений - сервер данных (хранилище"

под это можно подвести все что угодно

клиент - браузер
сервер - вебсервер + пхп
сервер данных - субд
 

alienzzzz

интернет бизнес
Класненько . очень класненько. у меня уже немного есть аргументов. =))))
 

whirlwind

TDD infected, paranoid
http://www.galssoft.ru/methodology/glossary/a053.html

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

_RVK_

Новичок
Если связка Браузер-Сервер-СУБД это не трехзвенная архитектура, то сто же тогда трехзвенная?
 

alienzzzz

интернет бизнес
нет нет клиенский терминал в данном случае это не веб сервер а веб броузер !

-~{}~ 12.01.06 11:21:

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

Raziel[SD]

untitled00
whirlwind
как раз клиент-сервер-БД - это и есть трехзвенная архитектура, т.к. клиент не обращается напрямую к базе данных, когда клиент обращается напрямую к БД - это и есть двухзвенная.
 

Alexandre

PHPПенсионер
Архитектура APACHE + PHP + БД является двухзвенной, т.к. идкт обмен :

WEB сервер ( + модуль PHP ) - DataBase

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

Браузер - есть клиент для APACHE,
а модуль PHP является клиентом для DataBase
Но мы забываем, что это разные уровни.

Под трехзвенной архитектурой понимается:
приблизительнано такая архитектура

WEB сервер ( + модуль PHP ) - Сервер приложений - DataBase

WEB сервер ( + модуль PHP ) - функция общения с сервером приложений и отдача информации WEB клиенту

Сервер приложений - имеет свое АПИ, принимает запросы к БД от WEB сервера высокого уровня (типа получить объект Авторы, Товар ) , делает предварительную обработку данных и генерит запросы для исполнения и передачи их на БД

что делает БД - комментировать излишне.

WEB сервер ( + модуль PHP ) - логика отображения
Сервер приложений - логика обработки данных
БД - хранение

При необходимости, Сервер приложений можно вынести на отдельную машину

Можно считать, что Сервер приложений может быть написан на РНР, тогда для него должен быть запущен отдельный процесс (со стороны это выглядит глупо)

Можно сделать архитектуру, приблизительно такой
WEB сервер ( + модуль PHP ) - EJB - DataBase ?

В общем, про все что было описанно выше - это двухзвенка
 

Alexandre

PHPПенсионер
Model - Mysql
View - PHP
Controller - Apache
pachanga не смеши людей....

-~{}~ 12.01.06 12:38:

мне нужно доказать что у меня трехзвенка
alienzzzz попробуй докажи тем, что у тебя в архитектуре есть звенья Model - View - Controller

Model - отдельный модуль который отвечает за логику работы с БД

View - - отдельный модуль который отвечает за отображение данных ( модуль работы с шаблонами и сами шаблоны)

Controller - модуль управления входной информацией и синхронизации работы V- M

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

_RVK_

Новичок
Alexandre
Что-то я с тобой не согласен. Может приведешь конкретный пример трехзвенной архитектуры.
В данном случае Браузер-Сервер-СУБД это типичная трехзвенка. По твоему же определению
WEB сервер ( + модуль PHP ) - логика отображения
Сервер приложений - логика обработки данных
БД - хранение
Логика отображения это Браузер.
PHP занимается обработкой и получением данных.
БД хранением
 

Alexandre

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

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

Таким образом, при использовании сервера приложений можно решить ряд проблем, возникающих перед разработчиками традиционных двухзвенных систем.
http://ivanuts.chat.ru/arhitect.htm

_RVK_ - можешь трактовать как хочешь, но есть общепринятые понятия
 

Raziel[SD]

untitled00
Alexandre
В данном случае ссылка является запросом к серверу приложений, а PHP - сервером приложений, который обращается к СУБД, при этом браузер является тонким клиентом.
 

_RVK_

Новичок
Alexandre
Согласен с Raziel[SD]. Не пойму как под приведденый тобой фрагмент статьи можно подвести цепочку Браузер-PHP-СУБД
 

Raziel[SD]

untitled00
_RVK_ а по моему это как раз подходит под приведенный фрагмент статьи :) Вот только для полного счастья нехватает части про толстые и тонкие клиенты.
 
Сверху