Bert Ertman

August 1, 2013

JavaOne Shanghai 2013

Filed under: Java — bertertman @ 3:28 pm
Tags: , , , , , ,

After participating two times in Oracle’s regional JavaOne event in Moscow, Russia, I was really excited to get the opportunity to speak at this years JavaOne Shanghai in China. Its been a couple days since I returned, but this one is too good not to blog about, so here it is with a little delay.


Having never been to China, I didn’t know what to expect really. Before I left home all kinds of people offered me “helpful, but unsolicited” advice concerning food in China. Having heard: “Chinese eat everything except the table” a number of times, I must say that I was a little worried 😉 Although I am not a very picky eater, I’m not that adventurous either. I must say that in the end, eating was a rather nice experience. I had local cuisine most days, and most of the time I had no idea what I was eating. The waiters served everything with a smile, but since most of them didn’t speak a word of English communicating about what we were having was out of the question. Putting my brave head on, I tried as much as I could. Most stuff I really liked, with the exception here and there.

The flight from Amsterdam to Shanghai with KLM took about 10-11 hours and was pretty comfortable, within the boundaries of how comfortable economy class flights can be. Treating myself to an emergency exit, isle, seat helped of course. As soon as I arrived at the airport the conference was “visible”. With signs in and around the airport building and even along the freeway from the airport to the Pudong business district. Later on I found them along the main routes from the city to the conference venue as well. Oracle managed to dress up the city quite nicely. Kinda like they do in San Francisco every year.

The hotel I stayed in was very luxurious and far from expensive compared to the value it offered. The view from my room onto the river and the skyline in the distance was epic. The only downside was that it was in the business district which was rather deserted at night and since it wasn’t in the vicinity of any subway stations most activity outside the hotel started with a taxi ride. However, since taxis are very cheap in Shanghai, this wasn’t much of a problem. Communicating with the drivers was though as most of them only speak Chinese, and I don’t. Even trying to point them to very well know tourist destinations in the city by using the “english name” didn’t work. Thanks to some great applications on my iPhone, I managed to get around the city by pointing them at the Chinese characters on my phone. Traffic going in and out of the city was mostly a mess though, so I quickly changed my tactics to having the taxi driver bring me to a nearby subway stations and continue my journey from there onwards. Riding the subway was a pretty smooth experience. Once again your smartphone is your friend. Compared to Tokyo last year, the Chinese subway etiquettes aren’t quite based upon courtesy, but “bum rush” was more like it.

View from my hotel room

View from my hotel room

Signs of the conference were all over the city

Signs of the conference were all over the city

Besides the language barrier, the weather conditions offered some resistance as well. With temperatures of around 39 Celsius during the day and very high humidity, stepping outside air conditioned buildings or cars meant instant soak. At night, temperature dropped at most 4 degrees, so even then conditions were rather tough to cope with. The air quality (or lack thereof) didn’t help either. I only managed to stay outside for just a couple of hours consuming water like crazy.

As a rather tall foreigner I really stood out in the crowds. People noticed. I lost count of how many people wanted to take pictures with me. Funny, but sometimes an awkward experience as well. A number of (mostly younger) people came up to me just to speak English. At first I didn’t notice it, and was anxious not to get robbed 😉 but after it happened a couple of times I figured out the pattern.


Conference venue

So enough about the journey, let’s talk shop concerning the conference itself. JavaOne Shanghai was part of a combined experience with Oracle OpenWorld and attracted over 18,000 attendees according to the official numbers released by Oracle. Throughout the week the venue appeared pretty busy, but I had no means of validating the numbers. Of those 18,000 I guess about 1,000 – 1,500 were dedicated JavaOne attendees. OpenWorld attendees also had the opportunity to visit Java talks, so the actual number of attendees visiting Java talks was probably around 2,000. Over the three main days of the conference there was a full Java track with a number of technical sessions and hands-on labs in parallel. The JavaOne keynotes were done really well. Oracle brought out the big guns and using a team of all star evangelists they did a very good job of getting the technical message across. Judging from the mostly excited reactions from attendees sitting around me, and from what I saw, I think they did a very good job at this. The highlight of the technical keynote was JavaFX evangelist Jim Weaver’s show. Jim obviously used his flight into Shanghai to practice some Chinese, and he really connected with the crowd using as much Chinese words and phrases as he could while showing cool demos and playing music. People loved it.

In no way JavaOne Shanghai 2013 was a rip-off from JavaOne San Francisco 2012. There was up-to-date content (e.g. Java EE 7 being released just over a month ago) and a lot of very interesting sessions in general. In fact with JavaOne San Francisco 2013 being around the corner, I think that people got to see a number of scoops and previews of what is to come. Out of the ~450 speakers total (OOW / JavaOne combined) there was quite a number of foreign speakers. Most of them well known and often seen at other conferences around the world.

