<html>
<head>
<title>NetBeans 4.1 Early Access 1 Release!</title>
<meta name="description" content="NetBeans 4.1 Early Access 1 Release!">
<link rel="stylesheet" type="text/css" href="/netbeans.css">
</head>

<body>

<h1>NetBeans <sup>TM</sup> 4.1 Early Access Release Now Available</h1>
<div class="articledate" style="margin-left:0px;">Posted to nbannounce, 22nd October, 2004</div>

<p>The NetBeans<sup>TM</sup> open source project is proud to announce the early access
release of the NetBeans IDE 4.1 as the project delivers significant new
development capabilities for the Java 2 Platform, Enterprise Edition
1.4 (J2EE<sup>TM</sup>) including Enterprise Java Bean (EJB) components and Web Services.

<p>For downloads of this release go to:

<blockquote><a href="https://netbeans.org/downloads/index.html">https://netbeans.org/downloads/index.html</a></blockquote>

<p>For the quick start guide, see:

<blockquote><a href="https://netbeans.org/kb/archive/index.html">https://netbeans.org/kb/archive/index.html</a></blockquote>

<p>This early access release has over 15 new modules for developing J2EE
1.4 applications and is built on the novel and breakthrough NetBeans 4.0
technology. Users can develop programs for Java 2 Platform, Standard
Edition (J2SE<sup>TM</sup>), Java 2 Platform, Micro Edition (J2ME<sup>TM</sup>), and now J2EE EJBs
and Web Services.  Using the free Sun<sup>TM</sup> Java System Application Server
Platform Edition 8.1 beta as the deployment runtime and with NetBeans
guiding the developer and automatically building the underlying J2EE
infrastructure, learning about and developing J2EE 1.4 applications has
never been easier.  To further assist the developer, there are numerous
samples of J2EE applications easily accessible from within the IDE, as
well contributions from the J2EE Java BluePrints catalog.

<p>With a pure Java technology integrated development environment and
cross platform availability for Windows, Linux and the Solaris<sup>TM</sup>
Operating System, this is the best time to get a look at the future.

<p>The next early access release is planned for January 2005.

<p><h2>Key Features</h2>

<p><b>Create an EJB Module and EJB Session Beans</b>

<ul>
<li>The NetBeans IDE guides the user through the process to easily learn
how to write an EJB  as well as deploy, package and test applications
<li>A GUI is available to select an EJB and perform the required tasks
such as adding business methods and editing deployment descriptors
<li>All EJB infrastructure methods are generated automatically and are
hidden in a power code fold
<li>The resulting EJB module can easily be added to a J2EE application
<li>The NetBeans project structure matches J2EE Java BluePrints
standards and relies on the Ant open standard for the build system
</ul>

<p><b>Calling EJBs</b>

<ul>
<li>It's easy for the developer to create a servlet and call an EJB from
this servlet code
<li> The Web Application can then be added to a J2EE Application that
will also have the corresponding EJB Module and this J2EE Application is
then deployed to the application server
</ul>

<p><b>Develop Web Services</b>

<ul>
<li>Developers can create and modify Web Services and deploy, package
and test them from the IDE
<li>Developers can register existing Web Services to the IDE, and then
easily add the code that will call these Web Services
<li>Developers can test all the registered Web Services from the IDE by
simply entering the input parameters of each operation
<li>The NetBeans IDE guides the user through the process  to  easily
learn how to write EJB and J2EE Applications to select a web service and
perform required tasks
</ul>


</body>
</html>
