October 30th, 2015 Leave a comment Go to comments
Nicolas FrankelI’m NicolasFränkel, a Software Architect with 15 years experience consulting for many different customers, in a wide range of contexts (such as telecoms, banking, insurances, large retail and public sector). I’m generally focused on Java and JavaEE technologies, but I’ve narrowed interests like Software Quality, Build Processes and Rich Internet Applications. I’m currently working for an eCommerce solution vendor leader. I also double as a teacher in universities and higher education schools, and a trainer for experienced pros, and triples as a book author.

Speaking experiences

I love learning, and I deeply think when you learn, you also have to share. I regularly attend conferences, and I’ve had been privileged to speak at some of them. Here’s a quick recap:


  1. August 11th, 2009 at 17:44 | #1

    Salut Nicolas,

    Tu te souviens de nos échanges, parfois musclés, à la VDL ? Je trouve que tu fais un excellent travail sur ton blog. En tout cas, nous avons le même souci de partage de l’information.

    Depuis 3 semaines, je me remets au développement, avec l’accent sur EJB3, tellement moins XYZ@#!! que J2EE, et je vais soigneusement étudier ton blog pour me replonger dans des sujets bien pragmatiques. As-tu une opinion sur SEAM que j’hésite à découvrir plutôt que de me remettre à l’antique STRUTS ? Et quel est ton jugement sur EJB3 ? J’aurais bien aimé trouver un site de hosting gratuit JEE pour me monter un applicatif EJB3 qui attaque la base de données de mon site (hosté poar un site payant, lui), mais apparemment la gratuité ne s’étend pas aux serveurs d’application !

    Bonne continuation !


  2. August 11th, 2009 at 18:53 | #2

    Salut Jean-Pierre,

    Merci de ton compliment, j’essaye de faire de mon mieux. En l’occurence, il s’agit plus de mettre mes pensées en ordre, et tant mieux si j’ai de l’audience !

    En ce qui concerne ton problème, plusieurs choses. Tout d’abord, si tu veux te mettre à un framework de présentation, va plutôt sur JSF que sur Seam. En effet, Seam a une philosophie très particulière qui n’existe nulle part ailleurs alors que JSF est un standard Sun. Pour les EJB3, tout dépend. S’il s’agit de JPA, fonce ! S’il s’agit des EJB session, attends un peu, ce n’est pas encore assez mature.

    Enfin, pour trouver un hosting JEE gratuit, tu n’as qu’à regarder sur mon site où je présente le Google App Engine. Au prix de quelques concessions au niveau des API, tu as ce que tu désires. L’article que je te conseille est ici (il y a les références intéressantes à la fin de l’article).

  3. Abdellah
    September 28th, 2010 at 13:12 | #3

    Salut Nicolas,

    Ton site blog est super et je le consulte fréquemment.
    Une question: la page de ton CV est-elle réalisée avec Flex ?


  4. September 28th, 2010 at 21:31 | #4

    Merci. Flex v3.

  5. June 8th, 2011 at 15:07 | #5

    I found your post on Free SVN hosts and that you seemed to like Project Locker.
    Are you still using it?
    I just signed up for an account and was wondering if it’s reliable for you.


  6. June 8th, 2011 at 17:24 | #6

    Works OK for me until now.

  7. June 8th, 2011 at 18:50 | #7

    Thanks Nicolas.

  8. David
    November 2nd, 2011 at 13:27 | #8

    Hello Mr Fränkel,

    like me, a lot of people read your Flamingo tutorial. As far as i’ve read on sites like, it’s not up to date anymore, since Kirill Grouchnikov stopped his development on Substance and it’s been forked by some other developers under the name “Insubstantial”.

    It would be a really great thing if you could write another, maybe also a bit deeper tutorial about Insubstantial/Flamingo, because for beginners, there is a lack of documentation how to start with all that and how to use advanced techniques of Flamingo.

    Best regards,


  9. June 7th, 2012 at 12:57 | #9

    Hi Nicolas,

    I saw a tweet some where from you mentioned that you are looking for a Groovy Vaadin Builder. I am searching for the same thing, I found this one at, did you found any?

    You also blog about Griffon at, given your experience with Vaadin, do you think it is possible/feasible to implement the Griffon Builder API over Vaadin?

    Hope to hear from you soon!

    Best regards,
    Chee Kin

  10. June 7th, 2012 at 16:44 | #10

    Groovy SwingBuilder API at is a good reference implementation too.

  11. Thomas Pasch
    December 21st, 2012 at 14:54 | #11

    Dear Nicolas,

    thank you for your brilliant website! However, I tried to run your html-js-integration example (from ‘Integrating HTML and JavaScript’), but I’m out of luck (at least with a more recent version of vaadin 7 (beta7)). In contrast, I converted the custom-component-example (from ‘Using GWT widgets’) without any hassle to vaadin7 beta7.

    You can get a look on my changes at . The is a new Blog_2012-08-13 folder in there, were I checked in the (simple) JS example from the vaadin blog (it is working as well).

    Cheers, Thomas

  12. December 21st, 2012 at 18:05 | #12

    Hi Thomas,

    There have been a couple of changes during the development of Vaadin 7 which makes some betas backward incompatible. However, I’m in the process of re-writing Learning Vaadin with the new Vaadin 7 beta 11 version which is API stable: I probably won’t update until I finished the writing. My best advice is to buy the book once it’s done (shameless self-promotion).

  13. July 5th, 2014 at 11:40 | #13

    Sehr geehrter Herr Fränkel,

    für ein Projekt mit Formularen und Datenmasken, brauchte ich einen LayoutManager für Java Swing, der sich responsive dem gegebenen Platz anpaßt, ein hübsches Layout produziert und im Quellcode übersichtlich und daher einfach zu warten ist. Ich wollte die minimale und die maximale Größe der einzelnen Komponenten angeben.

    Einen solchen Layoutmanager konnte ich nicht finden und habe daher einen eigenen programmiert: TOnionLayout. Dieses Layout besteht aus zwei LayoutManagern:
    TrainLayout: Eine Reihe von Komponenten von links nach rechts mit gleicher Höhe und individueller Breite.
    TotemLayout: Eine Spalte von Komponenten von oben nach unten mit gleicher Breite und individueller Höhe.
    TrainLayout und TotemLayout können beliebig ineinander geschachtelt werden (wie die Häute einer Zwiebel = TOnion). TOnionLayout kann auch in einer JScrollPane platziert werden. Wenn das Fenster verkleinert wird, dann minimiert sich zuerst das TOnionLayout und erst danach erscheinen die Scrollbars.

    Für die ersten inneren Objekte eines TOnionLayouts können Minimum- und Maximum-Size angegeben werden. Ohne diese Angabe wird der Platz gleichverteilt. Es ist auch möglich Objekte mit und ohne Angabe zu mischen.
    JButtons sollten in ein JPanel mit FlowLayout platziert werden, die Größenangaben sollten dann im JPanel erfolgen.
    JTables sollten in ein JPanel mit BorderLayout in die CENTER-Komponente plaziert werden. Die Größenangaben sollten ebenfalls dann im JPanel erfolgen.

    Die Größenangaben eines TOnionLayouts müssen nur ungefähr zusammenpassen. Die pixelgenaue Ausrichtung übernimmt das Layout. Fehler in der Angabe von Größen, also Größenangaben, die nicht zusammenpassen, werden automatisch korrigiert. Wenn ein Minimum größer ist, als ein Maximum wird Maximum = Minimum gesetzt. Bei der Verwendung der Testklassen TrainLayoutTest und TotemLayoutTest, werden solche Fehler auf der Konsole ausgegeben.
    Ist eine TOnion Schicht manchmal gefüllt und manchmal leer, so kann dort auch eine minimale und maximale Größe gesetzt werden. Diese werden nur im leeren Zustand berücksichtigt.

    Der Code der mit TOnionLayout entsteht ist einfach und übersichtlich und daher leicht zu warten. Das Layout ist daher auch für Anfänger/innen geeignet.

    Der Trick von TOnionLayout ist, dass obwohl das Layout top-down (von außen nach innen) erstellt wird, jede Schicht alle Ihre Inhalte nach der minimalen und maximalen Größe befragt. Um eine gute Performance zu erreichen, werden diese Werte gecached, also gespeichert. Nur wenn ein Objekt zum Layout hinzugefügt oder weggenommen wird, werden die gespeicherten Werte von der betroffenen Schicht und allen äußeren Schichten gelöscht.

    Es würde mich freuen, wenn Sie TOnionLayout testen und darüber berichten, damit viele Menschen von meiner Arbeit profitieren können.

    Mit freundlichen Grüßen,
    Birke Heeren

  14. July 27th, 2014 at 10:41 | #14

    Hello Nicolas,

    we are looking for JAVA highly experienced developers and bloggers who would be interested in popularizing new JAVA to .NET bridge that changes completely the way JAVA can talk to .NET.

    Do you think you could be interested in writing something about javOnet on your blog?

    Please let me know what are your feeling about it.

    Best regards
    Lukas Ladynski

  15. July 27th, 2014 at 16:27 | #15

    Dear Sir,

    Unfortunately, neither this blog (nor Wikipedia) is a free advertisement platform.

  16. October 2nd, 2014 at 23:13 | #16

    Dear Nicolas,

    I’m working with Gemalto and would like to offer you a chance to be a judge on our specialist panel for a project we’re working on. It’s call the IoT Maker Challenge and requires an deep knowledge of Java. Would you be interested?

    If so, please email me back.


  17. Roland LE BAIL
    February 21st, 2015 at 11:53 | #17

    I am now working on a project using the vaadin API to deport a program to a server.

    I can use either NetBeans or Eclipse IDE to produce a *.WAR file which I upload to
    a Tomcat7 Debian server (Unix I suppose) so I send the WAR file to the Tomcat7/webapps directory.
    Using a browser http://serverAdress:8080/programName I can access it easily.

    My question is this: can I compile everything (server+app.jar) to an EXE file using Excelsion Jet
    but where should I upload the EXE file: (what directory of Tomcat7 on the server)???
    and how I can then access it from a browser (http://serverAdress:8080/?????)

    Do you know of a vaadin project using Excelsior Jet for obfuscation.

    Thanking you in advance,

    Roland Le Bail

  18. February 21st, 2015 at 22:14 | #18

    With Excelsior Jet, you’ll package both Tomcat and your Vaadin application into a single executable. If you have a the Jet software, you’ll see there’s an option for that (at least as far as I remember).

  19. Roland LE BAIL
  20. February 22nd, 2015 at 00:39 | #20

    I’m not an Jet expert and I haven’t played with it since a long time. I think you should configure the Tomcat as it was the target then convert it to an executable. At that point, launching the .exe would probably launch the underlying Tomcat and you would be able to browse any webapps deployed in it.
    To go further, I would suggest you to contact Jet support or forums.

  21. March 10th, 2015 at 17:07 | #21

    Hello Nicolas!

    I’m inspired by your talk for Luxoft Technology Series webinar about mutation testing and I’d like to ask you a few questions in email. Could you contact me back via email?

    Andrey Gordienkov

  1. June 8th, 2015 at 11:23 | #1