The future of JSR-168

There is some interesting speculation about the future of JSR-168 going on at the Portlets Yahoo! Group. IMO (which is a redundant thing to say because this whole blog is My Opinion), I don’t think the spec is going away by any means. But at the same time, it seems that the entire industry has come to recognize it as the “lowest common denominator” of portlet functionality. In terms of features, it fails to specify portlet-to-portlet communication APIs among several other things. But worst of all, it’s designed with the presumption that the portlets will always run inside the portal container. Humph.

CSS — who knew?

I went to the final set of sessions at NVSS today which included a gem of a presentation by Eitan Suez, a Java programmer who also happens to be a CSS master. I had no idea you could you accomplish so much with CSS. For example, a lot of what I thought I had to do with Javascript and innerHTML() can be done with the CSS visibility attribute. Visit Eitan’s CSS Repertoire to find out more. Another site brought up during the talk was the CSS Zen Garden — a must see!

Did you write the famous hangman Java applet?

I also get asked this question from time to time. Unfortunately, I can’t take credit for that great little game (and one of Sun’s original sample applets for Java 1.0) because Patrick Chan wrote it.

However, the reason my name is in the source is because I ported it from Java 1.0 to Java 1.1 while interning at Sun in 1997.

Is Plumtree an “open” platform?

“We call this re-imagining Radical Openness. Radical Openness is our strategy to offer both J2EE and .NET versions of our entire application management framework, new points of integration for synchronizing the Enterprise Web environment with systems of record as well as desktop tools, and the ability to embed Enterprise Web services in any Web application,” Kunze continued. “Ultimately, we believe the way applications are being developed is fundamentally changing, and that with the Enterprise Web, applications can be developed in greater volumes, at lower cost, and on a wider variety of platforms than ever before.” –John Kunze, CEO, Plumtree, Inc. (excerpted from a 2003 press release).

bdg‘s response to this is that in some ways it is and in some ways it isn’t.

Plumtree is Open:

  • It runs on Windows (.NET or Java) or Solaris (Java)
  • It can embed portlets from anything that speaks HTTP(S)
  • It uses SOAP over HTTP for Crawlers, Authentication, Profiling and Search
  • It uses other nice, open-ish technologies like XML, SQL, HTML, CSS, Javascript
  • It runs on SQL Server or Oracle

