<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PauloMotta.pro &#187; MODELO</title>
	<atom:link href="http://www.paulomotta.pro.br/tag/modelo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.paulomotta.pro.br</link>
	<description>&#34;Qualquer tecnologia suficientemente avançada é indistinguível da mágica&#34; - Arthur C. Clarke</description>
	<lastBuildDate>Thu, 09 Sep 2010 16:39:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>O Modelo de Aplicação Web</title>
		<link>http://www.paulomotta.pro.br/2009/08/31/o-modelo-de-aplicacao-web/</link>
		<comments>http://www.paulomotta.pro.br/2009/08/31/o-modelo-de-aplicacao-web/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 21:55:48 +0000</pubDate>
		<dc:creator>prmottajr</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Principal]]></category>
		<category><![CDATA[APLICAÇÃO]]></category>
		<category><![CDATA[MODELO]]></category>
		<category><![CDATA[PROGRAMAÇÃO]]></category>
		<category><![CDATA[SISTEMA]]></category>
		<category><![CDATA[WEB]]></category>

		<guid isPermaLink="false">http://www.paulomotta.pro.br/2009/08/31/o-modelo-de-aplicacao-web/</guid>
		<description><![CDATA[Quando comeÃ§amos a trabalhar com o desenvolvimento de aplicaÃ§Ãµes web nos deparamos com diversas tecnologias diferentes, todas tentam oferecer o melhor das possibilidades dentro do que Ã© possÃ­vel fazer em termos de tecnologia. Essa variedade de tecnologias Ã© o que mais chama atenÃ§Ã£o nesse modelo de aplicaÃ§Ã£o, ao mesmo tempo Ã© o que gera mais [...]]]></description>
			<content:encoded><![CDATA[<p>Quando comeÃ§amos a trabalhar com o desenvolvimento de aplicaÃ§Ãµes web nos deparamos com diversas tecnologias diferentes, todas tentam oferecer o melhor das possibilidades dentro do que Ã© possÃ­vel fazer em termos de tecnologia. Essa variedade de tecnologias Ã© o que mais chama atenÃ§Ã£o nesse modelo de aplicaÃ§Ã£o, ao mesmo tempo Ã© o que gera mais dificuldades para quem comeÃ§a.</p>
<p>Antes de entender as diversas possibilidades as pessoas deveriam ser apresentadas ao modelo de trabalho proposto pela Web, isso facilitaria muito a adoÃ§Ã£o, e atÃ© mesmo a escolha consciente, de uma tecnologia de implementaÃ§Ã£o. Vamos considerar que tecnologia de implementaÃ§Ã£o Ã© toda a tecnologia que permite desenvolver um sistema baseado em tecnologia Web, dessa forma ASP, PHP, JSP, ColdFusion, e claro HTML alÃ©m de muitas outras sÃ£o tecnologias de implementaÃ§Ã£o. Por outro lado temos ainda as tecnologias de base da Web que sÃ£o o protocolo HTTP e os servidores Web que sÃ£o capazes de atender requisiÃ§Ãµes em formato HTTP, geralmente na porta 80.</p>
<p>EntÃ£o Ã© interessante entender que as tecnologias de implementaÃ§Ã£o usam sempre os mesmos recursos de infraestrtura, isto porque em um mundo globalizado e distribuÃ­do, a tecnologia web facilita para os administradores de sistemas proteger seus servidores, isto porque atravÃ©s da porta 80 sÃ£o permitidas trocas de informaÃ§Ã£o baseada em texto, muito mais fÃ¡ceis de regular. Assim quando um administrador coloca sua mÃ¡quina na rede abre apenas a porta 80, e bloqueia todas as outras formas de acesso a mÃ¡quina.</p>
<p>Outra caracterÃ­stica interessante, Ã© que as conexÃµes web sÃ£o bastante volÃ¡teis, ou seja, o cliente (geralmente um <em>browser</em> ou navegador web) estabele a conexÃ£o, solicita o recurso (normalmente uma pÃ¡gina), recebe sua resposta e desconecta. AtÃ© aÃ­ nenhuma novidade no mundo das redes, no entanto, como os recursos solicitados geralmente sÃ£o texto (e imagens) essas conexÃµes nÃ£o duram muito tempo. &#8220;Ah mas eu acesso o youtube!&#8221; Sim, no entanto a execuÃ§Ã£o de vÃ­deos Ã© <em>servida</em> atravÃ©s de outra conexÃ£o, geralmente com outra mÃ¡quina, ou seja, o HTTP jÃ¡ havia encerrado. Dessa forma o temos alguns pontos a considerar:</p>
<ol>
<li>O servidor web nÃ£o sabe de quem Ã© cada requisiÃ§Ã£o que chega, por isso uma aplicaÃ§Ã£o web precisa ter o conceito de <em>sessÃ£o</em>.</li>
<li>Trocamos texto entre o servidor e o browser, entÃ£o a tela que aparece na mÃ¡quina do cliente nÃ£o <em>veio</em> do servidor, e sim uma descriÃ§Ã£o de <em>como</em> a tela deve ser montada.</li>
<li>NÃ£o ficam variÃ¡veis guardadas na memÃ³ria do computador do cliente, essa Ã© uma parte quase mÃ­stica. Quando programamos uma aplicaÃ§Ã£o com <em>interface</em> web, a aplicaÃ§Ã£o fica no servidor, e somente a descriÃ§Ã£o da tela Ã© enviada para o browser do solicitante, dessa forma toda e qualquer variÃ¡vel que seja manipulada, ficarÃ¡ armazenada na memÃ³ria do servidor e nÃ£o na mÃ¡quina do cliente. Por isso Ã© de extrema importÃ¢ncia que haja algum mecanismo de controle de sessÃ£o de forma que o servidor possa identificar todas as requisiÃ§Ãµes (em conexÃµes diferentes) de um mesmo cliente.</li>
</ol>
<p>No modelo mais simples de implementaÃ§Ã£o web utilizamos a tÃ©cnica de recarregar a pÃ¡gina para cada requisiÃ§Ã£o durante muito tempo essa foi a forma mais difundida de trabalhar atÃ© porque em um passado nÃ£o muito distante qualquer alternativa era muito mais complicada e o esforÃ§o nÃ£o compesava dado o custo extra. Atualmente temos tecnologias para contornar isso, o Ajax permite fazer chamadas ao servidor (no mesmo modelo web tradicional) de forma transparente ao usuÃ¡rio, ou seja, o modelo de aplicaÃ§Ã£o permanece o mesmo, porÃ©m o usuÃ¡rio nÃ£o observa o efeito de recarregar a tela. Podemos observar isso nas ferramentas da Google. Em seu mecanismo de busca e carro chefe, a primeira pÃ¡gina apresenta apenas um campo texto e por isso quando digitamos o que buscamos ela precisa ser recarregada para apresentar a lista de itens que estamos buscando. Por outro lado, no Gmail, a interaÃ§Ã£o do usuÃ¡rio Ã© toda baseada em um modelo de reconstruir a tela localmente, por exemplo quando estamos enviando um email para alguÃ©m, conforme vamos digitando o nome da pessoa aparece uma Ã¡rea de seleÃ§Ã£o com os contatos armazenados no servidor sem que para isso precise recarregar a tela, no entanto os dados tiveram que ser buscados no servidor.</p>
<p>Dessa forma se conhecermos o que acontece &#8220;dentro&#8221; da web fica mais fÃ¡cil de entender e conviver com os detalhes de cada tecnologia de implementaÃ§Ã£o. No final elas trocam texto com seus servidores chamando seus componentes de execuÃ§Ã£o. Se essa visÃ£o estiver clara, o programador vai perceber que passa a desenvolver em nÃ­vel mais abstrato onde apenas descreve como a tela deve ser carregada.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.paulomotta.pro.br/2009/08/31/o-modelo-de-aplicacao-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
