Galera,
A pergunta “Web ou Desktop” muitas vezes vem para trazer um flood de respostas e, algumas vezes, brigas.
Já adianto que não é essa a intenção e gostaria que respeitassem.
A situação é que temos sistemas legados na empresa (DOS) extremamente estáveis.
Depois de uma longa avaliação estratégica e com clientes e clientes em potencial descobrimos que apenas criar uma interface nova (web por exemplo) para os sistemas legados não é uma solução. O problema é que os sistemas, ao longo do tempo, se tornaram repletos de código inútil, com falhas de conceito, difíceis de manter e com altíssima complexidade, fora a ausência de muitos aspectos importantes que precisaríamos para os sistemas na atualidade.
Sendo assim, enfrentamos a pergunta básica: Web ou Desktop?
Depois de muito filtro, estudo e testes, escolhemos o que usar para desktop e o que usar para web mas ainda não escolhemos qual caminho seguir.
Então resolvi perguntar com que os desenvolvedores por aí afora estão trabalhando e qual a percepção do mercado.
A seguir temos uma lista do que vai existir no sistema:
- Relatórios extremamente grandes com muitas imagens em frente e verso. Diversos cenários apresentam cerca de 80 a 160 mil páginas de imagens (imagens, códigos de barra, linhas e texto) em um relatório já existente atualmente.
- Gráficos financeiros e de acompanhamento.
- BI com possibilidade de escrita e armazenamento para uso posterior de query, bem como criação e armazenamento dos relatórios para uso posterior.
- Integração com componentes periféricos como balanças (tanto as pequenas, de supermercado, quanto as grandes, de caminhão), catracas, impressoras matriciais (precisa de impressão diretamente matricial), leitura de cartão/token de assinatura digital e outros.
- Extrema usabilidade e amigabilidade do sistema. Simples posto, o usuário precisa “ter um botão mágico que faz tudo”. Claro que isso não existe, mas acho que com essa frase eu passo a idéia de quanto “stupid-proof” o sistema precisa ser.
- Controle de segurança. Diversos dados confidenciais (histórico financeiro, nome completo e endereço, dados pessoais e de familiares) estarão em trânsito. Claro que não tem como garantir 100% de segurança nunca, mas preciso de algo melhor do que simplesmente um básico login/senha na tela/página inicial do sistema.
- Excelente performance. O sistema precisa ter performance até a última gota. Sim, isso conflita com o item imediatamente anterior (segurança) mas preciso de um sistema que tenha uma performance realmente boa. Isso é um requisito imprescindível.
- O sistema precisa atender a demandas diferentes. Preciso de um sistema que atenda a uma demanda de um cliente com 10 usuários com a mesma sensação de performance, confiabilidade, segurança e estabilidade de um outro cliente com 700 usuários simultâneos. Escalabilidade é necessário.
- O cliente não pode investir muito em infraestrutura. Boa parte dos clientes já possuem uma infra bem elaborada e mantida. Não posso exigir uma completa substituição para, por exemplo, links com fibra e tudo mais. Preciso de algo que cause o menor impacto na infra possível. Não há problema, no entanto, em realizar algumas (não muitas) modificações no servidor e/ou nas estações.
- Os clientes possuem infra variada. Em sua maioria são clientes com estações e servidor Windows XP (quando muito, Windows 2003 no servidor). Mas existem alguns clientes-chave (que não podem ser descartados) com Linux na infra inteira. Browsers, no entanto, variam muito. Mesmo. Em um mesmo cliente já detectamos 3 versões distintas do Internet Explorer e 2 do Firefox.
- Não temos experiência vasta nem com java desktop nem com java web (ou seja, qualquer um dos mundos teríamos uma curva de aprendizagem). No entanto eu já trabalhei com java web e com java desktop em projetos pequenos e protótipos e tenho conhecimento de frameworks do java. O ponto é que não temos uma famosa “cultura anterior” para tentar seguir adiante. É, sim, uma mudança completa.
São muitos pontos, sim.
Não peço que respondam todos (se puderem, agradeço muito).
Quero opiniões.
Consultei alguns posts anteriores, até alguns bem velhos aqui no fórum, para tentar refletir sobre uma possível saída.
Como não existe uma demanda pronta do tipo “tem que ser desktop” ou “tem que ser web”, ficamos na dúvida.
Nossos clientes no geral não saberiam dizer. Isso foi uma grande maioria na pesquisa. Os que responderam ficaram basicamente empatados (houve uma tendência muito leve para web mas acredito eu, muito motivada por “ah, é web, vai ser bacaninha”).
O detalhe é que todos aqui são maduros o suficiente para saber que um sistema não é feito para ser “bacaninha”.
Então, fica a questão.
Por favor, opiniões?
Obrigado.