Gregor's Ramblings
Home Patterns Ramblings Articles Talks Download Links Books Contact

TSS Symposium Redux

March 14, 2005

ABOUT ME
Gregor Hohpe
Hi, I am Gregor Hohpe, co-author of the book Enterprise Integration Patterns. I like to work on and write about asynchronous messaging systems, service-oriented architectures, and all sorts of enterprise computing and architecture topics. I am also the Chief Architect at Allianz SE, one of the largest insurance companies in the world.
RAMBLINGS
Here I share my thoughts and ideas on a semi-regular basis. I call these notes "ramblings" because they are typically based on my personal opinions and observations as opposed to official "articles".

Straight from Karlsruhe I joined the annual geek pilgrimage to Las Vegas for TheServerSide Symposium. The quality of content at this conference is quite impressive, which is easily evidenced by the fact that the sessions are actually very well attended despite the apparent surplus of distractions and the lack of sleep. And as always, it was great fun to catch up with people like Mike Cannon-Brooks, Rod Johnson, Ted Neward, Mark Hapner, John Crupi and many others.

I also got a chance to observer real-time ranting in action. This is great, the speakers can essentially observe as their talk is being trashed on-line :-)

John Crupi on SOA

John Crupi also realized that application patterns are so 2001 :-) So he jumped on the SOA train and shared his Big Rules for Web Services, which I liked quite a bit:

  • Coarse grained business services
  • XML document based
  • Mostly asynchronous
  • Conversational
  • Reliable
  • Secure Identity
  • Policy driven
  • Registered & Retrieved
  • WSDL described
  • BPEL orchestrated
  • JBI based
  • ACDC - AsynC Doc Centric

I guess the list really describes "Web Services developed in Java (TM)" because otherwise it would be hard to explain that JBI item on the list ;-) Not that I dislike JBI, but it starts with J after all...

It is an open secret that the most important things at any conference go on in the hallway (well, the casino in this case, I guess). Anyway, it was good to run into Mark Hapner again. He informed me that a new public review draft of the BJI spec is now available. I have not read the whole spec but it has some interesting sections on Message Exchange in it, so it'll be worth a look to harvest more design patterns.

Future of Enterprise Java Panel

I also got to be on a 9am (!) panel on the future of Enterprise Java. I was a little worried that it would be a boring rerun of last year's panel but it turned out to be pretty interesting even though Rod Johnson was unusually kind to the Sun employees on the panel. Here are the main topics that came up:

State of Java

Most of us agreed that the J2EE platform is maturing. This makes for fewer sexy topics on a panel like this but it is actually a very good thing for developers. Rod summed it up nicely as "It's all about execution now". But he did not miss an opportunity to voice his opinion about EJB's: "J2EE had the choice between becoming even more bloated and be rendered insignificant or slimming down and enjoying a long life. Luckily, J2EE chose life". I believe that the focus on SOA will drive us to smaller components, exposed as services, in lighter weight containers, often referred to as Service containers. These service containers have slightly different needs from app servers and should be cheaper, have a small footprint and should be easy to manage, given that there will be many of them. I think most of the necessary pieces are part of most J2EE containers, it will be mostly a matter of slimming down and making the development and management of services more user friendly.

.Net vs. J2EE

The inevitable question on .Net vs. J2EE came up fairly early. A gentleman stated his observation that in his company all new projects are .Net. To me this alone does not spell the demise of J2EE as 90% of all development effort is typically spent maintaining existing applications as opposed to starting new projects. Nevertheless this is a fun topic to discuss on a panel.

Of course, Sun is quick to highlight their "open" community model. Some people (like Jason Hunter) have mixed views on the JCP and I am mostly in the skeptical camp as well. Hey, Microsoft listens very actively to developers, the ideas are just owned by MS in the end. Oh, and who "owns" the Java language and spec? Hmmm.... And, if you present a really good idea to MS, their "community process" is to hire you. Something to think about... after the likes of Ward Cunningham and Blake Stone now work there.

All panelists agreed to credit Microsoft with a good sense of pragmatism and making it easy for developers to get started. I think in this category, the much derided VBX/ActiveX/COM technology deserves a huge credit. It is one of the most successful commercial component models that I can remember. The ability for a VB developer to get a few components for 99 bucks and to show one cool app to his or her boss is largely unparalleled in the Java world. Of course, half the VB code often did not work, but hey, it looks cool :-)

