Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 97864 invoked from network); 1 Sep 2009 14:39:23 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 1 Sep 2009 14:39:23 -0000 Received: (qmail 40950 invoked by uid 500); 1 Sep 2009 14:39:22 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 40758 invoked by uid 500); 1 Sep 2009 14:39:21 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 40748 invoked by uid 99); 1 Sep 2009 14:39:21 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Sep 2009 14:39:21 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jpjhughes@gmail.com designates 209.85.220.224 as permitted sender) Received: from [209.85.220.224] (HELO mail-fx0-f224.google.com) (209.85.220.224) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Sep 2009 14:39:11 +0000 Received: by fxm24 with SMTP id 24so60812fxm.12 for ; Tue, 01 Sep 2009 07:38:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to :content-type:content-transfer-encoding; bh=PS4Um7Dz80b8MyYJSFZqNpQ4WpyQ91ltPMgIFWNZlok=; b=achkUAtvZJaNH6JHshsunBeya/9jGOnC7/wUsBDDfVCeAZqoOtQ3vj695WlYEh9LG2 5e83PK6wteY8gL30LLuSdMVOJryRxOudHt/su2tLqe6g8JDatAMtjIwZb65NuoEvsvoE SGHtt3LAK7BECGP06lk/UPwlcN60mPEgnQ3rk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type :content-transfer-encoding; b=T8K3M/3FImpJdeD7jjPeC1xpEzknzKrFfzlvuAJeLrfy1/aIQRNjwhcwjYhhMgV8kC 9ELgKqF0ZxYRwS3P508MttEXUxf1/diEt+QsXYE3H0PD97b7TJcnBAGdamlTS7NDJ/+g qBGFaP+KBfJC4Uc+9WnM9/1FL/CPy3KgpNWzE= MIME-Version: 1.0 Sender: jpjhughes@gmail.com Received: by 10.223.54.23 with SMTP id o23mr2727434fag.72.1251815929620; Tue, 01 Sep 2009 07:38:49 -0700 (PDT) In-Reply-To: References: Date: Tue, 1 Sep 2009 15:38:49 +0100 X-Google-Sender-Auth: 87dae2e0a0ce72a0 Message-ID: Subject: [PROPOSAL] Apache Aries incubator for Enterprise OSGi From: Jeremy Hughes To: general@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on 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: =A0 =A0*=A0isolated enterprise applications composed of multiple, versioned bundles with dynamic lifecycle. =A0 =A0*=A0declarative transactions and security for Blueprint components =A0 =A0*=A0Container-managed JPA for Blueprint components =A0 =A0* Message-driven Blueprint components =A0 =A0*=A0Configuration of resource references in module blueprints. =A0 =A0*=A0Annotation-based Blueprint configuration =A0 =A0*=A0Federation of lookup mechanisms between local JNDI and the OSGi service registry. =A0 =A0*=A0Fully 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: =A0 1.=A0as 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: =A0 1.=A0as 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: =A0 1.=A0as a target runtime to which Aries applications can be deployed. In this role, Geronimo is a consumer of Aries technology. =A0 2.=A0the 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: =A0 1.=A0As 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 =A0 =A0*=A0The 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 =A0 =A0*=A0IBM will also contribute code for: =A0 =A0 =A0 =A0 =A0o=A0container-managed JPA support in an OSGi environment= . =A0 =A0 =A0 =A0 =A0o making OSGi services visible to Java EE components thr= ough JNDI. =A0 =A0 =A0 =A0 =A0o packaging web components as bundles and a URL handler = for recognizing and converting non-bundled Web components =A0 =A0* We will also be soliciting implementations of other OSGi enterprise application-centric specifications. External Dependencies =A0 =A0*=A0Apache Ant http://ant.apache.org Apache License =A0 =A0*=A0Apache Commons http://commons.apache.org Apache License =A0 =A0*=A0Junit (Java unit test framework) http://junit.sourceforge.net CP= L v1.0 license: http://junit.sourceforge.net/cpl-v10.html =A0 =A0* Apache Felix (implementation of the OSGi Core and Compendium specifications - compliance level unknown) http://felix.apache.org Apache License (hosted by ASF). =A0 =A0*=A0Eclipse Equinox (compliant implementation of the OSGi Core Specification and Compendium specifications) http://eclipse.org/equinox/ Eclipse Public License =A0 =A0* OpenJPA http://openjpa.apache.org Apache License =A0 =A0* Serp http://serp.sourceforge.net/ BSD =A0 =A0* 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: =A0 =A0*=A0Alasdair Nottingham (IBM) =A0 =A0*=A0Andrew Osborne (IBM) =A0 =A0*=A0Dan Kulp (Progress, ASF member) =A0 =A0*=A0David Bosschaert (Progress, ASF committer) =A0 =A0*=A0David Jencks (IBM, ASF member) =A0 =A0*=A0Eoghan Glynn (Progress, ASF committer) =A0 =A0*=A0Graham Charters (IBM) =A0 =A0*=A0Guillaume Nodet (Progress, ASF member) =A0 =A0*=A0Hiram Chirino (Progress, ASF member) =A0 =A0*=A0Ian Robinson (IBM) =A0 =A0*=A0James Strachan (Progress, ASF member) =A0 =A0*=A0Jarek Gawor (IBM, ASF member) =A0 =A0*=A0Jeremy Hughes (IBM, ASF committer) =A0 =A0*=A0Joe Bohn (IBM, ASF committer) =A0 =A0*=A0Lin Sun (IBM, ASF committer) =A0 =A0*=A0Mark Nuttall (IBM) =A0 =A0*=A0Oisin Hurley (Progress) =A0 =A0*=A0Rick McGuire (IBM, ASF committer) =A0 =A0*=A0Sergey Beryozkin (Progress, ASF committer), =A0 =A0*=A0Timothy Ward (IBM) =A0 =A0*=A0Valentin Mahrwald (IBM) =A0 =A0*=A0Zoe 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