As a presenter the conference offered an extra hurdle. All slides had to be uploaded a number of weeks before the conference so they could be translated into Chinese. I received them back a couple days ahead of the conference and although I know my talk, those slides got me puzzled 🙂 A simple solution was to use my own laptop to show myself the English version of the slides while the conference laptop was showing the Chinese version to the crowd. Besides having slides in Chinese, there was also a realtime translation service for attendees. I guess about 50% of the attendees used that to follow along. Dealing with realtime translation is something to get used to as a speaker otherwise you give the translators (and effectively the audience) a really hard time. I already had some experience with translation while presenting in Russia and Japan before. Trying to limit my speed and taking a pause here and there seemed to work out fine. Because I’m conscious about it, I tend to be more precise in what I’m trying to tell, having less urge to go off the beaten path. All in all it was a good experience. Interaction with the attendees proved difficult during the talk, people were mostly reluctant to ask or answer questions, but afterwards I had a number of people coming up and ask good questions.

The main session I presented was the familiar “Migrating Spring Applications to Java EE” talk. Although I started doing this talk back in 2011 there is still a lot of demand for it. Believe it or not but I get regularly invited to present it literally all over the world. In China especially enterprise Java developers almost only use Spring. With the popularity of Java EE (5 and 6) people are really interested in moving back to the standard again. The talk mostly concentrates on “how” this can be done, but starts of with discussing “why” you should consider doing it. The latter seemed to be a very hot topic given the large turnout and the various discussions I had with people about this subject, and also this appeared to be the main topics of the various interview sessions that I did.

Besides presenting my own session I attended a (small) number of other talks by international speakers. Other than that I spent my time doing interviews, flaunting the cover of my upcoming book around, or stayed at the Oracle/OTN booth in the pavilion meeting all sorts of interesting people meanwhile exchanging knowledge and/or experience. On Monday – just ahead of the conference – there was a joint meeting for Oracle and Java User Group leaders to mingle and exchange experiences. Just as with every other of those meetings that I have been to in EMEA and the US I met a lot of great people that dedicate their (spare) time to community. Another memorable event was the Geek Bike Ride on Sunday afternoon. A great means of coping with jet lag after having arrived just a couple hours earlier. More photos of the Geek Bike Ride can be found in Stephen Chin’s flickr album.

One of the final highlights of the city before returning back home, was taking the Maglev high speed train to the airport. At top speed, the train does 431 km/h. This clears the 30+ km ride from downtown Shanghai to Pudong International Airport in just under 8 minutes. A marvel of modern engineering and so I had to take it 🙂


Yes, that sign says 431 km/h…

In hindsight, JavaOne Shanghai was a great experience where I got to meet interesting people or had an opportunity to catch up with many others. Thank you to all and hopefully see you in two years in Beijing? Who knows!

A final picture of the skyline at night

A final picture of the skyline at night


November 14, 2011

Devoxx 2011: Building Next-Generation Enterprise Application in Java

Filed under: Java — bertertman @ 3:21 pm
Tags: , ,

Today, I co-presented a University talk at Devoxx together with Paul Bakker. The slides of the presentation can be found on Slideshare. Most of the 3 hour talk was live coding. All of the code that was produced during the talk has been posted on GitHub so, you can clone it and check it out for yourself.

Of course the session was captured on video as well and will become available on right after the conference.

Happy coding!

October 10, 2011

JavaOne 2011: Migrating Spring Applications to Java EE 6

Filed under: Java — bertertman @ 11:57 am
Tags: , , , ,

Last week I had the honor to present at JavaOne 2011 together with Paul Bakker on the subject of migrating Spring applications to Java EE 6. The slides for this presentation can be found on slideshare and are embedded below for your convenience.

We will also do this talk at Devoxx 2011. Talk is still to be scheduled atm.

July 26, 2011

Book review: EJB 3.1 Cookbook – Richard M. Reese [Packt Publishing]

Filed under: Java — bertertman @ 8:45 am
Tags: , ,

A couple of weeks ago I was approached to write a review on EJB 3.1 Cookbook by Richard M. Reese published by Packt Publishing. So here we go…


EJB 3.1 Cookbook is a very decent book using the recipe formula to quickly learn the new features of EJB 3.1. Also developers entirely new to the improved way of developing EJBs as introduced by EJB 3.0/3.1 are pleasantly served as well.

In chapter 1 the books starts off a little bit odd. It tries to give you a quick start into using EJB 3.1 but for an unexerienced EJB developer it will probably raise a lot more questions than solve anything. In fact I believe that it had been even a beter book if chapter 1 was just simply omitted. In no way let is spoil the reading experience as in my view the actual book starts in the next chapter.

Because of the recipe formula the central theme of the chapters is about what you want to achieve and how you do it. While learning new tricks you are being explained the underlying nuts and bolts of the technology. If you want to dig deeper into the how and why of things the book serves as a good companion towards the EJB specifications itself. The order in which EJB features are introduced is sometimes a bit peculiar. Because the order in which you read the chapters are of less importance this is no biggie. Just pick the chapter that you like and instantly start learning the new stuff.

Code samples used throughout the book are kept simple and clean, focusing on the specific EJB features instead of distracting details of too elaborate or searched after examples.

