geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guillaume Nodet <gno...@gmail.com>
Subject Fwd: [PROPOSAL] Apache Aries incubator for Enterprise OSGi
Date Tue, 01 Sep 2009 14:51:58 GMT
This might be interesting to Geronimo and Felix communities.
Any further discussion should happen on general@incubator.apache.org

---------- Forwarded message ----------
From: Jeremy Hughes <hughesj@apache.org>
Date: Tue, Sep 1, 2009 at 16:38
Subject: [PROPOSAL] Apache Aries incubator for Enterprise OSGi
To: general@incubator.apache.org


Hi, we would like to propose a new incubator podling called Aries.

http://wiki.apache.org/incubator/AriesProposal

Here is a quick summary of the proposal

The Aries project will deliver a set of pluggable Java components
enabling an enterprise OSGi application programming model. This
includes implementations and extensions of application-focused
specifications defined by the OSGi Alliance Enterprise Expert Group
(EEG) and an assembly format for multi-bundle applications, for
deployment to a variety of OSGi based runtimes.

Aries aims to build a community of developers interested in the
definition and delivery of software components that support an
enterprise OSGi programming model and which can be integrated into a
number of different runtime environments.

We appreciate any feedback and comments on the proposal.

Here is a plain text copy of the whole proposal:

Apache Aries
Abstract

The Aries project will deliver a set of pluggable Java components
enabling an enterprise OSGi application programming model. This
includes implementations and extensions of application-focused
specifications defined by the OSGi Alliance Enterprise Expert Group
(EEG) and an assembly format for multi-bundle applications, for
deployment to a variety of OSGi based runtimes.
Proposal

It is a goal of the Aries project to provide a natural home for open
source implementations of current and future OSGi EEG specifications,
including the opportunity for the collaborative development of
compliance tests, and an environment to demonstrate the composition of
these technologies and to explore areas where EEG specifications lack
coverage. A further goal of this project is to leverage experience
gained from it to inform contributions to OSGi EEG requirements and
specification documents.

Aries will offer an enterprise OSGi application programming model that
enables applications to leverage Java EE and other enterprise
technologies and to benefit from the modularity, dynamism and
versioning capabilities of OSGi. A significant feature of Aries will
be a container for OSGi Blueprint components - an implementation of
the new OSGi v4.2 Blueprint component model that defines a standard
dependency injection mechanism for Java components, which is derived
from the Spring framework and extended for OSGi to declaratively
register component interfaces as services in the OSGi service
registry.

In addition, the Aries project will develop a model for assembling an
application/subsystem into a deployable unit, consisting of multiple
bundles, as an archive which may include metadata that describes the
version and external location of the application's constituent bundles
or which may contain the bundles directly.

The Aries project will deliver run-time componentry that supports
applications, running in an OSGi framework, exploiting enterprise Java
technologies common in web applications and integration scenarios
including web application bundles, remote services integration and
JPA. The project is not expected to deliver a complete application or
integration server runtime but will instead deliver enterprise
application componentry that can be integrated into such runtimes. The
project will develop extensions that go beyond the OSGi EEG
specifications to provide a more complete integration of OSGi
modularity with Java enterprise technologies, in particular delivering
support that includes but is not restricted to:

   * isolated enterprise applications composed of multiple, versioned
bundles with dynamic lifecycle.
   * declarative transactions and security for Blueprint components
   * Container-managed JPA for Blueprint components
   * Message-driven Blueprint components
   * Configuration of resource references in module blueprints.
   * Annotation-based Blueprint configuration
   * Federation of lookup mechanisms between local JNDI and the OSGi
service registry.
   * Fully declarative application metadata to enable reflection of
an SCA component type definition.

In order to maximise the potential scope of Aries adoption it is
anticipated the project will remain agnostic of a number of
complementary technologies and projects. It is the expectation that
Aries will therefore not be delivering components such as: an
application or integration server runtime kernel; a persistence
provider; distribution provider; a deployment provider or a Web
container. Aries will instead seek to enable the use of such
components from other projects.
Background

OSGi is a mature and Java modularity technology that is well-used in
many environments but, in the enterprise space, has more typically
been exploited by the internals of the runtime infrastructure than the
applications that run on it. This is primarily because of a lack of a
clear enterprise OSGi application programming model and implementation
of OSGi-enabled Java technology to support enterprise applications.
OSGi specifications are specified and maintained by the OSGi Alliance
which recognized this state of affairs several years ago and
established the Enterprise Expert Group within the Alliance to focus
specifically on the needs of enterprise applications. The objective of
this project is to deliver open source implementations of these
application-centric technologies to enable the development of
application components, benefiting from the modularity of OSGi
combined with standards-based programming models, which can be
deployed to a variety of target runtimes.
Rationale

