A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tecnologias Web Rodrigo Cristiano Silva

Apresentações semelhantes


Apresentação em tema: "Tecnologias Web Rodrigo Cristiano Silva"— Transcrição da apresentação:

1 Tecnologias Web Rodrigo Cristiano Silva

2 Tecnologias Web Agenda O que é a Internet? Principais serviços oferecidos pela Internet Histórico da Internet O que é uma aplicação Internet? Tipos de aplicações Internet Como aplicações Web funcionam? Quais são as possibilidades na Web? Vantagens e desvantagens das aplicações Web Plataformas de desenvolvimento Web

3 Tecnologias Web Principais serviços oferecidos pela Internet Serviço Protocolo World Wide WebHTTP / HTTPS / SOAP Correio EletrônicoSMTP / POP / IMAP Troca de ArquivosFTP / SFTP / FTPS Mensagem InstantâneaSockets

4 Tecnologias Web O que é uma aplicação Internet? Uma aplicação Internet é qualquer aplicação que usa a Internet para acesso a informações e transferência de dados. Aplicações Web são um dos quatro tipos de aplicações Internet que podemos criar, a seguir temos um overview desses tipos.

5 Tecnologias Web Tipos de aplicações Internet Aplicações Web: estas aplicações fornecem conteúdo de um servidor para os computadores clientes através da Internet; Web Services: estes componentes proporcionam o processamento de dados em um servidor Web para outras aplicações através da Internet; Aplicações Conectadas: estas são aplicações stand-alone que incorporam aspectos da Internet para proporcionar ao usuário atualizações, ajuda ou outros serviços online; Aplicações ponto-a-ponto: estas são aplicações stand- alone que usam a Internet para se comunicar com outros usuários executando sua instância da aplicação.

6 Tecnologias Web Como funcionam aplicações Web? Aplicações Web usam a arquitetura cliente/servidor. As aplicações residem em um servidor e respondem requisições de múltiplos clientes, como mostra a figura:

7 Tecnologias Web Como funciona a arquitetura Cliente-Servidor? Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente através de uma rede de computadores. Cada instância cliente pode enviar requisições de dados para um dos servidores conectados e esperar pela resposta. Por sua vez, o servidor pode aceitar tais requisições, processá-las e retornar o resultado para o cliente.

8 Tecnologias Web Como funcionam aplicações Web? Cliente A aplicação Web é hospedada por um browser; A interface da aplicação assume a forma de páginas HTML que são interpretadas e exibidas pelo browser do cliente; Servidor A aplicação Web roda sob um servidor de aplicações Web como o Microsoft Internet Information Services (IIS); O servidor de aplicações Web passa as requisições dos clientes para as aplicações e encaminha as respostas das aplicações para os clientes.

9 Tecnologias Web Como funcionam aplicações Web?

10 Tecnologias Web Como funcionam aplicações Web? Web Site Tradicional versus Aplicação Web Aplicações Web: as páginas entregues aos usuários são construídas dinamicamente por um executável; Web sites tradicionais: as páginas entregues aos usuários são páginas estáticas armazenadas no servidor.

11 Tecnologias Web Vantagens de aplicações Web Distribuição das aplicações Browser + conexão Internet Dispensa a instalação no cliente Atualização das aplicações Centralizada Instantânea Não é necessário um supercomputador para executar as aplicações Independente de plataforma

12 Tecnologias Web Desvantagens de aplicações Web A experiência do usuário é pobre se comparada com aplicações desktop Drag-and-Drop Número de controles é limitado Baixa produtividade no desenvolvimento É necessária grande quantidade de scripts de cliente (JavaScript) para melhorar a experiência do usuário JavaScript é uma linguagem pobre e possui um ambiente de desenvolvimento e depuração bastante limitado

13 Tecnologias Web HTTP HyperText Transfer Protocol Protocolo de aplicação que possui um conjunto de regras definidas para comunicação entre servidores e navegadores Web

