Boa Tarde,
Estou pesquisando esse problema a algum tempo e não encontrei uma solução plausível. Tenho uma aplicação java web rodando no servidor glassfish e em um determinado cliente preciso instalar a aplicação localmente devido ao acesso bando de dados, que esta integrado no servidor interno dele e não pode ser acessado de fora por N motivos.
O Problema é que instalando a aplicação localmente no servidor do cliente, corro o risco de minha aplicação ser acessada e descompilada, todos sabem se acessando o servidor de aplicação glassfish ou qualquer outro é possível acessar os arquivos do war e descompilar facilmente os .class e assim obter os fontes e todos os outros arquivos de configuração que já estão de mão beijada como .xml, .properties, etc. Pensei em algumas alternativas 1º, fazer a segurança por usuário, criar um usuário onde só eu ou uma pessoa especifica tenha acesso a pasta do servidor, mais isso é muito furado, sabemos que é fácil descobrir e modificar uma senha do linux, 2º alternativa ofuscar o código fonte, essa é a mais complicada, no meu sistema uso muita reflexão, annotations e classes genéricas e isso para quem já trabalhou com ofuscação de código é uma dor de cabeça, não tem como ofuscar, sem contar que os métodos usados nas views não podem ser trocados de nomes, e outros muitos problema que gera. 3º alternativa foi pesquisar muito sobre os servidores glassfish e jboss, se teria algum jeito de deixar não acessível os arquivo do projeto, mais não encontrei nada a respeito. Se alguem já passou por isso ou sabe de alguma solução e poder ajudar ficaria muito grato. Valeu!