В начало!  
Сделай закладку этой страницы в Digg Сделай закладку этой страницы в Del.icoi.us Сделай закладку этой страницы в Slashdot Сделай закладку этой страницы в Technorati
arrow Технологии arrow Java EE arrow Проект GlassFish. Разработка сервера приложений для Java EE.


feed image

Проект GlassFish. Разработка сервера приложений для Java EE.
Автор Филипп Торчинский   
27.12.2007 г.

Анонсированный на JavaOne 2005, проект GlassFish был одним из первых шагов на пути открытия платформы Java и посвящен переводу Application Server и Java EE Reference Implementation в условия открытой разработки.

 

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

Через полтора года после создания проекта, была выпущена первая финальная версия GlassFish сервера (v1) и разрабатывалась вторая версия. Сейчас в разработке находится уже третья версия сервера приложений GlassFish.

В этой статье представлен обзор основных аспектов работы сообщества GlassFish и функциональности GlassFish Application Server.


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



GlassFish: сообщество и продукты

GlassFish обозначает сообщество разработчиков и продукт, GlassFish AppServer. Основным результатом работы сообщества являются сервер приложений, GlassFish AppServer, совместимый с Java EE 5, а также Reference Implementation для Java Persistence API, TopLink Essentials.

Сообщество GlassFish также поставляет несколько других полезных компонентов, таких как модули для JCP-технологий, включенные в Java EE 5, например JAXB, JAX-WS, JAXP, StAX, JSP и JSF. В GlassFish также входят несколько популярных проектов семейства Web.Next, таких как jMaki, Phobos и DynaFaces, а также многие полезные инструменты, такие как Hudson (инструмент непрерывной интеграции) и Grizzly, NIO server framework. Сообщество GlassFish использует репозиторий Maven для хранения всех компонентов.

GlassFish AppServer

Компания Sun анонсировала Project GlassFish в июне 2005, на конференции JavaOne 2005. Меньше чем через год, на следующей JavaOne в мае 2006, были выпущены первая версия GlassFish AppServer и финальная спецификация Java EE 5. Первая версия этого сервера была доступна с сайтов Sun под именем Sun Java System 9.0 PE и с сайта GlassFish community под именем GlassFish v1. Единственное отличие этих серверов заключалось в используемом инсталляторе.
Основной целью выпуск GlassFish v1 было реализовать спецификацию Java EE 5, поэтому некоторые функциональные возможности уровня предприятия не вошли в первый релиз. Поэтому к названию дистрибутива от Sun было добавлено PE (Platform Edition). В GlassFish v2 был добавлен весь ряд функциональных возможностей, поэтому приставка PE была убрана: один и тот же дистрибутив может быть установлен как developer, enterprise или cluster конфигурация, в зависимости от конкретных целей пользователей.

GlassFish v2 доступен с сайтов компании Sun как Sun Java System AS 9.1. Выпуск GlassFish v2 состоялся в сентябре 2007.

