Enterprise grade Java.
You'll read about Conferences, Java User Groups, Java, Integration, Reactive, Microservices and other technologies.

Monday, April 22, 2013

Trip-Report OUGN Vårseminar 2013

08:27 Monday, April 22, 2013 Posted by Unknown No comments:
That was a packed week. After a few days at home I had to jump on a plane again to visit Oslo. This was my second time there after last year's JavaZone. This time I was invited to speak at the famous Oracle User Group Norway (OUGN) Vårseminar. Which turned out to be a surprising conference experience for me.

Day 0/1 - Getting into the mood
Registration Desk and helpful staff
Every conference starts with traveling. Europe is easy for me. I mostly jump on a plane in Munich and after a little more than two hours I'm everywhere I like to be. Same was true again for Oslo. The Flytoget brought me to Central Oslo and I enjoyed walking a bit to the Radisson Blu Scandinavia Hotel. Strange fact because I thought that this conference is held on a boat.
View over Oslo at night
Anyway, I learned that the first day always happens at the hotel and I should learn why... The day finished with a great dinner together with a bunch of folks I hadn't seen in a while. It was a pleasure. Reasonable late on the second day the conference started. I attended Simon Haslam's session about WebLogic and got some work done. It is a more or less typical conference hotel. But everyone has been nice and the atmosphere was great. A perfect speakers dinner with a wonderful view over Oslo made this a perfect day. A big thanks to the organizers

Day 2 - The boat
Getting up too early but it was worth it. Packing up stuff and jumping on a big cab to be taken to the harbor. This was exactly what I had waited for. The Colorline Terminal is build for one thing. Get people on or off the ship and check their tickets. The M/S Color Magic arrived timely and it was impressive to see the big thing coming into the harbor. Some of the international star guests came in late and the organizers where quite happy about every single one who made it in time. Cary Milsap was one of them but it also was a pleasure to have Arun Gupta on board this time. After the guests left the ship we could jump on it. Very easy to walk around and spend some time.
The cabins haven't been ready yet so there was plenty of time for a short welcome event followed by a Keynote. The rooms did fit my expectations. A not too big cabin with a nice window to look at the water. Awesome. Until now everything wasn't much different than in a hotel. The ship hosts a great conference center on deck 12 which actually is bigger than the one in the hotel before. The best part is, that all the conference rooms have big windows so you feel like sitting next to the water. Great. The true fun started when the ship was leaving for Kiel. Around 3pm, together with the first sessions you actually realized that it was a ship. Things started to feel like it finally :)
My first session went well. It wasn't that much attended. Not unexpected given the fact that there has been 90% DBAs on that boat and Java and Java EE are still something that really are different topics to cover for Oracle User Groups.
Conference days last until 7pm and everything worked out well. The 6 parallel tracks gave plenty of options to the attendees. To me it felt like it was a bit too much. There was some spare time from 7 to 8:30 and the evening program started just right before a too late dinner. That is where the real fun started. The sea got rough and we're not talking about some small waves. Rumors said it has been 4 to 5m ones and even the M/S Color Magic started to roll a bit more than expected. I was doing fine and actually enjoyed it. Not everybody does :)

Day 3 - Back to Germany take one 
Arriving in Kiel in the early morning was strange. Back on a fast dataplan I had some calls to do. Leaving the ship for 4 hours wouldn't have made sense at all. Anyway it was nice chatting with the other speakers and attendees and after we left Kiel again some were really not looking forward to another rough night. But it turned out to be good without any more heavy waves at all. My second session ended while we've be going under the Storebælt bridge. It was a true pleasure. Without the usual conference hectic and the need to go back to your hotel everything was tight much closer together and there was plenty networking opportunity for everybody around.

Day 4 - Back to Germany take two
After a very silent night we arrived back in Oslo perfectly on time and I had to leave among the first to catch my flight back to Germany. Thanks Mark for the ride! Wouldn't have been possible without you! Sorry to everybody I wasn't able to say good bye to. I really underestimated the time left for catching the plane!

Coming back?
For sure! I felt in very good hands during the whole conference. The organizers did a fantastic job looking after their speakers and there was not a moment I would change. Except the fact that I would love to have seen more attendees in my sessions but .. yeah, I mean ... that probably still is something I have seen with many other Oracle User Groups also. It is a different world and that is still very DB centered after all. Need to try to get GlassFish or WebLogic running in the JVM on the DB .. that might finally catch more attention :) No, jut kidding, I have ever been a big fan of WebLogic and the middleware offerings that came into Oracle with the BEA acquisition and I am willing to continue my journey to spread the word about them. If you want to get more picture impressions you can have a look at the different photo sets on G+: Day 1, Day 2, Day 3 and Day 4. My presentations have been uploaded to Speaker Deck and I hope to see them up at the ougn website shortly, too.
A final hearty "Thank you!" to the OUGN board for having me! It was a pleasure and I truly enjoyed the company!  

