Saturday, October 14, 2006

Java Platform Debugger Architecture (JPDA)

Java Platform Debugger Architecture (JPDA)

I decided to sped some time on doing some reserch on JPDA. I am planning to create an Eclipse Plug-in to insert breakpoints and track using JPDA.

I will keep you posted on my findings and progress.

Technorati Profile

Monday, October 09, 2006

Eclipse Product

I have been busy working on these holidays[Sep.30,Oct.1,Oct.2 and Oct.4] (we get lots of holidays in India ;) ). Of course there are bad things and good things about holidays, good thing is I get some time to work on my own project ;) bad things is we might wanted to compensate on the unplanned holidays and companies will loose lots of man hours. Now days my family started hating these holidays, because my self and my laptop is very busy in holidays than working days.Nowadays there is a comment that we (laptop and me) are twins. Anyway let me talk about what i did on these days.

Here is what I did. I created an Eclipse based product for my current project. (my company didn't ask me to do this OK). Before talking about what I did let me talk about the context.

Context is, We have a console based application which is used to extract data from one installation to another. We call it EXIM (Export - Import) (This is another module I have developed). Now the issue with this app is, you have to keep shifting to different client (different folders in command/shell) installation to do export and import. And you have lots of working in changing some configuration file then insert search criteria in some other file, then give this file as input etc etc etc.

I have been thinking of how to make it better, then I started trying some thing in Eclipse plugin and a new idea came to my mind. ie. Allow users to do Export import by just DND (Drag and Drop). It took me whole 4 days (more than 12 hrs a day) to complete a working version of it.

I took more time in identifying how to make things works in Eclipse, What method to use, what additional plug-in I should use. mainly I send time to understand how to put a "Resource Navigator" to my Eclipse product.

The other issue I had was class loading issues, This product should be able to connect to multiple installations, so the compiled classes in each installation may be different, so I had a hard time in trying to connect to multiple servers. I was always getting into some class cast exception, especially java.util.Logging. Because the LogManager is singleton for one JVM it will create only one instance, so when ever i load the other set of jars for connecting to different instance it will throw a class cast exception. Then I have decided to change my approach. I came up with a proxy server approach. ie I will have a separate java socket server running for each server I connect, and it will be started as separate JVM process, and the Eclipse client will connect o the socket. These servers are not started separately, When ever the user do some action for one installation if the proxy server is not started then the client give a command to start the server and connect to the server.

Now I am getting more exposed to Eclipse plug-in development ;)

I will post my design and some screen shots