Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что можно считать сервером приложений? 
:(
    Опции темы
rene
Дата 22.4.2009, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 31.10.2006
Где: г. Висагинас, р. Литва

Репутация: нет
Всего: нет



Например, такие продукты GlassFish, WebSphere, JBoss, Zope называют серверами приложений.

Как вы считаете, можно ли назвать веб-сервер+PHP сервером приложений?

Несколько соображений на эту тему:
1) Сервером приложений можно считать такое серверное ПО, которое обеспечивает выполнение какой-либо логики на стороне сервера. Тогда Apache+PHP - сервер приложений.


2) Сервером приложение можно называть ПО, которое обеспечивает выполнение приложения постоянно, т.е. программы там запускаются и "живут" до тех пор пока не будут остановлены.
Тогда Apache+PHP не сервер приложений.

Так как в PHP приложение живет во время обработки обращения клиента: веб-сервер вызыват модуль интерпретатора PHP, тот выполянет программу, результат отдает веб-серверу и на этом жизнь программы заканчивается.

Складывается чувство, что когда IBM, Sun или Bea хотят продать что-то дорогое, то они называют это солидным словом "сервер приложений", а когда речь идет о пролетарском Apache+PHP, то это просто "выполнение сценариев на стороне сервера". Понятно, что в продукты именитых компаний входит больше чем интерпретатор или среда выполнения какого-либо языка, там еще развитая инфраструктура, папример : свой API, набор библиотек, каркас и т.д.
PM MAIL ICQ   Вверх
Vasay
Дата 23.4.2009, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



Цитата

Как вы считаете, можно ли назвать веб-сервер+PHP сервером приложений?


Нет нельзя. 

Цитата

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


Впринципе, логично, и я бы с этим согласился, НО! Тот же TomCat, умеющий выполнять приложение постоянно, лишь контейнер сервлетов.

Если верить википедии 
Цитата

Под сервером приложений в случае Java EE подразумевается комплекс программ, реализующих концепцию Java EE и позволяющих запускать в себе Java EE приложения. К классу серверов приложений относятся такие продукты как GlassFish, WebSphere, JBoss и др.



Цитата

Складывается чувство, что когда IBM, Sun или Bea хотят продать что-то дорогое, то они называют это солидным словом "сервер приложений"


GlassFish, WebSphere Community Edition, JBoss  - бесплатны и открыты. Чем не "пролетарские" решения?

Кстати, есть вполне дешевые хостинги с GlassFish (правда не в России).

Впринципе, для разработки сайтов (порталов и т.д.), App сервер не нужен. Можно ограничится TomCat-ом. с ним великолепно работает Spring, можно использовать различные ORM библиотеки... 


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
rene
Дата 23.4.2009, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 31.10.2006
Где: г. Висагинас, р. Литва

Репутация: нет
Всего: нет



Цитата

Впринципе, логично, и я бы с этим согласился, НО! Тот же TomCat, умеющий выполнять приложение постоянно, лишь контейнер сервлетов.

Почему сервлет - не приложение, работающее на сервере?
Сервлет - определение придуманное Sun, как и контейнер сервлетов.

Если верить википедии 
Цитата

Под сервером приложений в случае Java EE подразумевается комплекс программ, реализующих концепцию Java EE и позволяющих запускать в себе Java EE приложения. К классу серверов приложений относятся такие продукты как GlassFish, WebSphere, JBoss и др.

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

PM MAIL ICQ   Вверх
Vasay
Дата 23.4.2009, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



rene

Цитата

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


Ну попробуйте smile Изложите свою концепцию.



--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
rene
Дата 23.4.2009, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 31.10.2006
Где: г. Висагинас, р. Литва

Репутация: нет
Всего: нет



Цитата(Vasay @ 23.4.2009,  21:41)
rene

Цитата

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


Ну попробуйте smile Изложите свою концепцию.

Мне больше нравится определение в английском варианте на wikipedia.

An application server, in an n-tier architecture, is a server that hosts an API to expose business logic and business processes for use by third-party applications.

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


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


Да, это широкое определение, под которое попадет и PHP+Apache и cgi-скрипты написанные на чем угодно.
То, что в случае PHP код приложения интерпретируется для каждого запроса, а затем выгружается из памяти можно считать таким способом реализации выполнения приложения на сервере.
 
PM MAIL ICQ   Вверх
Vasay
Дата 24.4.2009, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



rene

Хорошее определение.  Я понял его так:

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

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

Согласно этому определению ни апач (даже с php), ни томкэт серверами приложений не являются.





Это сообщение отредактировал(а) Vasay - 24.4.2009, 01:06


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
rene
Дата 24.4.2009, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 31.10.2006
Где: г. Висагинас, р. Литва

Репутация: нет
Всего: нет



Vasay,
Цитата
Согласно ему сервер приложений должен иметь в себе реализацию некоторой (стандартной, часто встречающейся) бизнес логики.
И предоставлять API для того, что бы сторонние (third-party) приложения, запущенные на сервере, могли эту бизнес логику использовать. 


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

Цитата

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


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

Добавлено через 7 минут и 55 секунд
Определение от МС:
Application Server: Frequently Asked Questions

Q.    What is an application server?
    
A.    We define the category of application server as the “system software that underlies the server-based execution of shared business applications.” Just as a file server delivers files to many users, an application server makes applications—often custom-built applications—available to multiple concurrent users.

В. Что такое сервер приложений?

О. Мы определяем сервер приложений как, "системное ПО, которое обеспечивает серверное выполнение разделяемых бизнес-приложений". Как файл-сервер обеспечивает доступ к файлам многим пользователям, так и сервер приложений делает приложения(часто сделанные по заказу) одновременно доступными многим пользователям.
PM MAIL ICQ   Вверх
rene
Дата 24.4.2009, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 43
Регистрация: 31.10.2006
Где: г. Висагинас, р. Литва

Репутация: нет
Всего: нет



Определение от менеджера Bea
Аpplication server 
Also called an appserver. A program that handles all application operations between users and an organization's backend business applications or databases. Application servers are typically used for complex transaction-based applications. To support high-end needs, an application server has to have built-in redundancy, monitors for high-availability, high-performance distributed application services and support for complex database access.

See the Server Types page in the quick reference section of Webopedia for a comparison of server types.

(Many thanks go out to Paul White, Product Marketing Manager EMEA, BEA Systems, for providing this updated definition.) 

Программа, которая берет на себя все прикладные действия между пользователями и какими-либо  оконечными бизнес-приложениями и базами данных. Сервера приложений обычно используются для сложных приложений, основанных на транзакциях. Для поддержки высокоуровневых потребностей сервер приложений имеет встроенную поддержку избыточности, производит мониторинг  обеспечивания доступности, имеет высокопроизводительные распределенные сервисы и поддерживает сложные способы доступа к БД.
PM MAIL ICQ   Вверх
Vasay
Дата 24.4.2009, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 1
Всего: 73



rene

Цитата

Позвольте с Вами не согласиться. 

Цитата

is a server that hosts an API to expose business logic and business processes for use by third-party applications.


third-party applications - это ваше приложение, запущенное на сервере. Т.е. для сервера, оно стороннее. 


А тут я с вами полностью согласен:
Цитата

нужен какой-то набор возможностей программного комплекса,
чтоб его назвали сервером-приложений.


Цитата

Ко сожалению перечня того, что должно входить в этот набор я не видел.


Если речь идет о Java, то такой перечень есть и называется  "спецификация j2ee"

Но у других производителей ПО (таких как MC) может быть другой взгляд на данный вопрос.




--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1295 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.