Skip to content

Java EE 6 is touring French JUGs

One beauty of living in a country with nearly 20 Java User Groups is that you can travel around while talking about your favourite topics. For me, at the moment, it’s Java EE 6 (thanks to my book). So last week I was invited to the Riviera JUG to give a talk about the new features of EE 6. As […]

Read More →

An interview about me, Java EE 6, the JUG, the JCP and some Jazz

A few weeks ago, Alexis Moussine-Pouchkine asked me for an interview. My book has been out for a couple of month now, Java EE 6 is getting hot, GlassFish V3 is closed to final, the Paris JUG is doing well, I’ve recently been nominated Java Champion, JSR 299 and 330 are working hand in hand, the Cast Codeurs podcast is a success, summer and vacations are on their way… it was time to have a break, a nice lunch with Alexis, a few glasses of wine, and have a chat. So if you want to know a little bit more about all that, you can listen to the podcast or/and read the transcription of it. GlassFish Podcast Podcast transcription Thanks Alexis

Read More →

I am a champion, my friends

Yes, I am a Java champion my friends, and I’ll keep on Javaing till the end. Do you know the Java Champion program ? It was created by Sun to recognize leaders in the Java developer community. The concept is to build an informal but select group of passionate Java technology and community people outside of Sun. As quoted in […]

Read More →

Derby 10.5.1.1 is really an in-memory database

Up to Derby 10.4.2.0, the in-memory database mode wasn’t a real one because data was stored into files onto your disk. The new 10.5.1.1 supports a real in-memory mode were data is only stored in memory, with no files being created. As stated in the new features page : Initial implementation of a storage engine for Derby where all data is kept in memory. There is no documentation for this feature. This functionality itself is not yet fully implemented, but users are welcome to experiment with it. So I did test it. First of all, if you are using Maven, you will be disappointed to know that the 10.5.1.1 release is not in the default Apache repository. You need to add the following repository to your pom.xml : <repository> <id>Apache Repo</id> <name>Apache repository for Derby 10.5.1.1</name> <url>http://people.apache.org/repo/m1-ibiblio-rsync-repository</url> <layout>legacy</layout> </repository> Then, the JDBC URL has to be changed from jdbc:derby:chapter02DB;create=true to jdbc:derby:memory:chapter02DB;create=true. As a little benchmark, I have an application with 25 test cases using in-memory storage with Derby 10.4.2.0. It took 5 minutes and 53 seconds to run all the tests. With the new 10.5.1.1 it only took 21 seconds. Not bad.

Read More →

JPA 2.0 : standard properties in persistence.xml

As you might know with JPA, the META-INF/persistence.xml file defines a persistence unit with some provider’s properties. For example, if you are using JPA in a Java SE environment, you will have to define the JDBC driver, database connexion (user and password), database URL and so forth. In JPA 1.0 these properties were not standard, so for each persistence provider you would have to use proprietary properties. For example, with EclipseLink this is what you would need to connect to a Derby database : As you can see, each property is called eclipselink.something. With the new JPA 2.0 shipping with Java EE 6 in September, some properties have been standardised : javax.persistence.jdbc.driver — fully qualified name of the driver class javax.persistence.jdbc.url — driver-specific URL javax.persistence.jdbc.user — username used by database connection javax.persistence.jdbc.password — password for database connection validation If you use the latest build of EclipseLink (reference implementation of JPA 2.0) you will be able to use these properties as follow : Except for the target-database and ddl-generation properties, the rest of the persistence.xml file is portable across implementations. Again, this is just an example showing how Java EE 6 is trying to make code as portable as possible. If you want to know more about it, check the JPA 2.0 specification.

Read More →

High availability. What does it exactly mean ?

Maybe like me you are used to read architecture documents that state that an application should have high availability. It’s not uncommon to read that an application should have four-nine availability (99,99%). But what does it really mean ? In the JBoss in Action book there is a very clear explanation by giving the allowed downtime per year. Here is the table : Uptime Allowed downtime per year 99% 87.6 hours 99.9% 8.8 hours 99.99% 53 minutes 99.999% 5.3 minutes 99.9999% 31 seconds 99.99999% 3.1 seconds 3.1 seconds downtime per year, it’s really not a lot. So if you sign a contract with 99.99999% availability, make sure you have good lawyers around you.

Read More →

Copying resources to JBoss with Maven (and Antrun)

