Extrair um .ZIP automaticamente após upload?

Galera, preciso desenvolver algo que atenda a essa funcionalidade:

o usuário vai escolher o arquivo .zip e fazer um upload, mas ao chegar ao destino o arquivo automaticamente se auto extrai, ou seja, dentro do diretório destino do upload já vai cair os arquivos e não o .ZIP

Qual seria a melhor maneira de planejar isso:

Seria uma interface pra realizar a compactação no java, e adicionar esse auto-extrair…? existe algum recurso parecido assim no java na parte da API que trata o ZIP?

alguém tem algum direcionamento pra me passar?

a parte de compactação é até tranquila, o problema é esse “auto extrair”.

Tem uma api para manipular zip:
http://www.guj.com.br/article.show.logic?id=181

Ao receber o arquivo descompacte via api.

[quote=Pedrosa]Tem uma api para manipular zip:
http://www.guj.com.br/article.show.logic?id=181

Ao receber o arquivo descompacte via api.

[/quote]

mas o problema que enfrento no momento é o seguinte, eu vou fazer um upload pra um domínio onde não tenho controle.
Imagine você contratou serviço de hospedagem web, e quer enviar uns arquivos, você faz o upload lá pra o servidor contratado…

no caso, onde vai chegar o arquivo não será uma aplicação minha, se fosse tava muito tranquilo.
Por isso que busco uma solução para um “auto extrair”, ou seja, envio um .zip e ao terminar o upload, ele automaticamente se extrai, e depois se “auto-deleta”…seria algo assim…