msdn01_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Como Migrar de ASP para ASP.NET

por Maycol Romelli e Renato Haddad

Será que vale a pena migrar do ASP para o ASP.NET? Esta é uma das perguntas mais fáceis de se responder: com absoluta certeza.

O melhor teste para você experimentar todo o poder do ASP.NET é tentar publicar uma tabela do banco de dados no navegador. No ASP, você terá que montar todo o código em HTML (com VBScript), abrir o banco de dados, ler a respectiva tabela e criar um looping para montar uma tabela em tempo de execução. No ASP.NET, basta usar um DataGrid para esta finalidade. Use o Visual Studio .NET 2003, que permite clicar e arrastar um controle DataGrid para o documento. Faça o mesmo com a tabela do banco de dados:  através do Server Explorer, configure o DataGrid em apenas duas propriedades e, com apenas duas linhas de programação, você já tem a tabela publicada.

Caso queira inserir paginação (se você já tentou fazer isso no ASP, sabe que não é uma tarefa simples), basta configurar mais duas propriedades do DataGrid, inserir mais duas linhas no evento PageIndexChanged do DataGrid e pronto!!!

OK, sei que tudo isso parece utopia para os desenvolvedores ASP, já que nada é tão simples e fácil. Por isso, neste artigo vou abordar alguns tópicos para  auxiliá-lo e o convencer a migrar para o ASP.NET.

 

Ferramentas de Desenvolvimento

As ferramentas mais utilizadas para o desenvolvimento de aplicações ASP são o FrontPage, o Dreamweaver, o Editpad, o Notepad, o Visual Interdev, o Visual Basic (para criar os componentes) e as demais ferramentas de auxílio de HTML. Geralmente, faz-se o Design da página usando todos os recursos permitidos pelo navegador e, depois, insere-se o VBScript, o JavaScript, o DHTML e as Tags. No caso do ASP.NET, a única ferramenta que será usada é o Visual Studio .NET, que oferece tudo o que é preciso para criar qualquer tipo de aplicação para WEB, seja Design, código, componente, Web Service, camada de aplicação ou negócio. Sendo assim, é fundamental que todos os desenvolvedores ASP.NET dominem o VS.NET.

 

Compilação X Scripts

O processamento (tanto de páginas ASP quanto ASP.NET) é feito no servidor onde se encontra o Internet Information Server (IIS). No mesmo servidor, você pode ter aplicações em ASP e ASP.NET rodando simultaneamente sem nenhum problema. No entanto, se quiser fazer com que as duas se comuniquem entre si, você poderá usar o http, afinal todo POST pode gerar um REQUEST. Porém, é importante mencionar que as variáveis de Session não se incluem nessa regra. Além disso, eu não indico esse procedimento para ninguém, pois o processo de conversão deve ser muito bem estudado e planejado e não basta apenas migrar de qualquer jeito e programar em ASP.NET como se programava em ASP.

Saibam que ASP e ASP.NET são mundos completamente diferentes, uma outra realidade. Para começar, as páginas em ASP são interpretadas, enquanto no ASP.NET as páginas são compiladas e é gerado um EXE. De acordo com estudos realizados, com o mínimo de código possível as páginas ASP.NET são 25% mais rápidas do que as páginas ASP. Agora, imagine uma página mais elaborada, que leia um banco de dados.

Em uma página compilada, não existe nenhuma maneira de outras pessoas abrirem e roubarem os códigos escritos, que consistem no princípio de identidade intelectual da programação. Já no ASP, como são usados apenas Scripts, qualquer um pode copiar todo o seu projeto e usar as rotinas em qualquer página.

 

Arquivos separados (Design e programação)

Sem dúvida nenhuma, este ponto é um dos mais críticos e vem se fortalecendo nas equipes de migração. Você que é um desenvolvedor ASP, responda rapidamente: o que acontece com o VBScript quando se precisa alterar o layout da página? É isso mesmo que você está pensando: todos os códigos escritos e concatenados com HTML e VBScript são alterados também. Isso demanda um bom tempo de manutenção nas páginas. Para resolver essa questão, no ASP.NET você pode e deve desenvolver usando o Code-Behind, ou seja, o Design é um arquivo e a programação é outro arquivo. Ambos estão interligados de forma transparente, permitindo que você crie ou altere tanto o Design como os códigos separados.

 

Universo de Linguagens

No ASP, você está completamente restrito às linguagens de Script. As mais utilizadas são o VBScript e o JavaScript. Além disso, você precisa conhecer muito bem HTML e, às vezes, também DHTML. No ASP.NET, você pode desenvolver utilizando qualquer linguagem suportada na plataforma .NET da Microsoft. Atualmente, existem mais de 35 linguagens prontas no mercado, e a Microsoft oferece o Visual Basic .NET e o Visual C# (como default no Visual Studio .NET). Isso significa que você pode criar uma página ASP.NET utilizando a linguagem VB.NET ou consumir um componente escrito em C# ou Cobol .NET (isso mesmo, Cobol .NET). Muitas pessoas ainda se confundem com relação a esse aspecto de linguagem e ferramenta. Então, para esclarecer, saiba o seguinte:

·          ASP.NET são páginas criadas para serem executadas em qualquer navegador.

·          As linguagens a serem utilizadas (como sugestão) são o VB.NET e o C#.

·          A ferramenta que você utiliza para criar as páginas ASP.NET é o Visual Studio .NET.

 

Server Explorer

O Server Explorer é um excelente recurso do VS.NET. Com ele, você pode verificar todos os recursos existentes no computador. Caso precise criar um banco de dados, por exemplo, no SQL Server 2000, use o Server Explorer. É possível criar estrutura de tabelas, consultas, funções e Stored Procedures e até fazer a manutenção de todos os registros de uma tabela. Se não tiver o SQL Server, você poderá recorrer ao Oracle, MS-Access ou a qualquer outro aplicativo que se destine a essa finalidade.

Para aqueles que não têm um banco de dados, existe uma alternativa disponível para download (http://www.microsoft.com/sql/msde/howtobuy/default.asp), o MSDE (Microsoft Desktop Engine), que permite criar toda a estrutura do banco de dados. Esse aplicativo é muito parecido com o SQL Server e permite até 10 usuários simultâneos.

 

Solution Explorer

Quando você cria uma aplicação, é normal que utilize diversos tipos de arquivos (aspx, asax, xml, ascx, referências) ou até projetos distintos na mesma solução. O Solution Explorer é a ferramenta do VS.NET que permite administrar todos os arquivos contidos na solução.

 

ADO X ADO.NET

Acesso a banco de dados é uma expressão que muitos programadores dominam perfeitamente. No entanto, quem programa em ADO (Activex Data Objects) ficará surpreso ao conhecer os novos recursos do ADO.NET. Existem classes de manipulação de registros que jamais existiram no ADO, e o próprio conceito de Recordset do ADO não existe mais no ADO.NET. Para você ter uma idéia do uso de tabelas no ADO.NET, é possível definir um objeto DataSet que contenha diversas DataTables, e cada DataTable corresponder a uma tabela ou consulta do banco de dados. Isso tudo desconectado, é claro, o que significa que você pode acessar o banco de dados apenas uma única vez, montar um DataSet com diversas tabelas, desconectar, realizar as alterações nos registros e invocar o método Update do DataSet para atualizar o banco de dados.

Para que você não fique assustado, uma boa noticia: tudo o que você conhece sobre instruções SQL (T-SQL) continua valendo, só que com mais poder e facilidade. Existem diversos assistentes que irão orientá-lo durante a realização de qualquer tarefa que envolva banco de dados. No entanto, para abordar todas as diferenças, seria preciso escrever um artigo completo sobre o assunto.

 

Novos Controles (Calendar, AdRotator, DataGrid, Repeater, DataList, RadioButtonList, CheckBoxList)

O ASP.NET oferece novos controles que facilitam a interface com os Internautas e dispensam o uso de tabelas no ASP. Sabe aquela história de ficar criando tabelas em HTML concatenado com VBScript? Esquece, isso é coisa do passado. Com o controle DataGrid, nunca foi tão fácil criar uma tabela formatada de acordo com a vontade do Internauta. O próprio controle Calendar é um avanço significativo. Com ele, manipular datas na WEB nunca foi tão fácil. Antes, além de o Internauta poder digitar qualquer coisa em um Textbox, você tinha que consistir e validar a entrada. Já o Calendar faz tudo isso com muita facilidade. Outros controles como RadioButtonList e CheckBoxList permitem interagir com o Internauta configurando as propriedades em tempo de execução. É importante ressaltar que todos os controles contêm propriedades e métodos e qualquer propriedade pode ser configurada em tempo de execução, ou seja, você pode montar todo o layout de acordo com as opções selecionadas pelo Internauta.

 

OOP

A Programação Orientada a Objetos (OOP) é padrão em todas as linguagens .NET e permite desenvolvimento estruturado, reaproveitamento de códigos, rotinas, classes e objetos. Isso jamais existiu em ASP, e quem entrar no mundo .NET precisará aprender a programar em OOP para usufruir todos os recursos.

 

Web Services

Este é um dos tópicos mais novos das tecnologias emergentes. Você já precisou trocar informações de sua aplicação ASP com qualquer outra aplicação, instituição, banco de dados ou plataforma? Provavelmente você o fez por meio da geração e do consumo de arquivos textos gravados de acordo com os delimitadores descritos na documentação da empresa. Atualmente, você pode fazer todo esse processo através de Web Services, consumindo a sua aplicação de forma transparente, ou seja, o internauta nem perceberá o que está sendo gerado por trás do código. Isso é possível porque os arquivos serão gerados em XML e transmitidos via protocolo SOAP (Simple Object Access Protocol). Os arquivos XML contêm todos os elementos necessários à leitura, dispensando completamente os delimitadores existentes nos arquivos textos.

Só para você ter uma idéia de onde os Web Services poderão ser utilizados, imagine uma página ASP.NET que contenha informações pessoais como contas de água, luz, celular, telefones, cartão de crédito, consórcios, escolas, saldos bancários, etc. Se cada empresa responsável por essas informações criar um Web Service para sua tarefa em questão e o disponibilizar na WEB, você poderá consumir todos eles em qualquer página ASP.NET, Windows Application, Console Application, Pocket PC e por meio de telefones celulares. De um modo geral, para facilitar sua compreensão, imagine que cada Web Service seja uma função que recebe parâmetros (número da conta, identidade, CPF, etc) e retorna um arquivo XML via http.

Se você pensar em fazer qualquer coisa parecida com ASP, certamente terá muito trabalho pela frente, principalmente na hora de administrar tantos arquivos textos, autorizações, acordos comerciais, etc. Resumindo, o ASP não tem nada parecido com Web Services.

 

Desenvolvimento em Camadas

O desenvolvimento em camadas vem se tornando uma prática cada vez mais utilizada, pois oferece muitas vantagens em relação à performance e ao reaproveitamento de código. Muitas aplicações em ASP rodam perfeitamente em camadas. A diferença no ASP.NET é a forma como você cria e aproveita uma camada escrita. Você pode desenvolver uma camada de negócios em C# e consumi-la em VB.NET, e vice-versa. É verdade que os componentes escritos fora do .NET também podem ser utilizados, mas eles rodarão em um ambiente não gerenciado. Com o tempo, você precisará reescrevê-los para usufruir as facilidades da plataforma.

 

Deployment

O processo de distribuição (Deploy) de uma aplicação ASP é simples: basta copiar os arquivos necessários para o servidor e criar o diretório virtual. No ASP.NET é a mesma coisa. Apesar de se tratar de um EXE e de poder invocar DLLs, não existe nenhum processo de registro no Windows para arquivos do .NET. Portanto, utilize o esquema XCopy, crie o diretório virtual e pronto. Não se esqueça de que o servidor deverá ter o Framework instalado, que é gratuito e ocupa pouco espaço.

E, como o Visual Studio .NET é uma ferramenta completa, ela não deixaria de lhe oferecer uma forma de gerar pacotes de instalação. Sendo assim, se você achar melhor, gere um pacote com o Setup Wizard.

 

Provedores

Quais provedores suportam ASP.NET? Essa é uma pergunta cada vez mais freqüente na comunidade, e a resposta é fácil. Verifique o sistema operacional de seu provedor e veja se ele tem, no mínimo, Windows 2000. Se a resposta for afirmativa e ele tiver também o Framework instalado, certamente suportará ASP.NET. Caso contrário, você terá que procurar outro provedor. No Visual Studio .NET, clique em Web Hosting para verificar a lista de provedores.

 

Onde posso rodar páginas ASP.NET (celular, Pocket PC)?

As páginas ASP.NET podem rodar em qualquer navegador, independentemente de fabricante ou versão. Todo o processo ocorre quando um navegador solicita uma página ao servidor, que o identifica, monta uma página com os recursos por ele suportados e a envia para o destino especificado.

Além disso, você pode rodar as páginas em telefones celulares que suportem WML 1.0 ou WML 2.0 (XHTML). Para tal, as páginas devem ter sido criadas como ASP.NET Móbile Application. A Microsoft lançou um novo sistema operacional para dispositivos móveis, Pocket PC, celulares, relógios etc. (denominado Windows Móbile), que suporta HTML, JavaScript 5.5, CSS (Cascate Style Sheet) nos navegadores dos Pocket PC. Portanto, se o seu Pocket PC tiver o Windows Móbile, você conseguirá tranqüilamente rodar páginas ASP.NET nele, apenas informando o endereço completo da página na URL do navegador. Detalhe: não se esqueça de que você precisa estar conectado à rede através da USB do seu micro, Wi-Fi, Wireless ou GSM.

 

 

Visão do profissional de mercado de desenvolvimento WEB

Com relação ao mercado de trabalho, saibam que no início da tecnologia ASP dificilmente havia um programador desempregado, mas, é claro, o próprio mercado se encarregou de filtrar os bons profissionais. Até o presente momento, as ofertas nesta área continuam boas. E como será o mercado de ASP.NET? Com certeza será muito melhor que o do ASP, porque milhares de aplicações desktop estão migrando para WEB. Muitas empresas e parceiros já se encontram conectados à Internet de alguma forma, seja via cabo ou Wireless, usufruindo o acesso às informações em tempo real. E é justamente disso que as empresas precisam: acessar informações em qualquer hora e lugar.

 

Conclusões

Em resumo, apresentei aqui apenas alguns pontos importantes para auxiliá-lo em relação à migração de aplicações. O que aconselho aos programadores ASP é que aprendam ASP.NET utilizando o VB.NET ou o C#. Costumo dizer que tudo o que você sabe de VBScript e HTML foi bom enquanto durou, mas nada disso será preciso. O que você precisa fazer é se decidir por uma linguagem e se dedicar a ela, aprendendo todos os recursos que ela provê.

Já existem muitos livros sobre o assunto, tanto em português como em inglês, além de sites, grupos de discussão e treinamentos.

Referências:

http://www.asp.net

http://www.gotdotnet.com

http://www.codeproject.com

http://www.linhadecodigo.com.br