×Закрыть

Java EE сервер приложений

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

Java EE компоненты выполняются в контейнерах сервера приложений, которые управляют их выполнениям. Контейнеры являются интерфейсом между компонентом и низкоуровневой функциональностью, которая поддерживает компонент, также предоставляя стандарнтые сервисы (Security, JTA, JNDI, Web Services, JMS, JPA и другие), которыми могут воспользоваться компоненты. Рассмотрим возможную архитектуру Java EE приложения.

архитектура Java EE приложения

В данном случае Applet Container и Application Client Container хотя и являются частью Java EE приложения, но не являются частью Java EE сервера приложений.

Web Container предоставляет среду для выполнения следующих Java EE компонентов: Servlets, JSP, JSF.

EJB Container предоставляет среду для выполнения Enterprise JavaBeans (EJB) компонентов.

Следует отметить, что функциональность, реализуемую контейнерами возможно использовать вне сервера приложений. К примеру, Apache Tomcat является самостоятельным продуктом, который реализует Java Servlets и Java Server Pages спецификации, возможно использовать для разработки полноценных приложений, не прибегая к использованию сервера приложений. Apache OpenEJB является реализацией EJB спецификации, предоставляя среду выполнения для EJB компонентов. Многие компании-поставщики серверов приложений используют данные продукты для разработки контейнеров в своих серверах приложений.

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

Ресурсы:

  • Популярное

20 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

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

Мне одному кажется, что фразу «продукт промежуточного уровня» робот-переводчик написал? Вообще, эти, с позволения сказать, статьи отдают графоманией. Смысл написания этих текстов непонятен, техническое исполнение на троечку с минусом. Автор — храбрый человек, ставить под таким свое имя лично я бы постеснялся. Мир все ж довольно тесен, мало ли, собеседоваться придется в приличное место или еще что.

>> статья как раз была и написана потому что Это не статья, это заметка в дневник — черновик, набросок, если хотите. С утра проснулся, понял и записал:) Теперь пришло время изложить по-человечески...>> многие зрелые разработчики никогда не работали с полноценным сервером приложений, или поверхностноИмхо здесь одно из слов — «зрелые» «никогда» или «поверхностно» — явно противоречит остальным: D

2Denys Bezsmertnyi: писать статьи всегда сложнее чем писать комментарии и ставить единицы.Чтобы научиться писать на на пятерки, стоит ознакомиться со статьями со спискаhttp://www.developers.org.ua/b.../Там довольно просто можно увидеть основные тренды.

COTOHA, статья как раз была и написана потому что многие зрелые разработчики никогда не работали с полноценным сервером приложений, или поверхностно. Это факт, и многие не понимают разницу. Поэтому и появилась статья.Лично у меня неоднократно спрашивали прото что такое сервер приложений. Значит это кому-то нужно. Понятно, что для юниоров и людей не знакомых с джавой это полная тьма и ничего интересного. Моя ошибка была в том, что я прогадал с аудиторией.Ребята, но если вам когда-нибудь нужно будет понять что такое сервер приложений, вернитесь на эту страницу и перечитайте ещё раз. Здесь всего пару предложений -, но о многом.Я же, если администрация не передумает со мной сотрудничать из-за низкого рейтинга статьи, в будущем буду писать более проще и шире, ориентируясь на все профессиональные уровни.

Да уж. Покажите мне человека, который знает JTA, JNDI, Web Services, JMS, JPA, но не знает, что такое web application server.Пытаетесь дать определение простому понятию через сложные, да ещё без примеров.

Denys Bezsmertnyi, в комментариях вы написали, что статья рассчитана на зрелых Java EE разработчиков. Вопрос: на кой им такая статья, если они это и так знают, вот если бы вы написали как реализуется кластеризация или балансировка нагрузки, то эта аудитория получила бы удовольствие и новые знания от прочтения. По сути, эта статья ориентирована на «джуниоров» или даже людей не из Java EE мира, которым было бы интересно узнать что это такое и с чем его едят, но как сказал Alex, вы используете много непонятных сокращений (хотя даже если их расшифровать, далеко не все поймут что оно такое)...

