Blogging Roller

Dave Johnson on open web technologies, social software and software development


Java already built-into iPhone h/w

So says ZDNet's Ed Burnette.
Ed Burnette: Shortly after the iPhone went on sale, hardware enthusiasts started tearing into them to see what made them tick. They found that the iPhone is using an ARM1176JZF-based processor, probably the Samsung S3C6400 that operates at 667MHz. This chip sports an embedded Java acceleration engine called Jazelle.
And in closing Ed writes:
Now, if Apple can just get over its anachronistic “Java is heavyweight” beliefs, then small, efficient, hardware-accelerated Java games and multimedia for your iPhone could be just a software upgrade away.
Maybe the iPhone won't suck for developers after all.
Tags: apple iphone

Glassfish at UNC-Chapel Hill

Glassfish NC license tag

Via the Aquarium, there's a nice Java EE and Glassfish adoption story over in Chillboro:

Adam Constabaris: A fundamental question for us in building this application was whether to use Tomcat and "soup it up" by using Spring to add services Tomcat doesn't provide itself, or whether to use a full Java EE container. We could have made it work with the servlet container approach, since our application isn't heavily "enterprisey" and we were initially reluctant to pay the complexity price of EJBs. After looking at the Java EE 5 specification, though, we saw a lot of ways we could simplify and standardize things, such as using JSF 1.2 and coding to the Java Persistence API rather than using Hiberrnate APIs directly.

Hey! I know that guy. Hi Adam.

Is there a trend towards full app servers and away from plain old Tomcat? Is it because of strong open source Java EE offerings from Sun, JBoss and Apache? I don't know, but I sure hope so.


Zero

IBM's project Zero has de-cloaked.
Project Zero introduces a simple environment for creating, assembling and executing applications based on popular Web technologies. The Project Zero environment includes a scripting runtime for Groovy and PHP with application programming interfaces optimized for producing REST-style services, integration mash-ups and rich Web interfaces.
Smells a lot like Phobos (see also Phobos Meets Atom, REST), but Phobos is focusing on server-side JavaScript first. Oh, and Phobos is open source. Project Zero is not.
"This community is an experiment in a new way to build commercial software, an approach we are currently calling Community-Driven Commercial Development. Community-Driven means that we want feedback, insight, suggestions, criticism, and dialogue with you, the users of Project Zero. This interaction will yield a better solution that is more targeted at the problems you have and a technology that truly delivers on its objectives. Commercial means that this is not an open source project."
Community-driven? Sounds like the community is a back-seat driver with freedom to complain but no access to the steering wheel, gas pedal or breaks.
Tags: groovy java rest

Apache OpenJPA graduates

Congrats to the OpenJPA team.

Patrick Linksey: Last week, OpenJPA graduated from the Apache incubator, meaning that it's now a fully-fledged Apache project. We're graduating to a top-level project, so once the infrastructure administrivia gets worked out, the new URL will be http://openjpa.apache.org.

I'd like to thank Craig Russell for pushing the project through the last mile of graduation details, and our incubation mentors (Brian McAllister, Eddie O'Neil, and Geir Magnusson) for all their help transitioning into the Apache world.

I'm pushing to replace Hibernate with JPA in Roller and OpenJPA seems the most likely candidate, so I'm glad to hear the community is thriving.

Tags: asf java jpa orm

Basic Groovy, for Netbeans 6.0

Speaking of open source projects that need help, there's Coyote, which promised to bring scripting support to Netbeans and did so for Netbeans 5.0. Since then, the project has been pretty stagnant. JRuby's getting all the attention these days.

Geertjan is doing his best to jump-start Groovy support in Netbeans, but it's not really his job. He's gone beyond the call of duty and it looks like he's got something pretty functional going, which is very nice. I've been doing some Groovy scripting lately, so I'll try it out. It would be cool if the Groovy project itself had time to help out, or even take over, but they're probably pretty busy too.

Sun open sources Slynkr, Digg-like social bookmarking app

Sun just open sourced an interesting Java webapp called Slynkr that supports a Digg-like form of social bookmarking and tagging. You can get the source and docs at slynkr.dev.java.net.

Slynkr was developed inside Sun by Jamey Wood and others. The small community that formed around it found it useful and fun and wanted to share it. Slynkr was first deployed externally (and experimentally) at slynkr.sunwarp.net and more recently it was put into production at www.sdnshare.com.

Slynkr has a nice feature set and UI, but under the covers it needs some work. It's only been tested with the Sun app server and Oracle, so it's probably got some "portability" issues. For better or worse, it's got a simple Servlet/JSP and JDBC architecture -- no frameworks or persistence layer yet. Jamey is interested in improving the architecture, making it work on multiple servers and databases and growing a community around the project. So if you're interested, grab the source, join the mailing-list and get in on the ground-floor of an cool new open source project.

Update: check out Jamey's post on Slynkr for some more background.

Tags: foss java web2.0

