Apache Geronimo: Открытый сервер приложений Java EE
Apache Geronimo
Apache Geronimo – open-source Java EE сервер приложений. Поддержка Java EE 6/5, JMS, EJB, сервлетов, JSP. Разработка и интеграция enterprise-приложений.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Сервер веб-приложений с открытым исходным кодом Apache Geronimo — это сервер приложений с открытым исходным кодом, разработанный Apache Software Foundation и распространяемый по лицензии Apache. Geronimo 3, текущая версия, совместима со спецификацией Java Enterprise Edition (Java EE) 6 и, следовательно, поддерживает такие технологии, как JMS, Enterprise JavaBeans, Connectors, сервлеты, JSP, JSF, Unified Expression Language и JavaMail. Это позволяет разработчикам создавать корпоративные приложения, которые являются переносимыми и масштабируемыми, а также интегрируются с устаревшими технологиями. Более старая версия Geronimo 2 совместима с Java EE 5. В прошлом IBM оказывала значительную поддержку проекту посредством маркетинга, внесения кода и финансирования нескольких участников проекта. В октябре 2005 года IBM объявила о выпуске бесплатной версии своего сервера приложений WebSphere под названием Websphere Application Server Community Edition (WASCE), которая фактически является дистрибутивом Geronimo и, несмотря на название, не связана с коммерческим сервером WebSphere. Однако в 2013 году IBM прекратила маркетинг и поддержку WASCE. Среди других коммерческих спонсоров были AMD, Chariot Solutions, Simula Labs и Virtuas. Активная разработка Apache Geronimo в значительной степени прекращена. Бывшие активные участники проекта Geronimo, такие как Дэвид Дженкс и другие сотрудники IBM, теперь работают над сервером приложений Liberty Profile.
Open source web application server
Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo 3, the current version, is compatible with the Java Enterprise Edition (Java EE) 6 specification and therefore supports technologies such as JMS, Enterprise JavaBeans, Connectors, servlets, JSP, JSF, Unified Expression Language and JavaMail. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. The older Geronimo 2 is compatible with Java EE 5. IBM has in the past provided considerable support to the project through marketing, code contributions, and the funding of several project committers. In October 2005, IBM announced a free edition of its WebSphere application server named Websphere Application Server Community Edition (WASCE), which is actually a distribution of Geronimo and despite its name not related to the commercial WebSphere server. However, IBM has withdrawn marketing and support for WASCE in 2013. Other commercial supporters included AMD, Chariot Solutions, Simula Labs, and Virtuas. Activity on Apache Geronimo has now largely ceased. Previous prolific Geronimo committers like David Jencks and others who are at IBM are now working on the Liberty Profile application server.
Компоненты
Как и корпоративная операционная система, Geronimo построен на ядре — микроядре, которое закладывает основу для всего, что находится над ним. Ядро Geronimo не зависит от Java EE. Его единственная цель — управлять строительными блоками Geronimo. Geronimo отличается архитектурным дизайном, основанным на концепции инверсии управления (IoC) (иногда называемой внедрением зависимостей), что означает, что ядро не имеет прямой зависимости от каких-либо его компонентов. Ядро — это основа для сервисов, которая управляет жизненным циклом сервисов и реестром. Ядро основано на Java EE и работает с сервисами и компонентами Java EE для создания конкретных конфигураций, одной из которых является полный стек решений Java EE. Большинство сервисов Geronimo добавляются и настраиваются через GBeans, чтобы стать частью общего сервера приложений. GBean — это интерфейс, который связывает компонент с ядром. Каждый GBean может поддерживать состояние, зависеть от других GBeans и взаимодействовать с ними, а также реагировать на события ядра и других GBeans. Интерфейс GBeans позволяет переключаться между двумя контейнерами сервлетов, например Jetty или Tomcat, не затрагивая всю архитектуру благодаря интерфейсу GBeans. Эта гибкая архитектура позволяет разработчикам Geronimo интегрировать несколько существующих, проверенных на практике, проектов с открытым исходным кодом. Ниже представлен список компонентов с открытым исходным кодом, включенных в проект Geronimo.
Like an enterprise operating system, Geronimo is built on a kernel—a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design that is based on the concept of Inversion of Control (IoC) (sometimes called Dependency Injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java EE. It works with Java EE services and components to build specific configurations—one of which is a full Java EE solution stack. A majority of the Geronimo services are added and configured through GBeans to become a part of the overall application server. A GBean is the interface that connects the component to the kernel. Each GBean can maintain state, depend on, and interrelate with other GBeans, and operate on events from the kernel and other GBeans. The GBeans interface makes it possible to switch between two servlet containers, for example Jetty or Tomcat, without affecting the whole architecture using a GBeans interface. This flexible architecture makes it possible for the Geronimo developers to integrate several existing field tested open source software projects. Here a list of the open source components that are included in the Geronimo project. Component Description Apache Tomcat HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1. Jetty HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages 2.1—an alternative to the Tomcat server. Apache ActiveMQ Open source Java Message Service (JMS) 1.1 applications provider and supporter of message driven beans (MDBs). Apache OpenEJB Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 3.0 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJB QL). 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 Axis is a Simple Object Access Protocol (SOAP) implementation, while Scout is a JSR 93 (JAXR) implementation. These provide support for Web Services and Web Services Interoperability Organization (WS I) Basic Profile support. Apache CXF Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. Apache Derby Full fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support. Apache WADI Clustering, load balancing and failover solution for the 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.
Описание компонента
Apache Tomcat — HTTP-сервер и контейнер Servlet, поддерживающий Java Servlet 2.5 и JavaServer Pages (JSP) 2.1.
Jetty — HTTP-сервер и контейнер Servlet, поддерживающий Java Servlet 2.5 и JavaServer Pages 2.1 — альтернатива серверу Tomcat.
Apache ActiveMQ — поставщик приложений и поддержка управляемых сообщением компонентов (MDB) на основе Java Message Service (JMS) 1.1 с открытым исходным кодом.
Apache OpenEJB — контейнерная система и сервер Enterprise JavaBeans (EJB) с открытым исходным кодом, поддерживающий Enterprise JavaBeans уровня 3.0, включая Container Managed Persistence 2 (CMP2) и EJB Query Language (EJB QL).
Apache OpenJPA — реализация Java Persistence API (JPA) 1.0 с открытым исходным кодом.
Apache ServiceMix — Enterprise Service Bus (ESB) и пакет компонентов с открытым исходным кодом, основанный на стандарте Java Business Integration (JBI) JSR 208.
Apache Axis и Apache Scout — Axis — это реализация протокола Simple Object Access Protocol (SOAP), а Scout — реализация JSR 93 (JAXR). Они обеспечивают поддержку веб-сервисов и базового профиля организации взаимодействия веб-сервисов (WS I).
Apache CXF — фреймворки веб-сервисов с различными протоколами, такими как SOAP, XML/HTTP, RESTful HTTP или CORBA, и работающие с различными типами транспорта, такими как HTTP, JMS или JBI.
Apache Derby — полнофункциональная система управления реляционными базами данных (RDBMS) с поддержкой Java Database Connectivity (JDBC).
Apache WADI — решение для кластеризации, балансировки нагрузки и обеспечения отказоустойчивости для уровня контейнера веб-приложений. (В настоящее время проект находится в стадии инкубации в рамках Apache Incubator.)
MX4J — Java Management Extensions, предоставляющие инструменты для управления и мониторинга приложений, системных объектов, устройств и сервисно-ориентированных сетей.
Like an enterprise operating system, Geronimo is built on a kernel—a microkernel that lays the foundation for everything above it. Geronimo's kernel is Java EE agnostic. Its sole purpose is to manage Geronimo's building blocks. Geronimo is marked by an architectural design that is based on the concept of Inversion of Control (IoC) (sometimes called Dependency Injection), which means that the kernel has no direct dependency on any of its components. The kernel is a framework for services that controls the service life cycle and registry. The kernel is based on Java EE. It works with Java EE services and components to build specific configurations—one of which is a full Java EE solution stack. A majority of the Geronimo services are added and configured through GBeans to become a part of the overall application server. A GBean is the interface that connects the component to the kernel. Each GBean can maintain state, depend on, and interrelate with other GBeans, and operate on events from the kernel and other GBeans. The GBeans interface makes it possible to switch between two servlet containers, for example Jetty or Tomcat, without affecting the whole architecture using a GBeans interface. This flexible architecture makes it possible for the Geronimo developers to integrate several existing field tested open source software projects. Here a list of the open source components that are included in the Geronimo project. Component Description Apache Tomcat HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1. Jetty HTTP server and Servlet container supporting Java Servlet 2.5 and JavaServer Pages 2.1—an alternative to the Tomcat server. Apache ActiveMQ Open source Java Message Service (JMS) 1.1 applications provider and supporter of message driven beans (MDBs). Apache OpenEJB Open source Enterprise JavaBeans (EJB) Container System and EJB Server that supports Enterprise JavaBeans at the 3.0 level, including Container Managed Persistence 2 (CMP2) and EJB Query Language (EJB QL). 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 Axis is a Simple Object Access Protocol (SOAP) implementation, while Scout is a JSR 93 (JAXR) implementation. These provide support for Web Services and Web Services Interoperability Organization (WS I) Basic Profile support. Apache CXF Web Services frameworks with variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI. Apache Derby Full fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support. Apache WADI Clustering, load balancing and failover solution for the 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.