Cara é o seguinte, o aplicativo é para um ambiente de digitação!
vc já tentou digitar muito, muito rapido usando um browser?
então cara é isso, com o swing conseguimos que a digitação seja o mais rapido possivel respondendo para o digitador!
Se o navegador não tiver que tratar HTTP Full, não existe problema. Caso tiver, usa AJAX. Ttenho sistemas web com muito texto sendo digitado o dia o todo e o único problema que eu tenho é o tempo de time-out. O usuário fica digitando um texto comprido e a sessão http dele expira, fora isso tudo ok.
Qual o seu cenário que o navegador impede a rápida digitação? favor compartilhe conosco.
Como a aplicação será distribuida, queremos garantir a segurança do desemvolvimento, não permitindo que alguem possa quebrar o jar e ver as regras de negocios!
Existe muitos justificativas para se usar EJB e esse que vc citou não é uma delas, alias é a primeira vez q escuto essa justificativa. Ou seja, EJB não foi criado esse fim ai que vc justificou…
Usar EJB é umas maiores dores de cabeça de uma corporação…nos na verdade fazermos de tudo para não usar…só em casos extremos mesmo, quando não tem outra forma.
Meios de evitar esse a pessoa de ver a regra de negocio não existe…mas qual é o problema de alguem ver a regra caso a pessoa saiba voltar um .class para .java? O que vc supõe que aconteça?
Alias, se vc vender a solução para um cliente no qual vc não deseje que veja o código, o EJB container vai estar dentro da empresa dele não vai? Ele terá sim acesso ao se JAR ejb. Ou vc vai centraliza-lo fora da empresa?
Cara essas perguntas são para ajudar?
O que vc indica com seus anos de experiencias?
É claro q sim amigo…justamente, to vendo vc decidir as coisas com justificativas incoerentes…
Vc não pediu ajuda numa arquitetura? Arquitetos trabalham em cima de requisitos e decisões coerentes…
Se sim, como posso ter um modo que tenha uma grande performace?
Tanto para digitar, quanto para processar as informações?
Existem algumas abordagens numa arquitetura geral para se melhorar a performance de uma solução, as mais básicas são:
- Reduzir ao máximo interações/invocações remotas sincronizadas (SGDB, MOM, WS, FILE SYSTEM, MAINFRAME etc)
- Uso de cache, evitando de invocação remotas sincronizadas (SGDB, MOM, WS, FILE SYSTEM, MAINFRAME etc)
- Preferir comunicação assíncronas com recursos externos (SGDB, MOM, WS, FILE SYSTEM, MAINFRAME etc)
- Uso de AJAX para web.
- Processos mutltthread para desktop (nativo).
- Reduzir lock de recursos.
- Algoritmos mais eficientes para cada contexto.
- Uso de pooling.
Por exemplo, EJB tem chamadas remotas…chamadas remotas são os maiores vilões de performance.
- Colocar todos os requisitos na mesa, suposições, cenários, etc…
- Implementar cases que comprovem alguma ideia, suposição ou “achometro”.
- Tomar decisões coerentes embasadas.
Se quiser cair no código ja com sua arquitetura ai ok…bola pra frente…
Mas se vc quiser um parâmetro, minha maior solução hoje é bancaria financeira e esta sendo usado por 10 mil clientes no parana. Temos uma media de 1 mil pessoas simultâneas 24 hs por dia fazendo mais de 90 mil acessos mês com uma media de 20 mil transações…sem nada nada de EJB…e muito pelo contrario…ainda to longe de precisar dele.