TS-6029 - Beyond Blogging: Feeds in Action

As usual, I'm enjoying JavaOne and meeting lots of new people and putting faces to names. I've also been practicing my talk daily so I can give you my best performance, so eat lunch a little early or a little late and come see how it goes. Here are the details:

Tags: atom feeds java rss

APP and OpenID at JavaOne

Trey Drake: How do you demo a directory server? Build cool apps around it. To that end, we've built an Atom/APP server, a lightweight OpenID server, a blogging and "twitter" like app - all powered by OpenDS. Drop by our booth (Glassfish alley at CommunityONE and .org section of the pavilion during JavaONE). Ludo and I will introduce OpenDS and show off the demos in two talks; today at CommunityONE at 5PM and Wednesday at 1:30 in the CommunityCorner.

Very cool. I'm not going to be the only one talking about Atom protocol at JavaOne. I'll have to stop by the CommunityCorner, that sounds too good to miss.


Propono 0.5 released

ROME Propono 0.5 is a minor bug fix release of Propono. You can get the release files and updated Javadocs from the Propono 0.5 release page.

ROME Propono 0.4 released

I'm happy to announce the first release of the ROME subproject Propono. Propono is a ROME-based Java class library that supports publishing protocols, specifically the Atom Publishing Protocol and the legacy MetaWeblog API. Propono includes an Atom client library, an Atom server framework and a Blog client that supports both Atom protocol and the MetaWeblog API.

Here's the project page
  http://wiki.java.net/bin/view/Javawsxml/RomePropono

Here's the Propono 0.4 release page:
  http://wiki.java.net/bin/view/Javawsxml/RomeProponoRelease04

And here's a link to the API docs, which include details, diagrams and code examples:
  https://rome.dev.java.net/apidocs/subprojects/propono/0.4/overview-summary.html

I'll be testing Propono this week and next (at the Google-hosted APP interop meeting) so now is a great time to provide feedback and bug reports. I plan on releasing Propono 0.5 in the *very* near future.

Tags: app atom java rome rss

@JavaOne: Beyond Blogging: Feeds in Action

As promised here's some more info on my JavaOne 2007 session. It's based in part on the Beyond Blogging presentation that I presented to a tiny audience at the local Tri-XML conference last year. Tim Bray didn't attend my talk, but he read the slides and called them "the single best introduction and overview I’ve ever seen about feeds and syndication and RSS and Atom and all that stuff." I shouldn't brag. Had he attended the talk he might have had an entirely different opinion, who knows. Anyhow, the presentation has been updated, stream-lined and large portions rewritten to cover ROME and ROME's new Propono sub-project. [Read More]

Geertjan's blog

I've really been enjoying Geertjan's blog recently. Lots of interesting details, screenshots and his passion for his work really comes through. His posts on the Netbeans Schliemann generic languages framework and today's Capturing Matisse make me want to drop everything and start hacking Netbeans. And I'm especially happy to see that somebody is interesting in Breathing Life Back into a Dead Coyote (part 1 and part 2), which is currently the main vehicle for Groovy language support in Netbeans -- I'd hate to see Groovy dropped in the mad rush to Ruby.


Newsgator launches Java ME powered feed reader

Newsgator, makers of FeedDemon and NetNewsWire, have launched a Java ME powered RSS/Atom feed reader. Here are some details from the press release

NewsGator Go! for BlackBerry and NewsGator Go! for Java were developed in a technology partnership with FreeRange Communications, the leading developers of mobile publishing and mobile RSS solutions, and is available for BlackBerry, Sony Ericsson, Nokia, and most other MID-P 2.0 mobile phones, including Samsung, Sanyo and LG. NewsGator Go! is available for $29.95 or $14.95 if bought with any of NewsGator’s desktop readers, including FeedDemon, NetNewsWire and Inbox.

Via Randy Morin.

Tags: atom javame rss

Sun Web Developer Pack R1 with RSS and Atom goodies

The Sun Web Developer Pack (SWDP) finally uncloaked today, so I can talk a little more openly about what I and my Java EE co-workers have been working on. You can get the full scoop at the SWDP site, but basically SWDP is a bundle of technologies to help developers build "Web 2.0" or next-generation web applications on the Java platform. Ajax, scripting languages, REST and of course RSS/Atom are all part of that. The RSS/Atom bits are ROME 0.9 (Beta), Blogapps 2.0 (Early Access) and a ROME-based Atom Server kit based on code from Roller.  There are also example Atom server implementations in the REST API and Phobos components of the pack.

I'm pretty excited that we're putting some resources behind ROME and that both ROME and Blogapps are part of SWDP R1, but I'm even more excited about the next release. In R2 we'll drop the Atom Server Kit and Blogapps BlogClient and we'll replace them with ROME Propono a brand new Atom protocol client and server library that we're getting ready to contribute to the ROME project.