14 Tecnologias Web Características do HTTP Utiliza o protocolo TCP para transporte Presta o serviço na porta 80 Utiliza pares de mensagens de solicitação e resposta Cada transação resulta no estabelecimento de uma conexão TCP Não armazena informações de estado entre transações (Stateless). Não mantém conexão aberta. As conexões são iniciadas pelos navegadores e encerradas pelo servidor Web após enviar as respostas

15 Tecnologias Web Cliente e servidor HTTP Servidor HTTP Gerencia sistema virtual de arquivos e diretórios Mapeia pastas do sistema de arquivos local (ex: c:\htdocs) a diretórios virtuais (ex: /) acessíveis remotamente (notação de URI) Papel do servidor HTTP Interpretar requisições HTTP do cliente (métodos GET/POST/HEAD) Devolver resposta HTTP: código de resposta (200, 404, etc), cabeçalho e dados Papel do cliente HTTP Enviar requisições HTTP (GET/POST/HEAD) a um servidor Requisições contêm URI do recurso remoto, e opcionalmente, cabeçalho e dados (método POST) Processar respostas HTTP recebidas (interpretar cabeçalhos, identificar tipo de dados e interpretar dados)

16 Tecnologias Web Comandos do HTTP MétodoDescrição GETSolicita uma página Web e envia dados através da URL HEADSolicita a leitura do cabeçalho HTTP de uma página Web PUTSolicita o armazenamento de uma página Web POSTSolicita uma página e envia dados no corpo da requisição DELETERemove a página da Web

17 Tecnologias Web A plataforma Web

18 Tecnologias Web Principais métodos HTTP GET GET: pede ao servidor um arquivo (informado sua URI relativa à raiz do servidor) GET / : GET pode enviar dados através da URI (tamanho limitado) ?dados Método HEAD é idêntico ao GET mas servidor não devolve página, devolve apenas o cabeçalho HTTP

19 Tecnologias Web Principais métodos HTTP POST POST: envia dados ao servidor POST / :

20 Tecnologias Web Cabeçalhos HTTP Na requisição passam informações do cliente ao servidor Fabricante e nome do browser, data da cópia em cache, cookies válidos para o domínio e caminho da URL da requisição, etc. Exemplos: User-Agent: Mozilla 5.5 (Compatible; MSIE 6.0; MacOS X) If-Modified-Since: Thu, 23-Jun :34:25 GMT Cookies: id=344; user=Jack; flv=yes; mis=no Na resposta passam informações do servidor ao cliente Tipo de dados do conteúdo (text/xml, image/gif) e tamanho, cookies que devem ser criados, endereço para redirecionamento, etc. Exemplos: Content-type: text/html; charset-iso Refresh: 15; url=/pags/novaPag.html Content-length: 246 Set-Cookie: nome=valor; expires=Mon, :03:00 GMT

21 Tecnologias Web Comunicação HTTP Detalhes

22 Tecnologias Web HTML Hypertext Markup Language A HTML é uma linguagem de marcação cujo objetivo original era descrever a estrutura de documentos para Web e não a formatação O que se pretendia era somente descrever os elementos que compõem uma página e não o modo como uma página se apresenta As extensões aos elementos originais do HTML (,, etc) permitem que se ultrapasse o propósito inicial da linguagem A HTML possui um conjunto definido de elementos e não podemos criar nossos próprios elementos

23 Tecnologias Web Formulários HTML Os formulários possibilitam colher qualquer tipo de informação para processamento imediato por um script ou para análise posterior usando outros aplicativos Existem vários tipos de formulários, a seguir temos alguns exemplos: Formulários de pesquisa Formulários que nos registram nos sites da Web Formulários de compra de produtos on-line Os formulários são suportados desde o HTML 2.0

24 Tecnologias Web Formulários HTML Cada formulário contém um elemento form ( ) que tem controles específicos, como botões, caixas de texto, caixas de seleção e botões submit Após o formulário ser preenchido, ele é submetido ao servidor, ou seja, os dados do formulário são codificados e enviados ao servidor Para que o formulário seja bem-sucedido é preciso ter um script ou aplicativo no servidor que armazene ou manipule os dados enviados O formulário pode enviar seus dados para uma outra página ou enviar contendo os dados

