Why deal with complexity? Throw it over the wall! Let ShrinkWrap and Arquillian handle it.
That's the message Andrew Rubinger (ALR) and I took to JavaOne 2010. We lived it too, keeping a constant stream of discussion going about how to reduce the complexity of integration testing. Then, we bundled up all that mental complexity and threw it over the Pacific Coast during our bike ride to the Cliff House and over the Golden Gate Bay Bridge.
The first morning, I woke up (after several attempts) in a panic because I thought I missed my first JBoss booth mini-session. I even sent an e-mail to the booth coordinator apologizing for running out of steam and not being able to make it. As it turns out, my calendar was playing musical time zones on me and the talk wasn't for another three hours. Saved. In part.
After two hours of hacking up slides, ALR and I bolted out of the hotel and across the street to the Hilton, where he proceeded to guide me through the labyrinth that housed the partner pavilion. On our way through, we had an accidental encounter with the JavaOne bookstore, so we stopped in to see ALR's EJB 3.1 book in print.
He flipped it over to show me my quote on the back.
After our pitstop, we zigzagged our way to the partner pavilion entrance just minutes before my talk would start. The pavilion bouncer barked "Show your passes." I tried to tell her that I hadn't had a chance to pick it up yet and I was presenting in 5 minutes. She didn't want to hear it. She waved her radio like it were a gun, as if she were guarding the entrance to a sheik's lair. "No pass, no access." Round three.
I reentered the labyrinth to find the registration desk. There, I got knighted an official speaker and retraced my steps to the partner pavilion. I got plugged in, wired up and was on camera in under a minute to give my Seam: State of the Union address.
And that's how JavaOne began for me.
As soon as I tore down, ALR was geared up, ready to show booth passersby how to achieve rapid enterprise development by throwing test complexity over the wall. This would be one of two warm-up sessions for our main event at JavaOne.
Once I had a chance to step back and look at the booth, I realized there was a surprise waiting for me. Arquillian has a spot on the booth wall.
It also had a seat front and center in the info stand.
Clearly we are making some progress getting our message across. And we're just getting started.
We hung out at the booth the rest of the day, continuing to talk to conference goers about Arquillian and other geek talk. We were excited to here that Arquillian got mentioned in at least one other talk at JavaOne. Reza Rahman and Debu Panda, co-authors of EJB in Action, presented their talk "Testing Java EE 6 Applications: Tools and Techniques" in front of a full house, in which they cited Arquillian as:
An ideal cross-vendor CDI/EJB 3.1 testing tool
You can check out the slides for that talk or browse the demo source code.
I also had a long conversation with Hans and Adam of the Gradle team. I love those guys, and their passion for pragmatic build automation.
That night we decided to have a JBoss dinner at The House of Prime Rib on a recommendation from Jay Balunas, who saw the restaurant featured on the food network. To that, I replied, "You had me at steak." But we had to earn it. Being the athletic, eager type, ALR and I walked 20 blocks, mostly uphill, to the restaurant.
That turned out to be the fasted meal of perfection I've ever had because I still had to make the CDI BOF at the Moscone Center. I walked in 1 minute late to the greeting "So glad you could show up!"
The CDI BOF went great. I highlighted our commitment to freeing Java standards by putting the CDI TCK and RI (Weld) under the Apache License. I also explained how Arquillian was born out of the TCK and how important it will be to enabling rapid development with Java EE, or at the very least make it easily testable.
I followed David Blevins and Adam Bien to the Thirsty Bear, my only appearance there for the week. (There were very few session in Moscone, so Thirsty Bear was mostly neglected). I got a chance to chat 1-on-1 with Adam Bien, making sure to extend a personal invitation to check out Arquillian. I also enjoyed his many development horror stories.
The story I liked the best was about the architect who wouldn't let him deploy a JSF application that used Facelets without pre-compiling the JSPs. Adam tried to explain that there were no JSPs to pre-compile, but it was wasted breath. So he just added a token JSP and the issue was settled. He cracks me up.
The next day seemed to go quickly. I gave my first JavaOne presentation, CDI, Weld and the future of Seam to a full room. The most important part. I finished on time. Thank goodness.
That night, we launched our party into the cloud at the JBoss gathering. It was hosted at the historic "Slide" adjacent to Union Square. During Prohibition, the site was called "The Cable Car Theater" and below was a "restaurant" called "Cafe Dans" - but Cafe Dans was not a restaurant. It was a speakeasy that could be accessed only by a savvy few who pushed a secret wall that lead to a playground slide, and a hidden subculture of nightlife. Lot's of community members found the secret door...so it wasn't that secret after all.
What else would you expect from those rebellious JBoss characters? Survey said, "Just like the awesome JBoss parties of old." Glad to see us returning to their roots in an uncertain time.
The next day, ALR and I were back at the booth again, me speaking about Seam and ALR throwing more complexity over the booth wall. Then, we went back to the room to prepare Ike for his JavaOne debut. Throwing complexity over the wall: Rapid development for enterprise Java. Slides, check. Demo, check. This was it.
We got in the room, same routine. After fiddling with displays, workspaces and mics, we looked up to see standing room only attendance. Sweet. It's on. Back and forth ALR and I went chopping down complexity one slide at a time. The demos mostly cooperated. The applause at the end, huge. Lots of interest, lots of excitement. All in a days work
Next up was the JCP awards ceremony. Summary, we didn't win. Moving on.
Everyone was headed over to Treasure Island for the blockbuster concert that was going on there. In the registration rush, I managed to not get issued a ticket. But, thanks to Matthias & friends, I got a "community edition" pass. When we arrived, we learned just how much colorful light a stadium size LED puts out.
A conference, or a festival?
We watched Fergie Pump It and will.i.am spin the old tunes atop a pillar of King Ellison during the Black Eyed Peas performance. We tried to squeeze our way somewhere near the stage. Not a chance. The place was chock full of geeks and plenty of tag-alongs.
In a crowd of nearly 25,000, one guy tapped me on the shoulder and said,
Arquillian looks really cool. I'll have to check it out. You said you'd demo it in a bar. How about at at concert?
What a character! I would have done it too, except I checked my bag.
Our group hung around for Steve Miller, who brought funk, blues, classics and an overall killer performance.
We tried to sneak back into downtown for last call, but we were too late. But when I got back to the hotel, ALR greeted me with a bottle of Johnny Walker, Black Label. Hero.
Tech weary, ALR and I decided to skip the last day and instead headed out to bike the Golden Gate Bridge. I was snapping pics with my phone the whole time, despite not having been on a bike in years. I'm crazy like that.
On the recommendation of ALR's friend, we took a detour to Ocean Beach...
then up to the famous Cliff House for some desperately needed lunch (and for me, breakfast).
Despite popular belief, developers do stop to smell the roses occasionally.
But we have to be manly too. So we took a peak at an overlook with views of "The Rock" and tried to look really large and in charge for our cover picture.
Then it was off to to the bridge, at last. We somehow managed to find the right path, despite vague instructions from the guy at the bike store to "follow the service road to the bridge". Yeah, more like dirt path with random staircases.
We didn't want to miss the last night out on the town, so we hoped the ferry back from Sausalito and caught the sunset on the way into harbor.
We had one last covert meeting with colleagues in a basement sushi restaurant (aren't those the best kind) about standards and leadership. We then bid farewell. After more than two weeks on the road, I was headed home at last! On the flight home I wrote the lyrics for the Hudson Blues and implemented a Spring container for Arquillian. Crankin' it out.
The next time you are writing integration tests for your enterprise Java application, take advice from ALR:
Throw complexity over the wall and lean on Arquillian and ShrinkWrap.