Ajuda para escolha de tecnologias / frameworks

Olá pessoal. Sou um programador experiente com linguagens do tipo Powerbuilder e Visual Foxpro, onde tenho mais de 7 anos de jornada. Há cerca de 4 anos comecei a trabalhar com Java, mas apenas em projetos de utilitários ou rotinas de regras de negócio específicas em sistemas prontos, rodando sobre a plataforma J2EE: EJB 2.1 e alguns WebServices.

Agora estou para começar um novo projeto em Java. Mas a sopa de letras e a diversidade de tecnologias e frameworks não me deixam uma alternativa clara.

O projeto é um software simples, para cadastro de alguns tipos de documentos (pedidos, orçamentos, licitações, etc) remotamente. Já estou a 5 meses codificando alguns protótipos, mas não cheguei a nenhum resultado satisfatório - mesmo porque o sistema deve ser distribuído, e a linha de conexão é tênue (entre 56 e 256 Kbps). Este software está sendo migrado de Microsoft Visual Foxpro 9 e Sybase Powerbuilder 9 para Java.

Gostaria da ajuda de desenvolvedores experiêntes para me ajudar a escolher as ferramentas e tecnlogias adequadas para:

  • INTERFACE COM USUÁRIO:
    Precisa ser algo rápido (para rodar em clients Pentium 400 MHz) e que ofereça produtividade aos programadores (RAD) - o ideal é que seja WEB, mas se houver alguma alternativa para Desktop ela é válida;

  • CAMADA DE NEGÓCIOS:
    Confiável e rápido - se possível leve;

  • PERSISTÊNCIA:
    Uma alternativa para JPA e JTA, já que diversas rotinas trabalham com contadores que precisam ser reservados até para a leitura (LOCK READ). JPA dentro de EJB 3.0 não se mostrou muito produtivo neste sentido, e então estamos pensando em desenvolver um framework simples baseado em Reflections.

  • COMUNICAÇÃO:
    A troca de mensagens precisa ser criptografada e preferencialmente compactada, haja visto que dados financeiros sigilosos estarão trafegando pela internet.

Os tópicos principais são esses. Caso alguém ache justo incluir mais algum ficarei grato.