GlassFish v3 был анонсирован на JavaOne 2007, где он привлек большой интерес разработчиков. Благодаря модульной архитектуре, размер основного дистрибутива сервера очень мал (меньше 100 КБ), что облегчает его применение на ПК и даже на мобильных устройствах. Время запуска – меньше секунды. Ядро поддерживает несколько контейнеров, сейчас это Java Web, PHP (через Caucho's Quercus), jRuby on Rails и Phobos JavaScript. В дальнейшем планируется расширить список поддерживаемых контейнеров и вы также можете написать свой собственный контейнер.

Ранняя версия GlassFish v3 доступна на сайте .
Документация находится здесь и здесь.

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

Обзор JavaEE 5

Основной целью Java EE 5 было обеспечить простоту разработки, что было достигнуто с помощью аннотаций Java SE 5 для поддержки программирования с использованием POJOs (Plain Old Java Objects).

Основными спецификациями Java EE 5 являются:

  •  JAX-WS 2.0 & JAXB 2.0
  •  EJB 3.0 & Java Persistence API
  •  JSF 1.2 & JSP 2.1
  •  StAX


У некоторых других спецификаций, например JAXP и Servlet, были также промежуточные релизы. Эти изменения оказали существенное влияние на приемы и принципы разработки ПО.

Связь между Java EE 5 и GlassFish была очень прочной и взаимообогащающей: сила платформы Java EE 5 существенно увеличила ценность GlassFish, а доступность GlassFish широкой публике, в свою очередь, повлияла на скорость распространения Java EE 5. Мы надеемся, что такого рода взаимодействие продолжится и для будущих версий Java EE, когда сообщество будет иметь возможность попробовать ранние реализации Java EE спецификаций.

Мы сейчас только учимся использовать аннотации. Например спецификация JAXB 2.0 разделена на две части. Одна часть описывает распределение XML схемы на аннотации, другая часть описывает семантику аннотаций. Это означает, что можно изменить сгенерированный код и он возможно будет работать на любой соответствующей версии AppServer.

Некоторые функциональные возможности GlassFish v2

Улучшенная производительность

Производительность и быстродействие GlassFish v2 было улучшено сразу во многих областях, например JSF, JSP и Grizzly в области веб-приложений, JAXB и JAX-WS со стороны веб-сервисов, CORBA и EJB.
Результатом этих усилий явился мировой рекорд, одержанный GlassFish v2 по условиям теста SPECjAppServer 2004. В июле July 2007 Sun анонсировал 1й результат на сервере T2000 с показателем 883.66 JOPS@Standard. Это на 60% быстрее, чем GlassFish V1/SJSAS 9.0, на 10% быстрее, чем BEA WebLogic и на 30% быстрее, чем IBM WebSphere 6.1! По результатам других эталонных тестов (813.73 JOPS@Standard при использовании базы данных PostgreSQL), соотношение цены и быстродействия у GlassFish v2 в 3 раза превосходит эти результаты для Oracle на машинах HP.

Итак вам больше не нужно выбирать между функциональностью в дистрибутиве с открытом исходным кодом и возможностями продукта уровня предприятия: у вас будет полный набор в обеих версиях.

Примечание: SPEC и название теста SPECjAppServer 2004 – зарегистрированные торговые марки Standard Performance Evaluation Corporation. Sun Fire T2000 (1 процессор, 8 ядер) 1.4ghz 883.66 SPECjAppServer2004 JOPS@Standard. Сравнительные результаты тестов, приведенные выше, отображают данные, опубликованные 07/10/06 на www.spec.org. Последние результаты тестов SPECjAppServer 2004 можно найти на.

Важным достижением стало увеличение скорости запуска сервера. В версии v2 была существенно упрощена архитектура запуска и остановки сервера. Были проанализированы все зависимости, чтобы сократить число запускаемых служб. В результате было получено серьезное уменьшение времени старта и остановки как простых, так и кластерных конфигураций сервера.

Простота установки

Как отмечалось выше, GlassFish v2 устанавливается при помощи единого инсталлятора и затем конфигурируется в виде одного из трех стандартных профилей: developer, cluster или enterprise. Дистрибутив можно взять здесь. Процесс установки включает всего два шага: собственно установка и выбор конфигурации. Можно изменить developer конфигурацию на профиль cluster. По сравнению с прошлым релизом, размер дистрибутива сильно уменьшился (около 55 МБ) за счет использования технологии компрессии Pack200 (эта технология также используется в Java SE 6 дистрибутиве).
Для версии, которая выпускается под именем Sun Java System Application Server, инсталлятор более сложный и в нем больше графических элементов. На Ubuntu установка, как и обычно, проходит через apt-get. Sun Java System Application Server 9.1 доступен и поддерживается как часть Java Enterprise System 5 Update 1.

Начало работы

Одним из основных ресурсов, отражающих жизнь и события сообщества GlassFish, является блог TheAquarium (есть версия на русском языке!). Он ежедневно обновляется последними новостями сообщества GlassFish. В другом блоге, Stories, представлены истории успешного бизнес-применения сервера GlassFish.

На страницах GlassFish на java.net  можно найти все дистрибутивы GlassFish AppServer, документацию, списки рассылки, форумы и wiki.

Различаются несколько видов сборок GlassFish AppServer: ночные (nightly builds) и еженедельные (weekly builds) сборки из текущего репозитория. Стабильные сборки (milestone builds) обычно проходят через стабилизационный цикл и включают в себя новые функциональные возможности. Детальное описание стабильных билдов находится в соответствующих Highlight документах. Финальные сборки – это наиболее стабильные версии продукта и мы рекомендуем их для использования в условиях предприятий. Sun осуществляет техническую поддержку финальных сборок.

 

Добавить комментарий


Защитный код
Обновить