On my previous post I explained how painful it was to copy resources (files, librairies…) with Maven and the maven-resources-plugin. And guess what ? I received 2 emails from Maven lovers telling me that for this kind of task, Antrun would be more appropriate. So I thought I should give it a try to be fully honest with me, Maven, and God (you need a bit of faith when Maven is involved). So, keeping the same approach as explained on my previous post (use of a Maven profile, copying one datasource and one jar file…), here is what the pom.xml would look like with Antrun : Ok, it’s only 28 lines of XML. Compare with the 52 on the previous post, it’s a shorter pom.xml. But I still find that incredibly verbose just to copy two files. If you are around next week in Paris, Zenika and Skills Matter are organising a presentation of Gradle by Hans Dockter. I’ll be there !

Read More →

Copying resources to JBoss with Maven

In my project, we use Maven to compile, build, package and deploy our application to JBoss 4.3. Every works fine. But each time a new developer comes along, or when we need to install a new server, we always have to remember to deploy the datasource and copy the MySQL JDBC Driver to JBoss. Nothing too complicated, but we tend to forget it. The file myproject-ds.xml defining the datasource needs to be copied to JBOSS_HOME/server/default/deploy and the mysql-connector-java-5.1.6.jar file needs to be copied to JBOSS_HOME/server/default/lib. To do that, we had an Ant script but people didn’t like the idea of using both Maven and Ant. So, why not using Maven profiles and the maven-resources-plugin to copy these two files to JBoss. The idea is to use an Initprofile to initialize JBoss (by typing mvn -PInit install). This will copy the files only once to JBoss. Then, the maven-resources-plugin can be used to copy the myproject-ds.xml (which is under the src\main\resources directory) and the MySQL driver (located in the local repository). So, with a bit of Maven knowledge, a little help from my friend Arnaud and a lot of trying, here is what I came with : Make sure you have the JBOSS_HOME variable set as this script uses env.JBOSS_HOME. The ${settings.localRepository} points to your local Maven repository. When I look at these 52 lines of XML that copy two files in two seperate directories, I either think that I’ve missed […]

Read More →

JCP.org has a new website

This morning I didn’t see any blogs talking about it, so I thought I should say something. As a JCP member I receive a newsletter with some news of the JCP. One of them is that the jcp.org web site has changed. So here are the novelties : The new site is more efficient, enables personalized content, and enhances participation, communication, and transparency.  The url is the same, but the site has many new features including personalization, discussion boards and wikis. For a user point of view, the main difference is the skin. The menus to look for a JSR are the same. But as a member things have improved. Another signal from the JCP to add more collaboration to their process.

Read More →

Dédicace du livre Java EE 6

Aujourd’hui, les exemplaires du livre Java EE 6 sont enfin arrivés en Europe. J’ai reçu ma petite collection privée de 20 exemplaires ainsi que tous les bons libraires informatiques parisiens. Alors, si vous faites partis des quelques rares qui n’ont pas encore ce best-seller, je vous propose de nous retrouver samedi 20 juin à la librairie Le Monde En Tique […]

Read More →

Coding the architecture

I’ve been invited to London by Skills Matter to follow their 2 days workshop called : Coding the architecture. This workshop has been created by Simon Brown and Kevin Seal. The workshop was given by Simon. Actually, that’s one thing I really like with Skills Matter : they spot the people who are knowledgeable about one topic and help them […]

Read More →

Java EE 6 book at JavaOne

Hurrah !!! My book physically exists. It was printed last week and is available at JavaOne. So guys, look for the book shop in the Moscone center, and ask for the already best-seller Java EE 6 book. You can’t miss it. It has been published by Apress (it’s black and yellow) and, as you can see on the photo, it’s […]

Read More →

JSR 330

Just a quick news. For those of you who have followed the entire debate between JCDI (Java Context & Dependency Injection, aka Web Beans) and @Inject, you will be pleased (or not) to know that there is a brand new JSR : JSR 330 Dependency Injection for Java. I hope we are not starting a new battle like the one between Java Module (JSR 277), Modularity Support (JSR 294) and OSGi. Future will tell.

Read More →

Bienvenu chez le Ch’ti JUG

