Коротко о Java Enterprise Edition(JEE)

Меня попросили написать статью что такое JEE я решился взятся за это надеюсь адекватно рассказать зачем все таки нужна технология JEE в Java. Итак приступим Зачем нам нужна эта технология,  в голове крутиться мысль - жили жи без неё и не тужили а вот  кто-то взял и придумал ее и осложнил и без того нелегкую  жизнь java-программиста :)  Так давайте попорядку  сначала расшифруем и переведем термин JEE - Java Enterprise Edition - Java предприятие издание - а понятно часть языка Java отвечающее за написание приложений для предприятий т.е. приложения которые должны работать  24 часа в сутки и 7 дней в неделю Ага думаю про себя счас скачаю jdk JEE, ознакомлюсь с ней и стану супер  специалистом и буду загребать деньги лопатой, лезу на сайт java.sun.com потирая ручки, ищу  информацию по JEE Все на английском, благо читать man  на английском приучен со времен изучения Линукса !!! Так мелькают незнакомые  слова ... так  JEE is a specification, not  a product ...  так хорошо читаю  дальше ... о Fuck, до меня не сразу доходят Английские слова -  JEE это спецификация, а не конкретно реализованный продукт Корпорацией Sun  Microsystems. Вот спасибо Sun выпустила теоремы - думаю про себя - нет не буду я их читать и учить тем более на английском. Все думаю приплыли, амерекосы будут меня учить как лучще программировать на Java - по ходу я не дурак и сам с могу разобраться как лучще. Так читаю дальше переводя на русский незнакомые слова - JEE есть спецификация соглассованных правил, технологий которых должны придерживаться люди (people) когда пищут enterprise приложение. Так думаю про себя,  приложение придеться писать используя, точнее реализовывая какие-то  правила и технологии и я  буду называться Vendor'ом. А нет Vendor'ом  называеться фирма которая реализовала для нас спецификации и предоставила нам  API на них и этот законченный продукт называют одним термином  Application Server. При его написании используется кроссплатформенный язык  Java и реализуются спецификации (JSR - Java Specification Requests) JEE которые можно загрузить с сайта www.jcp.org. на группу спецификаций предоставляеться API  и посредством этого API программист пишет Enterprise Edition   приложение. Приложение развертывается на Application Server-е  при етом используються стандартные  дескрипторы  развертки (xml-файлы). Application Server'а можно разделить на  2 категории платные и OpenSource. Среди них самыми популярными,  среди платных являються WebLogic (vendor - BEA недавно купленная корпорацией Oracle - http://www.oracle.com/bea/index.html) и  IBM WebSphere (vendor - IBM - http://www.ibm.com/websphere/ ) среди OpenSource Jboss (vendor - Jboss то же недавно купленная компанией RedHat http://www.jboss.com). Не каждый Application Server может именоваться JEE  а только после сертификации и прохождения тестов на соответствие спецификациям (JSR), после этого корпорация Sun присваивает  гордое  название  JEE Server. С полным списком фирм Application Server'а которых прошли сертификацию можно ознакомиться здесь http://java.sun.com/j2ee/licensees.html, так же советую посетить ресурс http://www.javaskyline.com/serv.html.
 JEE Application Server (часто называемый JEE-контейнер) 
 Включает в себя как минимум следующие сервисы и реализует их API:

    * EJB-контейнер, который поддерживает автоматическую синхронизацию Java
      объектов с базой данных (CMP - container managed persistence, BMP - bean managed persistence);
    * JMS - сервис доставки сообщений между компонентами и серверами;
    * управление ресурсами (доступ к СУБД, файловой системе, почтовому серверу и т. д.);
    * безопасность и защита данных;
    * поддержка транзакций (в том числе и распределённых, двухфазных) Java Transaction API.
    * веб-сервер и сервлет-сервер;
    * поддержка веб-сервисов.

Сервисы так же  могут реализовываться отдельными OpenSource продуктами  - На пример мне нужно разработать web приложение т.е. мне нужна спецификация веб-сервера и сервлет-сервера  я беру очень популярный продутк Apache TomCat - http://tomcat.apache.org/  и разрабатываю приложение.  Потребовалась  поддержка  веб-сервисов беру другой продукт - Apache Axis2 - http://ws.apache.org/axis2/  На данный момент для более быстрой и удобной работы с сервисами применяют Software Framework'и - вспомогательные программы, библиотеки кода, облегчающее разработку и объединение разных компонентов(сервисов) большого программного проекта. Например для web  проекта - Struts, JSF, Tapestry, Wicket, для доступа к БД -  EJB(CMP,BMP),  Hibernate,  IBatis,  OpenJPA. Технологию JEE рационально использовать для реализации крупных проектов,  например для организации сложных веб-порталов и предоставления услуг онлайн, особенно если необходимо обеспечить бесперебойную работу многих тысяч пользователей.
 

Спасибо, Vit. Уже лучше,

Спасибо, Vit. Уже лучше, просветление в мозге мала-мала есть. Даже знакомые буковки встречаются (понятие JSR, например, используется и в JME). А вот фразу "...например мне нужно разработать web приложение т.е. мне нужна спецификация веб-сервера и сервлет-сервера  я беру очень популярный продукт Apache TomCat - http://tomcat.apache.org/  и разрабатываю приложение" не понял. Я и так этим постоянно занимаюсь. Значит ли это, что я, сам того не подозревая, каким-то образом использую JEE?

да ты пользуешься одной  из

да ты пользуешься одной  из технологий  JEE    если посмотреть jboss application server  то он использует servlet-контейнер tomkat  :)

Вот ведь, оказывается, какой

Вот ведь, оказывается, какой я крутой! Буду теперь во всех резюме +JEE писать :). Шучу. Надо будет действительно ликвидировать этот пробел в своем образовании. Статья полезная. Аффтар пешы ищщо! Йад не пей!

Отправить комментарий

КАПЧА
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Enter the characters shown in the image.