UPDATE 24.04.13:

Wednesday, April 17, 2013

OTN Interview by Yolande Porier about Java EE 7

15:08 Wednesday, April 17, 2013 Posted by Unknown No comments:
, ,
After the successful first Devoxx UK a few weeks back my interview with Yolande Porier from Oracle Technology Network finally got published on Parleys. She had some nice questions for me about my involvement as an individual with the Java EE JSR expert group, and my views on Java EE 7. I also got a chance to elaborate a bit on Java User Groups, the iJUG the ACE Directors and how they relate to the Java Champions. Thanks for the nice interview, Yolande! It was a pleasure!

Java 7 Update 21 Security Improvements in Detail

10:01 Wednesday, April 17, 2013 Posted by Unknown 3 comments:
, ,
Oracle released three updates to Java yesterday. It is important to note that they contain several security related changes. The majority of those changes have been announced since a while and first thing to notice is, that Oracle ships as planned.
Oracle's Java Platform Security Manager Milton Smith recently gave a talk at DevoxxUK titled "Securing the Future with Java" where he explains the overall process of handling security within Oracle's products and also gave an overview about the Java CPUs. Those 4-monthly updates cover all Java families and according to this we also see a Java SE 6 Update 45 and a new Java SE Embedded 7 Update 21 since yesterday which addresses the same issues on that families.

