<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #240 - May 17, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-05-17">

<link rel="stylesheet" type="text/css" href="/netbeans.css">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">

<!-- ====================================================== -->
<!-- Please do not edit this file by hand, it is rebuilt    -->
<!-- automatically and your changes will be lost.  Contact  -->
<!-- webmaster for details.  Rebuilt at                     -->
<!-- #TIMESTAMP# 17-May 21:10 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #240 - May 17, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #240 - May 17, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-05-17.html'>https://netbeans.org/community/news/newsletter/2006-05-17.html</a>&gt;<br>
Interested in becoming a newsletter editor?  We're always looking<br>
for editors to help out. Contact <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a><br>
<hr><pre>[ANNOUNCE] NetBeans 5.5 Beta Released!
NetBeans.org is proud to announce the availability of NetBeans IDE 5.5
Beta, including the NetBeans IDE 5.5 Beta, Mobility Pack 5.5 Beta,
Enterprise Pack 5.5 Early Access, and NetBeans Profiler 5.5 Beta. For
full details and download visit:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=469">http://services.netbeans.org/newsletter/story.php?id=469</a>&gt;
Also available is the NetBeans Mobility Pack for CDC Preview which adds
support for the SavaJe Jasper S20.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=468">http://services.netbeans.org/newsletter/story.php?id=468</a>&gt;

NETBEANS DAY IN SAN FRANCISCO - STANDING ROOM ONLY
On Monday, May 15, 2006, about 1000 developers squeezed into one of the
bigger halls in San Francisco's Argent Hotel -- twice as many as last
year. For complete coverage including some major announcements take a
look at an article by Ruth Kusterer, NetBeans Software Day 2006 -
Empowering Developers Worldwide.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=470">http://services.netbeans.org/newsletter/story.php?id=470</a>&gt;
For more coverage visit Gregg Sporar's blog
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=471">http://services.netbeans.org/newsletter/story.php?id=471</a>&gt;
and visit NetBeans press section.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=472">http://services.netbeans.org/newsletter/story.php?id=472</a>&gt;

NetBeans Community Awards Winners
Congratulations to our winners who were chosen by the NetBeans
community. The winners are: Ramon Ramos, Wade Chandler, David Strupl,
and Tom Wheeler. Enjoy your new Ultra 20 workstations and certificates
signed by java celebs!

NetBeans Magazine - Issue One, May 2006
As part of third annual NetBeans Software Day and the 2006 JavaOne
Conference, NetBeans has put together a magazine of highlights that are
captivating developers worldwide. You can view this issue as a whole or
as individual articles. Check it out!
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=473">http://services.netbeans.org/newsletter/story.php?id=473</a>&gt;

For New Plug-ins for NetBeans
The new plug-in modules include: Jackpot, Real Time Java technology,
Web Services Interoperability Technology (WSIT) and Grid Compute Server
for NetBeans. Full details at
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=474">http://services.netbeans.org/newsletter/story.php?id=474</a>&gt;

NetBeans IDE 5.0 - BlueJ Edition Reaches Beta
The collaboration of the NetBeans and BlueJ teams has resulted in the
development of a new version of NetBeans: NetBeans IDE BlueJ Edition.
This tool offers a seamless migration path for students that supports
the switch from educational tools into a full-featured, professional
IDE. For more information visit NetBeans IDE BlueJ Edition page on
NB.org &lt;<a href="http://services.netbeans.org/newsletter/story.php?id=475">http://services.netbeans.org/newsletter/story.php?id=475</a>&gt;
and also the NetBeans / BlueJ Edition tutorial page on bluej.org
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=476">http://services.netbeans.org/newsletter/story.php?id=476</a>&gt;

Announcing jMaki
jMaki (&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=477),">http://services.netbeans.org/newsletter/story.php?id=477),</a>&gt; a brand
new framework for formalizing and simplifying AJAX development, has
been released. For an interview with Greg Murray, who created jMaki,
and Ludo Champenois, who is creating a module that exposes the
framework to NetBeans IDE, go here:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=478">http://services.netbeans.org/newsletter/story.php?id=478</a>&gt;

The Java Pet Store 2.0 Early Access is NetBeans Ready
Use the Java Pet Store in NetBeans, just open the petstore as a project
in NetBeans and build and deploy it. If you think of feature you would
like to add to the Pet Store code, use the NetBeans Java EE 5 features
to make a better Java Pet Store. Check out the Java Pet Store for
NetBeans Users page for more info.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=479">http://services.netbeans.org/newsletter/story.php?id=479</a>&gt;

Java Persistence in the Java EE 5 Platform
This guide shows you how to create entity classes in a web application
and quickly generate a JSF front-end. Explore the power of the new Java
Persistence APIs with NetBeans IDE.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=480">http://services.netbeans.org/newsletter/story.php?id=480</a>&gt;

Binary Archive Configuration and Deployment
Module supporting configuration and deployment of packaged J2EE
components available on the dev update center.  The details are covered
in &lt;<a href="http://services.netbeans.org/newsletter/story.php?id=481">http://services.netbeans.org/newsletter/story.php?id=481</a>&gt;

UML Modeling: Reverse Engineering Java Applications
In this tutorial, you learn how to reverse engineer the source code of
an existing Java application into a UML Modeling project. In the UML
project all the classes and other application elements are represented
in the Projects window under the UML project node, while the original
Java code remains in its original state.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=482">http://services.netbeans.org/newsletter/story.php?id=482</a>&gt; 
</pre><hr>This issue of NetBeans Weekly News was brought to you by Robert Demmer.<br>
The next editor will be Robert Demmer. (New volunteers are welcome!)<br>
Please send news contributions to <a href='mailto:nbnews_contrib@netbeans.org'>nbnews_contrib@netbeans.org</a></BODY>
</HTML>