Desenvolvimento - ASP
Curso Básico de ASP 3.0 – Introdução
Neste curso vamos abordar diversos assuntos relacionados com a criação de sites dinâmicos. Com os assuntos apresentados, o leitor terá condições de aprofundar os seus conhecimentos em conteúdos de grande importância para a criação de aplicativos para a Web.
por Júlio Cesar Fabris BattistiSites dinâmicos com ASP 3.0
Neste curso vamos abordar diversos assuntos relacionados com a criação de sites dinâmicos. Com os assuntos apresentados, o leitor terá condições de aprofundar os seus conhecimentos em conteúdos de grande importância para a criação de aplicativos para a Web. Apresentarei, juntamente com os conceitos teóricos, um grande número de exemplos e aplicações práticas, com uma grande riqueza de detalhes. A partir de exemplos bem detalhados e cuidadosamente explicados, o leitor terá melhores condições de entender com clareza os assuntos abordados.
O Trabalho de criar Sites e aplicações para Intranet/Internet, tornou-se bastante complexo. Cada vez mais, o profissional da Web, precisa conhecer um número maior de ferramentas e tecnologias. A criação de sites, simplesmente através da utilização de páginas HTML, não é capaz de gerar os resultados necessários. Hoje um site na Internet, ou a Intranet de uma empresa, deve apresentar diversas características, dentre as quais destacam-se as seguintes:
- Geração dinâmica de conteúdo.
- Conexão de páginas com Banco de dados.
- Personalização do conteúdo, de acordo com as preferências de cada usuário.
- Segurança no acesso a áreas restritas do site, somente para usuários autorizados e com nível de acesso adequado.
- Criptografia dos dados transmitidos, com garantia de autenticidade e da integridade das informações, principalmente para sites que trabalham com Comércio Eletrônico, onde o usuário deve digitar informações importantes, tais como o número do Cartão de crédito.
- Serviços como envio de mensagens ou Grupos de discussão, diretamente através do site.
- Mecanismos de pesquisa rápidos e precisos.
- Layout atraente e funcional, de tal forma que o internauta possa, rapidamente, localizar o conteúdo desejado.
- Um bom conteúdo e atualização constante.
Desenvolver um site, que atenda estas características, não é uma tarefa simples. Exige o uso de diversas tecnologias e ferramentas de apoio, além é claro, de profissionais competentes e adequadamente treinados.
Com a utilização da tecnologia ASP 3.0 - Active Server Pages, podemos obter bons resultados na criação de Sites com este nível de complexidade. Ao estudar os capítulos deste curso, o amigo leitor aprenderá a utilizar a tecnologia ASP 3.0. O aprendizado de ASP é simples, principalmente para o leitor que já conhece o Visual Basic ou o Visual Basic for Applications (linguagem de desenvolvimento para o Microsoft Office). Em muitas situações, o código é muito semelhante.
A tecnologia está disponível através da utilização do Internet Information Services 5.0 ou superior, como servidor Web, o qual pode ser instalado juntamente com o Windows 2000 Server (ou o IIS 6.0, instalado juntamente com o Windows Server 2003). Podemos notar uma mudança no nome do servidor Web da Microsoft. A versão anterior era denominada Internet Information Server 4.0 - IIS 4.0 . A nova versão é denominada Internet Information Services 5.0 - IIS 5.0. Observe que o Server foi substituído por Services. No tópico sobre as novidades do IIS 5.0, irei explicar o que significa, na prática, esta mudança.
Quando da instalação do Windows 2000 Server, podemos optar por instalar, ou não, o Internet Information Services 5.0. Durante este curso utilizarei a abreviatura IIS 5.0 (para manter coerência com o padrão que é utilizado pela Microsoft no Resource Kit do Windows 2000 Server), para fazer referência ao Internet Information Services 5.0. Caso você não tenha instalado o IIS 5.0 quando da instalação do Windows 2000 Server, poderá adicioná-lo quando for necessário. Para isso, utiliza-se o ícone Adicionar ou remover programas, no Painel de controle. No próximo tópico desta introdução, mostrarei como instalar o IIS 5.0.
É importante salientar que o IIS 5.0, somente esta disponível no Windows 2000 Server. Isso significa que não existe a possibilidade de você continuar utilizando o Windows NT Server 4.0 (com o qual está disponível o IIS 4, através da instalação do Option Pack 4.0), e apenas fazer o upgrade do IIS 4.0 para o IIS 5.0. Também é importante salientar que as novas características do ASP 3.0, somente estão disponíveis no IIS 5.0. Em um outro tópico desta introdução tratarei sobre as novas características do IIS 5.0.
Equipamento e Software necessário para acompanhar este curso
Para acompanhar todos os exemplos propostos no curso, você precisa de um computador com Windows 2000 Server instalado. Também faz-se necessário que o IIS 5.0 esteja instalado e corretamente configurado.
A configuração mínima necessária, depende de uma série de fatores.
Se o equipamento vai ser utilizado como um servidor Web na Internet, vários são os aspectos a serem considerados, tais como:
- Aplicações implementadas e recursos de hardware necessários, tais como memória, disco e processador.
- Número estimado de acessos simultâneos e diários, sendo esta uma das estimativas mais difíceis de se obter, uma vez que o sucesso de um site pode ser determinado por um número muito grande de fatores, nem todos de fácil mensuração.
- Grau de segurança necessário desejável. Neste caso, entram questões como criptografia, uso de certificados digitais, criação de VPN - Virtual Private Networks (Redes Privadas Virtuais), procedimentos de recuperação a falha, plano de contingência, etc.
- Percentual de "folga" desejado para recursos tais como: memória, processador, disco. Ao projetar um site, é bastante comum utilizar hardware que atenda as necessidades atuais com uma certa folga, para que seja possível atender a crescimentos maiores do que os estimados. Alguns sites famosos já enfrentaram problemas de crescimentos maiores do que os esperados. Quando isso acontece, mais recursos de hardware precisam ser adicionados com o site em funcionamento. É a bem conhecida situação de "trocar o pneu com o carro andando". Eu diria que hoje, na velocidade em que as mudanças acontecem, seria um pouco pior, algo como: "trocar a turbina com o avião em pleno vôo".
Para maiores informações sobre como planejar a capacidade de hardware para um servidor Web com o IIS 5.0, consulte o capítulo "Capacity Planning" do livro "Internet Information Services Resource Guide", o qual é parte integrante do Windows 2000 Server Resource Kit. Como equipamento para ser utilizado em casa, ou em um laboratório de teste na sua empresa, aconselho a seguinte configuração:
- Processador Pentium 450 ou superior.
- 128 MB de RAM, sendo 256 MB, altamente recomendáveis.
- 4 GB de Disco rígido.
Com menos de 64 MB de RAM, o Windows 2000 Server não pode nem ser instalado, sendo que o processo de instalação detecta a quantidade de memória. Com menos do que 64 MB, o processo de instalação é suspenso.
Além do Windows 2000 Server e do IIS 5.0, você também precisa ter os seguintes programas e serviços instalados, para que possa acompanhar os exemplos deste curso:
- Internet Explorer 4.x ou superior ou Netscape Navigator 4.x.
- Microsoft Transaction Services (vem junto com o Windows 2000 Server)
- Microsoft Index Services. (vem junto com o Windows 2000 Server)
Em cada um dos capítulos do curso, apresentarei uma série de exemplos práticos. Através destes exemplos, você poderá entender melhor a aplicação dos conceitos teóricos apresentados. Em muitas situações, a melhor maneira de entender um determinado assunto, é através da utilização do assunto para resolução de um problema prático do dia-a-dia. Muitos dos exemplos apresentados, podem ser facilmente adaptados para uso em aplicações que você esteja desenvolvendo. Situações como acesso a Banco de dados através de páginas Web, indexação e pesquisa de conteúdos, implementação de mecanismos de segurança, etc; são comuns a maioria das aplicações Web atuais. Agora vamos aprender a instalar o IIS 5.0. Instalando e testando o IIS 5.0
Caso você não tenha instalado o IIS 5.0, quando da instalação do Windows 2000 Server, é possível fazer a instalação quando for necessário. Agora mostrarei, passo-a-passo, como instalar o IIS 5.0. Nunca é demais lembrar que sem o IIS 5.0, não será possível testar os exemplos práticos, propostos neste curso.
Para instalar o IIS 5.0, siga os passos indicados a seguir:
1. Faça o log on no Windows 2000 Server, com uma conta com permissão de Administrador.
2. Abra o Painel de controle (Iniciar -> Configurações -> Painel de controle).
3. Abra a opção Adicionar ou remover programas.
4. Surgirá a janela indicada na Figura 1:
Figura 1 - Janela Adicionar ou remover programas.
5. No lado esquerdo da janela, dê um clique na opção Adicionar ou remover componentes do Windows.
6. Surgirá a janela indicada na Figura 2:
Figura 2 - A Janela para alterar a instalação do Windows.
7. Dê um clique no botão Componentes.
8. Será exibida, por breves instantes, uma mensagem "Aguarde...". Depois surge a janela Assistente de componentes do Windows, conforme indicado na Figura 3:
Figura 3 - O Assistente de componentes do Windows.
9. Utilizando o Assistente de componentes do Windows, podemos adicionar novos serviços, ou remover serviços que não sejam mais necessários.
10. Vá descendo com a barra de rolagem vertical, até localizar o item Internet Information Services (IIS), conforme indicado pela Figura 4:
Figura 4 - O serviço Internet Information Services (IIS).
11. Se esta opção estiver marcada, o IIS 5.0, já está instalado. Neste caso clique no botão Cancelar. Depois é só fechar a janela Adicionar ou remover programas e o Painel de controle.
12. Se esta opção estiver desmarcada, significa que o IIS 5.0 ainda não foi instalado. Marque esta opção para instalar o IIS 5.0.
13. Observe que ao marcar a opção, o botão Detalhes é habilitado. O IIS 5.0 é formado por uma série de componentes e funcionalidades. Existe um servidor de páginas (servidor HTTP), um servidor de ftp, um servidor de notícias (NNTP) e assim por diante.
14. Ao instalarmos o IIS 5.0, podemos escolher um ou mais dos seus componentes, dependendo das necessidades do nosso site. Não é necessários que todos os componentes do IIS 5.0 sejam instalados. Por exemplo, se o serviço de cópia de arquivos não for necessário, não temos porque instalar o serviço de ftp.
Dica: Instale somente os serviços realmente necessários. Não é uma boa idéia instalar todos os serviços disponíveis, mesmo que somente alguns sejam utilizados. Quanto mais serviços instalados, maiores as possibilidades de ataque e quebra da segurança do site, por parte de um hacker.
15. Clique no botão Detalhes.
16. Na lista de opções disponíveis, certifique-se de que somente as seguintes estão marcadas:
- Arquivos comuns.
- Documentação.
- Extensões de servidor do FrontPage 2000.
- Gerenciador de Internet Services (HTML).
- Servidor File Transfer Protocol (FTP).
- Servidor World Wide Web.
- Snap-In do Internet Information Services.
17. Observe, que após ter selecionado os componentes a serem instalados, o Windows 2000 Server, exibe o espaço em disco necessário, conforme indicado pela Figura 5.
Figura 5 - Indicação do espaço necessário no disco rígido.
18. Dê um clique em OK. Você estará de volta ao Assistente de componentes do Windows.
19. Dê um clique no botão Avançar para ir para a próxima etapa do assistente.
20. O Windows 2000 Server, exibe uma janela indicando o progresso da Instalação, conforme indicado pela Figura 6:
Figura 6 - Progesso da instalação do IIS 5.0.
21. Caso o Windows 2000 Server, não encontre os arquivos necessários à instalação, no Disco rígido, você será solicitado a inserir o CD de instalação do Windows, conforme indicado pela Figura 7:
Figura 7 - Mensagem solicitando o CD de instalação do Windows.
22. Insira o CD e dê um clique em OK. O Windows 2000 Server, inicia o processo de cópia dos arquivos,.
23. Após concluída a cópia dos arquivos, o Assistente emite uma mensagem dizendo que o processo foi concluído com sucesso.
24. Dê um clique no botão Concluir, para encerrar o Assistente.
25. Você estará de volta à janela Adicionar ou remover programas. Dê um clique no botão Fechar para sair desta janela.
26. Você estará de volta ao Painel de controle. Feche o Painel de controle.
27. Agora o IIS 5.0 está instalado e pronto para funcionar. IMPORTANTE: Caso você não tenha acesso a um computador com o Windows 2000 Server não tem problema. Você pode acompanhar a maioria dos exemplos deste curso, utilizando o Windows 2000 Professional. A maneira de instalar o IIS 5.0 é exatamente a mesma, quer seja no Windows 2000 Server, quer seja no Windows 2000 Professional. Para os exemplos mais simples, até mesmo o Personal Web Server que acompanha o Windows 98 pode ser utilizado. Porém no Personal Web Server, não existem os conceitos de Transação e segurança disponíveis no IIS 5.0.
Agora que já temos o IIS 5.0 instalado, vamos testar se este está funcionando corretamente.
Para testar se o IIS 5.0 foi instalado com sucesso, siga os passos indicados a seguir:
1. Abra o Internet Explorer.
2. Digite o seguinte endereço: http://localhost
3. Deve surgir uma janela conforme indicado na Figura 8:
Figura 8 - A página padrão do IIS 5.0, logo após a instalação.
4. Esta é a página inicial padrão, do IIS 5.0, logo após a instalação.
5. Isto comprova que o IIS 5.0, foi instalado com sucesso.
6. Feche o Internet Explorer.
No próximo tópico, irei apresentar as melhorias do IIS 5.0, em relação a versão anterior - IIS 4.0, dentre as quais destaca-se o versão 3.0 do ASP - Active Server Pages 3.0, que é a versão com a qual estaremos trabalhando neste livro.
Novidades e melhorias do IIS 5.0
O IIS 5.0 é a nova versão do Servidor Web da Microsoft (já existe o IIS 6.0), o qual é disponibilizado como um Serviço (conforme indicado pelo nome Services e não mais Server) do Windows 2000 Server. A versão anterior - IIS 4.0- , era instalada como parte do Option Pack 4.0, para o Windows NT Server 4.0. No Windows 2000 Server, o IIS 5.0 faz parte do próprio Sistema Operacional. Neste tópico, apresentarei as principais novidades desta nova versão. Para simplificar o entendimento, classificarei as novidades em duas categorias, conforme descrito abaixo:
- Administração e serviços (ftp e http).
- Desenvolvimento de aplicações Internet/Intranet.
Administração e serviços
Os novos recursos do IIS 5.0, aumentaram a sua estabilidade e segurança. Novos assistentes foram introduzidos para facilitar as tarefas mais comuns de administração e segurança. Eis algumas das novidades:
- Reinicialização de Download: Agora o serviço de ftp é capaz de reinicializar um Download que tenha sido interrompido, a partir do ponto em que a interrupção ocorreu., isso evita que tenhamos que começar do zero. Característica de grande utilidade, principalmente para arquivos grandes, uma vez que a velocidade da Internet ainda não é nenhuma maravilha.
- Compactação HTTP: Toda a informação, enviada via HTTP pode ser compactada. Para arquivos de texto (arquivos com código HTML, por exemplo), o ganho é considerável - na maioria dos casos, acima de 70 %. Podemos utilizar compactação também com arquivos de imagens (.jpg, .gif), ou qualquer outro tipo de arquivo transmitido via HTTP. O Browser deve ser capaz de descompactar a informação.(Internet Explorer e o Netscape Navigator em versão 4.x , dentre outros).
- Assistentes de segurança: Novos assistentes facilitam a execução de tarefas relacionadas com a segurança. Por exemplo, o Assistente de Permissões (Permissions Wizard), facilita a tarefa de atribuir permissões de acesso a nível de arquivo. Esta era uma tarefa complicada em versões anteriores, uma vez que a permissão efetiva, depende da combinação entre as permissões estabelecidas a nível de Sistema Operacional (permissões NTFS) e as permissões estabelecidas a nível do IIS. Temos também um assistente para gerenciar Certificados.
- Contabilidade de Processos (Process Accounting): Modificações introduzidas no Kernel do Windows 2000 Server, permitem um controle bastante refinado, nos processos que estão rodando. Com isso, pode ser determinado o quanto de processador, cada Site Virtual está consumindo (lembrando que o IIS admite diversos Sites em um único Servidor). Com isso é possível determinar se um dos Sites está consumindo, desproporcionalmente, tempo do processador. Por exemplo, pode ser que uma página ASP mal implementada, esteja elevando a carga no Processador. Esta característica também pode ser utilizada por provedores de conteúdo, os quais hospedam sites de outras empresas, como um parâmetro para a cobrança do serviço de hospedagem do site.
- Melhor Administração através do Browser: Administrar o IIS 5.0, remotamente, através do Browser ficou bem mais fácil. Além disso, a maioria das tarefas podem ser executadas através do Browser, o que não era possível em versões anteriores. O administrador também pode criar "Contas Administrativas" (conhecidas como Operadores), com permissões limitadas a determinadas tarefas, por exemplo, criar diretórios virtuais. Com isso é possível distribuir a administração do IIS entre diversos Administradores.
- Web Distributed Authoring and Versioning (WebDAV): Permite que o autor de Páginas, possa remotamente editar, mover ou eliminar arquivos. Também é possível editar as propriedades de arquivos e diretórios, remotamente, através de uma conecção HTTP. Com WebDAV, o autor está utilizando o HTTP como um protocolo de compartilhamento de arquivo.
- Autenticação Digest: Aumenta a segurança e a confiabilidade da autenticação dos usuários. Com a Autenticação Digest, é feito um hash das informações de senha antes da transmissão. Informações ligadas à sessão e a hora do sistema, são adicionadas ao hash. Com isso mesmo que a senha seja interceptada, a mesma não poderá ser decifrada. Os demais tipos de autenticação continuam existindo: HTTP Basic, Windows NT Challenge/Response e NTLM authentication (conhecida como "integrated Windows authentication").
Muitas melhorias foram feitas nesta área. Vamos descrever, resumidamente, algumas das novidades.
- Proteção das Aplicações: Por padrão, todas as aplicações rodam em um processo comum, o qual é separado do processo do IIS 5.0. Porém é possível rodar aplicações de maior importância (ou que necessitem de maior desempenho) em um processo separado.
- Principais novidades para páginas ASP - Active Server Pages: São muitas as melhorias. Vou citar algumas e explicar outras brevemente.
- Novos métodos para o controle de fluxo da aplicação (Server.Transfer, Server.Execute, etc).
- Melhorias no tratamento de erros. Teremos um capítulo deste livro dedicado ao Tratamento de erros em Páginas ASP.
- Scriptless ASP: Mesmo páginas que contenham somente código HTML podem ter a extensão .ASP. Com isso posso criar toda a estrutura do meu site utilizando páginas com a extensão .ASP e adicionar os Scripts no momento oportuno.
- Integração com o XML - Extensible Markup Language. Ainda não ouviu falar de XML ? O caso é sério. No capítulo final deste livro, estaremos introduzindo o conceito de XML.
- Novas maneiras para detectar as capacidades do Browser do cliente.
- Melhorias de performance : Capacidade de self-tunning das páginas ASP.
É hora de começar
Bem. Já estamos com o IIS instalado e funcionando, conhecemos as novidades desta nova versão e estamos ansiosos para começar a trabalhar com páginas ASP, em sua versão 3.0. Pois é exatamente o que estaremos fazendo no decorrer deste curso. Com ele você aprenderá a utilizar os principais recursos do ASP 3.0, com os quais poderá criar páginas e aplicações para Web, com diversos recursos e funcionalidades.
Abaixo apresento uma pequena descrição do conteúdo de cada capítulo deste curso. Caso você esteja iniciando os estudos sobre ASP, aconselho que leia os capítulos na seqüência apresentada. Caso já trabalhe com ASP, sinta-se a vontade para ler os capítulos na ordem que julgar mais adequada. Cada um dos capítulos apresenta exemplos completos. Isto significa que você não precisa completar um capítulo para poder acompanhar os exemplos do próximo capítulo.
Em todos os exemplos, estou utilizando a linguagem VBScript, devido a sua funcionalidade e facilidade de aprendizado. Caso o leitor queira utilizar Java Script (agora formalmente ECMA Script), sinta-se a vontade.
Visão geral dos módulos do curso:
- Capítulo 1: Neste capítulo apresentarei uma visão geral sobre a criação de sites dinâmicos, bem como do desenvolvimento de aplicações para Internet/Intranet (também conhecidas como aplicações para a Web). Veremos o que é ASP, bem como as tecnologias utilizadas na criação de aplicações Web.
- Capítulo 2: Nos exemplos deste curso será utilizada a linguagem VBScript. Neste capítulo serão apresentados os conceitos básicos da linguagem VBScript, juntamente com exemplos práticos de utilização dos conceitos apresentados.
- Capítulo 3: Neste capítulo apresentarei aspectos adicionais da linguagem VBScript. Você aprenderá a utilizar funções, comandos e outros aspectos da linguagem VBScript. Você também aprenderá sobre o conceito de eventos em páginas Web. Aprendera a criar código a ser executado em resposta a determinados eventos de uma página, como por exemplo o clique em um determinado botão de comando.
- Capítulo 4: Neste capítulo começaremos a estudar os objetos fornecidos pelo ASP 3.0. Veremos os diversos métodos e propriedades de cada objeto, bem como a relação entre os diversos objetos. Utilizaremos alguns exemplos práticos para facilitar o entendimento dos conceitos apresentados.
- Capítulo 5: Neste capítulo aprenderemos a conectar páginas ASP com Bancos de dados. Veremos como criar pesquisas personalizadas, utilizando como critério de pesquisa, valores fornecidos pelo cliente, ao preencher valores em um formulário. Trataremos de diversos métodos de acesso a Bases de dados, desde a utilização de meios tradicionais, tais como drivers ODBC, até métodos mais atuais, tais como a utilização de ADO (Activex Data Objects), e OLE-DB Providers.
- Capítulo 6: Neste capítulo trataremos de aspectos avançados de conexão de páginas ASP com Bancos de dados. Veremos como implementar pesquisas avançadas, efetuar atualizações e alterações em Bancos de dados. Analisaremos algumas situações usuais do dia-a-dia. Também serão abordados aspectos ligados com a segurança no acesso às informações.
- Capítulo 7: Trataremos ainda sobre conexão de páginas ASP com Banco de dados. Vamos realizar um estudo completo do objeto Command e aprender a utilizar este objeto para passar parâmetros para consultas Parametrizadas do Microsoft Access.
- Capítulo 8: Veremos o conceito de sessão e estado da conexão. Será apresentado o conceito de "Aplicação Web". Aprenderemos, em detalhes, a utilizar os objetos Application e Session. Também aprenderemos sobre a função e como utilizar o arquivo global.asa.
- Capítulo 9: Trataremos de Aspectos de segurança envolvendo páginas ASP.
- Capítulo 10: Estudaremos diversos Componentes que já vem junto com o IIS e fornecem funcionalidades adicionais, bastante úteis na criação de aplicações Web.
- Capítulo 11: Neste capítulo faremos um estudo completo sobre um dos objetos mais complexos do ASP: FileSystemObject. Estudaremos todas os seus métodos, bem como os objetos derivados: Drive, Folder e File. Também estudaremos em detalhes, todos os objetos derivados.
- Capítulo 12: Neste capítulo apresentaremos o objeto ASP Error. Também aprenderemos sobre o conceito de Transações, além de aprendermos a utilizar a diretiva #include e as diretivas @.
- Apêndice A: Neste apêndice teremos uma listagem dos comandos e funções mais utilizados na linguagem VBScript. Esta listagem pode ser usada como uma referência.
- Apêndice B: Fontes de informação sobre ASP na Internet.
Então: "Mãos a obra"
Bem, feitas as devidas apresentações, é hora de começarmos nossa jornada, rumo ao aprendizado de ASP. Cabe ressaltar a grande aceitação que vem tendo a tecnologia de Active Server Pages da Microsoft. Basta observar o grande número de sites na Internet que utilizam esta tecnologia. Também é grande o número de empresas que desenvolvem aplicativos para sua Intranet, utilizando-se da tecnologia ASP.
Sem a menor sombra de dúvidas, a facilidade no aprendizado, aliada com os recursos oferecidos, é que tornaram a tecnologia de páginas ASP largamente difundida e utilizada. Quem já programa em Visual Basic, ou Visual Basic for Applications, ficará absolutamente a vontade para aprender a tecnologia ASP.
Então mãos a obra, vamos aprender ASP 3.0.