Temos um aplicativo da Web desenvolvido em ASP clássico e evoluiu ao longo de 5 anos para sua forma atual, com centenas de páginas, banco de dados enorme e mais de 10000 usuários ativos, passando pelo menos mais de 10 páginas por dia.
Agora, queríamos atualizá-lo para a versão mais recente do .net. Inicialmente, pensamos em reescrever o aplicativo inteiro, mas depois de analisar o cenário, descobrimos que essa não é uma opção viável e também não sugerida por muitos especialistas. Ainda não decidimos como fazê-lo de outra forma, mas pensamos em como conseguir a reescrita nos rostos.
Opção 1: Pensamos em identificar os módulos principais neste aplicativo e reescrevê-los um por um, separando o aplicativo em diferentes camadas, como banco de dados (existente), lógica de negócios e visualização. Dessa forma, os módulos recém-desenvolvidos serão adicionados ao sistema existente e novas páginas substituirão as páginas antigas desse módulo em particular. Ao mesmo tempo, podemos testar as novas camadas ao lado do sistema antigo e liberá-las quando nos sentirmos confiantes. Também pensamos em desenvolver um tipo de estrutura de API para lógica de negócios e isso será acessado por visualização como um aplicativo externo.
Opção 2: No momento, fizemos um módulo simples e o usamos na página ASP clássica por meio de um IFrame, embora tenha sido bastante problemático enviar dados entre o ASP clássico e a nova página no IFrame.
Isso está apenas no estágio de planejamento de como devemos obter a reescrita de todo o aplicativo sem perturbar a base de usuários.
Desejo obter pontos de vista, opiniões e sugestões de outros programadores sobre como devemos abordar nesse cenário? se alguém já enfrentou esse tipo de cenário, compartilhe sua opinião também.
Também gostaria de saber que o uso do ASP.net MVC vai me ajudar nisso?
ATUALIZAÇÃO : obrigado pelas duas respostas para colocar suas opiniões. Gostaria de obter mais entradas sobre as opções especificadas acima na migração do aplicativo do asp clássico para o asp.net ou o asp.net mvc. Seria uma grande ajuda para mim, se todos vocês puderem através de seus pontos de vista, pontos de vista e opiniões sobre a parte da migração, em vez de escolher o asp.net ou o asp.net mvc.