25 Tecnologias Web Elemento form O elemento form é base de todos os formulários criados em páginas Web É considerado um elemento em nível de bloco Elementos em nível de bloco iniciam uma nova linha no navegador Sintaxe do form: O atributo action define a ação tomada quando o formulário é submetido e geralmente contém o endereço URL do script ou aplicativo que receberá os dados do formulário Se não usarmos o atributo action no elemento form, o formulário será submetido para o mesmo URL onde se localiza a página HTML O formulário ainda pode ser submetido à um da seguinte maneira:

26 Tecnologias Web Elemento form O atributo method pode ter um entre dois valores: get ou post O método get adiciona os dados do formulário ao URL da requisição. Os dados são separados do endereço URL com um ponto de interrogação Exemplo com get: O método post envia os dados do formulário para o URL especificado no atributo action no corpo da requisição O atributo method não é obrigatório. Se não for empregado, será usado o método get

27 Tecnologias Web O que é DHTML O DHTML ou HTML Dinâmico não é algo por si mesmo, mas sim uma coleção de tecnologias funcionando em conjunto para obter resultados interativos O DHTML usa elementos HTML para criar uma página Web que depende de folhas de estilo para formatação e posicionamento de seus elementos, e scripts para alterar dinamicamente conteúdo HTML, estilo e posicionamento, sem ter que recarregar a página

28 Tecnologias Web Características do DHTML Para que o DHTML funcione, é preciso que três tecnologias sejam suportadas pelo navegador Web: HTML Folhas de Estilo (CSS) Scripts (JavaScript) Dispensa o uso de plug-ins ou de máquinas virtuais, pois os navegadores oferecem suporte nativo à JavaScript Nasceu com o advento dos quatro: HTML 4, Internet Explorer 4 e Netscape 4 Devido a diferenças existentes entre os navegadores do mercado, o maior desafio quando se usa DHTML é criar páginas Web dinâmicas para qualquer navegador Os scripts são responsáveis pela natureza dinâmica do DHTML O DHTML depende de um método de tratamento de eventos para acompanhar as ações do navegador Web e do usuário

29 Tecnologias Web Plataforma.NET Base Class Library Common Language Specification Common Language Runtime Data and XML VBC++C# Visual Studio.NET ASP.NET JScript… Windows Forms

30 Tecnologias Web O que é o ASP.NET? ASP.NET é a plataforma usada para criar aplicações Web e serviços Web que rodam abaixo do IIS ASP.NET não é a única tecnologia usada para criar aplicações Web, outras tecnologias também são usadas, tais como JSP, PHP, CGI e Perl O que torna o ASP.NET especial é a sua integração com a plataforma Microsoft

31 Tecnologias Web Componentes do ASP.NET O ASP.NET faz parte da.NET Framework e é composto por diversos componentes: Ferramentas de desenvolvimento Web do Visual Studio.NET System.Web namespaces Controles de Servidor Controles HTML

32 Tecnologias Web Elementos chaves para programação ASP.NET Microsoft Internet Information Services (IIS).NET Framework Linguagens de programação Microsoft Visual Basic.NET Microsoft Visual C# Microsoft Visual J# Microsoft ADO.NET

33 Tecnologias Web Partes de uma Aplicação Web O ASP.NET divide uma aplicação Web em três partes: Conteúdo Programa lógico Configuração

34 Tecnologias Web Partes de uma Aplicação ASP.NET ParteTipos de arquivosDescrição ConteúdoWeb forms, HTML, imagens, áudio, vídeo e outros Arquivos de conteúdo determinam a aparência de uma aplicação Web. Eles podem conter textos estáticos e imagens assim como elementos que são criados durante a execução da aplicação pelo programa lógico. Programa lógicoArquivos executáveis e scripts O programa lógico determina como a aplicação responde às ações do usuário. Aplicações ASP.NET possuem uma dynamic-link library (DLL) que roda no servidor e também podem incluir scripts que rodam na máquina cliente ConfiguraçãoArquivo de configuração Web, folhas de estilo e configurações do IIS Os arquivos de configuração determinam como a aplicação roda no servidor, quem tem acesso, como os erros são tratados e outros detalhes.