What is in it for me? (I'm an end-user)
The release notes list a couple of new things. Most of them are targeted at a more secure Java runtime for end-users. Starting with the most important change, the low and custom settings on the Java Control Panel(JCP)'s Security Slider are now removed. That basically mean that unsigned applets don't run without warning anymore. Further on, depending on the security level set in the Java Control Panel and the user's version of the JRE, self-signed or unsigned applications might not be allowed to run at all. The default setting of High permits all but local applets to run on a secure JRE. If the user is running an insecure JRE (<7), only applications that are signed with a certificate issued by a recognized certificate authority are allowed to run.
Trusted and signed (Source: Oracle)
As a brief guideline you, the end-user now see two different kind of Java warning messages in your browser after (!) you already agreed to starting the active content for which your browser typically asks you, too. All blue and Java is good and valid content (compare picture to the right "trusted and signed"). Applications of this type are typically low risk, but Oracle advises you to check that the app name, publisher name and location make sense given the site you are visiting (i.e. Java Detection, Oracle America, http://www.java.com while on java.com). It is recommend you hit Cancel if any of this information does not match or doesn't make sense to you at all.
Unsigned (Source: Oracle)
If you come across an unsigned or not validly signed application things start to get yellow and red (compare picture "Unsigned"). To make it short, you most likely are willing to revise your decision about executing this kind of applications. Even if there are different levels of potential security risks compared to self signed applications (Sandbox vs. Full Access) you should cancel and don't run any application that generate a yellow/red warning for you! If you're interested in the complete story you can dive into more details about "Java Security Prompts".

Beside this very prominent change Oracle also introduced a central certificate and jar blacklist repository. This data is updated on client computers daily on the first execution of a Java applet or web start application. With this change your JRE is now able to call home and get the most up to date information about potentially bad certificates and 4th-party jars out there. Oracle didn't disclose anything about the process behind it but I guess, that this mechanism will be used to block a majority (all) of the know exploit kits completely.

You get plenty of security fixes! There is a complete list available and it is called the "Oracle Java SE Risk Matrix". This Critical Patch Update contains 42 new security fixes for Oracle Java SE. 39 of these vulnerabilities may be remotely exploitable without authentication, i.e., may be exploited over a network without the need for a username and password.

If you haven't been prompted to update you should do this as soon as possible. Download the JRE for your system from java.com and be up-to-date!

What is in it for me? (I'm a developer)
If you're working with Applets, JavaFX Applications in the browser or with Java WebStart applications you might want to change your development process to support signed applications. With the introduced changes it is most likely that no end-user is able to run your application when they are either self-signed or unsigned. For a detailed overview about what to do refer to the signing applets guide in the Java tutorials.
We now have a server JRE.  If you need the JRE on a server and do not want the ability to run RIAs, download the Java SE Server JRE. This version of the Java SE Server JRE does not include the Java plug-in or Java Web Start support, additional tools might be removed from future versions.
Some behavior changes have been introduced also. The RMI property java.rmi.server.useCodebaseOnly is set to true by default. This might lead to broken RMI-based applications. Watch out for a stack trace that contains a java.rmi.UnmarshalException containing a nested java.lang.ClassNotFoundException.
On Windows platform, the decoding of command strings specified to Runtime.exec(String), Runtime.exec(String,String[]) and Runtime.exec(String,String[],File) methods, has been improved to follow the specification more closely. This may cause problems for applications that are using one or more of these methods with commands that contain spaces in the program name, or are invoking these methods with commands that are not quoted correctly.

More Information
There is plenty of coverage in the official documentation for developers. The end-user documentation is also improving very quickly and a good place to start is java.com. For my German reads you can also find a more detailed coverage on heise.de/developer.

Thursday, April 11, 2013

JavaEE 7 with GlassFish on Eclipse Juno

13:23 Thursday, April 11, 2013 Posted by Unknown No comments:
, , ,
Java EE 7 is hot. The first four JSRs passed the final approval ballot recently and GlassFish 4 reached promoted build 83 in the meantime. If you are following my blog you know, that I do most of my work with NetBeans. But I indeed recognize, that there are other IDE users out there which also have a valid right of also testdriving the latest and greatest in enterprise Java.

The GlassFish Eclipse Plugins
The starting place for Eclipse are the GlassFish Eclipse plugins. They moved into the Oracle Enterprise Pack for Eclipse (OEPE) project a while back and are still there to be installed and configured separately. The easiest way to get them is to use the pre-packaged OEPE bundle. Simply download the suitable version and get started. If you already have you favorite Java EE Eclipse version you can also use the java.net update site for Eclipse Juno. The OEPE package contains oficial releases (more stable, tested) of GF plugins and new releases come one or two times per year. The update sites on java.net contain developer builds that are released as needed, typically a lot more often then OEPE. You can download from whatever meets your needs.

Install the Plugin
This works as expected. If you stick to the update site you simply go to Preferences->Install/Update->Available Software Sites and make sure that the above mentioned site is defined and checked. Install the GlassFish Tools and the Java EE 6 and/or Java EE 7 documentation and sources according to your needs. Click next two times, read through the license and check accept. Click Finish to install. The download gets everything in place and you have to finish the installation with a re-start.

Starting a new Java EE 7 Project
Once that it done you can start with configuring your GlassFish 4.0 domain. The simplest way is to create a New Project > Other > Web > New Dynamic Web Project and select the "New Runtime" button next to target runtime. The New Server Runtime Environment dialogue pops up and you can select "GlassFish 4.0" from the GlassFish folder. Make sure to select a Java SE 7 JDK and the appropriate GlassFish Server Directory to use (or even install). In this example I am using the latest promoted build 83 freshly downloaded from the GlassFish website. Click Finish. Now add a simple servlet which does nothing spectacular but use some Java API for Processing JSON to write a simple JSON string.

protected void doGet(HttpServletRequest request,
   HttpServletResponse response) throws ServletException, IOException {
  PrintWriter out = response.getWriter();

  JsonObjectBuilder builder = Json.createObjectBuilder();
    Json.createObjectBuilder().add("firstName", "Markus")
      .add("lastName", "Eisele"));
  JsonObject result = builder.build();
  StringWriter sw = new StringWriter();
  try (JsonWriter writer = Json.createWriter(sw)) {

Right click the project and select "Run as .." > "Run on Server" > GlassFish 4.0. Now point your browser to localhost and see the result working. The server view gives you the well know overview about your instance. And there you go. Have fun doing your Java EE 7 developments with Eclipse :)

Wednesday, April 10, 2013

I'm speaking at Jayday, 1th July 2013 in Munich, Germany

11:00 Wednesday, April 10, 2013 Posted by Unknown No comments:
, ,
JayDay 2013 in Munich is an Event for Java-Developers featuring internationally renowned Experts. What started out as a nice little event got even bigger this year. It is still a one day conference but the speaker line-up is incredible. I am honored to be part of that list again and I am looking forward meeting many of you there.
This year I will talk about "Alien Driven Development". Which basically is a short introduction into Arquillian and the complete eco-system around it.

The JayDay conference will be held on Monday, July 1st 2013. Registration starts at 8:30 am. The official program will start at 9:00 am. The final program isn't published by now. Keep an eye on the relevant website.

I'm speaking at DOAG IMC Summit, 6h June 2013 in Mainz, Germany

10:47 Wednesday, April 10, 2013 Posted by Unknown No comments:
, ,
Another conference appearance has been booked for me. I will be speaking at the German Oracle User Group, more precisely at the Infrastructure and Middleware Community Summit in Mainz in June. This is all about Oracle Infrastructure and Middleware topics and has a great Speaker lineup for the German Oracle sphere. Matthias Marschall will present a Keynote on DevOps and the one day event will have plenty of content in basically two separate tracks for everybody.

I'm giving a two hour Hands on Lab about JAX-RS and Server Send Events with GlassFish server. There is still time to register for both the Summit and the lab.
Looking forward meeting you there!

Monday, April 1, 2013

Trip-Report DevoxxUK 2013 - Mind the Geek

10:51 Monday, April 1, 2013 Posted by Unknown No comments:
After my first Devoxx in Belgium last year I decided to give the new UK spin-off a try. Martijn and Ben have been the perfect hosts for a couple of Java related activities close to the London Java Community and I was really looking forward meeting this incredible community in London.

Day 0 - My first day in London
I've never been to London or even the UK before. Don't ask me why, it simply never happened. Even if some of the fellow ACEs have their home-bases there and the UKOUG also is very active in the Oracle User Group space I was very excited to finally see a bit of London. It turns out that I had planned my trip too short. Bottom-line: There was no time left at all to see a bit of the city. Once more I've only seen the nice little Airport, parts of the public transport system, the hotel and the conference venue. No, I'm not complaining. The travel was easy for me and finding the way to the BDC and the hotel next by not a bit challenge. A nice informal Meet and Greet sponsored by Atlassian was followed by a nice speakers-dinner. Thank you, DevoxxUK team!

Day 1 - Meet and Greet
The conference itself started on Monday morning. Roughly 500 attendees started to roll in to see the 75 speakers giving 50 sessions in 7 tracks about cloud, Java SE, methodologies, Java EE, web & big data, new languages on the JVM, and future Devoxx. Many familiar faces and the UK version of Devoxx clearly profited from the overall Devoxx connections. It was a pleasure to meet many Oracle peers and twitter follower I haven't meet before. Yolande did an interview with me about my role in the Java EE EG, the German Java User Groups and the differences between the Java Champions and ACE Directors. So, I am truly looking forward seeing this published. I initially intended to help Arun with the Java EE 7 HOL. It turns out that I had a bad timing and enjoyed talking to Aslak and David about some upcoming activities. Arun will hold this against me for a while I guess; I'll promised to do better next time :)
With Devoxx UK, the number of Devoxxians will reach 5,500 across Europe this year. The hands-on labs, talks, quickies, birds-of-a-feather and bash run from 9:30am to 10:00pm and this has been long days for everybody with still plenty of time to hang around and talk to the luminaries in the Java world. Only draw-back was, that some of the speakers left early to catch trains to Paris. DevoxxFR started overlapping.

Day 2 - Wrapping Up
The second day started over with plenty of engagement from anybody. The speakers full of energy were there to fully entertain the crowd. Fellow ACED Simon came in early to help with the UKOUG booth duty and we had some time to talk. I also enjoyed talking to Milton Smith about Java security topics. Not to mention the many others. It always is a pleasure catching up with you and attending the great session on the schedule. Close to noon I had to give my own session about Java EE sins. It is uploaded to slideshare and parleys (embedded below) in the meantime. Thank you to the roughly 50 attendees. It has been a pleasure. I am looking forward to the recording.

After a nice closing keynote by both RedHat and Oracle I had some time to enjoy the local bar scene and talk to Tomas. Leaving London the next morning very early.

Some further Thank-You's
Especially to German Oracle User Group DOAG (Development Community) which made it possible for me to attend. With Oracle closing down their fiscal year the budget for the ACED is empty and it is a pleasure to see, that even the original Oracle User Groups start pushing community with their presence at Java Conferences. Thank you! Another big one goes out to the program committee at DevoxxUK for having me. I am thrilled to see that my content and ideas work out for others. Thanks to Kerry and Martijn! You both are doing an amazing job! Looking forward to other opportunities working with you! A complete photo-set of my impressions at DevoxxUK can be found on Google+ (Day 1, Day 2)

Devoxx UK 2013 - Long mellow version from Roy van Rijn on Vimeo.