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.
• "Scalable, Reliable and Secure RESTful service", Dan Diephouse (XFire), now with MuleSource
Standing room only. PUT is idempotent, POST is not. This helps reliability. Firewall most likely no allow PUT or DELETE operations. Google uses X-HTTP-Methop-Override=PUT. Scalability by using Etag header (HTTP 304 not modified). "Last-Modified" is old school. Transactions - use compensations instead => more scalable. Security: HTTP Auth, SSL, or XMLSig. Closes with Atom Publishing Protocol. Talk is a bit abstract talk, no code. Almost an HTTP training class (not that no one needs that). Mentions Jersey as JSR 311 Ref Implementation (also Spring MVC, CXF, Restlets, ...). Questions: what about WADL? Debate if description languages are even needed. Dan thinks WADL is cool.
• "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.