This morning started with the interestingly titled Java Performance Myths: What Lurks Deep Inside a JVM, presented by Cliff Click. This sounds like the rejected title of a hammer horror movie and to be honest, in the context of Java conferences, the subject matter is about as old. Every Java conference I have been to over the last 5 years carrys a session like this; dismissing the myths that Java is a slow language compared to C++. Cliff did a good job of presenting the material, but I just didn’t take anything new away from it. However, I’ve been attending Java conferences for a number of years now, so I think, if the topic of JVM performance was new to you, you may walk away with a better insight into what is happening inside the JVM.
Next up was Programming without a Call Stack – Event-Driven Architecture presented by Gregor Hohpe of Google, who, for me, is definitely one of the more engaging presenters at TSSJS. Gregor did a great job of comparing and contrasting call stack versus event driven architectures. Gregor coined a nice term that I hadn’t heard before in describing the hypothetical, high level architecture that is sometimes pushed by non-technical departments; Market-tecture. I like that and it accurately describes a hypothetical model that could be sold to a customer and then landed on the desk on a development team with the expectation that they can make it happen.
Gregor’s message was just that; messages. Make use of asynchronous communication channels that have a number of subscribers that react to types of events. Nothing new here, I know, but I think it is an architecture that we sometimes over look, and it is definitely something that merits more investigation.
Time for some coffee and I took the opportunity to speak with Adrian Trenaman at the Iona booth regarding their handling of licensing concerns and their use of [tag]Open Source Software[/tag]. As it happens, Iona seem to be somewhat of an authority on the subject. Adrian had touched on this same topic as part of a presentation on SOA and Open Source given in Stockholm in May of this year, and offered some really useful advice on the types of licenses, and their limitations and consequences, that you may come across if you work with OSS as part of your day-to-day work.
After the break, it was the turn of Jonas Bonér from [tag]Terracotta,[/tag] who presented a session on Pojo Scalability and Large Workloads with Open Terracotta. Anyone who is familiar with our blogs may be aware of our work with Amazon EC2 and Terracotta so I was already sold on the power of Terracotta. However, this was a really good introductory session for people who are not familiar with Terracotta as a technology and what it has to offer.
The first of the afternoon sessions was presented by Adrian Colyer, CTO of Interface 21. The session was titled OSGi: A New Foundation for Enterprise Applications. There has been quite a bit of buzz building lately about Spring’s efforts to provide an OSGi module and it was great to get some more detail on the offering from the source, so to speak.
Interestingly, [tag]OSGi [/tag]has been around since 1999 and there are a number of implementations in use today such as Equinox, the foundation of the Eclipse plugin model. Adrian walked throuh a simple example of how you would put together you OSGi bundle META-INF/MANIFEST.MF file and your BundleActivator. This was not done in the context of a real working example, so I, as a novice when it comes to all things OSGi was left thinking “and…….!”. So armed with this scant knowledge of OSGi Adrian lead us through OSGi according to Spring, or Spring-OSGi. OSGi apparently has wide adoption in the middleware development world but limited adoption in the enterprise application development world.
This is where Spring comes in. Spring OSGi promises to bring the benefits of OSGi to enterprise through a simplified, Spring driven, programming model.
Adrian did his best to cover this extensive topic; from the basic concepts through to how Spring OSGi will simplify bundling, provisioning and versioning, to name but a few, concerns in our enterprise applications. Nice work, and like a few other topics that have been covered at this years TSSJS, it will have real world application in the work that we are/will be doing in DSI. This technology will hopefully alleviate some of the deployments headaches that we are currently experiencing with the myriad of technologies and their versions that we currently have in the wild today.
Today’s expert panel group was on High Performance Computing with John Davies – IONA (Moderator), Nati Shalom – Gigaspaces, Bob Lozano – Appistry, Gil Tene – Azul and Kirk Pepperdine – javaperformancetuning.com.
There was a a good mix here; Shalom and Lozano representing software vendors who sell high performance workload distribution and management software, Tene representing the hardware vendors, Azul’s massively multi-cored systems have broken many world records and Pepperdine from the independent performance consultant whose primary job is to squeeze performance from a system without resorting to such expensive software and hardware solutions that the previous three provide.
This was really a replay of an expert panel that was ran at this year’s TSS in Las Vegas. A recording of this session was posted on theserverside.com, so if like me, you had already seen this, you may not have gained any new insight from this session, although it is always entertaining to see these guys in action in the flesh.
Like the Las Vegas panel event, John was lubricating the panelists minds with liberal amounts of sangria. In Las Vegas he used some beer, which didn’t work that well, but he seemed to get the desired results from the sangria. It was interesting to see the two software vendors ganging up on the hardware vendor. We’ve all heard the argument; “don’t throw hardware at the problem!”. Well, as Tene argued, sometimes hardware is the best interim solution. He was not necessarily referring to purchasing one of Azul’s servers i.e. a cheaper solution from Dell could very well get you out of the hole you find yourself in. There is a strong argument for this as software is not cheap when you take into consideration development, testing, refactoring and deployment costs.
An interesting angle that the panel took was discussing where the overall bottleneck existed and would continue to exist. Pepperdine, rightly, argued that sometimes the hardware and software vendors seemed to forget the limitations imposed by the network. The first rule of distributed programming; don’t distribute unless you have to, is largely pushed to the side and people do distribute, so the network is an enormous limiting factor. However, they seemed to all agree that the database was the ultimate limiting factor. Using Oracle as an example, both Shalom and Lozano, made the interesting observation that with Oracle’s recent purchase of Tangosol Coherance, it looks like Oracle recognize this and are making moves to enable them to move the data from the data tier closer to where the work is being done i.e. as an in-memory, in process data-grid. They may just be right.
Tomorrow is the final day of this year’s TSSJS, and no doubt will be another busy one. I’m looking forward Ben Alex’s session on ROO and Kirk Pepperdine’s session on Measuring Up Performance. For now, I’m heading to a gem of a tapas bar called Ceserveria Catalana on the corner of Balmes and Mallorca. The food in the hotel is way over priced, with a club sandwich running at €18 and coke at €6, so this Ceserveria Catalana was a God send!