EJBs in my opinion are the crown jewels of the current Java EE specification. Especially when they are combined with the powerful technology introduced in the CDI and new and improved JSF 2 implementations. While a lot of developers have started to ignore EJB after 2004 or so it is about time that you start learning or get reacquainted with this great piece of technology offering a truly lightweight and standardized component model for enterprise Java development.

All-in-all this book is a good and pleasant read that will get you up to speed with EJB technology in no-time. The book is available on Amazon or you can get it through the Packt website.

October 14, 2009

Impressions from Oracle OpenWorld: “Is Oracle good for Java?”

Filed under: Java — bertertman @ 8:48 am
Tags: , ,

Here’s a little write-up of my Oracle OpenWorld impressions so far. I’ll try to make it a complete, logical story, but first I would like to second some excellent observations made by fellow Java Champion Cay Horstmann (yeah, the hero that wrote ‘Core Java’), who blogs about his first day of OpenWorld at

The big question for me is: “Is Java safe in the hands of Oracle”? Unfortunately, I cannot answer that question based upon my impressions so far, but I can say that the message (or lack of) that Oracle is sending out so far is giving me some shivers down the spine. Here’s why:

Oracle is positioning Sun as the hardware company that they are: especially interested in it’s Sparc servers, storage, and of course the new Exadata flash hardware database machine. The latter being undoubtedly very awesome. In other areas of the new portfolio Sun’s software is being positioned, especially MySQL and Solaris. However, when it comes to Java, the official statement being made by Sun’s Scott McNeally and Oracle’s Larry Ellison is: “Java speaks for itself”. But does it? In fact, I seriously doubt that it does so within Oracle. So far the people from Oracle that I met express a friendly, almost fatherly interest in Java, but they compare it to integrating the Hyperion Query Language into the Oracle stack. They see Java as just another ‘product’ from Sun and not as the Java platform and ecosystem that it is. So, if Java is speaking for itself within Oracle, than it’s no doubt sending them the wrong message! I really hope that James Gosling, considering the position that he seems to head for within the new organization, will be able to make this clear to them before it is too late.

The other thing is that Oracle regards it’s technology communities (user groups) as rather top-down. I could be very wrong here but under my impression the Oracle user groups are doing an ok job in spreading the Oracle technology, but Oracle technology equals ‘products’ (equals ‘licenses’, but that’s another story). I don’t really see where the real Java community thing fits in. “Sun gave Java to the world” (to speak in the words of James Gosling’s cartoon video) and after that they gave the world the right to innovate on top of the Java technology platform. This is exactly what got Java as big as it is now. Sun knows, and even states so that they could have never pulled of that trick on their own. Meanwhile Sun has been stewarding Java to keep it going in the right direction, and they have been some sort of ‘referee’ where specification innovation was concerned. The latter being somewhat troublesome lately (i.e. Java 7) but let’s not put the focus too much on that, as it must be stated that stewarding Java is in no way an easy job given the maddening political climate of having so many competing companies, and opinionated individuals onboard the JCP. This is not only true for JCP members but applies to the wide and diverse user group community and the Java Champions as well. To my knowledge Sun has never taken away the freedom of speech of those people. Speaking of opinionated people… 😉

In three days of the main conference keynotes I haven’t seen a single line of (Java) code. Which apparently proves that Oracle OpenWorld has nothing to do with being a developer’s conference. In the light of the discussions taking place of whether or not there will be a next ‘real’ JavaOne or it being merged into the next OpenWorld, I sincerely hope there will be a ‘real’ JavaOne. Not in the least because it will be the fifteenth edition and this calls for a huge party. Especially since Oracle has more than enough money 😉 They could even close down the entire block between Moscone North and South, so a little birthday party will definitely not hurt them in the wallet. But seriously, JavaOne is a developer’s conference and Oracle OpenWorld attracts mostly ‘suits and ties’.

To sum things up so far, Oracle’s message is about integrating everything into a single (bright red colored) solution. They deserve credit for the way their current stack seems to deliver to that promise. However, Java’s promise has always been about opening everything up for innovation and boldly go where no-one has gone before (lame quote alert, but it holds the truth). I don’t see where the latter fits in within Oracle. Oracle is not about bringing new technology to the world, they’ve always bought it and integrated it into their existing solution. In fact Oracle is very good at this. You could even consider it their core business, regarding the massive amount of acquisitions they’ve done in the past ten years or so and the vast amount of money they have been able to made from it. The big question remains if Oracle will be able to steward Java like Sun did. More importantly, will they be able to keep the JCP from falling apart. Especially since this type of activity is not making you lots of money. Larry Ellison’s promises for stockholders were very clear. The Oracle / Sun combination is going to make lots of money. So let’s hope that somewhere along the line enough money can be preserved to be invested in Java’s future. Although certainly money will not be the real problem, but it’s more like how ‘others’ can fit into the ‘business model’ that Oracle sees for Java.

In the meantime it is very important that Java will be perceived as the platform and ecosystem that it is. So, if you’re part of a Java community, speak up! Because Java needs it and at the moment it definitely doesn’t do so for itself.

Blog at