Apache Geronimo

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 14:38, 28 декабря 2016.
Apache Geronimo
Apache Geronimo Logo Large.png
--
Разработчики: Apache Software Foundation
Платформа: Java (programming language)
Лицензия: [1]
Веб-сайт http://geronimo.apache.org

Apache Geronimo является сервером-приложением с открытым исходным кодом, разработанным компанией Apache Software Foundation, и распространяется под лицензией Apache.

Geronimo (текущая версия - 3.x), совместим со спецификацией Java Enterprise Edition (Java EE) 6 или новее, следовательно, поддерживает такие технологии, как JMS, Enterprise JavaBeans, Connectors, сервлеты, JSP, JSF, Unified Expression Language and JavaMail. Это позволяет разработчикам создавать корпоративные приложения, которые являются портативными и масштабируемыми, а также интегрируемые с существующими технологиями. Более ранняя версия, Geronimo 2, совместима с Java EE 5.

IBM в прошлом оказывал значительную поддержку проекту через маркетинг, разработку фрагментов кода и финансирование некоторых коммитеров проекта. В октябре 2005 года компания IBM объявила о бесплатной версии своего сервера-приложения WebSphere, также называемого Websphere Application Server Community Edition (WASCE), который на самом деле является дистрибуцией Geronimo и, несмотря на его название, не связан с коммерческим сервером WebSphere.[1] Тем не менее, IBM отменил поддержку маркетинга и WASCE в 2013 году.[2] Среди других коммерческих сторон, поддерживающих проект, присутствуют AMD, Chariot Solutions, Simula Labs и Virtuas.

Активность по Apache Geronimo в настоящее время в значительной степени снизилась. Предыдущие плодовитые коммиттеры Geronimo, такие, как David Jencks и другие, работают сейчас в IBM над проектом приложения-сервера Liberty Profile.[3]

Компоненты

Подообно корпоративным операционным системам, Geronimo построен на ядре - на микроядре, который заложен в основу всего. Ядро Geronimo является агностиком Java EE. Его единственная цель заключается в управлении блоков или модулей, на которых построен Geronimo. Geronimo примечателен своим архитектурным проектированием, основанным на концепции Инверсии управления (Inversion of Control), иногда называемый Dependency Injection, что означает, что ядро не имеет прямой зависимости от какой-либо из его компонентов на основе программного обеспечения. Ядро является основой для служб, контролирующих срок службы цикла и реестр. Ядро сделано на базе Java EE. Оно работает с его службами и компонентами для построения определенных конфигураций, один из которых является реализацией полного стека Java EE.

Большинство служб Geronimo добавляется и настраивается с помощью GBean, чтобы сделать их частью сервера-приложения. GBean - это интерфейс для соединения компонентов с ядром. Каждый GBean может поддерживать состояние, зависящее от и взаимодействующее с другими GBean, и оперировать событями в ядре и других GBean. Интерфейс GBean позволяет переключаться между двумя контейнерами-сервлетами, например, Tomcat или Jetty, не затрагивая всю архитектуру, но используя интерфейс GBean. Эта гибкая архитектура позволяет разработчикам интегрировать их некоторые тестовые разработки в проекты с открытым исходным кодом.

Ниже список компонентов с открытым исходным кодом, которые включены в проект Geronimo.

Компонент Описание
Apache Tomcat Web-сервер приложений, поддерживающий Java Servlet 2.4 и JavaServer Pages™ (JSP) 2.0
Jetty Web-сервер приложений, поддерживающий Java Servlet 2.4 и JavaServer Pages 2.0 – альтернатива серверу Tomcat
Apache ActiveMQ Реализация Java Message Service (JMS) 1.1 с открытым кодом, поддерживающая message-driven beans (MDBs).
Apache OpenEJB Enterprise JavaBeans (EJB) Контейнер и EJB-сервер, поддерживающие Enterprise JavaBeans 2.1, в том числе Container Managed Persistence 2 (CMP2) и EJB Query Language (EJBQL).
Apache OpenJPA Open source Java Persistence API (JPA) 1.0 implementation.
Apache ServiceMix Open source Enterprise Service Bus (ESB) and component suite based on the Java Business Integration (JBI) standard on JSR 208.
Apache Axis and Apache Scout Реализация Simple Object Access Protocol (SOAP) (Axis) и реализация JSR 93 (JAXR) (Scout) для Web-сервисов с поддержкой Basic Profile от Web Services Interoperability Organization (WS-I).
Apache CXF RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, Java Message Service|JMS or Java Business Integration|JBI.
Apache Derby Полнофункциональная РСУБД (RDBMS) со встроенной поддержкой Java Database Connectivity (JDBC).
Apache WADI Clustering, Load balancing (computing)|load balancing and failover solution for the Web application framework|web application container tier. (The project is currently in incubation under the Apache Incubator.)
MX4J Java Management Extensions that supplies tools for managing and monitoring applications, system objects, devices and service-oriented networks.

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

Дополнительные проекты с исходным кодом, интегрированные с Geronimo:

Компонент Описание
Spring Framework Популярная среда для создания приложений с использованием компонентов Inversion of Control (IoC)
ServiceMix Библиотека с открытым кодом, которая поддерживает Java Business Integration (JBI) и обеспечивает Enterprise Service Bus (ESB) для реализации сервис-ориентированной архитектуры (SOA)

Установка

Для работы Apache Geronimo необходимо наличие Java

Установка java:

sudo apt-get install default-jre

Необходимо задавать переменные JAVA_HOME, JRE_HOME, JAVA_OPTS. Для этого в ~/.bashrc пропишем:

vi ~/.bashrc
...
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export JRE_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
export JAVA_OPTS=
...

Скачиваем с http://geronimo.apache.org/downloads.html Apache Geronimo и распаковываем загруженный архив

tar xvf geronimo-*.tar.gz

Переходим в распакованную директорию

cd ./geronimo-<version>/bin/

И запускаем загрузочный скрипт

Для работы как демона

./geronimo.sh start

Или для работы в режиме обычного приложения

./geronimo.sh run

Ссылки

  1. http://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=wsced
  2. Withdrawal Announcement
  3. http://arjan-tijms.omnifaces.org/2014/05/implementation-components-used-by.html?showComment=1399508132460#c5604447523115853997

Внешние сслыки

Презентации