Plumtree isn’t Open:

  • It only runs on only Windows and Solaris, not AIX, HP-UX, Linux, or any other *nix
  • It’s entire codebase, though highly pluggable and configurable, is proprietary
  • It uses proprietary headers (CSP, which stands for Content Server Protocol, no relation to Plumtree’s Content Server, don’t ask 🙂 to communicate information to and from portlets*
  • It only runs on SQL Server and Oracle, not MySQL or any other RDBMS

*Plumtree does support both WSRP and JSR-168 through plug-ins, though they limit functionality to some degree (more on this later).

I should preface all of this by saying that I still believe Plumtree is far and away the “best” portal solution for most mid- to large-size corporate intranets and even extranets for a whole host of reasons. I mean really, why would I bet my company on it if I didn’t?

However, it’s easy to confuse “open” with “pluggable” when they are in fact very different. When I hear things like, “my web service is written in Ruby on Rails, but .NET, Java and PHP clients use it all the time,” then I think “open.” (And no, if you’re wondering, I’ve never actually heard that, not even from Dave Thomas.) When I hear, “sure, you can replace the page navigation in my presentation layer, but only if do it with Tapestry” then I think “pluggable.”

Plumtree’s UI is pluggable; their WS/PRC server, EDK, CWS, AWS/PWS and SWS architectures are open; and their Portlets are, well, a little of both: they’re very open in that you can write them in anything that speaks HTTP(S), but only if you do it with their proprietary headers, but then, well, you can use JSR-168 or WSRP to get around that, but then, well, you can’t get all the functionality like Adaptive Portlets . . . .

When it comes to Plumtree’s Portlets (or Gadgets as they used to be called), it almost sounds like I’m arguing with myself.

In summary, if you’re looking for a proprietary product that’s built on some open standards that you can extend using open standards (sometimes) but that only runs on certain platforms, well, then Plumtree is for you.

While I’m not in the business of making excuses for Plumtree, I must say that every time a company with a proprietary enterprise software product needs to support a new OS or browser or database or “thingy” they need to run that combination through a testing matrix that grows exponentially each time you add a new “thingy” to it. That is a royal pain in the proverbial backside.

The complexity of the testing matrix alone is a great argument for open sourcing everything. (And yes, I understand that open and open source are not the same thing.) While I do see merit in commercial, proprietary software, I assure you that if Plumtree’s code base were open source it would already be running wild on Linux. Why? Because I would have compiled it myself. 🙂

How to pronounce (and not pronounce) Bucchere


No, it’s not boo-SHARE, it’s not buck-HEAR, and it’s certainly not buck-HAIRY.

Actually it’s easy: boo-CARE-eee. Once you’ve said it once or heard it twice, you’ll get it.

In fact, a lot of people call me Bucchere because Chris is just so, well, boring.


What’s the best way to find out XYZ about Plumtree?

I get asked this question — or some variant of it — all the time. Unlike almost everything else known to mankind, the answer is not: search Google. Instead, the best thing you can do is register for an account on Perhaps it’s to protect the paradoxical proprietary yet “radically open” nature of the Plumtree product line (more on this later); perhaps it’s just part of the “eat your own dog food” culture of the company (Plumtree uses its own Collaboration Server on the site) – regardless, even though there are two Google groups about Plumtree, the best – and really the only – way to get your questions answered is to post them on the Developer Forum inside the Plumtree Portal. (There is also a Deployment Forum, but it’s not as well trafficked.) My account name there is “bucchere” – as you can see, I’m not terribly creative at naming companies or accounts. If you’re interested in reading some of my musings and rants on various Plumtree-related topics, log in there and do a search across the Developer Forums for “bucchere.”

One thing about me – and really about everyone who works for bdg – we certainly don’t always know the answer, but we know who knows the answer. So, I guess you could always ask one of us. But not until you’ve already checked the Developer Forums, okay? 🙂

Here we go

Perhaps I’ve finally realized that it’s time to enter the 21st century; perhaps I’m interested in promoting my company and it’s services; perhaps I felt I needed a forum to express myself; perhaps I just can’t sleep — my motivations aside, I’ve decided it’s time to start a bdg/Plumtree blog.

First, some legalize to get out of the way. Contrary to what some people think, I do not work for Plumtree. I once worked for Plumtree. In fact, I was their 26th employee back in 1998 when they were first getting off the ground, starting in the PSO (Professional Services) and eventually becoming a Lead Engineer. The details of my career are probably only interesting to me, but if you’re compelled to know or just bored, you can read about them on my bio page on bdg’s web site or at Stanford’s CDC (Career Development Center). Because I don’t work for Plumtree, the opinions and views expressed on this blog do not represent the opinions of Plumtree, Inc. in any way. Nor do they represent the views of Trilogy, Microsoft or Sun, where I have also worked in the past. They do, however, represent the views of bdg, my present employer and the company I founded back in early 2003. (I guess there’s really no way around that.) That’s about as much as I care about legal matters, so I’ll call it quits there.

Some of the things I do care about – at least in my professional life that is – bdg’s customers, bdg’s employees and subcontractors, Plumtree’s products, other commercial and open source software, the science – or art – of enterprise software development and entrepreneurship. I’m sure over the course of time, I’ll comment on all these topics and a host of others.

So there you have it, I’ve finally embarked upon a journey I’ve been meaning to start for a long time. All I possibly hope for is that someone (or perhaps several someones) will derive some value from this blog and, if not, at least I’ve got an outlet for some of my frustrations. 😉