Jboss и TomCat. Как это работает?

Нам с коллегами по работе достался сервер с JBoss'ом, к сожалению без инструкции.

С Java работаем впервые, поэтому возник вопрос: как все это взаимодействует?

Я понимаю так:
Клиентское приложение выполняет запрос к серверу.
Tomcat (что-то вроде Apache и IIS) обрабатывает запрос.
Java машина (что-то вроде среды ASP.NET) обрабатывает сервлеты, которые скомпилированы JDK.
Далее эти сервелеты взаимодействую с БД и файлами.

Скорее всего эта схема в корне неверная. В ней я не могу понять зачем нужен JBoss, когда есть TomCat.

Насколько понимаю JBoss это что-то вроде библиотеки?

И последний вопрос, где можно узнать принцип обработки запроса JBoss'ом?

А так же что почитать? Есть ли хорошая литература?
  • Вопрос задан
  • 27712 просмотров
Решения вопроса 1
iZENfire
@iZENfire
JBoss — это реализация спецификации JavaEE (контейнер для EAR- и WAR-приложений).
Tomcat — это частичная реализация JavaEE в той её части, которая включает Web-приложения (контейнер для WAR).

Один другого дополняет. Для работы всего этого нужен JavaSE JDK — Oracle JDK или OpenJDK6 или 7 — в зависимости от требований развёртывания.

В WAR-приложениях сервлеты компилируются заранее Java-компилятором в байткод *.class-файлов и созданием архива с *.class-файлами и ресурсами (*.war). JSP-страницы из *.war компилируются «на лету» в сервлеты при первом запросе. Во время первого запроса со стороны пользователей контейнер сервлетов (Tomcat) преобразует JSP-страницы (если они присутствуют) в сервлеты, компилируя с помощью Java-компилятора из JDK в байткод. JVM контейнера осуществляет JIT-компиляцию байткода сервлетов в нативный код и кэширование нативного кода в оперативной памяти для обработки последующих запросов пользователей.

В EAR-приложениях контейнер (JBoss) производит похожую работу совестно с JVM по JIT-компиляции бинов (файлы *.class в *.ear) и кэшировании нативного кода в оперативной памяти для последующего многократного выполнения.

Метаинформация, записанная в файлах *.war и *.ear, нужна для правильного развёртывания, «параметризации» значений свойств сервлетов и бинов, частичным управлением жизненным циклом приложений.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@mayorovp
Аналогия неверна тем, что Java-машина является аналогом CLR.NET, а не ASP.NET
Аналог ASP.NET в данной связке — это как раз-таки Tomcat.

JBoss в базовом случае совершенно не нужен. JBoss — это реализация JavaEE (да, что-то вроде библиотеки). Ближайший аналог из мира .NET — Castle (общих у них две вещи: они оба обожают xml-файлы настроек и включают в себя столько функционала, что никто в мире никогда не использовал весь одновременно).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 220 000 до 250 000 руб.
Kelly Services Москва
от 200 000 руб.
Nexign Санкт-Петербург
от 100 000 руб.
21 февр. 2019, в 02:24
8 руб./в час
20 февр. 2019, в 23:54
1000 руб./за проект
20 февр. 2019, в 23:26
25000 руб./за проект