As a part of the Dalma workflow engine project, I'm implementing the JMX support for the workflow container, so that it can be managed remotely --- for example, you can start/stop workflow applications, check the running conversations, etc.
I thought my use case was a pretty simple one, so I was hoping it would be easy. But unfortunately it turns out that there are problems.
Firstly, I didn't...
on Dec 11, 2005
Sun has a new SDN program.
This is a pilot program for developers using the Sun developer tools
(Java Studio Creator,
or Java Studio Enterprise)
or core J2SE.
The program is free for a limited time.
You get free service and Sun gets to understand better the needs of its customers.
Check out the details of the pilot program at the web site.
And, btw, Java Studio Creator and Java...
on Nov 15, 2005
A few months ago I posted some initial impressions on Find Bugs. Since then my backburner task has been to study how to use the tool with the tools developed by the Java Quality Team.
The Java Quality team has several tools (harnesses, test frameworks, etc) to aid the work we do. I've discussed bits about them before, so I won't go into that again. Suffice to say the managers were impressed...
on Nov 14, 2005
Hot news! As a member of Sun Developer Network, which you can join for free, you can download free, full-license copies of the Sun Java Studio Enterprise and Sun Java Studio Creator IDEs. Both IDEs won big in the Product of the Year 2005 contest at developer.com.
See the details. What a deal. And it's gaining a lot of press attention. This article, The Best Things In Life Are Free by Dick Wall at...
on Nov 9, 2005
Up until now only bar charts were supported in Japex. The result values displayed in these charts are controlled by the parameters japex.resultValue and japex.resultUnit (c.f., manual for more information). An example of such a chart is the following,
Displaying throughput in transactions per second (by setting japex.resultUnit to "tps") or latency in milliseconds (by setting japex.resultUnit...
on Nov 4, 2005
For those of you unable to attend my talk on Jackpot at JavaOne last June, the presentation is now available either as a multimedia web show (audio and synchronized slides) or as a PDF file. You need to be a Sun Developers Network member, but registration is free and only takes a minute or so. Once you are registered, here is the talk. BTW, all of the presentations are available, not just mine!
on Nov 1, 2005
Every once in a while, you just have to go down to the native code to really feel like a real programmer. Those garbage collections and bytecode verifications are all great, but it's just not so fun to live in an environment where you can't even shoot yourself. Not always, but sometimes.
That was my feeling for the past 1 hour, so I picked up my com4j project and fixed a bunch of bugs and...
on Oct 30, 2005
Those of us who run projects on java.net knows how painful the java.net web interface can be sometimes.
Simple things like adding a person to your project take multiple mouse clicks, and when pages load slowly (like just now!), it can quickly kill your productivity. Today, I'm going to talk about the java.net tools that solve this problem.
The java.net tools is a simple command line tool. If...
on Oct 26, 2005
One feature I rely on for shared development is for the source control system to email a notification of any changes. CVS supports this notification and it is easy to implement: just add an email command line to the repository's CVSROOT/loginfo file (or separate ones for each project, if desired). The problem I have with these commit messages is that while they describe what projects and files...
on Oct 25, 2005
Using Eclipse for the code, NetBeans for profiling, how cool is that? Well, it is, especially when you have a dual screen setup. I know a lot of developers do have such a setup today. Mine is a bit weird though:
Anyway, I have been quite successful using two IDEs so far so I'm ready to switch to next gear and use NetBeans 5.0 GUI Builder for my UIs. Eclipse, as any decent IDE/source editor,...
on Oct 24, 2005
Dalma is a workflow engine that lets you write conversational programs quickly. In my last blog about Dalma, I showed a little code snipet that explains the concept, but I wanted to have the real working code.
So today, I added a little hangman game as a sample to Dalma. It's a daemon that handles hangman games with multiple users concurrently, via e-mail.
The entry point looks like this:...
on Oct 22, 2005
New blog, new life. Let's start things up by talking about a nifty tool we have developed internally and are making available as part of the FastInfoset project (and will mostly likely create a new project for very soon). You can browse the CVS tree here.
Japex is a simple yet powerful tool to write Java-based micro-benchmarks. It is similar in spirit to JUnit in that if factors out most of the...
on Oct 20, 2005
Many applications of today need to have a part of the program that waits for other entities. For example, a mailing list manager waits for an e-mail to trigger actions. A web application waits for incoming HTTP requests.
Sometimes those applications are conversational; they not only just receive messages, but also send out messages. Those programs often maintain some state and change it as the...
on Oct 12, 2005
As many programmers I don't like using an IDE. Well, at least I used to. I spent many years using an editor of my own and it served my purpose very well. Hey, after all I wrote it according to my needs. Apart from Jext I always used Metapad on Windows, a slightly improved clone of Notepad, and vim on other platforms. Convinced IDE could boost my productivity, I decided to seriously try to use...
on Sep 30, 2005
Since I wrote the last blog entry about the maven java.net plugin, Ross Bamford joined the development, and we've been working on the Maven repository for all java.net projects.
The idea is to have a single Maven repository where all java.net projects can publish their artifacts. This has two benefits; the first is that it becomes easier for other projects to depend on java.net projects,...
on Sep 23, 2005
Xdoclet did a very good thing: not only did they use a doclet-like mechanism
to produce xml files and other artifacts to make j2ee and web development easier,
they gave us a better design than javadoc in that the code generation is
template-driven. My understanding is that xdoclet v1 used the xdt template engine
while xdoclet 2 is now based on generama (where one can choose to use velocity or...
on Sep 23, 2005
One big reason Jackpot hasn't released yet is because it is tightly bound to javac's private modeling API for abstract syntax trees (parse trees), types and symbols. The two teams have been working together on how such an API can be exposed without locking down javac and preventing future innovation.
The solution the javac team designed is an interface-based AST abstraction, which javac will...
on Sep 20, 2005
I have a lot of projects on java.net, so I needed a way to simplify the project management. That's why I came up with maven java.net plugin.
The idea is simple. Maven provides an excellent framework for managing a large number of small projects. So I wrote a plugin to perform java.net specific tasks.
One of them is the javanet:site task, which takes the result of maven site and bring them to...
on Sep 18, 2005
Well, I am shamed - some months ago I mentioned that I'd started work on a Usages Tree view for NetBeans. I started on the project, and shelved it with the hundreds of other weekend coding projects I have. Someone recently mentioned this on JavaLobby - and that the plugin had never appeared.
So last night I wrote it, and you can download it here. AFAIK it's solid, but I wrote it from start to...
on Sep 13, 2005
I'm a big fan of the Unix find utility for managing large projects. One task that's difficult to do with it, however, is finding which jar file contains a Java class -- you can't use search commands like grep because it will match on any class that references your target, not just the defining class itself. There are several utilities that do this on the web, but most are big GUI-based tools...
on Sep 3, 2005