Dans la famille Présentation Java EE 6, je voudrai les Ch’tis. Qques jours après mes présentations GlassFish et Java EE 6 à la conférence GeeCon à Cracovie, ce soir je me suis rendu à Lille pour présenter les nouveautés de la future plateforme entreprise. Dernier en date de la longue lignée des JUGs français, le Ch’ti JUG était inauguré ce […]

Read More →

GeeCon is over, long live GeeCon

As I mentioned a few weeks ago, I’ve been invited to GeeCon to talk about Java EE 6. This very first edition of GeeCon took place in the city of Crakow and was aimed at Eastern European Java developers. The Polish JUG was created a few years ago as a local Java event user group. This year they decided to […]

Read More →

Présentation Java EE 6 au Ch’ti JUG

2008, c’était l’année de Bienvenue chez les Ch’tis. 2009 c’est l’année du Ch’ti JUG. Mais non, je ne ponctuerai pas ce post de “biloute”, ‘j’te dis quoi” et autres “heiiinnnnn!”. En fait, je veux juste vous informer de l’événement del ch’nord (ha, je me suis laissé aller là) à ne pas louper : une présentation sur Java EE 6 pour […]

Read More →

A book about Java EE 6

If I haven’t blogged for a long time, that’s because I was busy writing a book about Java EE 6. As some of you already know, I’m expert member on various JSRs, including Java EE 6. Last year I have been approached by Apress who proposed me to write a book about Java EE 6 in the From Novice to Professional collection. At first I wasn’t sure because I’ve already written a book and know the workload that it represents. But I’ve been a reader of Apress books for a long time, an appreciate them. I was finally convinced to participate to such quality books. So here it is : Beginning Java™ EE 6 Platform with GlassFish™ 3: From Novice to Professional. Well, actually the book is gone to printing and will be published end of May. So stay tune, and be ready to buy a copy of it (or an ebook version). The book focuses on the novelties of Java EE 6 and covers most of the specifications. 450 pages structured as follow : Chapter 1 briefly presents Java EE 6 essentials and the tools used throughout the book (JDK, Maven, JUnit, Derby and GlassFish v3). The persistent tier is described from Chapter 2 to Chapter 5 and focuses on JPA 2.0. After a general overview with some hands-on examples (Chapter 2), Chapter 3 delves into the object-relational mapping (mapping attributes, relationships and inheritance). Chapter 4 shows you how […]

Read More →

Java EE 6 at the GeeCon conference

I’m proud to announce that I’ll be talking at the GeeCON conference about Java EE 6. Proud because this conference is the first edition and has been created by the Polish JUG. A few months ago, Grzegorz Duda asked me if I was interested in speaking there. I’m always ready when it comes to talk for JUGs. GeeCON is a […]

Read More →

Looking for Java EE 6 expert members to organize a BOF at Jazoon

Jazoon, the international conference on Java technology, will be held in Zurich from the 22nd to the 25th of June. For four days you will have the chance to go to many technical presentations, with good speakers and also plenty of BOFs. I‘ve sumitted a talk on Java EE 6 and I‘ve also submitted a BOF on the same topic. The BOF is called Why should I care about Java EE 6 ? The idea is to meet informally with expert members or spec leads around Java EE 6 (EJB, JPA, JAX-RS, JAX-WS…). Developer, architects, project leaders who wantsto know more about Java EE 6 could come and share their questions and comments with Java EE 6 experts. To hold this BOF, I‘m looking for other expert members or spec leads who will be at Jazoon. If you are interested, drop me an email so we can try to make this BOF happen.

Read More →

Java EE 6 Book

In today’s business world, applications need to access data, apply business logic, add presentation layers, and communicate with external systems. That’s what companies are trying to achieve while minimizing costs, using standard and robust technologies that can handle heavy loads. If that’s your case, you have the right book in your hands.

Java Enterprise Edition appeared at the end of the 1990s and brought to the Java language a robust software platform for enterprise development. Challenged at each new version, badly understood or misused, overengineered, and competing with open source frameworks, J2EE was seen as a heavyweight technology. Java EE benefited from these criticisms to improve and is today focused on simplicity.

Read More →

Java EE6 Reviews

DZone september 2009

Recently I had an opportunity to read Beginning Java EE 6 Platform with Glassfish 3 by Antonio Goncalves. The book has the subtitle "From Novice to Professional" and that's a pretty accurate description of the book. After reading it a person not familiar with Java EE, but familiar with Java SE should feel comfortable developing a small Java EE application. (...)

DZone

Read More →