Aries aims to build a community of developers interested in the
delivery of software components that support an enterprise OSGi
programming model and which can be integrated into a number of
different runtime environments. Apache hosts the Felix project which
provides an OSGi framework implementation and a variety of projects
which provide technologies exploited by enterprise application
components as well as projects which provide runtimes to host
application components. There is currently no Apache project focussed
on OSGi enterprise applications that is independent from both the OSGi
framework and the enterprise runtime environment in which application
components are hosted. By maintaining independence of both the target
runtime and underlying OSGi framework it is our intention to build the
broadest possible community of developers for Aries, and to maximize
the potential environments where Aries componentry can be used.
Initial Goals

We will initially focus on the Blueprint container and extend this
with enterprise features such as support for container managed JPA and
container managed transactions. Another initial focus area will be the
contribution of code to support the assembly of isolated, multi-bundle
applications that can be deployed as a unit.
Current Status
Meritocracy

The Aries contributors recognize the desirability of running the
project as a meritocracy. We are eager to engage other members of the
community and operate to the standard of meritocracy that Apache
emphasizes; we believe this is the most effective method of growing
our community and enabling widespread adoption.
Community

OSGi is a mature Java modularity technology that is well-used in many
environments but, in the enterprise space, has more typically been
exploited by the internals of the runtime infrastructure than the
applications that run on it. This is primarily because of a lack of a
clear enterprise OSGi application programming model and implementation
of OSGi-enabled Java technology to support enterprise applications.
There is a need for open source implementations of these technologies
and there is currently no Apache project focused on the wider goal of
delivering components for an enterprise OSGi application programming
model. Aries aims to build a community of developers interested in the
definition and delivery of software components that support an
enterprise OSGi programming model and which can be integrated into a
number of different runtime environments. By maintaining independence
of both the target runtime and underlying OSGi framework it is our
intention to build the broadest possible community of developers.
Alignment

The purpose of Aries is to develop implementations of
application-centric enterprise OSGi technologies that run on an OSGi
framework, but not a specific one, and are used by application
components deployed into a variety of runtime environments without
being tied to any specific environment. For this reason we believe
Aries is a project whose community would be best served if it could
leverage but be independent from the communities that provide
underlying OSGi framework technology and enterprise application server
and integration bus technologies, all of which exist as open source
efforts within Apache and elsewhere. We expect, for example, that some
code developed in Aries will run directly on top of an OSGi framework
such as Felix and that applications exploiting Aries technologies
could be deployed to runtimes such as ServiceMix and Geronimo.
Avoiding the Warning Signs
Orphaned products

The contributors are leading vendors of OSGi-based technologies and
have a long standing in the OSGi Alliance whose application-centric
specifications this project will implement. There is minimal risk of
this work becoming non-strategic and the contributors are confident
that a larger community will form within the project in a relatively
short space of time.
Inexperience with Open Source

Many of the committers have experience working in one or more open
source projects including Apache Geronimo, Felix, ServiceMix, OpenEJB,
and CXF.

Homogeneous Developers

The list of initial committers, geographically distributed across the
U.S. and Europe, consists of developers from two companies - IBM and
Progress software - with similar goals but for different scenarios.
Many of these developers are experienced Apache committers already and
all are experienced with working in distributed development
communities. It is our hope that, through the incubator, further
contributors with a broad background of experience but common interest
in enterprise OSGi technologies will become involved with this
project.

Relationships with Other Apache Projects

Aries will have a potential relationship with the Apache projects
listed in this section. These projects all serve different purposes
from Aries and have their own communities. It is hoped that each of
these communities will become involved with Aries and help to build a
diverse but independent Aries community.

Apache Felix Karaf -
http://felix.apache.org/site/apache-felix-karaf.html Apache Felix
Karaf is an OSGi based runtime which provides a lightweight container
onto which various components and applications can be deployed. It is
related to Aries:

  1. as a target OSGi based runtime to which Aries applications can
be deployed. In this role, Karaf is a consumer of Aries technology.

Apache Felix - http://felix.apache.org/site/index.html Apache
Felix is primarily a core OSGi framework implementation. It is related
to Aries:

  1. as an underlying OSGi framework implementation and potentially
other extensions that can be used both by Aries run-time components
and the applications which use them.

Apache Geronimo - http://geronimo.apache.org/ Apache Geronimo is
a server runtime framework and fully certified Java EE 5 application
server runtime. It is related to Aries in two ways:

  1. as a target runtime to which Aries applications can be deployed.
In this role, Geronimo is a consumer of Aries technology.
  2. the Geronimo blueprint sandbox -
http://svn.apache.org/repos/asf/geronimo/sandbox/blueprint/ - contains
an implementation of the OSGi Blueprint container which will be moved
to Aries.

Apache Tuscany - http://tuscany.apache.org/ Apache Tuscany
provides a comprehensive infrastructure for SOA development and
management that is based on Service Component Architecture (SCA)
standard. It can be a consumer of Aries technology to provide an Aries
SCA implementation type for composing Aries applications in coarse
grained and potentially heterogeneous service assemblies.

