<?xml version="1.0" encoding="UTF-8"?>
<html>
    <head>
        <title>An Eclipse Web Tools Platform Sub-Project</title>
    </head>
    <body>
        <h1>Dali JPA Tools</h1>
        <div class="homeitem">
            <h2>Dali 2.1 Released!</h2>
            <p>
                Dali 2.1 has been released as of December 19th, 2008. Easily update your existing Dali 2.0 plugins or
                install from scratch via the "Software Updates..." feature in the Help menu. Click the "Dali 2.1" link
                below for more information.
            </p>
            <ul>
                <strong>Download</strong>
                <li>
                    <a href="http://www.eclipse.org/webtools/releases/dali/2.1/">Dali 2.1</a>
                    is available for immediate
                    <a href="http://download.eclipse.org/webtools/downloads/">download</a>
                    .
                </li>
                <strong>New and Noteworthy</strong>
                <li>
                    <a href="http://www.eclipse.org/webtools/releases/dali/2.1/newandnoteworthy/jpa.php">Noteworthy</a>
                    items in the 2.1 release.
                </li>
            </ul>
        </div>
        <div class="homeitem">
            <h2>About Dali</h2>
            <p>
                The goal of the Dali JPA Tools Project, a sub-project of the
                <a href="http://www.eclipse.org/webtools">Web Tools Platform Project</a>
                , is to build extensible frameworks and exemplary tools for the definition and editing of
                Object-Relational (O/R) mappings for Java Persistence API (JPA) Entities. JPA mapping support will focus
                on minimizing the complexity of mapping by providing creation and automated initial mapping wizards, and
                programming assistance such as dynamic problem identification.
            </p>
            <div align="center">
                <p>
                    <img src="/webtools/dali/images/dali-screenshot2.jpg" />
                </p>
            </div>
        </div>
        <div class="homeitem">
            <h2>Why Dali?</h2>
            <table border="0">
                <tr>
                    <td width="133">
                        <a href="http://www.moma.org/collection/browse_results.php?object_id=79018">
                            <img src="/webtools/dali/images/persist.jpg" width="133" height="99" border="0" />
                        </a>
                    </td>
                    <td width="328">
                        Salvador Dali .
                        <a href="http://www.moma.org/collection/browse_results.php?object_id=79018">
                            The Persistence of Memory
                        </a>
                        . 1931.
                        <br />
                        (c) 2005 Salvador Dali , Gala-Salvador Dali Foundation/Artists Rights Society (ARS), New York
                    </td>
                </tr>
            </table>
            <p>
                The focus of Dali is support for JPA O/R mapping which is concerned with the persistence of in memory
                Java POJOs to relational databases. The title of the famous painting "The Persistence of Memory" aptly
                describes the goal of the JPA specification and provides the link to the Spanish painter Salvador Dali.
            </p>
        </div>
        <div class="homeitem">
            <h2>Project News</h2>
            <ul>
                <li>
                    <strong>Dali 2.1.1 Released</strong>
                    <br />
                    The Dali 2.1.1 maintenance release is available as of Feb 27th.
                    <em>Feb 2009</em>
                </li>
                <li>
                    <a href="http://java.sun.com/javaone/sf/">Dali at JavaOne</a>
                    <br />
                    <span class="wtpfloatleft">
                        <img src="/webtools/dali/images/javaone_logo.gif" />
                    </span>
                    If you'd like to see Dali "up close and personal", Shaun Smith and Doug Clarke will be at JavaOne on
                    the exhibition floor at either the Eclipse booth or the Oracle Community and EclipseLink booths and
                    we'd love to meet you!
                    <div class="wtpclearall" />
                </li>
                <li>
                    <a href="http://www.jax.de">Dali at JAX</a>
                    <br />
                    <span class="wtpfloatleft">
                        <img src="/webtools/dali/images/jax3in1.gif" />
                    </span>
                    Peter Krogh, co-lead of the EclipseLink project, and Shaun Smith will be presenting a session on
                    <a href="http://it-republik.de/jaxenter/jax/sessions-popup.php?id=7082" target="_blank">
                        building JPA applications with EclipseLink and Dali
                    </a>
                    at JAX.
                    <em>April 2008</em>
                    <div class="wtpclearall" />
                </li>
                <li>
                    <a href="http://www.eclipse.org/community/webinars2006.php">Dali Webinar</a>
                    <br />
                    Wednesday, April 18, 2007 at 8:00 am PDT / 11:00 am EDT / 3:00 pm GMT/UTC Presented by Shaun Smith,
                    Dali Project Co-lead and Oracle TopLink Product Manager. To register email webinar-dali at eclipse
                    dot org.
                    <em>April 2006</em>
                </li>
                <li>
                    <a href="http://www.eclipsecon.org/summiteurope2006/">Dali at Eclipse Summit Europe</a>
                    <br />
                    <span class="wtpfloatleft">
                        <img src="http://www.eclipsecon.org/summiteurope2006/image138x38.php" />
                    </span>
                    Plan to attend an introduction to Dali at the upcoming
                    <a href="http://www.eclipsecon.org/summiteurope2006/" target="_blank">Eclipse Summit Europe</a>
                    .
                    <em>August 2006</em>
                    <div class="wtpclearall" />
                </li>
                <li>
                    <a href="http://www.eclipseworld.net">Dali at EclipseWorld 2006</a>
                    <br />
                    <span class="wtpfloatleft">
                        <img src="/webtools/dali/images/eclipseworld2006.gif" />
                    </span>
                    If you'll be at EclipseWorld this year plan to attend the session
                    <a href="http://www.eclipseworld.net/friday_pm.htm" target="_blank">
                        Building Applications with the Java Persistence API and Dali
                    </a>
                    .
                    <em>August 2006</em>
                    <div class="wtpclearall" />
                </li>
                <li>
                    <a href="downloads.php">Dali 0.5 Released</a>
                    <br />
                    Dali Preview Release 0.5 is now available for
                    <a href="downloads.php">download</a>
                    .
                    <em>June 2006</em>
                </li>
                <li>
                    <a href="https://wiki.eclipse.org/index.php/Dali_Project#Milestone_3:_May_12.2C_2006">
                        Dali Milestone 3 Released
                    </a>
                    <br />
                    <a href="https://wiki.eclipse.org/index.php/Dali_Project#Milestone_3:_May_12.2C_2006">
                        Dali Milestone 3
                    </a>
                    is now available for
                    <a href="downloads.php">download</a>
                    . New viewlets of the basic functionality have also been posted (see right hand sidebar).
                    <em>May 2006</em>

                </li>
                <li>
                    <a href="http://www.eclipsecon.org/2006/Sub.do?id=63">Dali at EclipseCon 2006</a>
                    <br />
                    Dali project co-leads Neil Hauge and Shaun Smith will be presenting along side EJB 3.0 spec co-lead
                    Mike Keith at EclipseCon in Santa Clara in March. The presentation title says it all
                    <a href="http://www.eclipsecon.org/2006/Sub.do?id=63">
                        EJB 3.0 Persistence and the Dali EJB ORM Project
                    </a>
                    .
                    <em>Jan 2006</em>
                </li>
                <li>
                    <a href="http://wiki.javapolis.com/confluence/display/JP05/Home">Dali at Javapolis 2005</a>
                    <br />
                    <span class="wtpfloatleft">
                        <img src="/webtools/dali/images/JavaPolis_logo.gif" />
                    </span>
                    As part of the
                    <a href="http://wiki.javapolis.com/confluence/display/JP05/Eclipse%2Bin%2BAction">
                        Eclipse In Action
                    </a>
                    track at
                    <a href="http://wiki.javapolis.com/confluence/display/JP05/Home">Javapolis 2005</a>
                    , Dali co-lead Shaun Smith will present an introduction to
                    <a
                        href="http://wiki.javapolis.com/confluence/display/JP05/Eclipse%2Bin%2BAction#EclipseinAction-11%3A4512%3A30HelloDali%21EnterpriseJavaBeans%28EJB%293.0ObjectRelationshipMappingtools">
                        EJB 3.0 development using Dali.
                    </a>
                    <em>Nov 2005</em>
                    <div class="wtpclearall" />
                </li>
                <li>
                    <a href="http://ryman.eclipsedevelopersjournal.com/hellodali.htm">
                        Hello, Dali! - EJB 3.0 Persistence Tools at Eclipse
                    </a>
                    <br />
                    In his
                    <a href="http://ryman.eclipsedevelopersjournal.com/hellodali.htm">blog</a>
                    , Arthur Ryman the Web Tools Project co-lead discusses Dali and other new WTP-related Eclipse
                    projects.
                    <em>Sept 2005</em>
                </li>
                <li>
                    <strong>EclipseWorld Demos now available as Viewlets</strong>
                    <br />
                    Demos of the Dali tools given at EclipseWorld are now available as viewlets. See the 'Dali Demos'
                    sidebar on the right.
                    <em>Sept 2005</em>
                </li>
                <li>
                    <a href="http://www.sdtimes.com/article/story-20050901-01.html">Dali article in SD Times</a>
                    <br />
                    The article
                    <a href="http://www.sdtimes.com/article/story-20050901-01.html">
                        EJB Mapping Gets Go-Ahead From Eclipse
                    </a>
                    by Jenniffer deJong provides details on the project and discusses the role of JSR220 in defining a
                    standard Java persistence API.
                    <em>Sept 2005</em>
                </li>
                <li>
                    <strong>Eclipse EJB ORM Project has a new nickname: Dali</strong>
                    <br />
                    At EclipseWorld 2005 in New York, the new nickname of the Eclipse EJB ORM project was unveiled:
                    'Dali'. See above for details.
                    <em>Aug 2005</em>

                </li>
                <li>
                    <strong>Eclipse EJB ORM Project approved</strong>
                    <br />
                    The EMO held the proposal creation review on Tuesday, July 26th. The review attendees included the
                    leads of the Web Tools Project and a representative from the Data Tools Project PMC. Soon after the
                    review we received the news that the Eclipse EJB Object-Relational Mapping Project was approved!
                    We're now going through the provisioning process to get CVS and other resources setup.
                    <em>July 2005</em>
                </li>
                <li>
                    <a href="http://jboss.com/products/ejb3">JBoss joins the Eclipse EJB ORM Project</a>
                    <br />
                    <a href="http://jboss.com/products/ejb3">JBoss</a>
                    has joined
                    <a href="http://otn.oracle.com/jpa">Oracle</a>
                    and
                    <a href="http://www.solarmetric.com" target="_blank">SolarMetric</a>
                    on the Eclipse EJB ORM Project. The participation of three of the most active companies on the EJB
                    3.0 (JSR 220) expert group will ensure that the tools and frameworks produced by the project will
                    provide excellent support for the development of standards compliant EJB 3.0 Entities.
                    <em>July 2005</em>
                </li>
                <li>
                    <a href="http://www.solarmetric.com">SolarMetric joins the Eclipse EJB ORM Project</a>
                    <br />
                    EJB 3.0 Expert Group member company
                    <a href="http://www.solarmetric.com" target="_blank">SolarMetric</a>
                    joins
                    <a href="http://otn.oracle.com/jpa">Oracle</a>
                    to work on the creation of vendor neutral JPA tooling for Eclipse.
                    <em>July 2005</em>
                </li>
                <li>
                    <a href="viewlets/EclipseEJB3PluginDemo-3.swf">JavaOne Demo</a>
                    <br />
                    At the Oracle EJB 3.0 booth the first version of the Eclipse EJB 3.0 plugin was on display. A
                    <a target="_top" href="viewlets/EclipseEJB3PluginDemo-3.swf">
                        viewlet of the plugin is now available.
                    </a>
                    <em>June/July 2005</em>
                </li>
                <li>
                    <a href="docs/EclipseEJB3ORMFeaturesUseCases.pdf">UI Design Concept Document Posted</a>
                    <br />
                    The first draft of the
                    <a href="docs/EclipseEJB3ORMFeaturesUseCases.pdf" target="_blank">ui design document</a>
                    was posted on the project
                    <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.ejb-orm"
                        target="_blank">
                        newsgroup
                    </a>
                    for feedback. The document lays out the prpposed code-centric mapping ui approach.
                    <em>June 2005</em>
                </li>
                <li>
                    <a href="http://www.oracle.com/corporate/press/2005_apr/ejb%20eclipse.html">
                        Oracle Proposes Eclipse EJB ORM Project
                    </a>
                    <br />
                    Oracle
                    <a href="http://www.oracle.com/corporate/press/2005_apr/ejb%20eclipse.html" target="_blank">
                        announced
                    </a>
                    that it is expanding its leadership role in driving developer adoption of the next-generation
                    enterprise Java platform by spearheading a project within the Eclipse open-source community to
                    support the Enterprise Java Beans (EJB) 3.0 JPA specification.
                    <em>April 2005</em>
                </li>
            </ul>
        </div>
    </body>
</html>