35 Tecnologias Web Web Form O Web form é o elemento chave de uma aplicação Web Um Web form é o cruzamento entre uma página HTML e um Windows form Um Web form tem a mesma aparência e comportamento similar à uma página HTML, mas ele também tem controles que respondem a eventos e rodam código como um Windows form

36 Tecnologias Web Componentes do Web Form ComponenteExemplosDescrição Server controlsTextBox, Label, Button, ListBox, DropDownList Estes controles respondem a eventos do usuário rodando procedures no servidor. Server controls podem manter seu estado. HTML controlsTextArea, Table, Image, Submit Button, Reset Button Representam os elementos padrões HTML. HTML controls são usados quando não é necessário o conjunto completo de características dos server controls. Data controlsSqlConnection, SqlCommand, OleDbConnection, OleDbCommand, DataSet Data controls oferecem maneiras para se conectar, executar comandos e recuperar dados de BDs e arquivos XML

37 Tecnologias Web Tempo de Vida de um Web Form Windows forms são instanciados, permanecem na memória o tempo que for necessário e são destruídos Web forms parecem se comportar da mesma forma, mas eles são instanciados, enviados para o browser e, em seguida, destruídos Isso significa que todas as variáveis e objetos declarados em um Web form não estão disponíveis após ele ser exibido

38 Tecnologias Web Eventos no ciclo de vida de uma aplicação Web Uma aplicação Web vive enquanto existirem sessões de usuários ativas, já os Web forms vivem por instantes A vida de uma aplicação Web começa quando um browser requisita a página inicial da aplicação. Nesse momento o servidor Web entra em ação, inicializando o assembly (dll) que responde a requisição O assembly cria uma instância do Web form requisitado, gera o HTML para responder à requisição, envia a resposta ao browser e finalmente destrói a instância do Web form

39 Tecnologias Web Eventos no ciclo de vida de uma aplicação Web

40 Tecnologias Web Eventos no ciclo de vida de uma aplicação Web Após o browser receber o HTML gerado, o usuário pode inserir texto nas caixas, selecionar opções e realizar outras tarefas até que um evento postback seja disparado, tal como um clique em um botão Em um evento postback, o browser envia os dados da página (view state) de volta ao servidor Quando o servidor recebe o view state, ele cria uma nova instância do Web form, carrega os dados do view state e processa qualquer outro evento ocorrido Ao terminar o processamento, o servidor envia o HTML resultante ao browser e destrói a instância do Web form

41 Tecnologias Web Eventos no ciclo de vida de uma aplicação Web

42 Tecnologias Web Eventos no ciclo de vida de uma aplicação Web Quando o usuário para de usar a aplicação Web por um período de tempo (o padrão é 20 minutos), sua sessão expira Se não existirem sessões de outros usuários, a aplicação é finalizada. Isto nem sempre acontece pois a CLR gerencia a memória usando Garbage Collection A coleta de lixo é feita periodicamente e quando encontra um objeto que há algum tempo não é usado, o destrói e libera a memória. Isto significa que não sabemos quando exatamente o evento Application_End ocorre

43 Tecnologias Web Preservando dados de um Web Form Devido ao fato dos Web forms terem um ciclo de vida muito curto, o ASP.NET executa passos especiais para preservar os dados inseridos nos controles de um Web form Os dados inseridos nos controles são enviados a cada requisição e restaurados nos controles no evento Page_Init

44 Tecnologias Web Preservando dados de um Web Form