Apache CXF - http://cxf.apache.org/ Apache CXF provides a Java
Web Services framework for distributed computing and remote service
realization and invocation using API's such as JAX-WS and JAX-RS. It
also provides the OSGi Remote Services (OSGi RFC 119) reference
implementation in a subproject:
http://cxf.apache.org/distributed-osgi.html. It is related to Aries in
the following way:

  1. As Remote Services is a significant Enterprise specification
being produced by the EEG, it is expected that consumers of Aries will
be looking for an implementation of this specification. CXF provides
an implementation of this specification which already has a
significant active community. The Aries project will make it easy for
Aries consumers to consume the CXF Remote Services implementation,
possibly by providing an instance of the application model that
references the CXF Remote Services implementation. This would mean
that end users will seamlessly pull in the required components from
CXF by using the Aries-provided definition.

Apache ServiceMix - http://servicemix.apache.org/ Apache
ServiceMix provides an ESB that combines the functionality of a
Service Oriented Architecture (SOA) and Event Driven Architecture
(EDA) to create an agile ESB. ServiceMix runs on OSGi and was the
source of the Apache Felix Karaf runtime. It can be a consumer of
Aries applications and associated componentry as a natural evolution
of its existing Karaf "feature" usage.

Apache OpenJPA - http://openjpa.apache.org/ Apache OpenJPA is a
Java persistence project. It is related to Aries as a JPA persistence
provider, including entity scanning and enhancement. The Aries project
will make it easy for JPA persistence providers such as OpenJPA to be
used in an OSGi environment and will provide container managed
persistence for the Blueprint container.

Documentation

An early draft of OSGi v4.2 core and compendium specifications - which
includes the Blueprint container specification - is available at:
http://www.osgi.org/download/osgi-4.2-early-draft3.pdf
Initial Source

   * The Blueprint container impl from the Geronimo sandbox will be
moved to the Aries project for further development:
http://svn.apache.org/repos/asf/geronimo/sandbox/blueprint
   * IBM will also contribute code for:
         o container-managed JPA support in an OSGi environment.
         o making OSGi services visible to Java EE components through JNDI.
         o packaging web components as bundles and a URL handler for
recognizing and converting non-bundled Web components
   * We will also be soliciting implementations of other OSGi
enterprise application-centric specifications.

External Dependencies

   * Apache Ant http://ant.apache.org Apache License
   * Apache Commons http://commons.apache.org Apache License
   * Junit (Java unit test framework) http://junit.sourceforge.net CPL
v1.0 license: http://junit.sourceforge.net/cpl-v10.html
   * Apache Felix (implementation of the OSGi Core and Compendium
specifications - compliance level unknown) http://felix.apache.org
Apache License (hosted by ASF).
   * Eclipse Equinox (compliant implementation of the OSGi Core
Specification and Compendium specifications)
http://eclipse.org/equinox/ Eclipse Public License
   * OpenJPA http://openjpa.apache.org Apache License
   * Serp http://serp.sourceforge.net/ BSD
   * Apache Geronimo http://geronimo.apache.org Apache License

Required Resources
Mailing lists

aries-private (with moderated subscriptions)
aries-dev
aries-commits
aries-user

Subversion Directory

http://svn.apache.org/repos/asf/incubator/aries

Issue Tracking

JIRA (ARIES)

Web Site

Confluence (Aries)

Initial Committers

Names of initial committers with affiliation and current ASF status:

   * Alasdair Nottingham (IBM)
   * Andrew Osborne (IBM)
   * Dan Kulp (Progress, ASF member)
   * David Bosschaert (Progress, ASF committer)
   * David Jencks (IBM, ASF member)
   * Eoghan Glynn (Progress, ASF committer)
   * Graham Charters (IBM)
   * Guillaume Nodet (Progress, ASF member)
   * Hiram Chirino (Progress, ASF member)
   * Ian Robinson (IBM)
   * James Strachan (Progress, ASF member)
   * Jarek Gawor (IBM, ASF member)
   * Jeremy Hughes (IBM, ASF committer)
   * Joe Bohn (IBM, ASF committer)
   * Lin Sun (IBM, ASF committer)
   * Mark Nuttall (IBM)
   * Oisin Hurley (Progress)
   * Rick McGuire (IBM, ASF committer)
   * Sergey Beryozkin (Progress, ASF committer),
   * Timothy Ward (IBM)
   * Valentin Mahrwald (IBM)
   * Zoe Slattery (IBM)

Affiliations

The majority of the initial committers are employed by IBM corp or
Progress Software. One objective of the incubator is to attract a
diverse community of contributors and we anticipate future
contributors to have other affiliations.

Sponsors
Champions

Kevan Miller, Guillaume Nodet

Nominated Mentors

Guillaume Nodet, Davanum Srinivas (Dims)

Sponsoring Entity

The incubator. Successful graduation from Incubator should result in
Aries becoming a new TLP.

---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
For additional commands, e-mail: general-help@incubator.apache.org




-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Mime
View raw message