<HTML>
<HEAD>
<title>netbeans.org: NetBeans Weekly News Issue #248 - Jul 10, 2006</title>
<META NAME="description" CONTENT="Newsletter 2006-07-10">

<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# 10-Jul 16:11 CEST                          -->
<!-- ====================================================== -->
</HEAD>
<BODY>

<h1>NetBeans Weekly News<br>Issue #248 - Jul 10, 2006</h1><hr>
NetBeans Weekly News, a newsletter for the NetBeans community<br>
Issue #248 - Jul 10, 2006<br>
URL: &lt;<a href='https://netbeans.org/community/news/newsletter/2006-07-10.html'>https://netbeans.org/community/news/newsletter/2006-07-10.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>Java Mobility: End to End
Lukas Hasik shows you how to create an End-to-End Application 
with NetBeans Mobility Pack 5.0. The application requests 
information from a Web Service and displays the result on the 
phone. This demo shows you how to achieve this with and without 
JSR 172.
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=622">http://services.netbeans.org/newsletter/story.php?id=622</a>&gt;

JAX-WS: Not So Daunting with NetBeans!
In his blog, Richard Blair writes: "JAX-WS can be daunting. 
The most difficult aspect of it is the setup and configuration 
of the build environment. I've chosen to sidestep the whole 
issue and just try NetBeans 5.5 with the Enterprise development 
pack <&lt;<a href="http://services.netbeans.org/downloads/download.php?type=5.5b>">http://services.netbeans.org/downloads/download.php?type=5.5b></a>&gt; 
This really made the setup process a lot easier for a lowly 
desktop guy like myself." Read all about it in two parts in his 
blog:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=614">http://services.netbeans.org/newsletter/story.php?id=614</a>&gt;
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=615">http://services.netbeans.org/newsletter/story.php?id=615</a>&gt;

Want to Integrate Support for your Favorite Server?
JBoss, WebLogic, Tomcat, and the Sun Java System Application 
Server are all supported out of the box. But you want more!!! 
Not to worry, there's a tutorial that helps you to kick start 
the process of developing a module that integrates support for 
your server. Read about it in Geertjan's blog: 
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=616">http://services.netbeans.org/newsletter/story.php?id=616</a>&gt;

Checking Out from dev.java.net
You might have found a cool open source project on dev.java.net, 
but did you know that you can use NetBeans to check out the sources? 
Let Evan Summer explain it for you. Go to his blog and find out 
all the details: 
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=617">http://services.netbeans.org/newsletter/story.php?id=617</a>&gt;

What is the NetBeans Platform?!
"A friend at work was telling me he didn't understand what 
the NetBeans Platform was and what was the difference between 
the NetBeans IDE and the NetBeans Platform," writes Matthew Ryan 
in his blog. "So I explained this to him. I then very quickly 
I showed him how quickly you could start an application built 
on the NetBeans Platform. It took literally a couple minutes 
with a few clicks, a few drag and drops, and a little typing." 
Matthew has a three part series in his blog, with lots of 
screenshots, to help people take the first steps with 
the NetBeans Platform. Check it out:
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=618">http://services.netbeans.org/newsletter/story.php?id=618</a>&gt;
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=619">http://services.netbeans.org/newsletter/story.php?id=619</a>&gt;
&lt;<a href="http://services.netbeans.org/newsletter/story.php?id=620">http://services.netbeans.org/newsletter/story.php?id=620</a>&gt;

A New dev.java.net Open Source Project!
The sources for iText integration have been made publicly available. 
Maybe you want to create PDF files from files open in the Source Editor. 
Or maybe you want to contribute to the project, to extend and improve it. 
Either way, go here, check out the sources, and follow the instructions 
for setting everything up: 
http://services.netbeans.org/newsletter/story.php?id=621</pre><hr>This issue of NetBeans Weekly News was brought to you by John Jullion-Ceccarelli.<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>