Skip to main content

· 3 min read

The new post on the Ruby section of O'Reilly authored by Derek Sivers is quite interesting, starting with the title:

  • 7 reasons I switched back to PHP after 2 years on RailsI am far away of being a PHP expert, or even a Ruby one, but I have the impression that I could post a similar title with Java instead of PHP. If this is true that Java EE could look a little complex for a start -this is probably less true today with the new JavaEE simplifications-. Yes... when you compare Rails and Java alone it is more complex but we should not forget that Java is now more a platform than a simple programming language. And many developers and companies have built very productive solution on this platform.

Since I am talking about Ruby on Rails here, it is important to mention again Grails and Groovy that provide on the Java platform a simple and productive way to develop applications, and time to get back to the different reasons mentioned by Derek in his post:

1 - “IS THERE ANYTHING RAILS/RUBY CAN DO THAT PHP JAVA CAN’T DO? … (thinking)… NO.”

I believe that we will all agree on the fact that you can do anything you want in Java; Web applications, mobile applications, operating systems, rdbms, ... the only limit is your brain! -and your skills ;) -

2 - OUR ENTIRE COMPANY’S STUFF WAS IN PHP JAVA: DON’T UNDERESTIMATE INTEGRATION

I think this is one of the key point here. Enterprise is using JavaEE a lot and it is part of the IT, moving to another technology will be expensive even if development is faster. In addition, the developers, administrators are used to develop and manage Java based applications.

And I do not want to talk about how complex it could be when you are building a Rails application on an existing database, designed from a pure Entity/Relation methodology....

3, 4 5 - I have nothing special to say here...

6 - I LOVE SQL

I still see a lot of developers using SQL directly in Java programs. The nice thing about Java is the fact that based on your skills and what you like to do you can choose the way you want to access the database, simple SQL, powerful O-R Mappings, ...

7 - PROGRAMMING LANGUAGES ARE LIKE GIRLFRIENDS: THE NEW ONE IS BETTER BECAUSE YOU ARE BETTER

I love this reason, but nothing special to say, I let you read the original post.

As you can see from the number of comments in Derek's blog -no times to read all of them- this entry generates lot of reactions.

· One min read

With all the Web 2.0/Social Networking noise we are all used to "virtually socialize", but now you can use it to do more and improve the quality of your trips.

The site IDTGV and Co (only in French so far) allows you to enter your profile and hobbies. Then when you do a reservation for the TGV (high speed train) you can match it up with other travelers. I have not tried this service yet since I am mainly traveling in the north of France but I will for sure try it as soon as I can.... Let me know if you have tested it.

· One min read

I am sure that most of you already know the "Prototype Windows" project that provides a very powerful way to create windows and dialogs inside your Web pages. If you do not know it, take a look it's awesome!

Sebastien Gruhier, aka Mr Proto, and others have done a terrific job allowing developers to integrate exciting features with few lines of code. Find more on the PWC site or on Mr Proto's blog.

In addition to the Windows API, you can also take a look to the Tranparent Message, Prototype Carousel and Prototype Graphics projects

· One min read

A friend of mine was asking me how to generate a unique ID for his application... As you probably already know Java SE 5 has introduced the java.util.UUID class to easily generate Universally Unique Identifier (UUID). As usual Wikipedia is a great starting point to learn more about UUID.

Generating the unique ID is as simple as calling the method UUID.randomUUID() in the class. This will give a new instance of UUID that you can now manipulate; for example do a toString() to get the UUID string representation as describe in the specifications; for example 5462dc18-4653-42d1-b4e4-22fc970a6ce5

Resources:

· One min read

This morning I was helping a customer to debug some Web Services deployment issues, when I simply realized that the error was coming from the fact that he was trying to deploy a JAX-RPC service on a OracleAS 10gR2 server; where it is not supported/available.

This give me the opportunity to clarify the different versions of the Oracle Application Server and their related Java Enterprise Edition release support.

