Heavy is a Perception

While putzing around the apartment tonight I stumbled across my girlfriend watching the premiere of a new Lifetime Original Series, “How To Look Good Naked“. My initial excitement quickly throttled back to reality when I discovered that my visions of skin on parade were replaced with the insufferable Carson Kressley doing some version of “Queer Eye for the Insecure Girl”. I could blame false advertising, but it’s my own fault for expecting greatness from Lifetime while simultaneously possessing a Y chromosome.

But the intent of the show mirrored some discussions I’ve been having with Michael Neale, Aussie on the JBoss Rules team. Changing your perception is a lot of the game.

Now, I’ll never, ever argue that marketing or a pretty face will make up for a crap product, but lately I’ve been ramped up over the public view that JEE, and JBoss AS in particular, are “Heavy”. And in context, this is somehow bad.

So it’s time to dispel some of that by embracing the reality of what “Heavy” means.

In the case of JBoss AS, it means:

  • Resource Pooling (Threads, Objects, Database Connections, etc)
  • Transaction Management
  • Conversational Context (Application Sessions)
  • Pass-by-Reference Semantics (Avoiding Serialization cost and Network Latency)
  • Security
  • Process Scheduling
  • …etc, etc.

…by default.

Default.

Love it. And love even further that the above is implemented to open specification (JPA, JCA, EJB, JTA), minimizing your vendor lock-in.

I21 advocates will proclaim Spring as more relevant than the Second Coming because it DOESN’T have any of that.

…by default.

Default.

See, the beauty of Spring is that it’s merely an environment into which other modules may be plugged. Light as a feather in space. Starts up before you hit “enter”, scales to the moon and back. And is extensible by adding implementations of whichever components you need.

Dirty little secret about JBoss AS: It also does nothing on its own.

The JBoss Microkernel has, for years, simply been a deployment mechanism. And today, I started it in 3 seconds in minimal configuration. If I want to add features, I drop ‘em into a folder.

Sounds Springy to me.

For a long time, I’ve hated everything:

  • Dynamically-typed
  • Ending in “uby” or “roovy”
  • Agile

…because they just don’t address Enterprise Concerns, and trade the long- for the short-term, good practice for easy-to-learn.

But that era’s got to come to an end. Development, and open-source in particular, is about choice. And we’ve got lots of great stuff in the JEE space to offer to languages and methodologies of all walks. It’s time to reach out and integrate.

So here’s my concession: EJB is powerful, but I’m going to recognize that not everyone has the desire to invest the time to learn its complex underpinnings, even if the 3.0 Specification made the semantics dead simple.

Maybe frontend JavaScript developers want to call Service code directly, eliminating the need for a Web Tier in many cases. We can do that. Maybe JRuby kids want to leverage Rails for its strong points, and shuffle off the distributed business logic to EJBs. We can make that easier, too.

So Heavy can be really, really good.

Except when you were hoping for lite porn, and instead got some chick crying in front of a three-way mirror.

S,
ALR

Advertisement

About Andrew Lee Rubinger

Advocate for and speaker on testable enterprise Java development, author of "Enterprise JavaBeans 3.1" from O'Reilly Media. Member of the JBoss Application Server development team and technical lead of the ShrinkWrap project. Proudly employed by JBoss / Red Hat.

3 Responses to “Heavy is a Perception”

  1. Shaun Connolly says :

    Of course, I’m a JBoss guy…but this post was both hilarious and spot on!

  2. alrubinger says :

    Now for us to get the world to agree, Shaun. :)

    S,
    ALR

Trackbacks / Pingbacks

  1. No Pain, No Pain | Embedded APIs for JBossAS « Exit Condition - December 2, 2009

Leave a Reply

Fill in your details below or click an icon to log in:

Gravatar
WordPress.com Logo

Please log in to WordPress.com to post a comment to your blog.

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.