Programming objectoriented – but not too much
Last December or January I had the opportunity to extend some software for a customer. This nice litte piece of software has the ability to track some of its usage behavior using a java HashMap.
When I was programing the class which stores the usage statistics of some major features I made a kind of stupid decision, which I am going to be blogging about right now
Tomcat 6.x … doing it the right way!
Some days ago I posted a blog entry about using Glassfish v2 EJBs with the Tomcat. At this moment I thought that I solved the problems, but last week we were setting our testing evironment on a Debian Linux box and the problems reoccured.
At this moment I thought of a glitch in the server setup but some nagging hours later I realized that my so clever solution was a dirty hack. Which works in a Microsoft Windows environment, but refuses to work on in a Linux environment.
Ok, I have to confess, that I wasn't really happy with my first solution in the end. Renaming JARs to provide the correct order of class loading always leaves a bad taste. But at that moment I was happy, no other solution was in sight and I had absolutly no time.
JSF 2.0 RI EDR1 … getting mature
Friday evening I read about the new version of JSF. The reference implementation (RI) Mojarra made an early draft review (EDR) of Mojarra 2.0 which implements the lastest specification of the JSR-314 which features JavaServer Faces (JSF) 2.0.
Tomcat, Glassfish and EJB … what a mess!
I was quite busy in the last weeks, we are starting couple of new projects for a long time customer so I had lot's of work to do and very few time for blogging. On the other hand side I have some new topics to blog about, so it was quite a fair deal.
The last days I had some fun trying to access some Glassfish EJB from a Tomcat web container. Some of you will now start to suggest to use only the Glassfish, so that is the whole story: There is a service layer which provides access to services on the different backend systems. This service layer is provided by our customer using the Glassfish J2EE container. Our application is planned to run on a Tomcat 6 web container - which is some kind of work horse in the company.
Lazy weekend
This weekend was a lazy one. My girlfriend visited me, so I had not much time playing round with all of this software stuff. Another reason for my laziness was Guitar Hero 3 - Legends of Rock. I was first introduced to this game by a friend last saturday. Instead of playing cards we played a little guitar hero on Xbox 360. Next morning I decided to get my own copy of this came. Fortunately the game is available for Mac too so I hadn't not to by a Xbox 360 or PS3.
But I already spent a little time on playing around with Tapestry 5 on my little project. Quit a nice piece of software, but quite some hurdles to get into it. The trivial examples work quite well but I still have some troubles getting my ideas working. But I guess my years of experience are standing in my way now, because I am quite aware of what I am wanting to achieve ...
Maybe this week I have some time to investigate Tapestry 5 more in detail.
Still messing around with “ETag” and “Last-Modified”
Stating with this whole website performance an ETag topic opened pandoras box. It's a real mess and lame compromises all over the place. But I have to admit that the whole thing is not as easy as I expected it to be.
Anyway ... today I had a nice discussion with a colleague about this topic. He's a senior front-end developer. This means he is a real pro in HTML, CSS, Java-Script and stuff like this and he's the one who showed me the whole Yahoo! performance stuff. After this discussion I wanted to check some things out in detail.
Hibernating JScience Measurements
Lately I discovered that nice little science API JScience, which is the reference implementation for the JSR-275. So I decided to use it on a little fun project I am currently working at. 30 minutes later I had stuffed the JAR into my local maven repository, added it to the POM file and integrated into my data model, when I realized that the values had to be stored into the database ...
An ETag is not about aliens
So what is this ETag thing. I am working since 1998 in the web business but I came across ETags some weeks ago when some of my customers starting to worry about their perfomace. Don't get me wrong, out apllication worked - as always - fine, but some pages where slower as the equivalent pages at the websites of their competitors. We checked our monitoring data, it's always good to know of the webstite performed on yesterday, yesterweek or yestermonth, but were unable to find some issues. So we went from the server to the protocol and the client and checked some static and dynamic pages. As I was taking a closer look at a static webpage I stumbled over a HTTP header which I didn't know: ETag.