Oracle AS ReleaseJ2EE/Java EE ReleaseComments/ExtensionsCertification Matrix
11.1.0.0Java EE 5.0* Currently available as technology preview
10.1.3.x (Oracle AS 10gR3)J2EE 1.4* Support of EJB 3/JPA * Web Services Annotations * MTOM support (10.1.3.1) * Integration of Spring 2.0 (10.1.3.2) * Integrationf of Oracle Coherence (10.1.3.3)[OTN Certicification Matrix](http://www.oracle.com/technology/software/products/ias/files/oracle_soa_certification_101310.html)
10.1.2.x (Oracle AS 10gR2)J2EE 1.3[OTN Certicification Matrix](http://www.oracle.com/technology/software/products/ias/files/as_certification_r2_101202.html)
9.0.4.xJ2EE 1.3[OTN Certicification Matrix](http://www.oracle.com/technology/software/products/ias/files/as-certification-904.html)
9.0.3.xJ2EE 1.3[OTN Certicification Matrix](http://www.oracle.com/technology/software/products/ias/files/as_certification_r2_101202.html)

· 2 min read

I was in Paris last week end so I took this as a good opportunity to visit the city using the new "Velib" system. Velib is a new self service rental bike system that the city of Paris and JCDecaux put in place on July 15th. So you can take and return any of the 10,000+ bikes in any of the 750 locations all around Paris. I believe that Paris wants to a total number of 20,000 bikes for  1,400 locations.

The concept is really simple, you can take a bike for 1 euro day and it is free for 30mn, supplet of 1 euro will be charge for additional 30 mn then 2euros for the next one, ... The idea is to use the bike for short periode of time, return it to a station and take another one after 5mn. So I have been enjoying the city all Sunday for only 1 euro, it was really nice to be able to ride under the Eiffel tower, les Invalides, Place Vendome on all these very nice and romantic Parisian places. Not only is it probably one of the best way to visit Paris as a touris but also it is good for the environment...

One the flip side, I need to say that Parisian drivers are not that nice with bikers, even with the 230 miles of bike lanes...

From a technical point of view, the rental system is really nice,  the bike stations have a nice and simple to use system allowing you to take a bike, see your balance and they are all connected together allowing you to take and return bike anywhere in Paris. I will try to find more information about this application that is probably quite fun, and hopefully not like the www.velib.paris.fr site, the stations are available in multiple languages.

· One min read

I was helping a customer with his BPEL in cluster and we needed to follow the flow and on which machine the instance was running.

I simply use a bpel:exec activity with the following code:

java.net.InetAddress addr = null;

try {
addr = java.net.InetAddress.getLocalHost();
}
catch (Exception e) {
System.out.println("EXCEPTION :"+ e);
}
setVariableData("HostNameVariable", addr.getCanonicalHostName());

This code is just an example of what could be done. Here I am using java.net code API and put the result in a BPEL global variable using the setVariableData() method. Obviously you will use appropriate code to differenciate the different nodes for example the name of the OC4J instance, hostname, ... or any interesting value.

· One min read

It is probably an old tipe, but I have just configured my Windows XP Parallels VMs to use my MacBook buit-in iSight Web Cam using the driver that you can find here:

The site states that it does not work with Parallels, but I am using the release Build 3170 RC3 and I do not have any issue.

  1. Start your VM

  2. Download the Driver & Unip zip

  3. Grab the Built-In iSight using the Devices > USB menu

  4. Point the Windows Devices Manager Installer to the location of the Unzipped folder

  5. and you are done...

· One min read

To help you better understand the support Oracle offers to Spring developers, everything you need to get started with Spring on Oracle Containers for Java EE is now available in the Oracle Development Kit for Spring. Whether you're new to Spring or an old hand, you're sure to benefit from the contents of the Development Kit:

  • A comprehensive set of How-To examples illustrating Spring-OC4J integration
  • The Oracle Developer Depot Web application, which enables you to deploy and run the How-To projects on OC4J
  • A Spring extension to JDeveloper, Oracle's free Java IDE
  • Supporting documentation and white papers

The Kit is available as a self-extracting ZIP archive. Note that you will need Oracle Containers for Java EE (10.1.3.2) or higher to use all of the How-To projects provided.