We currently use a very innefecient JAVA API (with native libraries) provided by a well known software vendor, to interact with one of their content management systems,
Pursuing the goal to make a new and improved API of out scratch, we must first use some kind of sniffer to monitor network traffic between the client (where the poor API is used) and the server (where the storage resides).
These sniffer must be able to:
1.- Identify the current invoked class/method (for example: all from classes in package com.freelancer.*)
2.- Record the network connections and transfered data (binary)
3.- Expose such data/results in a way that could be later presented to the team who is going to rewrite the whole API
Optionally, all of the above could be wrapped around a webservice to later expose it to the freelancer community from the API rewriting.
Many questions could arise from such a small project definition, so questions are mostly welcomed
As the Java skill is requested, the software must also be written in java, preferably 1.5+