Você está na página 1de 9

Captulo 1

Introduo ao desenvolvimento com IntraWeb

Treinamento a Distncia

suporte ao desenvolvimento para Web no Delphi teve incio no Delphi 3, com o surgimento da tecnologia WebBroker. As classes desse framework, como WebModules e PageProducers, permitiam que o desenvolvedor criasse aplicaes dinmicas para Web de uma forma bastante simples, inclusive aplicaes de banco de dados. O WebBroker passou por uma evoluo e no Delphi 6 surgiu o WebSnap, que adicionou inmeros recursos ao desenvolvimento Web: suporte mltiplos mdulos (o WebBroker s permitia um WebModule por aplicao), suporte a Active Script no servidor, tratamento de sesso e login de usurio etc. Alm disso, componentes Adapters permitiam que voc criasse de uma forma mais simples formulrios para entrada de dados. Apesar do WebBroker e WebSnap serem tecnologias robustas para o desenvolvimento Web, ainda existia uma pequena curva de aprendizado caso voc j fosse um desenvolvedor Delphi e precisasse rapidamente criar uma verso Web da sua aplicao, pois era necessrio aprender alguns novos conceitos de desenvolvimento devido a mudana de paradigma (Windows x Web). Com WebBroker / WebSnap era necessrio conhecer novos componentes, novos editores, novas propriedades e eventos de classe e escrever cdigo apropriado para este tipo de aplicao. O Delphi 7 signicou uma revoluo no desenvolvimento Web, trazendo um novo framework para o desenvolvimento Web. O IntraWeb permite que voc desenvolva aplicaes para Web de uma forma verdadeiramente RAD, aproveitando muito (se no todo) o seu conhecimento j existente ao desenvolver aplicaes Windows. No h curva de aprendizado. Mesmo desenvolvedores com pouco ou nenhum conhecimento Web, ou em linguagens como JavaScript e HTML, podem desenvolver aplicaes para Web rapidamente. O IntraWeb especial, e conquistou muitos desenvolvedores pelo mundo inteiro. Neste curso abordaremos todos os aspectos do desenvolvimento o IntraWeb, conhecendo seu funcionamento, seus componentes, arquitetura e criando muitos exemplos prticos que voc poder adaptar facilmente a suas aplicaes. O IntraWeb foi incorporado ao Delphi 7, porm no foi desenvolvido pela Borland. O IntraWeb foi desenvolvimento pela empresa Atozed Software (www. atozed.com), e uns dos seus principais criadores foi Chad Hover. Voc poder consultar o site da empresa para obter vrias informaes sobre o produto, novidades, atualizaes etc.

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

IntraWeb 5.1
Neste curso, utilizaremos o IntraWeb verso 5.1. O Delphi 7 distribudo originalmente com o IntraWeb 5.0. altamente recomendado que voc instale essa verso, pois muitos bugs foram resolvidos e novas funcionalidades foram implementadas. Essa verso free para usurios do Delphi 7 (as demais verso, como 6 e 7, no so free para usurios do Delphi 7). Voc pode baixar o IntraWeb 5.1 a partir do endereo www.atozedsoftware.com. Neste exemplo usaremos recursos que no esto presentes na verso 5.0. Siga os seguintes passos para fazer o upgrade: 1. Baixe a verso 5.1.30 do endereo http://downloads.atozedsoftware.com/intraweb/ iw5.1.30_d7.exe (no execute-o ainda). 2. Caso voc ainda no tenha uma licena do IntraWeb para Delphi 7, baixe o aplicativo para requisio de licena em www.atozedsoftware.com/downloads/intraweb/D7IWKEYRequest. zip, rode a aplicao e preencha as informaes solicitadas. Selecione que voc deseja fazer a solicitao (a mais simples a primeira opo, que faz o envio direto). A requisio ser enviada para a Atozed e licena enviada para o seu e-mail em um ou dois dias. 3. Depois de receber a licena, v at o Painel de controle e clique em adicionar remover programas. Selecione o Delphi 7 e remova o IntraWeb (5.0). No remova o Delphi, claro! 4. Instale o IntraWeb que voc baixou. 5. Instale a licena que voc recebeu a partir do grupo de programas IntraWeb e clique em Install License Key. Pronto!

Caso sinta diculdades em instalar o IW 5.1, veja o vdeo Instalando o IW 5.1 que acompanha este curso, para ver como proceder a instalao passo a passo.

Como desenvolver em IntraWeb


Desenvolver uma aplicao com IntraWeb como desenvolver uma aplicao tradicional VCL. Ou seja, voc coloca alguns componentes no formulrio, ajusta sua posio e tamanho, congura algumas propriedades e escreve cdigo nos manipuladores de evento, exatamente como est acostumado a fazer em uma aplicao Windows! Ao executar a aplicao, o IntraWeb ir gerar automaticamente a pgina HTML, se encarregando ainda de acionar os eventos no servidor quando o usurio realiza alguma operao no browser. A gura ilustra como o desenvolvimento visual com IntraWeb, mostrando uma pgina simples HTML criada a partir de uma aplicao IntraWeb feita na IDE do Delphi.

ClubeDelphi

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

Criando aplicaes IntraWeb


Para criar uma nova aplicao IntraWeb devemos utilizar o Object Repository, que pode ser acessado atravs do menu File|New>Other ou clicando-se no boto New Itens na barra de ferramentas do Delphi. A aba IntraWeb contm dois assistentes, conforme mostrado na gura a seguir:

O item IntraWeb Application Wizard permite que voc crie uma nova aplicao IntraWeb. Utilize New Form quando precisar criar um formulrio para uma aplicao j existente.

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

Escolhendo o tipo de Servidor


Para criar uma nova aplicao IntraWeb devemos selecionar a opo IntraWeb Application Wizard. Ser mostrado o seguinte assistente:

As opes do grupo esquerda (Application Type) permitem denir o tipo da aplicao, conforme o servidor Web que ser utilizado. Vamos ver o que signica cada um desses tipos:

StandAlone Application
A aplicao gerada ser um executvel (.EXE), e como o prprio nome sugere, roda de forma independente. Ou seja, voc no precisa ter instalado em sua mquina um servidor Web comercial, como IIS (Internet Information Services) ou Apache. A sua aplicao j um servidor Web. Internamente o IntraWeb utiliza componentes do Indy para simular um servidor Web. Sempre comece sua aplicao escolhendo esse tipo de servidor. muito mais simples trabalhar com uma aplicao StandAlone, j que voc no precisa hospedar o arquivo em nenhum diretrio virtual (ela roda do local onde foi compilada). Alm disso, voc pode depurar uma aplicao StandAlone da mesma forma que depura uma aplicao Delphi tradicional, sem nenhuma congurao extra (diferente de uma ISAPI / IIS). Mais tarde, quando for distribuir sua aplicao, voc pode facilmente migrar para qualquer um dos outros tipos, como por exemplo IIS ou Apache. Veremos como fazer isso nos captulos seguintes. Ao executar uma aplicao StandAlone, voc ver um console indicando que o servidor est ativo. Esta janela s mostrada em aplicaes desse tipo, e no est presente em aplicaes ISAPI / IIS ou Apache.

Apesar de sua aplicao StandAlone ser um executvel, ela no um CGI e no deve ser hospedada em um diretrio virtual do IIS ou Apache.

ClubeDelphi

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

possvel rodar normalmente uma aplicao StandAlone mesmo que um servidor IIS ou Apache esteja instalado na sua mquina. O nico cuidado que voc deve tomar para que a aplicao StandAlone no utilize uma porta que j esteja sendo usada por outro servidor. A alterao da porta pode ser feito no ServerController, como veremos no captulo 6.

Service Application
equivalente a um servidor StandAlone, com duas diferenas: a aplicao roda como um servio do Windows; a janela padro do servidor StandAlone no aparece.

ISAPI Extension
Uma aplicao desse tipo ser compilada como uma biblioteca (.DLL), que deve ser hospedada em um diretrio virtual de um servidor IIS (Internet Information Services). O desenvolvimento de aplicaes para o IIS abordado em um captulo a parte neste curso.

Apache Shared Module (1.x e 2.x)


Uma aplicao desse tipo tambm compilada como uma biblioteca, que deve ser hospedada em um servidor Apache. O desenvolvimento de aplicaes IntraWeb com Apache ser discutido em um captulo a parte neste curso. Alm de permitir a escolha do tipo da aplicao, o assistente oferece algumas opes (localizados no grupo a direita), como Create DataModule, Create User Session, etc. (essas opes sero examinadas mais adiante). Agora que aprendemos a criar aplicaes IntraWeb, para comearemos o curso, nada melhor do que criarmos uma aplicao IntraWeb bastante simples e prtica, vamos l!

O Primeiro Exemplo
Clique em File|New>Other para abrir o Object Repository. Selecione a aba IntraWeb. D um duplo clique no cone IntraWeb Application Wizard. No IntraWeb Application Wizard matenha as opes padro. Aperte Ok para criar a nova aplicao IntraWeb. Localize o formulrio IWForm1 (se ele no estiver aparecendo clique no menu View|Forms e d um duplo clique sobre o IWForm1). Localize a guia IW Standard na paleta de componentes do Delphi:

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

Coloque no formulrio um componente IWEdit , um IWButton e um IWLabel . Seu formulrio deve estar semelhante ao mostrado a seguir:

D um duplo clique em IWButton1 para abrir o editor de cdigo do Delphi. Escreva o cdigo conforme mostrado a seguir:
procedure TIWForm1.IWButton1Click(Sender: TObject); begin IWLabel1.Caption := IWEdit1.Text; end;

Aperte F9 para rodar a aplicao. Dever aparecer em sua tela um formulrio, semelhante ao da gura a seguir:

Aperte F9 novamente, ou clique no boto . Um browser ser aberto exibindo o formulrio que criamos anteriormente.

ClubeDelphi

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

Digite algo na caixa de texto e aperte o boto.

Feche o browser e o servidor IntraWeb. Crie uma pasta chamada c:\EC3\ Cap1\Intro para salvar os arquivos deste projeto. No Delphi, clique em File|Save All e salve os arquivos dentro da pasta anterior, mantendo os nomes sugeridos pelo Delphi. Clique em File|Close All.

Voc pode especicar o parmetro /launchbrowser no menu Run|Parameters. Isso faz com que o browser seja automaticamente aberto quando a aplicao for executada. Veja a gura a seguir:

Como funciona uma aplicao IntraWeb


Agora que zemos nossa primeira aplicao simples, podemos analisar como o IntraWeb funciona. Cada controle que voc coloca no formulrio automaticamente convertido em cdigo HTML (que tambm pode incluir JavaScript), que ento enviada com o documento nal ao browser. Veja a gura a seguir.

Delphi & E-Commerce Desenvolvimento Web

Treinamento a Distncia

Como voc pode ver, no so necessrios conhecimentos avanados em HTML, pois o IntraWeb j realizar a maior parte do trabalho.

ClubeDelphi

Delphi & E-Commerce Desenvolvimento Web