I haven't had a whole lot of time to experiment with the various components in the pack, but I have played with Phobos and I think it's pretty compelling. Phobos is a "lightweight, scripting-friendly, web application environment." It's not just for creating server-side JavaScript applications, but that's the angle the I find interesting. So many developers are creating JavaScript/Ajax applications these days that working in JavaScript on both client and server-sides makes sense -- especially when you can debug into JavaScript code in your IDE as you can with the Netbeans Phobos module. Also note that the jMaki Ajax components work with JSP, PHP and Phobos -- jMaki and Phobos look like a winning combination.

JPA JPA JPA

That's three JPAs. I've been fighting to get a new Roller back-end running, one that uses the Java Persistence API (JPA) rather than the native Hibernate API that we use now.

Craig Russell and Mitesh Meswani wrote the new JPA back-end and tested it against Toplink/JPA (JPA #1) and the Derby database. I've been refactoring it, updating it for Roller 4.0 and testing it against various other databases and JPA implementations with mixed results.

I tried to run it against MySQL, ran into a bunch of problems and fixed those. Allen switched out Toplink/JPA for Hibernate/JPA (JPA #2), ran into problems and fixed those. I switched out Toplink for Apache OpenJPA-incubating (JPA #3), ran into problems and fixed those. So now we have a back-end implementation that runs against OpenJPA, but requires two small code changes to work against Toplink -- not exactly an ideal situation.

I'm a JPA newbie for sure and still trying to figure this stuff out, but it does seem that switching JPA implementations is not as easy as it ought to be.

In other JPA news...

I didn't realize that the open source version of Toplink that Oracle contributed to Glassfish, Toplink Essentials, is the pee-wee version of the full and still closed source Toplink product. That's why I was somewhat surprised to hear that Oracle is open sourcing and donating the full version of Toplink to the Eclipse foundation.

Two observations about that news. First, this move appears to be a fork that will result in a CDDL licensed version of Toplink Essentials in Glassfish and an EPL version in Eclipse -- I hope I'm wrong about that. And second: apparently IBM will be soon be supporting two versions of JPA: OpenJPA via Geronimo and Toplink/JPA via Eclipse.


Hudson: an amazingly easy-to-use build server

I've never used a build or "continuous integration" server before so I've got nothing to compare Hudson to, but I can say this: it's amazingly easy to install and configure. Just drop the hudson.war file in Tomcat's webapps directory or deploy to your favorite app server and start setting up build jobs.

Hudson can pull from CVS and Subversion. It can run Maven builds, Ant builds and shell scripts. It can publish  javadocs, build artifacts, test reports and RSS feeds. The UI is simple but full of options and with plenty of built-in help. Here are the projects I'm monitoring with Hudson:

 screenshot of hudson
My Hudson is setup on old (Pentium 450mhz) Linux box and I've got it setup to poll my projects every 30 minutes and do a full rebuild and test on any change. I'm subscribed via RSS, so I'll quickly learn of any failure. Very handy.

Read more about Hudson at the project's Java.net site and the Aquarium has a nice set of Hudson links.


JavaOne here I come!

JavaOne banner 

I'm very happy to report that my talk was accepted for JavaOne 2007. I'll be giving a thoroughly revamped and updated version of my Beyond Blogging talk (aka Johnson on Feeds), which adds in-depth coverage of ROME and ROME Propono. I'm excited about going to JavaOne again, but I'm also feeling a bit frazzled. I'm swamped with work right now and I've got a stack of deadlines clustered around the March 20 due date for the slides.

I helped out with the session selection for the web-tier track this year so I can say with some confidence that at least one track is going to rock -- we've got a wonderful set of talks lined up, so don't miss it. The full session schedule isn't online yet, but registration is open.

Tags: atom java rss

Netbeans 6.0 pre-beta first impressions

When I saw that Tim Bray upgraded to a Netbeans 6 daily-build and it seemed to work OK, I just had to give it a try myself and I'm glad I did. I've been using it for a solid day now and I can tell that it's going to be a vast improvement over 5.5. It's fast. It starts up way faster than 5.5, seems faster overall and shutdown is almost instantaneous. Bravo! What else?

Tim was impressed by the hip new JRuby support, and I'll give that a try, but right now I'm digging the more routine things, things that I've been missing from Eclipse like multi-file search & replace, local history and a smart editor. The only thing I miss from Eclipse now is this: Netbeans has a nice Ctrl-Shft-O to Go To Type feature and I use it all the time; why can't we have a nice slick Ctrl-Shft-R Go To Resource like Eclipse does?

Anyhow... NB6 is looking good already, so if you're using 5.5, you might want to take the latest milestone Netbeans 6.0 M7 or one of the dailies for a spin.


Re: javax.ws.rest

I've been updating my javax.ws.rest post with links to blogs about JSR 311: Java (TM) API for RESTful Web Services. I went from a couple to nine links today and I'll probably keep on linking, but I'm about to go quiet for couple of days. It's wiki mountain weekend time again.

 N.C. mountain house with snow

« Previous page | Main | Next page »