October 17, 2013

Java EE 7 released and Packt Publishing is having 50% sales

Before and after Oracle was buying Sun, the development of the Java language slowed down. But now Oracle is picking up speed. The Java Enterprise Edition 6 was released in December 2009 but now this summer, EE 7 was released. Not bad. So if you want to get up to speed with the new feature in EE7 and read ebooks the Packt Publishing is having a 50% sales on all its ebooks, so feel free to check it out on http://bit.ly/1bqvB29 and use the discount code COL50.

October 3, 2013

Keeping track of the different component version in EE 6 and EE 7

The Java Enterprise Edition has changed a lot from previously making heavy usage of XML configuration and now using Annotation instead, which leaves XML files almost empty compared to older EE version. But all these changes is also a headache to developers that must keep track of the different version in the different EE version. A good summary site for that is

http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#6

and for JPA

http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/index.html

And another good reference site for JPA is

http://en.wikibooks.org/wiki/Java_Persistence

Getting started with GNOME 3 on Fedora 19

At work I usually work at the server side which means in most cases for Java project, working with some sort of Linux distro. One popular Linux distro for server are Red Hat Enterprise Linux, RHEL. But using RHEL is not meant for using at the client side. And the closest thing to RHEL at the client is Fedora (both supported by Red Hat).

It's been a while since I used Fedora and a lot have happened. And for you guys out there that are starting to use Fedora or any other Linux distro that are using GNOME, I can warmly recommend this easy to use site:

https://extensions.gnome.org/

On this site you can easily install and configure GNOME 3 tweak, such as my favorite Dash to Dock - https://extensions.gnome.org/extension/307/dash-to-dock/. Which is my first GNOME tweak I installed after installing Fedora 19.

Review of Instant Apache Wicket 6

In the last day I had the pleasure to read a beginners book for Apache Wicket 6 - Instant Apache Wicket 6 http://bit.ly/15w4LEI. The book is good, it takes the reader through the most imported steps to get started with Apache Wicket. Such as creating a new project, how to use the fast jetty web server to view your wicket pages and maybe the most imported thing. How to debug a wicket application with Eclipse IDE. So if you are looking for a beginners book for Apache Wicket 6 I can recommend this book.

But with all beginners book you should always be a little careful when completely copying beginners example code into your production code. Such an example in this book is the login example. Creating safe login code is actually a little tricky and requires extra care. Things that you must take into consideration when creating login code are:

  • Login pages must be completely stateless, which means ones submitted from the client, they must be totally forgotten. You do not want sensitive data, such password, be accessible when clicking browse back. Or be kept in server session cache. Apache Wicket is out-of-box almost always stateful.
  • Paying extra care of session management is always imported. Use cookie to store client session id and not URL, which are cached in web server log, proxy log, client web browser history, etc.
  • Always set session timeout.
  • Make cookie not accessible for other sites client script, which you hinder by using http only flag.
  • And of course always use SSL, even for login pages.

Above is just a handful of things that you should pay attention to when developing security code.

I'm a great Wicket fan and wicket have a lot of ready to use graphical component, such DatePicket, Paginated List, Sortable List, Multiple File Upload, etc. You can see a lot of them in action on http://www.wicket-library.com/wicket-examples/index.html.

Also if you need more Wicket component, look at the different wicketstuff project. To get an overview on them all search maven central repo at http://search.maven.org/#search|ga|1|org.wicketstuff.