Для человека, который хоть немного знаком с ee Вы не написали совершенно ничего нового. Но для того, кто видит эти все слова впервые, Вы рассказываете о каких то мифический словосочитаниях JMX, JSP, Servlets, JMS, JPA. Эти все понятия взимосвязаны. Очевидно же, что если кому то знакомы эти слова, он будет знаком и с тем что пишется в теме. Справедливо и наоборот.Впрочем Ваша статья для меня оказалась немного полезной, тем что Вы подтверждаете гипотезу о том, что ява-программисты крайне любят всякого рода сокращения. Это круто я щитаю

— Сколько будет 2×2=4? — true.

Если бы я был не прав, то услышал бы критику содержимого, а не оформления и стиля.

:) дело ж не в «прав и не прав», а в том, что статья по сути говрит «2*2=4» (утрирую), зрелый это знает, а жуниор не понимает

эээ., а зрелый разве не знает разницы?

COTOHA, да я понимаю что это можно раскрыть и примеры. Но лично я люблю читать именно в таком стиле в каком написал, чтобы много не читать, а больше думать над тем что есть.На мой взгляд связи и примеры (ссылки на реализации) в статье есть. Чтобы найти разницу между томкатом и веб-сферой, к примеру, нужно посмотреть какие части Java EE они реализуют. Я думаю что данная статья расчитана на зрелых Java EE разработчиков, потому что уровень джуниор всегда любит чтобы все было разжеванно.Если бы я был не прав, то услышал бы критику содержимого, а не оформления и стиля.Вот на ту же тему кому нравится в другом стиле. Читать нужно больше; -) http://www.theserverside.com/tt/articles/article.tss? l=WhatIsAnAppServer.

моя цель была написать действительно энциклопедическую статью, дав определение понятию «Java EE сервер приложений», чтобы люди понимали различие между Томкатом и ВебЛоджиком.

задача не решена:) может расширить таки статью примерами — типа томкат это то-то, потому что реализует это, а вёблоджик тото, потому что такоето, а сфера то-то, а резина это. ну хоть чтобы что-то было кроме теории.или же начать с того, что «вот я уже устал отвечать на вопросы типа „что такое сервер приложений“ и решил ответить раз и навсегда! ». ну чтобы было ближе у жизни:)

Денис: главная претензия как раз к энциклопедичности, а не к неоконченности. Не совсем ясно, что эта статья делает в блоге ДОУ. Может, таки в википедию ее? А про неоконченность — почитайте статьи в английской википедии. Несмотря на их энциклопедичность, они стремятся охватить как можно больше аспектов, выявить связи, привести примеры и просто объяснить доступными словами, а не только дать формальное определение.

моя цель была написать действительно энциклопедическую статью, дав определение понятию «Java EE сервер приложений», чтобы люди понимали различие между Томкатом и ВебЛоджиком.

Так, видимо, нужно было на этом заострить внимание, если это было целью. Про ВебЛоджик в статье ни слова.

Когда читал статью думал, когда уже нам скажут про Netbeans и Glassfish, так бы хоть реклама какая то была:)

2 Всеволод Дёмкин, моя цель была написать действительно энциклопедическую статью, дав определение понятию «Java EE сервер приложений», чтобы люди понимали различие между Томкатом и ВебЛоджиком.Вы, возможно, имеете ввиду пример реализации серверов приложений? В ресурсах есть ссылка на сертифицированные варианты. А если пример реализации Java EE приложения — даже не знаю зачем он нужен.

Спасибо за интересную и информативную статью. Лично я почерпнул для себя много полезного, гыгы

2 Denys Bezsmertnyi: примером реализации приложения, наверное...

Выглядит как неоконченная статья в википедии.

Подписаться на комментарии