45 Tecnologias Web Preservando dados de um Web Form Os dados preservados entre requisições são chamados de view state do Web form Por padrão, o view state do Web form fica disponível somente para o mesmo Web form Para disponibilizar os dados inseridos em um Web form para outros Web forms em uma aplicação, precisamos salvar os dados em variáveis de estado nos objetos Application ou Session Variáveis Application: ficam disponíveis para todos usuários de uma aplicação Variáveis Session: ficam disponíveis somente para uma sessão

46 Tecnologias Web Eventos de Aplicação e Sessão Podemos escrever código para responder à eventos de aplicação e sessão no arquivo Global.asax Eventos de aplicação são usados para inicializar objetos que desejamos manter disponíveis para todas sessões de uma aplicação Web Eventos de sessão são usados para inicilizar objetos que desejamos manter disponíveis para uma sessão individual e não desejamos compartilhar entre sessões

47 Tecnologias Web Eventos de Aplicação e Sessão Nome do EventoOcorre quando Application_StartO primeiro usuário visita uma página da aplicação Web Application_EndNão existem mais usuários da aplicação Application_BeginRequestNo início de cada requisição ao servidor. Uma requisição ocorre toda vez que um browser navega em qualquer uma das páginas da aplicação Web Application_EndRequestNo final de cada requisição ao servidor Session_StartUm novo usuário visita uma página da aplicação Web Session_EndUm usuário para de requisitar páginas de uma aplicação Web e sua sessão expira. Uma sessão expira após um período de tempo especificado no arquivo Web.config

48 Tecnologias Web Eventos do Web Form Nome do EventoOcorre quando Page_InitOs server controls são carregados e inicializados a partir do view state do Web form. É o primeiro passo do ciclo de vida de um Web form Page_LoadOs server controls são carregados no objeto Page. As informações do view state estão disponíveis a partir deste ponto Page_PreRenderA aplicação está prestes a renderizar o objeto Page Page_UnloadA página é descarregada da memória Page_DisposedO objeto Page é retirado da memória. Este é o último evento na vida de um objeto Page Page_ErrorUma exceção é disparada Page_AbortTransactionUma transação é abortada Page_CommitTransactionUma transação é aceita Page_DataBindingUm server control da página é montado através de uma fonte de dados

49 Tecnologias Web Eventos dos Server Controls Server controls, tais como Button, TextBox e DropDownList, têm seus próprios conjuntos de eventos que ocorrem em resposta às ações do usuário Tipos de eventos para server controls: Postback Events: estes eventos causam o envio da página Web de volta ao servidor para processamento imediato Cached Events: estes eventos são salvos no view state do Web form para serem processados quando ocorrer um postback

50 Tecnologias Web Eventos dos Server Controls

51 Tecnologias Web Eventos dos Server Controls Os controles Button, Link Button e Image Button causam postback events Os controles TextBox, DropDownList, ListBox, RadioButton e CheckBox causam cached events, embora seja possível mudar esse comportamento mudando a propriedade AutoPostBack para True

52 Tecnologias Web Web Namespaces NamespaceContém classes para System.WebOs objetos Application, Browser, Cache, Cookies, Exception, Request, Response, Server e Trace. Usamos essas classes na maioria das tarefas da programação Web. O objeto Application definido no Global.asax é baseado na classe Application. System.Web.SessionStateO objeto Session. Usamos essas classes para salvar e restaurar itens salvos em variáveis de estado Session. System.Web.ServicesO objeto WebService. Usamos essas classes para criar e usar os Web Services. System.Web.UIOs objetos Page e Control. Usamos essas classes em um Web form para criar e controlar a UI da aplicação. Web forms são baseados na classe Page. System.Web.UI.WebControlsTodos os objetos server controls. Usamos essas classes em um Web form.

53 Tecnologias Web Web Namespaces NamespaceContém classes para System.Web.UI.HTMLControlsTodos os objetos HTML control. Usamos essas classes em um Web form. System.Web.CachingO objeto Cache. Usamos essas classes para controlar o cache no servidor para aumentar a performance da aplicação. System.Web.MailOs objetos MailMessage, MailAttachment e SmtpMail. Usamos essas classes para enviar mensagens a partir de uma aplicação. System.Web.SecurityOs módulos e objetos de autenticação. Usamos essas classes para autenticar usuários e prover segurança para uma aplicação.