Microsoft also runs one great developer community. Maybe I am a little biased (I had my hands in 2 of the Patterns and Practices books) but Microsoft has gained a lot of credibility in the patterns and enterprise developer community for contributing guidance that is not marketing material in disguise. Also, Microsofties now regularly attend and speak at high-end developer events like OOPSLA (even though the keynote there apparently went to the marketing department).

EJB 3.0 vs. JDOM 2.0

This one was funny because we got Rod to come out of the box after Linda proclaimed this a big success. She was really asking for it to the extend that one wondered whether it was a setup.

What is SOA?

This question was a great segue into my talk SOA = Same Old Architecture? Apparently my plug helped as they had to bring more chairs into the room for my talk. Essential agreement on that there is more hype and confusion than real solutions being built. The good old teen sex joke ("everybody talks about it, noone does it") was good enough for a few laughs -- maybe people were just being polite. On the other hand, a little more dynamic never hurts any panel. Jerry Springer gets high ratings after all.

TestNG

Cedric Beust gave a talk on TestNG. I thought it was interesting but feel that all the jUnit bashing was unnecessary. Of course, Hani liked it because the first 20 minutes were essentially a bitching contest on the shortcomings of jUnit. Apparently jUnit does not use annotations and so won't you unless you are on J2SE5. The biggest gripe about jUnit is likely the instantiation model (each test case runs in its own instance of the class containing the test). I think most smart people have been bitten by that at least once (the dumb ones many more times), so it would be good to make this property a bit more apparent.

AspectJ

Adrian Coyler gave a great talk on the new Eclipse tools for AspectJ (not the usual "Apache logging" talk) . So far I liked aspects from a conceptual point of view but was always afraid that it gives developers an automatic rifle instead of a shot gun to shoot themselves in the foot. It is nice to see that we are now getting tool support to let people work with aspects effectively. I particularly liked the visualization tool that shows where an aspect is applied, allowing you to navigate straight to the affected code.

Adrian also picked up on my EDA talk from a day earlier. When we built the channel implementation in JDK 1.4 we had to go through a bunch of hoops with reflection etc. It was nicely encapsulated behind a generic channel interface but it was still ugly and hard to test. After the project, Binkley mocked up a version with J2SE5 using annotations. Adrian took it a step further to show how aspects can make publishing and consuming events trivially simple. He managed to mock up most of it before his talk the next day!

XQuery

A nice talk by Jason Hunter. I particularly like the examples, e.g. Executive Paycheck. It uses XQuery to parse through the SEC filings to extract the executive compensation figures.

SOA = Same Old Architecture?

My talk went well, I did not get biled, noone threw things at me, and I got some press coverage. Strangely they quote me as saying "forget about SOAP and design patterns". Now I know how rumors start. Let me set this straight: Design patterns are your friend!!

The highlight of the talk was certainly Alef Arendsen of Spring fame confirming that SOA in Dutch means as much as STD.

Social Events

What would a conference in Vegas be without all the dirty stories?? Well, I saw one of the speakers at 3am at the bar with a different kind of "professional"... oh wait, what happens in Vegas, stays in Vegas!

Unfortunately, I missed the pool party but made sure to hit the Strip on Friday night. Some noble donor (reliable sources state that it was funded by OpenSymphony's GoogleAds Dollars -- give them a click!) threw an open bar at the Bellagio, followed by a migration to Mix and the Hard Rock. Thanks to the BEA guys for letting me leech of them for most of the night. Nothing like coming home with money left in your pocket. Of course, having a 9am panel the next day did suck.

Saturday, Adrian and I paid a visit to the Hofbraeuhaus "branch office" in Las Vegas. With German guys in short pants giving each other piggyback rides and dancing, I felt like I was back in SF there for a while. The food was marginal (hey, German "cuisine") but the beer and the atmosphere were great. Once we migrated to the Hard Rock we got in fact spotted (well, how hard is it to spot two uebergeeks in Vegas??) and were able to scam a few free drinks. Around 4am I made 3 attempts to go to bed but the constant stream of slightly intoxicated and confused geeks in the Caesar's lobby was too entertaining to pass on. Too bad the flight home was only one hour -- I had a lot more sleep to catch on.

MORE RAMBLINGS    Subscribe  SUBSCRIBE TO GREGOR'S RAMBLINGS


Gregor is the Chief IT Architect of Allianz SE. He is a frequent speaker on asynchronous messaging and service-oriented architectures and co-authored Enterprise Integration Patterns (Addison-Wesley). His mission is to make integration and distributed system development easier by harvesting common patterns and best practices from many different technologies.
www.eaipatterns.com