An example of my work: 

JAM is a java library for distributed asset processing. The main purpose is to reliably upload and download files and folders from/to clients and servers located in DMZ or behind the firewals. The library allows to execute a remote code in synchronous or asynchronous mode. It could not be easier to share data around the world. Basically it requires 2-3 lines of code to upload or download folders. The library is represented by 150 kb jar file. No other dependecies. The transfer is done via HTTP tunneling or via built in server. Java Asset Manager contains its own built-in http server which can be used instead of application server.

what is it good for?

A description - have you ever needed to exchange files or folders between client-server or client and client? Have you ever needed to remotely start a procedure on your server? Do you need to upload a special stuff from your server to your client's computer? Did you need to trigger actions on your server by the code running on your client? If so, then you know how much programming it is. And I see how much forums are about this stuff. Java Asset Manager is a solution. An open source tool for triggering remote actions on the server or even on the client computers, tool for uploading downloading whatever to or from server client and so on. In the 150 kb jar you have everything what you need.

Main Features :

  • Platform independent (Windows, Linux, Mac OS, Android)
  • Execute code on the remote computer using synchronous calls. Remote code can return data from the remote computer to the caller.
  • Execute code on the remote computer using asynchronous calls. Remote code answers to the defined call back java function.
  • Upload file/folder to the remote computer and execute the remote code to process the uploaded data.
  • Download file/folder from the remote computer
  • Upload/download as separated threads using the call back functions.
  • Monitoring the upload/download process to have an overview about the status of ongoing transfers.
  • Built in Http server which can be used to eventually serve the http requests comming to the client or server.
  • Reliable transfer assets via sofisticated and configrable fail safe methods.
  • Everythig in one 150 kb jar, almost no dependencies.
  • Easy to bound the library to the Java WebStart application or to applet running inside the browser. 
  • Easy to use in Android activities
  • Implemented remote code injection.
  • No other jar dependeces.

How it works - it is created to be simple. Let's say that you have a server and a client computer. The whole communication is done via http tunneling.  But if you have an option to open your own port then you can use the built in server. 


Remotely execute code on server - see the flash presentation above.

Upload file (folder) - see the flash presentation above.

Download file (folder) - see the flash presentation above.

The following part is in progress:

 How to start - a short description how to configure your server and client - add a definition of the Gate servlet to the web.xml, add JAM library to the server path and use it. 

 Manual - an example of the read how to use all features.

API - documentation

Download binary - jam_1.01.jar 

Download source -


Make a free website with Yola