<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<head>

<style>
BODY, P, DIV, H1, H2, H3, H4, H5, H6, ADDRESS, OL, UL, TITLE, TD, OPTION, SELECT {
 font-family: Arial;
 
}

BODY, P, DIV, ADDRESS, OL, UL, LI, TITLE, TD, OPTION, SELECT {  
  font-size: 12.0pt;
  margin-top:0pt;  
  margin-bottom:0pt;  
} 

BODY, P {
  margin-left:0pt; 
  margin-right:0pt;
}

BODY {
  line-height: ;
  background: white;
  margin: 6px;
  padding: 0px;
}

h6 { font-size: 10pt }
h5 { font-size: 11pt }
h4 { font-size: 12pt }
h3 { font-size: 13pt }
h2 { font-size: 14pt }
h1 { font-size: 16pt }

blockquote {padding: 10px; border: 1px #DDDDDD dashed }

a img {border: 0}

</style>




</head>


<body revision="dgdsqc2h_15gpm2ds:1431">

<div style=FONT-FAMILY:Arial>
</div>
<h1>
  Eclipse Persistence Services Project
</h1>
<h2>
  Creation Review
</h2>
<div style=MARGIN-LEFT:40px>
  <span style=FONT-WEIGHT:bold>Contents:</span>
</div>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <ol style=MARGIN-LEFT:40px>
    <li style=FONT-FAMILY:Arial>
      <font size=3>Introduction </font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Scope </span></font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Out of Scope</span> </font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Code Contribution</span>
      </font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Mentors</span> </font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Initial Participants</span>
      </font>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Community Support</span>
      </font>
    </li>
    <li style=FONT-FAMILY:Arial>
      <font size=3>Roadmap</font>
    </li>
  </ol>
</div>
<h2 style=FONT-FAMILY:Arial>
  1. Introduction
</h2>
<p style=FONT-FAMILY:Arial>
  <font size=3>The <span style=TEXT-DECORATION:underline>Eclipse Persistence
  Services Project</span> (EclipseLink) incubator project's goal is
  to&nbsp;provide an extensible framework that will enable Java developers to
  interact with relational databases, XML, and Enterprise Information Systems
  (EIS). EclipseLink will provide support for a number of persistence standards
  including the Java Persistence API (JPA), Java API for XML Binding (JAXB),
  Java Connector Architecture (JCA), and Service Data Objects (SDO).</font><br>
</p>
<h3 style=FONT-FAMILY:Arial>
  1.1. Project Naming
</h3>
<br style=FONT-FAMILY:Arial>
<div align=center style=FONT-FAMILY:Arial>
  <table border=0 cellpadding=3 cellspacing=3>
    <tbody>
    <tr>
      <td align=right width=50%>
        <span style=FONT-WEIGHT:bold>Descriptive Name:</span>
      </td>
      <td>
        Eclipse
        <span style="FONT-WEIGHT:bold; TEXT-DECORATION:underline">Persistence
        Services</span> Project
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; TEXT-ALIGN:right">
        <span style=FONT-WEIGHT:bold>Acronym:</span>
      </td>
      <td style=VERTICAL-ALIGN:top>
        EPS<br>
      </td>
    </tr>
    <tr>
      <td align=right width=50%>
        <span style=FONT-WEIGHT:bold>Nickname:</span>
      </td>
      <td>
        EclipseLink
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; TEXT-ALIGN:right">
        <span style=FONT-WEIGHT:bold>URL:</span>
      </td>
      <td style=VERTICAL-ALIGN:top>
        www.eclipse.org/eps<br>
      </td>
    </tr>
    <tr>
      <td align=right style=VERTICAL-ALIGN:top>
        <span style=FONT-WEIGHT:bold>Root Package:</span>
      </td>
      <td style=VERTICAL-ALIGN:top>
        org.eclipse.persistence<br>
      </td>
    </tr>
    <tr>
      <td align=right style=VERTICAL-ALIGN:top>
        <span style=FONT-WEIGHT:bold>Newsgroup:</span><br>
      </td>
      <td style=VERTICAL-ALIGN:top>
        eclipse.technology.eps<br>
      </td>
    </tr>
    <tr>
      <td align=right style=VERTICAL-ALIGN:top>
        <span style=FONT-WEIGHT:bold>Mailing list:</span><br>
      </td>
      <td style=VERTICAL-ALIGN:top>
        eps-dev@eclipse.org<br>
      </td>
    </tr>
    </tbody>
  </table>
</div>
<h3 style=FONT-FAMILY:Arial>
  1.2. Links
</h3>
<ul style=FONT-FAMILY:Arial>
  <li>
    <font size=3>Creation Review Comments/Votes:
    </font><a href=https://bugs.eclipse.org/bugs/show_bug.cgi?id=188722>https://bugs.eclipse.org/bugs/show_bug.cgi?id=188722</a>
  </li>
  <li>
    <font size=3>Project Proposal:
    http://www.eclipse.org/proposals/eclipselink/</font>
  </li>
</ul>
<h2 style=FONT-FAMILY:Arial>
  2. Scope&nbsp;
</h2>
<font size=3 style=FONT-FAMILY:Arial>This project will provide
</font><font size=3 style=FONT-FAMILY:Arial>persistence services in
</font><font size=2 style=FONT-FAMILY:Arial><font size=3>an extensible framework
focusing on performance, productivity, and flexibility. Delivering these
services in a standards based approach will also offer consumers the greatest
flexibility and enable greater integration potential. The following persistence
services and functional areas are defined to be within the initial scope of this
project:</font><br>
</font>
<h3 style=FONT-FAMILY:Arial>
  2.1. Object-Relational<br>
</h3>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <p>
    <font size=3 style=FONT-FAMILY:Arial>The Object-Relational Mapping (ORM)
    service with support for the Java Persistence API (JPA) enables mapping a
    Java domain model to a relational schema using metadata provided in XML
    and/or annotations. Applications using this service will have access to the
    mapping, query framework, transaction support, object caching (including
    clustering support), </font><font size=3 style=FONT-FAMILY:Arial>advanced
    database specific capabilities, and many performance tuning and management
    options</font><font size=2><font size=3>. Each of these functional areas are
    flexible and extensible to address complex application requirements.
    </font><br>
    </font>
  </p>
</div>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h3 style=FONT-FAMILY:Arial>
  2.2. <font size=-0><strong>Object-XML</strong></font><br>
  <font size=-0><strong></strong></font>
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>The Object-XML Mapping (OXM) service with support for Java
  Architecture for XML Binding (JAXB) enables mapping of a Java domain model to
  an XML Schema (XSD) </font><font size=3 style=FONT-FAMILY:Arial>using metadata
  provided in XML and/or annotations. This service supports the generation of
  mappings and XSD from an annotated model,
  </font><font size=3 style=FONT-FAMILY:Arial>generation of
  </font><font size=3 style=FONT-FAMILY:Arial>the domain model and mapping from
  a provided XSD, or meet-in-the-middle mapping with a provided domain model and
  XSD. The application interface enables the efficient marshalling of the domain
  model objects into an XML document and un-marshalling of XML documents into
  domain model objects via DOM or SAX.<br>
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3 style=FONT-FAMILY:Arial><br>
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=2 style=FONT-FAMILY:Arial><font size=3>This service also provides
  the necessary infrastructure for other services leveraging XML
  binding.</font><br>
  </font>
</p>
<h3 style=FONT-FAMILY:Arial>
  2.3. <font size=-0><strong><font size=-0><strong>Service Data Objects
  (SDO)</strong></font></strong></font>
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>A </font><font size=3>Service Data Object (SDO) implementation
  will be provided. Developers will be able to generate dynamic and static SDO
  models from an XSD and use these within their application. In addition to the
  XML binding capabilities defined in the specification additional flexibility
  is provided by the Object-XML service. This approach provides a solution for
  applications requiring less coupling to the data structures being accessed and
  modified. Support for wrapping a Java object (i.e. JPA entity) within a
  DataObject will be provided to enable the usage of existing domain models with
  SDO.<br>
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3><br>
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3 style=FONT-FAMILY:Arial>A Data Access Service (DAS) will be
  provided that brings together the Java Persistence API (JPA) with
  SDO.</font><br>
</p>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h3 style=FONT-FAMILY:Arial>
  2.4. <font size=-0><strong>Database Web Services (DBWS)</strong></font><br>
  <font size=-0></font>
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=-0>This service will provide a simple and declarative solution for
  defining and generating a Web service exposing database
  operations.<font size=3> Using the core Object-Relational and Object-XML
  capabilities, consumers can leverage default XML representations of their
  relational data or completely customize the shape of their XML documents.
  </font><br>
  </font>
</p>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h3 style=FONT-FAMILY:Arial>
  2.5. <font size=-0 style=FONT-FAMILY:Arial><strong>Enterprise Information
  Systems (EIS)</strong></font>
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <p style=FONT-FAMILY:Arial>
    <font size=3>The EIS persistence service enables the usage of data stores
    through </font><font size=3>Java Connector Architecture (JCA)
    </font><font size=3>resource adapters. Using XML metadata the interactions
    and their exchanged data are configured and mapped onto a domain model. The
    interactions data can be mapped from either the Common Client interface
    (CCI) or using XML schemas. This usage is intended for non-relational data
    stores where no JDBC or SQL access is provided.</font>
  </p>
  <p>
    &nbsp;
  </p>
</div>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h3 style=FONT-FAMILY:Arial>
  2.6. Ant Tasks and Scripts
</h3>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>Ant tasks and other scripts to automate schema and/or code
  compilation/generation and runtime artifact generation are in scope. For
  example, Ant tasks or scripts to automate both JAXB and SDO schema compilation
  and schema generation. These Ant tasks or scripts will simplify adoption by
  making it easy to incorporate EclipseLink into project build processes.</font>
</p>
<h3 style=FONT-FAMILY:Arial>
  2.7. OSGi<br>
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>Guidelines will be developed in conjunction with the expert group
  for persistence usage within OSGi-based applications to access all types of
  enterprise data through existing standard APIs. The combination of
  standardized persistence with the OSGi services framework will bring increased
  portability and improved modularity to applications and confirm the value
  proposition of merging these two technologies.</font>
</p>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h1 style=FONT-FAMILY:Arial>
</h1>
<h3 style=FONT-FAMILY:Arial>
  2.8. <span style=FONT-WEIGHT:bold>Extensibility</span>
</h3>
<h1 style=FONT-FAMILY:Arial>
</h1>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>The existing initial code base provides many extensibility points
  and pluggable policies.&nbsp; One of the goals of this project will be to
  continue to expose this extensibility as well as expose OSGi extension points.<br>
  <br>
  Examples of extensions that can be built on top of this project or integrated
  into it include:<br>
  <br>
  </font>
  <ul>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Adding support for additional
      data sources</span> </font>
      <ul>
        <li>
          <font size=3><span style=FONT-FAMILY:Arial>Relation Database Platforms
          (SQL dialect, stored procedures, custom operators, and custom data
          types)</span> </font>
        </li>
        <li>
          <font size=3><span style=FONT-FAMILY:Arial>EIS adapters</span><br>
          </font>
        </li>
      </ul>
    </li>
    <li>
      <font size=3><span style=FONT-FAMILY:Arial>Adding support for additional
      containers</span> </font>
    </li>
    <li>
      <font size=3 style=FONT-FAMILY:Arial>Adding additional data services and
      standards implementations</font><br>
    </li>
  </ul>
</div>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</div>
<h2 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
</h2>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h2 style=FONT-FAMILY:Arial>
  3. Out of Scope
</h2>
<h2 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
  <font size=3>The following items are not currently planned as part of the
  initial EclipseLink project:</font>
</h2>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h2 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
</h2>
<h3 style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h2 style=FONT-FAMILY:Arial>
</h2>
<h3 style="FONT-WEIGHT:normal; MARGIN-LEFT:40px; FONT-FAMILY:Arial">
</h3>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h3 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
</h3>
<h3 style=FONT-FAMILY:Arial>
  3.1. Design Time Tools
</h3>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h3 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
</h3>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>This </font><font size=2><font size=3>is a runtime project and
  will not include any graphical design time tooling. The project team will work
  with other Eclipse projects to facilitate the delivery of the&nbsp; design
  time functionality.</font><br>
  </font>
</p>
<h3 style=FONT-FAMILY:Arial>
  3.2. EJB 2 CMP and BMP
</h3>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3>This project will deliver persistence services that can be used
  within any Java EE or SE container. Therefore Enterprise Java Beans (EJB)
  Container Managed Persistence (CMP) and Bean Managed Persistence (BMP) support
  is not within scope.</font><br>
</div>
<h3 style=FONT-FAMILY:Arial>
</h3>
<h3 style="FONT-WEIGHT:normal; FONT-FAMILY:Arial">
</h3>
<h2 style=FONT-FAMILY:Arial>
  4. Code Contribution
</h2>
<h2 style=FONT-FAMILY:Arial>
</h2>
<div style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3 style=FONT-FAMILY:Arial>This project will be seeded with an
  initial code contribution based on the Oracle TopLink
  11<span style=FONT-STYLE:italic>g</span> code stream. The functionality is
  already publicly available in a technology preview
  (</font><font size=3 style=FONT-FAMILY:Arial><a href=http://www.oracle.com/technology/products/ias/toplink/preview/index.html target=_blank title="Oracle TopLink 11g Preview">available
  here</a></font><font size=3 style=FONT-FAMILY:Arial>). Following this initial
  contribution this project will operate with no implied or explicit
  dependencies on the Oracle TopLink product. </font><font size=3><br>
  </font>
</div>
<font size=3 style=FONT-FAMILY:Arial><br>
</font>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial; TEXT-ALIGN:center">
  &nbsp;
</p>
<div style="FONT-FAMILY:Arial; TEXT-ALIGN:center">
  <table bgcolor=#ffffcc border=1 cellpadding=3 cellspacing=0 style="MARGIN-LEFT:auto; MARGIN-RIGHT:auto; TEXT-ALIGN:left" width=75%>
    <tbody>
    <tr>
      <td width=100%>
        <font size=3>During the proposal feedback process there were many
        questions from existing Oracle TopLink and TopLink Essentials users
        concerning what functionality of Oracle TopLink would be contributed to
        this project. The intent is to contribute all functionality from the
        current development stream that falls within the scope defined in this
        document.<br>
        <br>
        <span style=FONT-STYLE:italic>Note: The Oracle TopLink product will use
        and extend the output of this project only for the purposes of better
        supporting the usage of EclipseLink within the Oracle Application Server
        and SOA Suite. </span><br>
        <br>
        For clarity purposes the following functionality will not be contributed
        to this project:<br>
        </font>
        <ul>
          <li>
            <font size=3>Graphical user interfaces (Mapping Workbench)</font>
          </li>
          <li>
            <font size=3>EJB 2.1 CMP and BMP support</font>
          </li>
          <li>
            <font size=3>OracleAS specific integration support which require
            binary dependencies</font>
          </li>
          <li>
            <font size=3>Current DBWS functionality<br>
            </font>
          </li>
          <li>
            <font size=3>Any deprecated functionality</font><br>
          </li>
        </ul>
      </td>
    </tr>
    </tbody>
  </table>
</div>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial; TEXT-ALIGN:center">
  &nbsp;
</p>
<br style=FONT-FAMILY:Arial>
<h2 style=FONT-FAMILY:Arial>
  5. Mentors
</h2>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3><span style=FONT-WEIGHT:bold>Neil Hauge</span> (Oracle
  Corporation), Project Lead for Eclipse Dali and WTP&nbsp;PMC Member&nbsp;
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3><br>
  </font>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  <font size=3><span style=FONT-WEIGHT:bold>Wayne Beaton</span> (Eclipse
  Foundation), PMC member for Technology project</font><br>
</p>
<p style="MARGIN-LEFT:40px; FONT-FAMILY:Arial">
  &nbsp;
</p>
<h2 style=FONT-FAMILY:Arial>
  6. Initial Participants
</h2>
<p style=FONT-FAMILY:Arial>
  <font size=3><span style=BACKGROUND-COLOR:#ff0000><span style=BACKGROUND-COLOR:#ffffff>Along
  </span></span><span style=BACKGROUND-COLOR:#ffffff>w</span>ith the initial
  code contribution for EclipseLink, Oracle is committed to providing the
  necessary resources required to ensure that EclipseLink is a viable and active
  project.&nbsp; Other participants are welcome and being actively sought.&nbsp;
  It is hoped that committers from many of the interested parties will join the
  project during incubation as they participate in the EclipseLink community and
  begin to adopt the various EclipseLink services in their products and
  projects. </font>
</p>
<font size=3 style=FONT-FAMILY:Arial><br>
</font>
<div style=FONT-FAMILY:Arial>
  <table border=1 cellpadding=3 cellspacing=0>
    <tbody>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Peter Krogh, Oracle<br>
        </font>
      </td>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Co-Project Lead, Committer<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Peter is currently the development manager for Oracle
        TopLink focussing on object-relational persistence and JPA.&nbsp; Peter
        has a long history with TopLink in both&nbsp;development management and
        core development. Peter is also a committer on TopLink Essentials.
        </font>
      </td>
    </tr>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Douglas Clarke, Oracle </font>
      </td>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Co-Project Lead, Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Currently the product manager for Oracle TopLink with a
        focus on requirements gathering and prioritization. Doug has a long
        history with object-relational persistence and TopLink in both product
        development and customer consulting and has driven many of the advanced
        extensions to the framework.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Shaun Smith, Oracle </font>
      </td>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Ecosystem Development, Committer<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Shaun is a product manager for Oracle TopLink focussing on
        the Object-XML (JAXB) and SDO persistence services. Shaun has a
        background in consulting using TopLink. Shaun is also the co-lead for
        the Eclipse Dali project and is a committer on the EMFT Teneo project.
        </font>
      </td>
    </tr>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3>David Twelves, Oracle </font>
      </td>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>David is a development manager for Oracle TopLink,
        focussing on Object-XML related components including JAXB, SDO, EIS, and
        DBWS.&nbsp; He also leads initiatives targetting improvements to
        performance.<span style=BACKGROUND-COLOR:#ffff33></span><br>
        </font>
      </td>
    </tr>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Mike Keith, Oracle </font>
      </td>
      <td style=FONT-FAMILY:Arial>
        <font size=3>Committer, Architecture Council<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Mike is an architect for Oracle TopLink and Java EE
        5.&nbsp; He is also the co-specification lead of EJB 3.0 and a member of
        the Java EE 5 expert group. Mike will have a principal role with the
        architecture council ensuring consistency across persistence services as
        well as integration into other Eclipse and non-Eclipse technologies.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Gordon Yorke, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Gordon is a developer and technical lead on Oracle TopLink
        and TopLink Essentials (GlassFish). Gordon's development focus is on the
        core object-relational persistence and JPA implementation.&nbsp; Gordon
        is the primary developer responsible for the transaction framework.
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Tom Ware, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Tom is a developer on Oracle TopLink, and project lead on
        TopLink Essentials.&nbsp; Tom focusses on the core object-relational
        persistence and JPA implementation. Tom is the primary developer
        responsible for JPA deployment. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Blaise Doughan, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Blaise is the team lead and technical architect for
        Object-XML related components.&nbsp; He is a member of the SDO and JAXB
        specification expert groups and has focussed his efforts to ensure that
        TopLink is compliant in these areas. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>James Sutherland, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>James is a lead architect for the TopLink product and has
        a&nbsp; long history of development on this product.&nbsp; He is
        responsible for overseeing and reviewing all architectural
        changes.&nbsp; He is currently the primary developer for analysing and
        implementing a wide range of performance improvements. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Mike Norman, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer, Architecture Council </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Mike is the lead architect for the new TopLink DBWS
        functionality.&nbsp; He has a long history with TopLink, previously
        working on customer engagements in a consultancy role before moving to
        development.<span style=BACKGROUND-COLOR:#ffff66></span><br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Andrei Ilitchev, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Andrei is a developer on Oracle TopLink and committer on
        TopLink Essentials. Andrei is the primary developer responsible for the
        query framework. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Guy Pelletier, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Guy is a developer on Oracle TopLink and committer on
        TopLink Essentials. Guy is the primary developer responsible&nbsp;for
        the object-relational and JPA metadata.&nbsp; </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Chris Delahunt, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Chris is a developer on Oracle TopLink and committer on
        TopLink Essentials. Chris is the primary developer responsible for the
        object building life cycle. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Kyle Chen, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Kyle is a developer on Oracle TopLink and committer on
        TopLink Essentials. Kyle is currently focussing on customer reported
        issues addressing functionality and usability. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Denise Smith, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Denise is a developer on Oracle TopLink responsible for
        implementing and delivering an SDO 2.1-compliant product. She is the
        primary developer responsible for handling customer escalations relating
        to SDO.&nbsp; She is also a key contributor to the core OXM component.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Rick Barkhouse, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Rick is a developer for Oracle TopLink and is currently the
        primary developer for delivering the designtime component of the BPEL
        Database adapter, which is built on core TopLink.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Matt MacIvor, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Matt is a developer for Oracle TopLink, responsible for
        delivering a JAXB 2.0-compliant product based on TopLink OXM.&nbsp; He
        owns JAXB 2.0 annotation support and also contributes to the SDO
        component.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>David McCann, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Dave is a developer for Oracle TopLink, responsible for
        delivering a JAXB 2.0-compliant product based on TopLink OXM.&nbsp; He
        also contributes to the SDO component.&nbsp; Dave is the primary
        developer responsible for handling customer issues relating to the
        TopLink EIS component.&nbsp;&nbsp;&nbsp; </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Michael O'Brien, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>Michael is a developer on Oracle TopLink responsible for
        implementing and delivering an SDO 2.1-compliant product.&nbsp; He is
        the primary developer responsible for implementing SDO ChangeSummary.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>David Minsky, Oracle </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial" width=400>
        <font size=3>David is a developer on Oracle TopLink focussing on
        customer reported issues addressing functionality and usabilty. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Peter Purich, Oracle<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Peter is a technical writer for Oracle TopLink who will be
        contributing documentation content for EclipseLink.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Liza Rekadze, Oracle<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Committer </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Liza is a technical writer for Oracle TopLink who will be
        contributing documentation content for EclipseLink. </font>
      </td>
    </tr>
    <tr>
      <td style=VERTICAL-ALIGN:top>
        <font size=3>Rick Sapir, Oracle<br>
        </font>
      </td>
      <td style=VERTICAL-ALIGN:top>
        <font size=3><span style=FONT-FAMILY:Arial>Committer</span> </font>
      </td>
      <td style=VERTICAL-ALIGN:top>
        <font size=3><span style=FONT-FAMILY:Arial>Rick is a technical writer
        for Oracle TopLink who will be contributing documentation content for
        EclipseLink.</span> </font>
      </td>
    </tr>
    </tbody>
  </table>
</div>
<h1>
  7. Community Support
</h1>
<h2 style=FONT-FAMILY:Arial>
</h2>
<p style=FONT-FAMILY:Arial>
  <font size=3>During the proposal phase, many parties, both within the Eclipse
  Ecosystem and without, expressed interest in the proposed EclipseLink project.
  </font>
</p>
<h3 style=FONT-FAMILY:Arial>
  <font size=3>7.1. Eclipse Projects</font>
</h3>
<font size=3 style=FONT-FAMILY:Arial>This project will deliver key persistence
infrastructure that any Eclipse project can use for database persistence, XML
binding, SDO usage, or EIS persistence. The following projects have already been
identified as candidates for consuming/integrating/extending the delivered
technology.<br>
<br>
</font>
<div style=FONT-FAMILY:Arial>
  <table border=1 cellpadding=1 cellspacing=2 class=confluenceTable style="WIDTH:939px; HEIGHT:472px">
    <tbody>
    <tr>
      <td style="FONT-WEIGHT:bold; FONT-FAMILY:Arial">
        <font size=3>Eclipse Project<br>
        </font>
      </td>
      <td style="FONT-WEIGHT:bold; FONT-FAMILY:Arial" width=600>
        <font size=3>Interest<br>
        </font>
      </td>
    </tr>
    <tr>
      <td class=confluenceTd style=FONT-FAMILY:Arial>
        <font size=3><span style=FONT-WEIGHT:bold>EMF Project</span><br>
        Ed Merks (IBM) </font>
      </td>
      <td class=confluenceTd style=FONT-FAMILY:Arial width=600>
        <font size=3>The EMFT
        <a href=http://www.eclipse.org/emft/projects/teneo/ title=Teneo>Teneo</a>
        project provides tools for the generation of object-relational mappings
        targeting both the RedHat(TM)/JBoss(TM) Hibernate(TM) product and JPOX
        JDO.&nbsp; Support for JPA based mapping is not currently available in
        Teneo.&nbsp; Availability of the EclipseLink JPA runtime would allow for
        a complete and standards based persistence solution for EMF 'out of the
        box'.<br>
        <br>
        Currently, the EMFT Teneo project has Shaun Smith (Oracle) and Stephan
        Eberle (Bosch) as committers. They have already built an EMF persistence
        solution using Oracle TopLink and will participate in the contribution
        of the EclipseLink based solution to the EMF project.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style=FONT-FAMILY:Arial>
        <font size=3><span style=FONT-WEIGHT:bold>Maya Project<br>
        </span>(incubation)<span style=FONT-WEIGHT:bold><br>
        </span><br>
        </font>
      </td>
      <td style=FONT-FAMILY:Arial width=600>
        <font size=3>The Maya Project requires a persistence technology to store
        its configuration information in a data store. By leveraging
        EclipseLink, Maya will be able to accomplish this with any relational
        database as well as optionally support XML configuration.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3><span style=FONT-WEIGHT:bold>Dali Project</span><br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>The Dali project provides JPA tooling support within WTP.
        This project is focussed on providing JPA compliant tooling as well as
        enabling vendor extensibility for custom extensions.&nbsp; Specific
        support for EclipseLink will be available as a Dali extension. </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3><span style=FONT-WEIGHT:bold>Equinox Project</span><br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>One of the goals of EclipseLink is the development of a set
        of persistence service patterns for OSGi based applications. The
        EclipseLink project will work with the OSGi expert group to define these
        patterns.<br>
        <br>
        EclipseLink will be an exemplary OSGi runtime framework that should be
        compatible with any compliant OSGi implementation.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3><a href=http://www.eclipse.org/proposals/soa/ style=FONT-WEIGHT:bold target=_blank title="SOA Project">SOA
        Project</a><br>
        (proposed)<span style=FONT-WEIGHT:bold><br>
        </span></font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>The proposed SOA project will provide a runtime framework
        for application developers. This project has some potential intersection
        points with the EclipseLink project concerning SDO, DAS, and general
        persistence and data binding. A discussion has been initiated to delve
        into how these projects may relate.</font><br>
      </td>
    </tr>
    </tbody>
  </table>
  <br>
  <h3>
    7.2. Interested Parties
  </h3>
  <table border=1 cellpadding=1 cellspacing=2 class=confluenceTable>
    <tbody>
    <tr>
      <td class=confluenceTd style="FONT-WEIGHT:bold; FONT-FAMILY:Arial">
        <font size=3>Party<br>
        </font>
      </td>
      <td class=confluenceTd style="FONT-WEIGHT:bold; FONT-FAMILY:Arial" width=600>
        <font size=3>Interest<br>
        </font>
      </td>
    </tr>
    <tr>
      <td class=confluenceTd style=FONT-FAMILY:Arial>
        <font size=3>Genuitec (MyEclipse)<br>
        <br>
        </font>
      </td>
      <td class=confluenceTd style=FONT-FAMILY:Arial width=600>
        <font size=3>MyEclipse includes design time support for JPA and is
        interested in supporting the JPA implementation from EclipseLink as well
        as other persistence services offered by this project.<br>
        <br>
        "Genuitec is looking forward to working with the project to adopt and
        deliver an enterprise ready, open source, standards-based, data binding
        system all wrapped in a commercial-friendly license (EPL)." - Todd
        Williams, Genuitec<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>TNI<br>
        Eliane Fourgeau </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>TNI-Software, a Premium Member of
        <strong style=FONT-WEIGHT:normal>AUTOSAR </strong>(AUTomotive Open
        System ARchitecture), has been developing AUTOSAR Builder, an open,
        Eclipse based Tool Suite for AUTOSAR. AUTOSAR Builder is an
        <strong style=FONT-WEIGHT:normal>Eclipse based platform</strong> which
        proposes a number of open-interface plug-ins corresponding to different
        AUTOSAR development process phases. These plug-ins produce standard
        descriptions and information based on the AUTOSAR methodology while
        facilitating the contribution of each actor realizing a specific phase
        of the automotive EE development process.<br>
        <br>
        TNI-Software is interested in the use of EclipseLink for persisting
        AUTOSAR models.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Innoopract/RAP<br>
        Joachen Krause </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Innoopract is a software and service company that helps
        developers and corporations make the most of their investment in
        development tools and platforms. The company is a founding member of the
        Eclipse foundation and bases its products and services on Eclipse's
        leading development platform.<br>
        <br>
        Innoopract is interested in the development of frameworks that will
        extend the Eclipse runtime platform.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>TmaxSoft<br>
        Wonsoek Kim </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Wonsoek of TmaxSoft is currently&nbsp;a committer on the
        TopLink Essentials project in GlassFish. TmaxSoft
        has&nbsp;expressed&nbsp;interest in this project and will hopefully join
        as full committer(s) as soon as is feasible.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Interface21<br>
        <br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Interface21 are the principal developers of the
        Apache-licensed Spring Framework. Currently, they include support for
        JPA and ship multiple implementations, including TopLink Essentials.<br>
        <br>
        Interface21 is interested in the integration of leading open source
        solutions within the Spring Framework.<br>
        </font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Andrejus Baranovskis<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Andrejus has been an active user of Oracle TopLink and
        involved with extending the framework for advanced Oracle database types
        and queries. Andrejus is active is his blogging of this work
        (http://andrejusb.blogspot.com/).<br>
        Andrejus is very interested in contributing to this project and becoming
        a committer.</font>
      </td>
    </tr>
    <tr>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Stephan Eberle<br>
        (Bosch)<br>
        </font>
      </td>
      <td style="VERTICAL-ALIGN:top; FONT-FAMILY:Arial">
        <font size=3>Stephan is a committer on Teneo working on providing EMF
        persistence with JPA.&nbsp; EclipseLink would provide an EPL licensed
        JPA provider for use in Teneo.<br>
        </font>
      </td>
    </tr>
    </tbody>
  </table>
  <br>
</div>
<h1>
  8. Roadmap<br>
</h1>
<p style=FONT-FAMILY:Arial>
  <font size=3>The following is the proposed roadmap for the project. Based on
  community feedback and additional contributions, this schedule may require
  adjustment.<br>
  </font>
</p>
<p style=FONT-FAMILY:Arial>
  <font size=3><br>
  </font>
</p>
<div style=FONT-FAMILY:Arial>
  <table border=0 cellpadding=3 cellspacing=3>
    <tbody>
    <tr>
      <td>
        <font size=3>May 30th, 2007<br>
        </font>
      </td>
      <td width=500>
        <font size=3>Project Creation Review<br>
        </font>
      </td>
    </tr>
    <tr>
      <td>
        <font size=3>TBD (Requires project provisioning)<br>
        </font>
      </td>
      <td width=500>
        <font size=3>Initial contribution of code<br>
        </font>
      </td>
    </tr>
    <tr>
      <td align=left valign=top>
        <font size=3>0.1 - July 30th, 2007<br>
        </font>
      </td>
      <td width=500>
        <font size=3>This will be the first milestone focused on providing a
        functional preview with test cases for the initial code contribution.
        The goal of this preview is to allow interested parties and projects to
        evaluate the technology and assist with integration/extension
        discussions.<br>
        </font>
      </td>
    </tr>
    </tbody>
  </table>
</div>
<p style=FONT-FAMILY:Arial>
  <font size=3>&nbsp; </font>
</p>
<p style=FONT-FAMILY:Arial>
  <font size=3>The project will function under an agile development process with
  short iterations rolling up into regular milestone deliverables 6-8 weeks
  apart. Beyond the initial milestone, the incubation project will focus on
  addressing the intersection with other Eclipse projects as well as delivering
  functionality in the areas of: </font>
</p>
<p style=FONT-FAMILY:Arial>
  <font size=3><br>
  </font>
</p>
<ul style=FONT-FAMILY:Arial>
  <li>
    <font size=3>JAXB 2.0 compliance </font>
  </li>
  <li>
    <font size=3>SDO 2.1 compliance </font>
  </li>
  <li>
    <font size=3>Data Access Service (DAS) </font>
  </li>
  <li>
    <font size=3>DBWS using WS-* standards<br>
    </font>
  </li>
</ul>
<font size=3 style=FONT-FAMILY:Arial><br>
During the initial incubation phase, the milestone release schedule with
specific functionality will be discussed and
published.</font><span style=FONT-FAMILY:Arial><br>
<br>
</span> <hr style="WIDTH:100%; HEIGHT:2px"> Authors: Doug Clarke, Peter Krogh,
and Shaun Smith<br>
<br>
Copyright © 2007 Oracle Corporation. All Rights Reserved<br>
<br>
Made available under
the&nbsp;<a href=http://www.eclipse.org/org/documents/epl-v10.php target=_blank title="EPL v1.0">EPL
v1.0</a>.<br style=FONT-FAMILY:Arial>
<span style=FONT-FAMILY:Arial></span><br style=FONT-FAMILY:Arial>
<p style=FONT-FAMILY:Arial>
  <br>
</p>
<br style=FONT-FAMILY:Arial>
<br style=FONT-FAMILY:Arial>
<br style=FONT-FAMILY:Arial>
<br>
<br></body>
</html>