<html><head>
<link rel="stylesheet" href="../../default_style.css">
<title>Eclipse Foundation</title></head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b" alink="#ff0000">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%"> <font class=indextop> pollinate</font><br>
      <font class=indexsub>&nbsp; </font></td>
    <td width="28%"><img src="../../images/Idea.jpg" height=86 width=120></td>
  </tr>
</table>
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Press release</font></b></td>
  </tr>
  <tr> 
    <td> <br>
      <h1 ALIGN="CENTER"><b><span style='font-size:16.0pt;font-family:Arial;"Times New Roman"'><b> 
        The Eclipse Foundation, Instantiations and BEA Announce Formation of Eclipse Project to  Integrate with  Apache Beehive</b></span></b></h1>
      <ul>
        <li>New Eclipse Open-Source Project, "Pollinate" to Help Developers More 
          Easily Create and 
          Deploy Service- and J2EE-based Applications </li>
      </ul>
      <P>SAN FRANCISCO, JAVAONE 2004 CONFERENCE - June 28, 2004 - The Eclipse 
        Foundation, a community committed to the implementation of a universal 
        platform for tools integration, along with Instantiations, Inc., a leading 
        provider of advanced Java development solutions and BEA Systems (NASDAQ: 
        BEAS), the world's leading application infrastructure software company, 
        today announced the creation of "Pollinate", a new open-source incubator 
        project focused on creating an Eclipse-based development environment and 
        toolset to be named Eclipse Pollinate. Eclipse Pollinate, which will be 
        designed to integrate with Apache Beehive, the industry's first easy-to-use, 
        cross-container, open-source application framework for building service-oriented 
        architectures (SOAs) and enterprise Java applications is being developed 
        to help enable developers to more easily develop and deploy service-based 
        and J2EE-based applications. </p>
      <P> Introduced and led by Instantiations, Eclipse Pollinate, combined with 
        Apache Beehive, will be designed to provide developers with a comprehensive, 
        flexible solution for building and running services and applications. 
        Eclipse will provide the development environment, and Apache Beehive will 
        provide the underlying application framework and runtime services designed 
        to help enable experienced developers to deliver more sophisticated applications 
        with less work, while helping to make those new to Java more immediately 
        productive. Two additional companies, Soaring Eagle and Genuitec, have 
        also announced plans to join the Eclipse Pollinate project and contribute 
        to the code base.</p>
      <P>Apache Beehive offers an open-source application framework, or runtime, 
        which can complement integrated development environments (IDEs) like Eclipse. 
        Instantiations, a supporting member of Eclipse, plans to provide the initial 
        code--a broad set of Eclipse plug-ins and user interface components that 
        will be designed to connect Eclipse to Beehive. The Eclipse Pollinate 
        project is being developed to help Eclipse developers easily plug the 
        Pollinate components into Eclipse, which would help to remove much of 
        Java's complexity and can ultimately help enable them to more easily deploy 
        their applications on any application infrastructure that supports Apache 
        Beehive.</p>
      <P>
        &quot;By integrating the Eclipse IDE with Apache Beehive application framework, 
        we want to help developers leverage the strength of both the Eclipse and 
        Apache open-source communities, and help provide free access to leading 
        Java innovations, while helping to ensure investment protection and portability 
        for applications, said Mike Milinkovich, Executive Director, Eclipse Foundation. 
        &quot;Combining the knowledge and experience of BEA, Instantiations and 
        Eclipse, the Eclipse Pollinate project can help to dramatically expand 
        the number of developers who can build enterprise scale Java applications.&quot;	
        <br>
      </p>
      <P>&quot;We are very excited to provide the key technology to help integrate 
        Eclipse with Apache Beehive,&quot; said Mike Taylor, CEO, Instantiations, 
        Inc. &quot;Developers are clamoring for sophisticated, yet easy to use 
        development tools and application frameworks such as we're designing with 
        Pollinate and Apache Beehive, to help make what they do easier and more 
        productive. Eclipse Pollinate will be designed to extend the power of 
        Java, Eclipse, and Beehive deeper into the typical IT development organization.&quot; 
        <br>
      </p>
      <P>&quot;We launched Apache Beehive with more than 50 partners who had already 
        supported the framework, many through our Java Control architecture now 
        in Beehive. Bringing Java Controls to the Eclipse developer community 
        is a big win for the Beehive ecosystem,&quot; said Scott Dietzen, chief 
        technology officer, BEA Systems. &quot;Controls not only simplify the 
        code needed to access J2EE resources, but they're also IDE-friendly, so 
        defining and configuring access to those resources can now be a wizard-driven 
        process, or be represented using visual design metaphors available in 
        Eclipse&quot;.</p>
      <P><b>About Apache Beehive</b><br>
        <br>
        Apache Beehive is based on award-winning technology found in BEA WebLogic 
        Workshop, including Java annotations, Java Controls, Java Web services 
        and Java Page Flows, designed to drive increased interoperability and 
        developer productivity. Project Beehive leverages WebLogic Workshop Controls, 
        reusable meta-data driven software components based on drag-and-drop technology 
        designed to easily integrate into BEA and other software platforms. In 
        addition, Beehive builds on BEA's innovative Web services programming 
        capabilities-now being standardized in the Java Community Process (JCP) 
        under JSR-181--that can allow for easier consumption and management of 
        services, and page flows, which can help developers quickly and easily, 
        define and view page transitions between applications. Project Beehive 
        can attract new users to a simpler way of building enterprise Java applications, 
        while also attracting experienced Java Web and J2EE programmers with a 
        model that is designed to save them from writing the same Java plumbing 
        code over and over again.<br>
      </p>
      <P><b>Pricing and Availability </b></p>
      <p>A beta version of Eclipse Pollinate is expected to be available later 
        this year under the Eclipse Public License. For more information on the 
        Eclipse Pollinate project, please visit <a href="http://www.eclipse.org/pollinate/index.html" target="_top">http://www.eclipse.org/pollinate/</a></p>
      <p>A beta version of Apache Beehive is expected to be available this fall 
        for free under the standard Apache 2.0 license. For more information on 
        Project Beehive, please visit: <a href="http://dev2dev.bea.com/technologies/beehive/index.jsp" target="_blank">http://dev2dev.bea.com/technologies/beehive/index.jsp</a><br>
      </p>
      <p>Developers who want to start working with the Apache Beehive programming 
        model in combination with an IDE immediately can download the free edition 
        of BEA WebLogic Workshop without obligation at <a href="http://commerce.bea.com/index.jsp" target="_blank">http://commerce.bea.com/index.jsp</a> 
        .<br>
      </p>
      <P><br>
      </p>
      </td>
  </tr>
  </table>
