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.