Category Archives: Development

Merry Christmas, now get back to work

<P>I've been busy, and this blog has been collecting digital dust just sitting around. I have discovered <a href="">Google Analytics</a>, however, so I have been faithfully tracking just how <i>unread</i> my blog has been.
<P>As I coded in Java over the past three years, I never really embraced the EJB style of web applications, thinking that it was a bunch of over-complexified waddle; Bruce Eckel's article <a href="">The departure of the hyper-enthusiasts</a> vindicates my opinion of EJB.

too many cooks in the kitchen

<P>I don't blog that much about Java because hey, let's face it, this is my <i>personal</i> blog, and I like to blog about stuff that's fun for me. However, on Jroller you get to see a lot of themes here for all sorts of different types of Java developers. There's the <a href="">Wicket diary</a>, a lot of voices about <a href="">Spring</a>, and so on.
<P>Something that other Java blogs have pointed out is that Java is riding the crest of a wave, and after 10 years, people are wondering when Java will officially 'peak' and begin to get its market share eaten up by someone else; look at <a href="">Jayson's recent post</a> about the Innovator's Dilemma; now that we're at the top of the mountain, where do we go? And who is climbing that mountain behind us? Jayson (and a lot of people along with him) seem to think Ruby on Rails is waiting to take over where Java is starting to lag.
<P>JDJ's own Joseph Ottinger once stated in an editorial that we, the Java community, are suffering from <a href="">too much innovation</a>; he had to make an embarrassing about-face in the next issue of JDJ and state, for the record, that <a href="">there's still some innovation left</a> for Java, and that we will need to keep growing and designing products that are, at the very least, easier to use for the general developer community.
<P>With that in mind, is Sun and the Java community in general simply giving away their market share? Have we innovated to the point of maximum complexity, where we are nothing but code beaureucrats, impressing our friends with framework X and package Y?
<P>Take, for example, the <a href="">ServiceMix</a> code package, which bills itself as an Enterprise Service Bus (ESB) which implements the Java Business Integration (JBI) specs, linked to from <a href="">ShareMe LLC</a>:
ServiceMix currently has the following JBI components:<br>
Service components<br>
* Rules based routing via the Drools rule engine.<br>
* BPEL support for WS-BPEL via PXE<br>
* Cache for caching service invocations using a Map cache or a JCache provider<br>
* Groovy for clean integration with the Groovy scripting language as a component, transformer or expression language<br>
* JCA allows the Java Connector Architecture to be used for efficient thread pooling, transaction handling and consumption on JMS or other Resource Adapters<br>
* Quartz to support enterprise timer integration via the Quartz library<br>
* Scripting support to allow any JSR 223 compliant scripting engine to be used to easily create a component, perform a transformation or be an expression language.<br>
* Transformation using XSLT<br>
* Validation for schema validation of documents using JAXP 1.3 and XMLSchema or RelaxNG<br>
* XSQL for working with SQL and XML via Oracle's XSQL library<br>
<p>How many people think this is too much innovation? Too little? Too much innovation in one direction only?

Drools tutorial, for rule-based goodness

<P>And just like that, someone was reading my mind about complexity and Java, since <a href="">Using Drools in Your Enterprise Java Application</a> by Paul Browne is up on onJava:
<p><code>How many hundreds of J2EE-EJB web applications have been written that capture information from a web page and store it in a database?</code>
<p>How many indeed.

buzz, buzz, buzz

Just took a look at <a href="">Beehive</a> and the cutely-named module for Eclipse, <a href="">Pollinate</a>. Does it bother anyone that a 1.0 release is still considered beta? I found this statement on the site:<P><code>This distribution is a beta release and is not intended for creating production-level applications.</code><P>If it's still beta, why give it a 1.0 label and <a href="">start work on a 2.0 release</a>?