| Blogging Roller |
|
| Description: |
Dave Johnson on software development, Java, and the Roller Weblogger project. |
| Format: |
RSS 2.0 |
| Feed URL: |
http://www.rollerweblogger.org/rss/roller?catname=Java |
| |
| Latest Headlines |
|
Struts 2 in Action
Wed, 7 May 2008 12:19:49 -0400
Struts 2 is my favorite Java web framework these days; it's REST-friendly, simple, easy to use, very flexible and the only thing it has with its creaky old Struts 1.x parent is the fact that it's an action framework rather than a component framework like JSF. As most of my readers probably already know, Struts 2 is based on WebWork/XWork the framework that powers JIRA and Confluence, two of the coolest Java webapps around.
Apparently, I'm not alone in this thinking -- I keep on running into folks at JavaOne who feel the same way. But unfortunately, Struts 2 docs are lacking, so I was very happy to see two new books on Struts 2 at the JavaOne bookstore. There's Struts 2 in Action, a rewrite of the classic Manning book, and Practical Apache Struts 2 Web 2.0 Projects from Apress.
I picked up a copy of Struts 2 in Action on Monday and it looks great so far, but I've only skimmed it. I'll let you know what I think once I dig-in on the flight home.
If you're at JavaOne, check out TS-5739 - Hands-on Struts2 by Ian Roughley (author of the Apress book) today at 10:50 AM in Esplanade 307/310.
|
Social Software at JavaOne 2008
Tue, 29 Apr 2008 15:00:08 -0400
There are quite a number of Social Software related talks coming up at JavaOne and CommunityOne this year. You can learn about everything from building Social Networks with the Liferay portal and federated relationships with OpenSSO to creating 3D virtual works and implementing OpenSocial with Java. And, I'll finally be able to talk about what I've been working on for the past couple of months -- more about that later.
Here are the 11 Social Software related talks that I've found so far at both JavaOne and CommunityOne. Did I leave any out?
CommunityOne - Monday
S297141 - Building a Social Network with Liferay Portal
Brian Chan, Liferay, Inc.
Monday May 05 12:25 - 13:20 / Moscone North - Hall E 135
S295742 - Turn Your Web Site into an OpenSocial Container
Dave Johnson and Vijay Ramachandran, Sun Microsystems, Inc.
Monday May 05 14:35 - 15:30 / Moscone North - Hall E 135
S297300 - OpenSSO: Federated Relationships with Social Networking and Web 2.0
Pat Patterson, Daniel Raskin and Nick Wooler, Sun Microsystems, Inc.
Monday May 05 16:00 - 16:55 - Moscone North - Hall E 135
JavaOne - Tuesday
TS-6125 - Project Wonderland: A Toolkit for Building 3-D Virtual Worlds
Paul Byrne and Jonathan Kaplan, Sun Microsystems, Inc.
Tuesday 05/06/2008 3:20 PM -4:20 PM / North Mtg-121/122/124/125
JavaOne - Wednesday
TS-6574 - How to Implement Your Own OpenSocial Container with Java
Chris Schalk, Google
Wednesday 05/07/2008 1:30 PM -2:30 PM
JavaOne - Thursday
BOF-6362 - LinkedIn: Prof. Social Network Built with Java and Agile Practices
Nick Dellamaggiore and Eishay Smith, LinkedIn
Thursday 05/08/2008 6:30 PM -7:20 PM / Esplanade 301
BOF-5857 - Turn Your Web Site into an OpenSocial Container
Dave Johnson and Jamey Wood, Sun Microsystems, Inc.
Thursday 05/08/2008 6:30 PM
BOF-6575 - Building OpenSocial JavaServer Faces Components
Ed Burns, Sun Microsystems, Inc.; Chris Schalk, Google
Thursday 05/08/2008 7:30 PM -8:20 PM
BOF-5911 - Beatnik: Building an Open Social Network Browser
Tim Boudreau and Henry Story, Sun Microsystems, Inc.
Thursday 05/08/2008 7:30 PM -8:20 PM
BOF-6435 - Creating Facebook and OpenSocial Widgets with Java
Florent Gerbod and Kevin Leong, Mo'Blast Inc.
Thursday 05/08/2008 8:30 PM -9:20 PM
JavaOne - Friday
TS-6537 - Applications for the Masses by the Masses
Girish Balachandran and Todd Fast, Sun Microsystems, Inc.
Friday 05/09/2008 10:50 AM -11:50 AM
|
Social Software for Glassfish screencast
Thu, 21 Feb 2008 16:13:44 -0500
I mentioned the Social Software for Glassfish (SSG) EA2 release before the winter break, but I never got around to posting any details.
Since then
some documentation has appeared,
Manveen Kaur blogged it,
The Aquarium too
and now screen-cast master
Arun Gupta has created an excellent
Social Software for Glassfish screencast
that walks you through the features in this very early access release. Now I don't have to say nearly as much.
|
Abdera AtomPub server refactoring
Mon, 28 Jan 2008 09:05:45 -0500
I've got to carve out some time ASAP to take a close look at this.
The code is in Abdera SVN and there's
20-minute implementation guide (PDF) too:
James Snell: Dan Diephouse and I have been spending the last week refactoring the Abdera server framework with the goal of making is less complicated, easier, and generally better.
|
Yahoo Weather RSS module for ROME
Wed, 23 Jan 2008 15:40:22 -0500
Apparently, I spoke to soon about ROME being in maintenance mode. There's an all-new
Yahoo Weather module for
ROME from
Robert "kerbernet" Cooper.
|
ROME vs. Abdera
Tue, 22 Jan 2008 18:18:40 -0500
For Java developers starting out with RSS and Atom, here are some notes to help you figure out the differences between the Java.net ROME and Apache Abdera (incubating) projects.
ROME is a set of Java tools for parsing, fetching and generating all forms of RSS and Atom feeds. The core ROME library is relatively small and depends only on the somewhat creaky old JDOM XML parser. Available separately are modules to support various feed extensions such as OpenSearch, iTunes, GeoRSS, etc. ROME was originally developed and open sourced by Sun Portal dev team members in 2004.
ROME Propono is a subproject of ROME that supports publishing/editing entries and files to blog servers and AtomPub servers. Propono is made up of three parts: 1) a Blog Client library can publish via either the old lagacy MetaWeblog API or the shiny new AtomPub protocol, 2) an AtomPub client that publishes only via AtomPub and 3) a framework for creating AtomPub servers. Propono was developed by Ramesh Mandava and Dave Johnson, based on code from RSS and Atom in Action and open sourced as part of the Sun Web Developer Pack in 2007.
Abdera is a set of Java tools for working with Atom feeds and AtomPub protocol. This includes a parser, writers, an AtomPub client and a framework for creating AtomPub servers. Abdera's Atom feed parser uses STAX, so it uses less memory and is faster than ROME. Abdera's Atom feed support is more comprehensive than ROME's and it supports signatures, encryption, Atom to JSON, extensions for Threading, Paging, GeoRSS, OpenSearch, GoogleLogin, etc. etc. Abdera was developed by IBM and contribued to Apache in 2006.
Now let's compare frameworks. The pros and cons of ROME are:
Pro: complete RSS support, all of the dozen various flavors
Pro: it's generally simple and small, depending only one jar (JDOM)
Pro: easy to understand and use the AtomPub server framework
Pro: MetaWeblog API support
Con: Atom feed support not as comprehensive as Abdera
Con: parser uses lots of memory, slower, JDOM based
Con: community not as active, seems to be in maintenance mode
(See also Ohloh stats)
The pros and cons of Abdera are:
Pro: comprehensive Atom feed support, lots more Atom extensions
Pro: faster more efficient parser
Pro: In the Apache Incubator with active and growing community
(See also Ohloh stats)
Con: lots of dependencies
Con: AtomPub server framework poorly documented, overly complex (rewrite coming soon)
Con: no RSS support (there is something in Abdera contrib, but it's incomplete).
There you have it. ROME and Abdera folks: think that's a fair comparison? Are you a ROME or Abdera user? How would you like to see these frameworks move forward?
|
Holiday project: JMaki for Roller
Wed, 2 Jan 2008 13:12:54 -0500
Over the holidays I avoided doing anything directly related to my current set of work tasks. Sun went quiet, which helped, and I ignored the messages that piled-up in the Roller user and dev lists. It was so quiet that I had time for a fun little project: a JMaki plugin for Roller.
JMaki makes it easy to use JavaScript widgets (Dojo, Google, YUI, etc.) from PHP, JSP, JSF and now Roller. To use a widget, all you have to do is call a method or include a tag and JMaki takes care of including the right JavaScript files and generating the right HTML for you. That's not all JMaki does, there's also a pub/sub facility to make it easy to wire widgets together via events, there's a proxy for fetching remote resources common table and tree data models. The theme is cool widgets with ease-of-development and that's what I'd like to see in Roller. You can read more about the JMaki value proposition on the Why Use JMaki page.
Here's an example. Below is a Roller page template that uses two JavaScript widgest, the Dojo Clock and the YUI Data Table. All it takes is a single line of template code to include each widget, and one widget is dynamic i.e. the table is populated via an RSS feed.
<html>
<head><title>JMaki test page</title></head>
<body>
<h1>JMaki test: dojo.clock</h1>
$jmaki.addWidget("dojo.clock")
<h1>JMaki test: yahoo.dataTable</h1>
$jmaki.addWidget("yahoo.dataTable", "/roller/xhp?id=rss","","")
</body>
</html>
And here's what that page looks like when displayed by Roller:
I'll write more about the plugin once I install it on this site. If you want some details about how the plugin was developed, you can read the email that I sent to the JMaki dev list: JMaki for Roller issues and suggestions. It links to the Java source code for the plugin.
|
PHP support in Netbeans
Wed, 28 Nov 2007 16:55:37 -0500
Hadn't heard about this one until today, but Netbeans 6.1 will have plugin support for creating, editing, deploying to Apache HTTPD, running and even debugging PHP projects. Check out the details and screenshots on the
Phantom Reference blog.
Here's a sceenshot from the Netbeans Wiki page on PHP:
|
Groovy support back in Netbeans
Wed, 28 Nov 2007 09:05:28 -0500
After going missing in NB 5.5, Groovy support is back in Netbeans. Basic Groovy support with syntax coloring and support for running scripts from the IDE is available in plugin form (download page) for Netbeans 6.0 (starting with RC2), read about it on
Geertjan's blog.
Here's what's coming after Netbeans 6.0, Groovy project support:
After Netbeans 6.0, the story gets better. Geertjan writes that a brand new Groovy plugin will be available in the post-6.0 builds that adds support for three types of Groovy projects: applications, class libraries and Grails webapps.
|
Blogapps 2.1 released
Tue, 2 Oct 2007 21:49:40 -0400
The next releases that I'd like to announce are the Blogapps 2.1 Examples and the Blogapps 2.1 Server.
If you'd like to learn more about the Blogapps examples and server then read The Blogapps Project article at Java.net. Here's a quick summary:
The Blogapps project hosts a collection of useful RSS and Atom utilities and
examples from RSS and Atom In Action
by Dave Johnson. They're
designed to be useful even if you haven't read the book and they're available
under the Apache License 2.0 so you can use the code in your applications and
you can modify and redistribute them as you wish.
What's changed since 2.0? The examples have been updated to include the latest version of ROME Propono, which means that most of them now support the final Atom protcol spec. The server has been updated to include Roller 4.0 RC5, which also includes Atom protocol support and JSPWiki 2.4. And of course, various bugs have been fixed. Here are the release files, installation instructions and release notes.
Blogapps server install instructions
Blogapps Server-2.1.tar.gz
Blogapps-Server-2.1.zip
Blopapps example release notes
Blogapps-Examples-2.1.tar.gz
Blogapps Examples-2.1.zip
This blog entry was posted via Atom protocol and the MatisseBlogger blog-client, which you can see in the screen-shot below (which was also posted via Atom.
What's next? Not sure at this point, but I will do another Blogapps release once ROME 1.0 is released.
|
Webmasters - Another button for your collection
|