Friday 17 February 2012

How to automatically reconnect a Data source when the Application server and DBMS are not on the same server?

When I have started working on my current project (a J2EE software that will manage all travel agencies of Cameroon), I faced a problem I didn't heard about before. In fact, before digging into the problem allow me to brieftly describe the architecture of the system.
In fact we are using a J2EE architecture (using JBoss as application server) with rich clients (Swing), and our data are stored in Oracle 10g. But the very concern here is that JBoss and Oracle are located on two different servers bounds by a network connection. Therefore, what could be the problem?
When I was doing tests, due to my environment, sometimes the network connection was lost, and once it was restablished, my datasource could no longer connect to Oracle, I then needed to restart this datasource. This problem could be worst in an exploitation environment, since the service could be stopped longer than accepted.
Overcome this problem, could be done by a good configuration of the datasource, by adding a tag <valid-connection-checker-class-name>, and in my case that's the tag I've added:
<valid-connection-checker-class-name>  
org.jboss.resource.adapter.jdbc.vendor. OracleValidConnectionChecker 
<\valid-connection-checker-class-name>

I hope this post will help you to overcome quickly this kind of problem, and even if this connection will be lost rarely, it's better to anticipate.

Friday 10 February 2012

Why I've made so long before taking a certification exam.

I've been working with java related technologies for seven years today, and with software firm for five years, however I have never taken an exam. Maybe, because I was thinking my experience was good enough to prove my skills. But recently, when I've decided to move forward and start to work for the world best companies, I've noticed that they don't care about my past experiences, since the companies in which I've worked were not known internationally and moreover, were African's firms. Therefore, my past experience doesn't weight as I though. I decided to prove that African firms also should be considered in terms of its engineers, and the way I found was firstly to pass some certifications, and with good scores; and secondly show on this blog the challenges I face in my daily job and how I do manage them.
The big deal here is that, with my full time job as Senior software engineer at AFFIXE Software Engineering (where I'm currently running two projects) and my part time Computer science PhD in the area of web semantic, it seems to be difficult to find time to prepare certifications in a way I could not miss any question. Then, In November, I decided it was time to know if I was right about the skills of African firms' software engineers, I schedule my OCJP 6 (Oracle Certified Java Professional) two weeks later. And I did quite good (93%). Even if it was not easy to prepare, my past experience allowed me to use materials in a smart way (thanks to Katty Sierra for her book, who is, for me, the best book when you plan to pass this certification). And I'm planing to pass the others certifications quite soon, since I would like to take all the Java certification path, thence demonstrate I deserve my Senior Software Engineer role at AFFIXE and I could have it anywhere .
If there is something I could learn from this experience is that, the fault is not only to the others, but firstly ours, since we should prove the world they have to deal now with us, and we could do it by using the tools they use to grade themselves: Getting the best and strongest certifications, and with good scores.
Finally, if I've not blogged since, it's because I was working on it, but I've come back and now I'll introduce you in my everyday job, and you'll find how much challenging and interesting it could be!