| <?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' |
| |
| $pageTitle = ""; |
| $pageKeywords = ""; |
| $pageAuthor = ""; |
| |
| ob_start(); |
| ?> |
| <div id="maincontent"> |
| <div id="midcolumn"> |
| |
| <h1>Enterprise Modules Project (Gemini) Proposal</h1> |
| |
| <?php |
| include_once($_SERVER['DOCUMENT_ROOT'] . "/projects/fragments/proposal-page-header.php"); |
| generate_header("Enterprise Modules (Gemini)"); |
| ?> |
| |
| <p>The Enterprise Modules Project is a proposed open source project |
| under the <a |
| href="http://www.eclipse.org/projects/project_summary.php?projectid=rt">Eclipse |
| Runtime Project</a>.</p> |
| |
| <p>This proposal is in the Project Proposal Phase (as defined in the |
| Eclipse Development Process) and is written to declare its intent and |
| scope. We solicit additional participation and input from the Eclipse |
| community. Please send all feedback to the <a |
| href="http://www.eclipse.org/forums/eclipse.gemini">Gemini</a> Eclipse Forum or <a |
| href="news://news.eclipse.org/eclipse.gemini">eclipse.gemini</a> newsgroup.</p> |
| |
| <h2>Introduction</h2> |
| |
| <p>This proposal recommends the creation of a new project called |
| "Enterprise Modules", nicknamed Gemini, to provide a home for |
| subprojects that integrate existing Java enterprise technologies into |
| module-based platforms, and/or that implement enterprise specifications |
| on module-based platforms. Gemini will be a parent ("container project" |
| as defined by the Eclipse Development Process) for several subprojects |
| ("operating projects" as defined by the Eclipse Development Process) |
| that provide the specific implementations/integrations. Gemini will |
| itself be a subproject of the Eclipse Runtime Project and will strive to |
| leverage functionality of existing projects. We encourage and request |
| additional participation and input from any and all interested parties |
| in the Eclipse community.</p> |
| |
| <h2>Background</h2> |
| |
| <p>Enterprise applications are often complex, involving multiple layers |
| and many actors. Even though every application has a different purpose |
| and usage, there are a number of features and behavioral requirements in |
| the underlying infrastructure that are common among many of those |
| seemingly dissimilar applications. For a long time, not only did |
| developers need to create the vertical business logic of the |
| application, but they also had to create the platform plumbing on which |
| the application could run. Enterprise Java standards made great strides |
| in defining specifications describing how these layers could be |
| implemented, exported and used. They have since become the assumed and |
| ubiquitous underpinnings of the majority of enterprise Java systems.</p> |
| |
| <p>OSGi started as a technology to enable embedded devices and |
| appliances to operate and communicate through services in dynamic |
| environments. The devices could come online and offline, were decoupled |
| from each other, and had independent life cycles. The framework that |
| emerged to host and support these features turned out to be beneficial |
| to other applications and software layers as well. Recently, OSGi and |
| the module-based design principles that it espouses and promotes, have |
| begun gaining popularity amongst enterprise developers as well. The |
| natural evolution was to start creating standards for integrating |
| popular enterprise technologies in module-based systems, and then |
| provide implementations for consumption by the general population.</p> |
| |
| <h2>Scope</h2> |
| |
| <p>The scope of the Gemini project is two-fold:</p> |
| <ul> |
| <li>Integration of existing Java enterprise technologies into |
| module-based platforms; and</li> |
| <li>Implementation of enterprise specifications for module-based |
| platforms</li> |
| </ul> |
| |
| <p>The project focuses on standards developed by the OSGi |
| Enterprise Expert Group. It may later extend to include technology and |
| standards for other module-based systems. Modularity within a |
| standardised component framework is the key binding principle of Gemini |
| projects.</p> |
| |
| <p>The project is not concerned with creating new enterprise standards, |
| nor with creating a new variety of full-featured enterprise container.</p> |
| |
| <h2>Description</h2> |
| |
| <p>The primary goal of the Gemini project is to provide access to |
| standard enterprise technology implementations within a modular |
| framework. The OSGi Alliance has developed specifications for the |
| application and usage of many of the enterprise technologies within |
| OSGi. These specifications describe how vendors should implement and |
| interoperate with existing services, and how the OSGi modularity, life |
| cycle, and service models should be applied with respect to those |
| technologies. Gemini will provide implementations of many of these |
| specifications, including:</p> |
| |
| <ul> |
| <li>RFC 66 — Web Container</li> |
| <li>RFC 98 — Transactions</li> |
| <li>RFC 122 — Database Access</li> |
| <li>RFC 124 — Blueprint Services</li> |
| <li>RFC 139 — JMX Integration</li> |
| <li>RFC 142 — JNDI Integration</li> |
| <li>RFC 143 — JPA Integration</li> |
| <li>RFC 146 — JCA Connector Integration</li> |
| </ul> |
| |
| <p>Each of the specifications will be hosted as a separate operating |
| project within the Gemini parent project. The scope for each of these |
| projects is limited to providing an implementation of the corresponding |
| specification and integration with related technology. Each operating |
| project will have its own separate leadership, committers, build |
| process, release schedule, developer mailing list, and community |
| newsgroups/forums. Subprojects may individually opt to participate in |
| the annual release train. They may be released separately or together, |
| and will for the most part be executable individually or as part of a |
| group.</p> |
| |
| <p>Each subproject may evolve or be developed as the community, and |
| those involved with the project, see fit. However, each will continue to |
| share the Gemini prime directive -- the provision of existing |
| enterprise-level standards on a modular framework.</p> |
| |
| <h2>Requirements</h2> |
| |
| <p>The project will deliver standalone implementations of the RFCs where |
| possible. In most cases the implementation will be the actual OSGi |
| Reference Implementation for the specification it implements.</p> |
| |
| <p>The implementations will be consumable as "modules" (or |
| OSGi bundles), installable on one or more frameworks. They will be |
| largely independent of each other, or they may be combined to provide a |
| suite of services for use in an existing enterprise platform. |
| |
| <p>Project teams will strive to openly and transparently collaborate |
| with other Eclipse projects doing related work. Where overlap between |
| projects occur, Gemini subproject committers will work to either (a) |
| resolve the overlap to mutual benefit, or (b) make clear for the |
| community the distinctions between the corresponding projects. Gemini |
| subprojects will leverage existing Eclipse technology as appropriate.</p> |
| |
| <h2>Committers</h2> |
| |
| |
| <p>Multiple companies have agreed to be cooperative committers on this |
| project at the outset. These companies are agreeing to initially |
| contribute IP and continue to add to and maintain this IP as the project |
| develops. The companies that have signed up to commit are:</p> |
| |
| <ul> |
| <li>Oracle</li> |
| <li>SpringSource (VMware)</li> |
| </ul> |
| |
| <p>The following individuals are committers to the project:</p> |
| |
| <ul> |
| <li>Adrian Colyer — SpringSource</li> |
| |
| <li>Andy Piper — Oracle</li> |
| |
| <li>Andy Wilkinson — SpringSource</li> |
| |
| <li>Ben Hale — SpringSource</li> |
| |
| <li>Bob Nettleton — Oracle</li> |
| |
| <li>Bryan Atsatt — Oracle</li> |
| |
| <li>Christopher Frost — SpringSource</li> |
| |
| <li>Costin Leau — SpringSource</li> |
| |
| <li>Doug Clarke — Oracle</li> |
| |
| <li>Glyn Normington — SpringSource</li> |
| |
| <li>Gordon Yorke — Oracle</li> |
| |
| <li>Hal Hildebrand — Oracle</li> |
| |
| <li>J.J. Snyder — Oracle</li> |
| |
| <li>Jeff Trent — Oracle</li> |
| |
| <li>Mike Keith — Oracle (Project lead)</li> |
| |
| <li>Peter Krogh — Oracle</li> |
| |
| <li>Rob Harrop — SpringSource</li> |
| |
| <li>Shaun Smith — Oracle</li> |
| |
| <li>Steve Powell — SpringSource</li> |
| |
| <li>Tom Ware — Oracle</li> |
| </ul> |
| |
| <h2>Initial Contributions</h2> |
| |
| <p>The subprojects will be created with the following initial IP |
| components and donating companies:</p> |
| |
| <ul> |
| <li>Blueprint Service Implementation — SpringSource</li> |
| <li>Web Container Integration code — SpringSource</li> |
| <li>JPA Integration code for EclipseLink — Oracle</li> |
| <li>Implementation of JMX Mbeans and composite data types — |
| Oracle</li> |
| <li>Derby JDBC Service Implementation — Oracle</li> |
| <li>JNDI Service Integration code — Oracle</li> |
| </ul> |
| |
| <h2>Mentors</h2> |
| |
| <p>The following Architecture Council members will mentor this project.</p> |
| |
| <ul> |
| <li>Wayne Beaton</li> |
| <li>Adrian Colyer</li> |
| <li>Doug Clarke</li> |
| </ul> |
| |
| <h2>Interested Parties</h2> |
| |
| <p>The following projects or companies have expressed an interest in |
| this project:</p> |
| |
| <ul> |
| <li>EclipseLink</li> |
| |
| <li>EclipseSource</li> |
| |
| <li>Eclipse Communication Framework (ECF)</li> |
| |
| <li>Equinox</li> |
| |
| <li>Swordfish</li> |
| |
| <li>SAP</li> |
| |
| <li>Red Hat</li> |
| |
| <li>SOPERA</li> |
| |
| <li>Infor</li> |
| |
| <li>Werner Keil</li> |
| </ul> |
| |
| <p>We also believe that there will be some opportunities to collaborate |
| with the Jetty project.</p> |
| |
| <h2>Project Scheduling</h2> |
| |
| <p>The first milestone will be to get the IP code contributions accepted |
| and approved and the project provisioned. Once it is active, we expect |
| the project to progress and evolve according to the expectations of its |
| developers and users. The release schedule will align with the |
| development and availability of the coincident OSGi specifications.</p> |
| |
| <h2>Changes to this document</h2> |
| |
| <p>23-Nov-2009: Changed wording (but not meaning) in the scope section.</p> |
| |
| </div> |
| </div> |
| <?php |
| $html = ob_get_contents(); |
| ob_end_clean(); |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |