segunda-feira, 23 de agosto de 2010

OS WEBFORMS

Com o .NET framework podemos criar vários tipos de aplicações (Console, Windows forms, WebServices, Componentes COM, e Web Forms).

Neste post e nos próximos falarei sobre o tipo de aplicação para rodar em ambiente WEB, ou seja, os Web forms.

As páginas ASP.Net são simplesmente texto puro, como arquivos em HTML. Para que as páginas possam ser executadas e mostradas, você precisa ter instalado o .Net FrameWork e um servidor Web(IIS).

As páginas ASP.Net têm extensão .aspx, então quaisquer arquivos que você quer que o servidor interprete como um aplicativo ASP.Net deve terminar em .aspx.

Abaixo segue um exemplo de  uma página.aspx


 

O resultado dessa página será o seguinte:
 
Meu Primeiro Exemplo
 
Quando a página é chamada através do navegador, na primeira vez, o programa contido nesta é compilado automaticamente por um compilador Just In Time e depois executado. Então o programa é disparado automaticamente e começa a ser executado.
 
Já, nas chamadas posteriores, é realizado o tratamento de eventos e a execução do programa.

domingo, 22 de agosto de 2010

Páginas interpretadas X páginas compiladas

No último post, falamos sobre algumas diferenças entre o ASP 3.0 (legado) e o ASP.NET. Entretanto, ficou faltando falar sobre alguns detalhes sórdidos.

Quem já mexeu com ASP 3.0 sabe que o código desse tipo de página é interpretado, ou seja, a requisição a uma página .ASP é enviada para uma dll que interpreta o código em processo semelhante ao que o navegador realiza ao interpretar Scripts Client Side. Há quem diga que isso seja uma desvantagem em termos de desempenho, mas com o surgimento de computadores cada vez mais poderosos, acredito que essa característica não seja a questão que mais pesou para promoção da evolução da tecnologia ASP.

No caso do ASP.NET, quando uma página é requisitada pela primeira vez,  o programa contido nessa página é compilado automaticamente por um compilador Just In Time e depois executado.

Em termos de desenvolvimento de ASP.Net, a CLR dá ao programador muito menos com que se preocupar. Ele gerencia a memória e oferece aos aplicativos ASP.Net muito mais desempenho e estabilidade. Com o melhor isolamento de falhas, não é mais necessário a pratica de reinicializar o servidor de Web IIS ou qualquer outro servidor Web, se a aplicação cair. Por isso podemos dizer que o ASP.Net é muito mais estável e eficiente que os métodos anteriores de desenvolvimento para a
Web.

A dll ASP conta com sete objetos intrínsecos: Application, ASPError (ASP 3.0), ObjectContext, Request, Response, Server e Session.

Para qualquer operação adicional, o programador buscava dlls adicionais sendo essas desenvolvidas por terceiros e não eram gratuítas. Para realizar upload de arquivos muitos usavam o Dundas upload, por exemplo.

A utilização desses recursos exigiam um processo adicional que era o de registrar no Windows esses componentes extras.

No caso do ASP.NET, esse mundo de objetos é grande, pois podemos usar qualquer objeto contido na BCL do framework.

Além de aumentar a produtividade no desenvolvimento, o ASP.Net traz diversos novos recursos que os desenvolvedores irão apreciar como novidades para manter sessões, configurar o Servidor através de arquivos xml, gerenciar idiomas, criar
WebServices e manter a segurança do código fonte através de compilação.

Vamos ver com mais detalhes:

  •  Flexibilidade para manter estado do aplicativo, pois evita o uso de variáveis de sessões, mantendo automaticamente os seus valores.
  • A configuração do aplicativo é feita através de arquivos XML. Isto significa que ela é fácil de alterar e não exige a interferência do administrador do servidor.
  •  Facilidade em utilizar diversas culturas diferentes. Trocar a cultura usada em seu aplicativo implica em mudar uma única linha no arquivo XML de configuração. Pode também ser tratada no código, em tempo de execução. 
  •  Possui um mesmo modelo de projeto, podendo conter páginas aspx e também WebServices.
  •  Os aplicativos em ASP.Net são compilados ganhando em velocidade de execução e possui a impossibilidade de pessoas não autorizadas enxergarem o seu código-fonte.

Sendo assim, o ASP.Net é um grande passo à frente no desenvolvimento de aplicativos que rodam em servidores Web.

Os ganhos de produtividade e a facilidade de desenvolvimento são inúmeras vezes maiores que algumas tecnologias utilizadas, como – ASP, PHP, CGI, JavaScript, entre outras.

 Falaremos no próximo POST sobre os WEB forms visto que o foco do meu estudo é de aplicações que rodam neste tipo de plataforma.

Abs

sábado, 21 de agosto de 2010

Desde os primórdios até hoje em dia

No início da Internet, as páginas WEB eram estáticas. O usuário requisitava uma página a um servidor WEB e esta era retornada ao Browser do computador cliente da forma como a mesma havia sido confeccionada. Com o tempo e devido as necessidades dos usuários, surgiram tecnologias que permitiam a esse usuário interferir no resultado desse retorno seja no lado cliente ou no lado servidor.

Para possibilitar essa interatividade, o programador tinha que possuir uma miscelania de conhecimentos. alguma tecnologia que proporcionasse a construção de páginas dinâmicas(ASP, PHP, JSP, ColdFusion...), Javascript, HTML, DHTML, CSS, etc. Esse tipo de tecnologia possibilita a inclusão de estruturas de decisão e repetição dentro das páginas.

A Microsoft coloca no mercado a tecnologia ASP (Active Server Pages) que segue o modelo cliente servidor mencionado no primeiro parágrafo deste POST.

Sendo assim, o computador cliente faz requisições ao computador servidor e este retorna uma resposta ao computador cliente.

Entretando o servidor verifica a extensão do arquivo e quando essa extensão é do tipo .ASP o servidor submete o processamento a uma dll (ASP.DLL) a qual fica responsável pelo processamento da requisição efetuada pelo computador cliente. O resultado desse processamento então é devolvido ao cliente pelo servidor.
O fluxo de trabalho é o seguinte:

1. O Cliente (Navegador Web) localiza o servidor da Web por URL (como http://www.globo.com/).
2. O Cliente solicita uma página (como cadastro.asp)
3. O Servidor examina a solicitação e processa a saída codificada em HTML.
4. O Cliente recebe o documento e o exibe.

Neste cenário, o servidor não tem a mínima idéia do que o cliente esta fazendo, a menos que este faça outra requisição.

Com isso surgem alguns problemas para o programado e Microsoft então lança uma evolução da tecnologia ASP -  O ASP.NET.

O ASP.Net trabalha em outro modo de comunicação entre clientes e servidores Web, que é conhecido como modelo baseado em eventos. Isso quer dizer que o servidor espera algo acontecer no cliente. Quando ocorre, o Servidor toma
medidas para realizar alguma funcionalidade.

Então podemos afirmar que o Servidor vai responder a suas ações no momento em que cliente clicar em uma imagem ou selecionar um CheckBox, por exemplo.

O ASP.Net funciona assim – detecta ações e as responde. Para isso o ASP.Net conta com um processamento inteligente do lado cliente para simular um modelo baseado em eventos.

É como se o ASP.Net colocasse alguns espiões no cliente, de modo que o servidor seja informado sobre tudo que está acontecendo do lado do cliente.

Os espiões do ASP.Net são os scripts do lado do cliente, que transmitem mensagens por meio de postagens para o servidor.
Este conceito que o ASP.Net implementa facilita a vida o programador, pois este não precisa mais se concentrar em direcionar requisições e respostas. O programador, deste modo, fica livre para se concentrar na construção da lógica de negócio da aplicação.

Sendo assim a aplicação reage às ocorrências do usuário imediatamente em vez de esperar que os formulários desta aplicação sejam submetidos. Essa integração mais inteligente entre o lado cliente e o lado servidor possibilita a aplicação lidar antecipadamente com as ações do usuário.

No próximo POST falaremos mais sobre as melhorias promovidas pelo ASP.NET

Grande abraço