mercredi sept. 09, 2009

Here are the slides that I presented on GlassFish v3 at the JavaZone conference today. All five demos went fine (some with the help of the audience), and I even got questions at the end. I'm not sure what the plans are for making the conference talks available (delay, format), so here are the five demos (almost identical) in various screencasts :

mardi sept. 08, 2009

I'm flying out to Oslo in a few hours to present at JavaZone on GlassFish v3. The slides and demos are now ready. This talk will focus exclusively on v3 and a bit of Java EE 6 (just can't do justice to it in the little time that I have). I had initially listed 7 demos but quickly found out that this would be way too much to cram into the 1-hour slot, so there's only going to be 5 fairly short demos (tooling, Java EE 6, packaging, OSGi, and RESTful admin). Let's hope they all go well ;)

Since this is partly new material and certainly has some new demos I wanted to test-run this in terms of timing and sequencing of demos. So I presented this yesterday at work to several colleagues and it's amazing how much you learn by presenting it just once. Ideally I would dry-run every presentation but it needs to feel a little real with somebody listening or else I just don't get into it. Anyhow, I'll be using a shorter version for the conference but the slides I'll post will have more details.

As always, the agenda is diverse (with some usual suspects) and there's is a number of sessions that I'll try to attend (conflicts preventing) - EJB 3.1, Google App Engine, Ioke (Ola Bini's new language), JSR 330/Guice (that one is in parallel with my session unfortunately), developing for the cloud, class-loaders, hudson (Kohsuke will be there, I'm sure that his session will be packed and that there will be people talking to him hours after he's done ;) , debugging your production (btrace, ...), and more. But if the organisers still have those headphones in the main room with sessions showing in parallel on 6-7 screens I might do the usual zapping (not very nice to speaker I must admit).

jeudi sept. 18, 2008

JavaZone is a very well run conference. Lots of people, overall good content, reasonably good food (for a conference that is), power trips everywhere, and a overflow system so popular that the conference rooms are emptier than they should be (a bit hard for the speakers).

My session on Scripting on GlassFish (slides) was the very first one of the conference in a medium-size room. I think it went very well given it was my first time delivering it. Certainly a standing-room only with about 250 people was a nice surprise. I'll admit I was expecting more Rails, Grails, and PHP developers in the room than the 10% that admitted being in that camp. I'm happy I had kept some "GlassFish v3 value for JavaEE developers" content in the slides and demos (dynamic loading of services, fast startup time, etc..). I've had one feedback requesting more details (fair enough, I had a fair amount of ground to cover) and several people finding the approach of runtime-consolidating multiple languages on a single technology/product to be a very compelling idea.

It was fun to find people embedding GlassFish in their product (moving soon to GlassFish v3 embedded I understand) on the show floor, to hear a good number of speakers mention GlassFish in their respective talks, and hang around with the French mafia (Bernard, Julien, Guillaume et Jérôme), all speakers at the event.

Overall a lot of OSGi here and there, but most people don't seem interested and those who are end up walking out of the room when they see the nighty gritty details. Hudson certainly got its share of coverage in most (if not all) of the agile sessions.

I'll describe the reasons why one would want to run dynamic languages and associated frameworks on top of an application server and describe several approaches to implement this. I'll illustrate this for JRuby On Rails, Groovy and more using the forthcoming GlassFish v3 Prelude release (scheduled for next month). If you're interested in the Java side of GlassFish v3 (fast startup, dynamic loading or services, etc...), I think you'll get something out of it too. The talk is the first one on the first day, competing with 3 Norwegian talks and Erich Gamma himself. Wish me luck!

Here's an early list of the talks I'd like to attend (as always, I'll attend 50% max):
• RESTful Web Services with Spring (JSR311 or not?)
• Qi4j - a new approach to old problems (never heard Rickard present)
• Project Hydrazine: JavaFX Open Cloud Computing Platform (had no time to look into this since J1)
• Quercus (the list of PHP apps it runs is very impressive)
• Taking Apache Camel for a Ride (OpenESB has a service engine for Camel)
• Spring == XML, XML == sucks therefore Spring == sucks? (will the content live up to the catchy title?)
• Real-world OpenESB, best practices and experiences (There's always something to learn from real-world experiences)
• Scala? Ruby? Erlang? Python! (no matter how many dynamic languages we support on GlassFish v3, there'll be more to look at)
• Zero Turnaround in Java Development
• What's new and cool in Portlet 2.0 (Julien just left JBoss to join eXo)
• How Can Amazon EC2 Benefit from the Elastic Grid Solution? (I don't care what Gartner says, cloud computing can be real today)
• Panel: Alternative and Emerging Languages

samedi sept. 15, 2007

I failed to get a tattoo from the Sun booth, but all the GlassFish T-Shirts were quickly handed-out.
.

Jason Baragry had a good session (good attendance) on Aspect Oriented SOA talking about JBI, OpenESB and aspects. Not quite AOP but rather injected transversal design patterns (authentication, caching, audit, lease management) at the SOA level using either a gateway of a more sophisticated weaving approach. The demo should be online soon (recorded using the built-in feature in the latest VMWare Workstation, but with a proprietary codec it seems. Need to look into this).

Tor Norbye had a session on Ruby tooling showing his work in NetBeans 6.0 to answer the typical Ruby developer comment "I don't need an IDE, my language is terse || Java needs one because it's verbose". Lot of demos. Completion for Java code when integrating JRuby and Java library isn't there yet. Looking forward to that part.

Interface21's Costin Leau had a presentation on Spring/OSGi. Speaking in front of 80% Spring users, Costin explained that no matter how good you are at writing APIs, once you release something, you just can no longer change it without breaking someone's code. Modular developments are key. OSGi helps you with that and Spring makes it even simpler. Oracle/BEA are contributors to the Spring/OSGi project and it's a "challenging experience". Hoping to reach 1.0 before the end of the year. The preferred way to create a bundle application context is declaratively (programmatically is also possible). OSGi dynamics is the meat of Spring OSGi. Listeners for services coming up and going away are available. Demo using Knopflerfish's desktop manager and JConsole to observe MBeans. Backing out an update failed. Interesting questions on how to use this inside an app server, and combined use of AspectJ + Spring/OSGi (not for the moment).

I then spent some time preparing for my GlassFish presentation in the speakers room concentrating on the demos and doing the usual last-minute slide tuning. The presentation went fairly well and while it was the very last of the conference, the attendance and the questions were good. I covered mainly GlassFish v2 (performance, clustering, tooling, Metro Web Services stack, ... and release any day now), as well as a few slides and a demo on GlassFish v3. No problems with the demos, but I didn't show the JRuby GlassFish gem (see differences between various JRuby deployments).

Overall, a really good conference. Most of the presentations already have the PDF's and the associated MP3's posted on javazone.no

mercredi sept. 12, 2007

So this is the end of Day 1 of JavaZOne and I have to say I'm liking what i've seen and heard so far in this conference. The speaker's Diner yesterday was a good opportunity to meet some new faces as well as to reconnect with some colleagues and friends.

The welcome to JavaZone is pretty "unique" - Heavy Loud Metal 8am. Most people (3/4 I hear) are from Norway. Wifi for all. Power sockets too! Wonderful! Speakers, be careful what you do, all is broadcasted (one speaker spent the time before the talk cleaning up his family pictures... :) Serving diner @ 3:15pm??
If you didn't get your (newly designed, see right picture) GlassFish t-shirt, come to the GlassFish talk - last session, room 6 (sorry, no link, JavaZone/Tomcat/Struts site is down) or claim it at the Sun booth, I don't plan on flying back with them.

Notes from talks I attended:

• John Davies ("Seriously Powerful Systems").
Banking: FpML is a great schema example but quite complex, Java vs. C/C++ => Java dominant in banking but "Sun and BEA Real-Time are still a long way off what we need.". Comments focused on BEA real-time which isn't a JSR 01 implementation. 5ms to run the GC is still too long, today we're struggling to get under 20ms. Need to more to multi-core and have really good multi-threaded programs. SWIFT is \*the\* standard. It's moving to XML (ISO 20022). SWIFT MT to MX. More than 50% of the audience uses Spring. Did some scaling benchmarks on AZUL (192 core box).

• "jMaki" by Craig McClanahan.
The room (if you can call that a room) is at the end of a hallway, not ideal. jMaki let's you mix and match widget. Not just have them not on each others JavaScripts toes, but also common programming/event model. NetBeans demo, deployment to GlassFish. Question: lot of overhead with all those JavaScript libraries on the client? jMaki tries to me smart but can't be more granular than the underlying ajax frameworks. Result is satisfying in most cases.

• "Enterprise Comet" by Jonas Jacobi (walked in late).
Pretty good attendance. "I think Comet will be in the Servlet 3.0 spec. Otherwise, there is no standard."
Comet is good for real-time. Mentions Jean-François Arcand's work in GlassFish v2/Grizzly. Oracle has something in the works they call Active Data Channel, but the speaker doubts Oracle has even read the spec (!). Enterprise Comet: Java as the only language used, deploy to standard web containers, Project Chai: native VM with cross-compilation for java, Can fall-back to polling. Also integrates with Terracotta. Beta in October. Release plans not clear (open source or not).

• "HK2" presentation by Ferid Sabanovic & Rikard Thulin (IBS)
not in the best room, at the end of a hallway but fairly well attended (60?). Covered the basis of this modules system used as a basis for GlassFish v3. 4 demos (start/stop of GFv3, Maven plugin for building a module, drop jar files in the file-based repository & scoping). Short presentation, good Q&A session -
- what do you use it for? Answer: for this talk/demo mainly!
- OSGi vs. HK2? Answer: different approach. SpringFish: compete with GlassFish using HK2 + Tomcat. Simpler than OSGi (only 50 classes to learn).
- Can you deploy WAR files to HK2? Answer: Not really to HK2, rather with GFv3 which has a Web Container built as an HK2 service.
- If you don't use Maven, are you responsible for editing the manifest files? Answer: Yes!
- Is HK2 promoted besides GFv3? Answer: Not that I know of.
- Why chose HK2 to illustrate component-based architectures when OSGi is mature and has a community? Because it's small and elegant. HK2 is not really a competitor to OSGi.

• "Scripting in Java 6". Except it was in Norwegian...

• "Measuring up performance, a practitioner view" - Kirk Peperdine
Get the right measurement is 99% of fixing performance problems. Demo with NetBeans Profiler + Jetty. JMeter as load injector.

• JavaPosse. As always an entertaining moment. Listen to it when it's released.

Simon Ritter's and Angela Caicedo's "Java Keynote" was totally packed (in the biggest room too). I think having a two-day event is really nice. I've never been to that many session and I think knowing this event only lasts 48h is helping that... The evening was spent in one of the four pubs reserved by the JavaZone organizers. Yet another +1 for this conference.

mercredi sept. 05, 2007

The JavaZone conference (sounds like it is sold out) is coming up quickly next week in Oslo, Norway. I'll be presenting on GlassFish (very last session on the second day), covering the very-soon-to-be-released version 2 as well as a bit of GlassFish v3. I'll try to throw in several demos to make this as lively as possible.

My previous trip to Oslo was a very nice first experience in Norway. I hope this one is as enjoyable with the added benefit of meeting some colleagues and friends attending some great sessions. Here's my "short" list: