Skip to main content

Let Me Roll It

Posted by editor on July 3, 2007 at 7:51 AM PDT

Taking control of your own web services

A couple of years ago, I remember sitting in the JavaOne keynote (er, "Sun General Session") as various speakers went over features coming in Java SE 6. One was an annotation for setting up a web service automatically, letting IoC figure out how to expose the method and letting the developer worry only about the implementation.

Thing was, this was the Java SE roadmap. And I'm thinking "why isn't this in the EE keynote? I'm a desktop guy; why do I care about web services?"

Time -- and a concrete implementation -- have cured my ignorance on this point. First, there's the matter that several important and viable enterprise stacks (Spring, for example) are built atop SE without being EE, per se. Providing web services in SE lifts all boats, EE or otherwise.

Moreover, web services are increasingly important as a distributed systems technology. Young Yang makes the case for this

in today's Feature Article, JAX-WS Web Services Without Java EE Containers:

One justification for including "">JAX-WS 2.0 as part of Java SE
6.0 instead of Java EE 5 is that web service delivery with JAX-WS
2.0 does not require a servlet or EJB container. This makes HTTP
more or less an equal peer of RMI as an intrinsic protocol for
distributed computing on the Java platform, and further extends the
reach of web services.

In the article, you'll see how to jump directly into the package and provide your own endpoint and get access to the underlying HTTP server. Want to do peer-to-peer web services, mock web services, or something else we haven't thought of? Digging in at this level should open up lots of opportunities.

In Java Today,

Milestone 10 of NetBeans 6.0 (M10) is now available for download. Milestone 10 comes up with many new features and improvements, including: New default color scheme and syntax coloring, Ruby Debugger enhancements (global vars, watch view, locals view), Redesigned Find / Replace dialog, Integrated Visual Design for Web Applications, and more.
More details about all features can be found on the NetBeans Wiki. The overall report for M10 is available as well.

The still-incubated Notebook project shows a lot of promise, offering a simple program to organize notes, to-dos, lists, and anything else you need to jot down. "Notebook is designed to be small, fast, and portable. This makes it ideal to keep on a USB thumb drive, and use on any computer with Java 1.5 or higher installed. Notebook is also designed to be simple and easy to use. No extensive menus, no complicated options, and no fluff." The first release offers executables for Mac and Windows, as well as a plain JAR file.

InfoQ recently sat down with Sun CTO Bob Brewin to discuss the Eclipse Europa release and the future direction of Sun's Netbeans IDE. The summary article Sun CTO Bob Brewin on Eclipse 3.3 and the Future of Netbeans discusses Sun support for Eclipse projects (like the Glassfish Eclipse plugin and MyEclipse's use of Matisse). plugin development for NetBeans, and future NetBeans features targeted at JavaFX and Ruby developers.

In today's Weblogs.

Brian O'Neill asks

JBI: Application Development w/o Coding, are we there yet?
"Often people take a look at JBI and expect to be developing new service engines and binding components, but more often than not an application developer won't need to code anything at all! (or at least thats the vision)."

Felipe Gaucho apparently knows his stuff, as he ranks among the winners tallied up in his blog
Black Belt results at Jazoon'07.
"The Java Black Belt competition during Jazoon'07 was a fun and exciting moment, all those geeks competing for the great prize in front a large audience. As an old Java developer I obviously tried and I guess my performance was pretty well."

C# 2.0: Java 8?, Alexander Schunk offers
"a current investigation into Webservices and the differences between C# and Java 6 brings me to the conclusion that development of application today is not a matter of syntax or runtime but a matter of deployment and tools."

In today's Forums, hallenberg has a question about running Java with Jazelle:
"I recall reading something about needing a license to run Java with Jazelle on ARM, but I can't remember where I saw it... Does anyone know anything about what would be needed to run PhoneME (or another JVM for that matter) using the Jazelle features? Since I suppose it would boost performance a lot on an ARM926EJ it would be sweet if it was at all possible."

raaga wonders
How to find out if a thread has finished execution?
"Hi, Am new to multi-threaded programming. I have a question: I start a new thread from the main thread. This new thread has to update a swing component & thats it. How do I know when the new thread has finished its execution? Also, I need to kill the thread once it finishes its execution?..or will Java's GC take care of it? If I need to kill it from the code, how do I do it? I see that the destroy() method of Thread class is deprecated."

Finally, whartung has a warning about conveniences that turn into habits, in
Re: Production Deployments
Just because the IDEs can do deploys and/or that developers use that feature in their day to day development, doesn't mean that you need or should rely on that to do your production deploys. For example, with Netbeans, you can leverage the Ant scripts that it generates to rebuild your application away from the developers and then deploy it to whereever and however you like, or you can integrate with any of the myriad of tools for that kind of thing. At the moment, I'm just hand deploying EARs through the admin interface for our internal "public facing" day by day builds. Eventually we'll do some continuous integration tool set.

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Taking control of your own web services