<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About 
      Eclipse</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P> Eclipse has established an open-source eco-system of tools providers 
              and consumers by creating technology and an open universal platform 
              for tools integration. The open-source Eclipse community creates 
              royalty-free technology as a platform for tools integration. Eclipse 
              based tools give developers freedom of choice in a multi-language, 
              multi-platform, multi-vendor supported environment. Eclipse delivers 
              a plug-in based framework that makes it easier to create, integrate 
              and use software tools, saving time and money. By collaborating 
              and sharing core integration technology, tool producers can concentrate 
              on their areas of expertise and the creation of new development 
              technology. The Eclipse Platform is written in the Java&#153; language, 
              and comes with extensive plug-in construction toolkits and examples. 
              It has already been deployed on a range of development workstations 
              including HP-UX&reg;, Solaris&reg;, AIX&reg;, Linux&reg;, MAC OS 
              X&reg;, QNX&reg; and Windows&reg; based systems. Full details of 
              the Eclipse community and white papers documenting the design of 
              the Eclipse Platform are available at <a href="http://www.eclipse.org" target="_blank">http://www.eclipse.org</a>.<br>
            </p>
            </td>
		</tr>
        </table></table>&nbsp;
<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About 
      Instantiations</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P> Instantiations, Inc. provides leading-edge software products, 
              services and technologies for Java. Through our industry partnerships 
              with IBM, Eclipse and others, Instantiations ensures that its products 
              integrate seamlessly with the latest development environments and 
              platforms. Instantiations is a member of the Eclipse Foundation 
              and offers a line of products for IBM WebSphere Studio and IBM Rational 
              Java development tools. Based in Portland, Ore., Instantiations 
              was founded in 1997 by a team of internationally recognized pioneers 
              in the field of component software technology. <br>
            </p>
            </td>
		</tr>
        </table></table>&nbsp;