54 Tecnologias Web Objeto Application O objeto Application é usado para configurar a aplicação, salvar informações de estado e responder à eventos da aplicação Tem propriedades e métodos que oferecem acesso à outros objetos da aplicação

55 Tecnologias Web Objeto Application Propriedade / métodoUsado para ApplicationSalvar dados no Application state. ContextAcessar os objetos Handler, Trace, Cache, Error e outros no contexto atual. ModulesAcessar módulos HTTP. RequestLer uma requisição e acessar os objetos Browser, Cookies, ClientCertificates e Files da requisição corrente. ResponseEscrever texto ou dados em uma resposta e acessar os objetos Cache, Cookies e Output da resposta corrente. ServerProcessar requisições e respostas. O objeto Server oferece métodos para URL encoding e decoding. SessionSalvar dados no Session state. UserAcessar informações de autenticação do usuário que está fazendo a requisição. Aplicações Web permitem acesso anônimo.

56 Tecnologias Web Objeto Page O objeto Page faz o controle da interface com usuário da aplicação Tem propriedades e métodos que oferecem acesso à objetos da interface com usuário

57 Tecnologias Web Objeto Page Propriedade / métodoUsado para ApplicationSalvar dados no Application state. CacheControlar como as respostas são armazenadas no cache do servidor. ControlsAcessar os controles da página. RequestLer uma requisição e acessar os objetos Browser, Cookies, ClientCertificates e Files da requisição corrente. ResponseEscrever texto ou dados em uma resposta e acessar os objetos Cache, Cookies e Output da resposta corrente. ServerProcessar requisições e respostas. O objeto Server oferece métodos para URL encoding e decoding. SessionSalvar dados no Session state. TraceHabilitar ou desabilitar o Trace e escrever no trace log.

58 Tecnologias Web Objeto Request O objeto Request contém informações enviadas pelo browser cliente quando uma página da aplicação é requisitada Tem propriedades e métodos que oferecem acesso à objetos que constroem a requisição

59 Tecnologias Web Objeto Request Propriedade / métodoUsado para BrowserDeterminar as capacidades do browser que está fazendo a requisição. As propriedades de Browser oferecem acesso à versão do browser, fabricante, se suporta cookies e outras informações. ClientCertificatesAutenticar o cliente. CookiesArmazenar informações do cliente em cookies. FilesPegar arquivos enviados (upload) pelo cliente. InputStreamLer e escrever em dados brutos enviados na requisição.

60 Tecnologias Web Objeto Response O objeto Response é usado para formular a resposta enviada do servidor para o browser cliente Tem propriedades e métodos que oferecem acesso à objetos que compõem a resposta para o cliente

61 Tecnologias Web Objeto Response Propriedade / métodoUsado para CacheDeterminar como o servidor armazena as respostas no cache antes de serem enviadas ao cliente. CookiesConfigurar o conteúdo dos cookies para enviar ao cliente. OutputManipular os dados brutos retornados ao cliente como resposta.

62 Tecnologias Web Mantendo Estado Context.Handler: este objeto recupera membros públicos de uma classe de um Web form exibido subseqüentemente. Query strings: são usadas para passar informações entre requisições e respostas como parte de um URL. São visíveis ao usuário, portanto não podem conter informações de segurança tais como senhas. Cookies: são usados para armazenar pequenas quantidades de informações no cliente. Os clientes podem recusar cookies. View state: o ASP.NET armazena os itens adicionados à propriedade ViewState da página como campos ocultos. Session state: variáveis de estado Session são usadas para armazenar itens que queremos manter na sessão de um usuário. Application state: variáveis de estado Application são usadas para armazenar itens que queremos disponíveis para todos os usuários da aplicação.


Carregar ppt "Tecnologias Web Rodrigo Cristiano Silva"

Apresentações semelhantes


Anúncios Google