<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
		
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">About 
      BEA</font></b></td>
		</TR>
		<TR>
		<td align=left>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <P> BEA Systems, Inc. (Nasdaq: BEAS) is the world's leading application 
              infrastructure software company, providing the enterprise software 
              foundation that allows thousands of companies to benefit from service-oriented 
              architectures. With more than 15,000 customers around the world, 
              including the majority of the Fortune Global 500, BEA and its WebLogic(r) 
              and Tuxedo(r) brands are among the most trusted names in business.</p>
            <p>Headquartered in San Jose, Calif., BEA has 71 offices in 34 countries 
              and is on the Web at <a href="http://www.bea.com" target="_blank">www.bea.com</a>.<br>
            </p>
            </td>
		</tr>
        </table></table>&nbsp;
	<table width="100%" cellspacing=0 cellpadding=3 align=center>
		<tr bgcolor="#999999">
    <td align="left" valign="top" bgcolor="#0080C0"><b><font color="#FFFFFF" face="Arial,Helvetica">Media 
      contacts</font></b></td>
		</TR>
		</table>
		
<table width="100%" border="0" cellspacing="5">
  <tr> 
    <td> 
      <div align="center">Susan Siegel<br>
        BEA SYSTEMS, INC.<br>
        +1 408 570 8364<br>
        susan.siegel@bea.com </div>
    </td>
    <td> 
      <div align="center">Mark Johnson<br>
        Instantiations, Inc.<br>
        +1 503 598-4909<br>
        mark@instantiations.com
      </div>
    </td>
    <td> 
      <div align="center">Barbara Stewart for Eclipse<br>
        Patterson &amp; Associates<br>
        480-488-6909<br>
        barbara@patterson.com</div>
    </td>
  </tr>
</table>
		<TABLE  width="100%" CELLSPACING=0 CELLPADDING=3>
		<tr>
		  <td> 
            <hr width="85%">
      <P><b>Legal Notice Regarding Forward-Looking Statements</b><br>
        <br>
        Some of the statements in this press release are forward-looking, including 
        the statements regarding: the availability, plans, delivery, goals, development, 
        expected features, expected benefits and competitive position of the Eclipse 
        Pollinate, Apache Beehive, Eclipse, and Beehive products and technology 
        (the &quot;Products&quot;); the goals and focus of the Pollinate project; 
        and the plans of Soaring Eagle and Genuitec to join and contribute to 
        the Pollinate project. Actual results could differ materially from those 
        expressed in any forward-looking statements. Risks and uncertainties that 
        could cause results to differ materially include risks associated with: 
        any unforeseen technical difficulties or software errors related to the 
        final development and launch of any Product; any technological or standards 
        changes in the application infrastructure market which could make Products 
        less competitive, less effective or require feature changes in these products; 
        any slowdown in the adoption by businesses of open source technologies, 
        Internet technologies or related standards; and any changes to the competitive, 
        economic or strategic position of the BEA, Soaring Eagle, Genuitec or 
        other contributors to the Pollinate project that might cause them to delay 
        or curtain investments in this project. Readers should also refer to the 
        risk disclosures set forth in BEA's 10-Q for the quarter ended April 30, 
        2004 as filed with the SEC and subsequent reports filed thereafter from 
        time-to-time with the SEC. The forward-looking statements contained in 
        this release are made as of the date hereof, and BEA does not assume any 
        obligation to update such statements nor the reasons why actual results 
        could differ materially from those projected in such statements.</P>
      <P>BEA, Tuxedo, and WebLogic are registered trademarks and BEA WebLogic 
        Enterprise Platform, BEA WebLogic Server, BEA WebLogic Integration, BEA 
        WebLogic Portal, BEA WebLogic JRockit, BEA WebLogic Platform, BEA WebLogic 
        Express, BEA WebLogic Workshop, BEA WebLogic Java Adapter for Mainframe, 
        BEA Liquid Data for WebLogic, BEA eLink, and BEA WebLogic Enterprise Security 
        are trademarks of BEA Systems, Inc. All other company and product names 
        may be the subject of intellectual property rights reserved by third parties.</P>
      <P>Brand or product names are registered trademarks or trademarks of their 
        respective holders. Java and all Java-based trademarks are trademarks 
        or registered trademarks of Sun Microsystems, Inc. in the United States 
        and other countries.<br>
      </P>
<hr width="85%">
    </td>
		</tr>
        </table>&nbsp;        
&nbsp;
</body></html>
