Introdução ao ASP.NET



Documentos relacionados
Programação para Internet Avançada. 4. Web Services. Nuno Miguel Gil Fonseca

HTML - 7. Vitor Vaz da Silva Paula Graça

UNIVERSIDADE. Sistemas Distribuídos

JSP trata-se de uma tecnologia que possibilita o desenvolvimento de páginas web dinâmicas utilizando todas as potencialidades do Java como linguagem

Forms Authentication em ASP.NET

1- ASP.NET - HTML Server Controls

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

UFG - Instituto de Informática

Validação de formulário : CEP, e CPF

Criação de um Web Services em.net

Criação de um Web Services em.net

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Microsoft.NET. Desenvolvimento Baseado em Componentes

Gescom isales. Aplicação Mobile Profissional para Vendedores

Fundament n os s da platafo f rm r a. NE N T André Menegassi

A interface IDataSource retorna dados em formato tabular e disponibiliza apenas dois métodos: GetView e GetViewNames. O primeiro,

Escola Superior de Tecnologia de Setúbal. Projecto Final

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Guia de Consulta Rápida ASP. Rubens Prates. Novatec Editora.

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

A autoria - II. A autoria - II. Tecnologias básicas da Web. A autoria - II Wilson de Pádua Paula Filho. Tópicos:

O que é o JavaScript?

Criando um carrinho de compras

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 1 PROF. EMILIO PARMEGIANI

Service Oriented Architecture SOA

Sistemas Distribuídos

Serviços Web: Introdução

JavaScript. Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 03,

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

Introdução a Web Services

Kassius Vargas Prestes

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

19/05/2009. Módulo 1

Associação Carioca de Ensino Superior Centro Universitário Carioca

Interface Web services

A interface do Microsoft Visual Studio 2005

Repeater no GASweb. Regiões

HTML. Tópicos. Tags. Páginas WEB Arquitectura Definição HTML. O documento HTML Estrutura do documento Meta comandos Ferramentas de edição de HTML

Service Oriented Architecture (SOA)

Iniciar o Data Adapter Configuration Wizard. Toolbox Data Duplo clique em OleDbDataAdapter. Botão next na caixa de diálogo

Introdução à Engenharia da Computação. Tecnologia Web Professor Machado

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

World Wide Web e Aplicações

Extracto on Line Aplicação Local Guia do Administrador

VM Card. Referência das Definições Web das Funções Avançadas. Manuais do Utilizador

Desenvolvimento Cliente-Servidor 1

Dim formulário As Object formulário = Me Me.Text = "Título"

Web Technologies. Tópicos da apresentação

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Laboratórios de Engenharia de Software

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

EDUTec Learning. José Paulo Ferreira Lousado

Tecnologia de Sistemas Distribuídos Capítulo 8: Sistemas de Ficheiros Distribuídos Paulo Guedes

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

GLOSSÁRIO. ActiveX Controls. É essencialmente uma interface usada para entrada e saída de dados para uma aplicação.

P S I 2. º A N O F 5 M E S T R E / D E T A L H E E P E S Q U I S A. Criar uma relação mestre-detalhe. Pesquisa de informação

Conteúdo Programático de PHP

Sistemas Distribuídos

Departamento de Informática

1. Introdução. 2. A área de trabalho

Ajax Asynchronous JavaScript and Xml

Organizar a estrutura do site

Programação Cliente em Sistemas Web

Ajax não é dependente dos servidores Web, e como tal poderá ser usado com PHP, JSP, ASP e ASP.NET.

Web Services. (Introdução)

Tema Objetivos Conteúdos


Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

Desenvolvimento Web TCC Turma A-1

FCA - Editora de Informática

ASP.NET. Guia do Desenvolvedor. Felipe Cembranelli. Novatec Editora.

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

MANUAL DO UTILIZADOR DE REDE

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS (GRUPO INFORMÁTICA) Ano Letivo de 2014/2015 MÓDULO 1 FOLHA DE CÁLCULO

Conteúdo Dinâmico. Introdução. Interação Browser x Servidor Web. Interação Browser x Servidor Web

Fichas de Apoio/Trabalho

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

Capítulo 4. Programação em ASP

Programação em ASP.net

DSS 09/10. DSS 09/10 Que métodos é que fazem parte de cada camada? Aplicações Multi-camada JDBC. Aula 3 DSS 09/10

Tecnologias para apresentação de dados - Java Script. Aécio Costa

0,5 pelo negrito das palavras ID, Nome, e Analisar em outro momento.

Aula 06 Usando controles em ASP.NET

Estudar a Internet. As soluções da Marktest

Programação de Sistemas

Transcrição:

Introdução ao ASP.NET Miguel Isidoro Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET 1

ASP Razões do Sucesso Modelo de programação simples Acesso a objectos COM (ADO, etc) VBScript aproveitamento de conhecimentos de VB Suporta várias linguagens de scripting (VBScript, Javascript,,...) ASP Limitações Código é interpretado, não é compilado Mistura HTML e código de servidor Lock de DLLs Instalação Complexa Registo de DLLs Falta de mecanismo de depuração ( debug debug ) 2

ASP Desafios Código Legível Postback Complexo Reutilização de Código Desempenho Mecanismo de depuração ( debug debug ) Instalação Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET 3

ASP.NET Modelo de Execução ASP.NET Arquitectura 1º Pedido.ASPX Compilada.ASPX 4

ASP.NET Arquitectura Pedidos Seguintes.ASPX Compilada.ASPX ASP.NET Arquitectura Página Modificada.ASPX Compilada.ASPX 5

ASP.NET Funcionalidades e Vantagens Páginas ASPX e ASP em simultâneo Páginas compiladas Melhor Desempenho Suporte para múltiplas linguagens Server Controls Web Services Caching Sessões Cookie-Less ASP.NET Funcionalidades e Vantagens Segurança Melhorada Windows Authentication Forms Authentication Passport Authentication Fácil Instalação e Configuração User Controls Fim do Lock de DLLs Fim do Registo de DLLs 6

Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET Server Controls Controlos com comportamento embutido Modelo de programação Server Side Propriedades Métodos Eventos Compatibilidade automática entre browsers Menos código e menor complexidade 7

Server Controls Server Controls divididos em dois grandes conjuntos: HTML Controls Web Controls Server Controls HTML Controls Aspecto de um controlo HTML Adição do atributo runat= server <input id= MyCmd type= button runat= server onserverclick= SubmitFrm > <input id= txtnome type= text runat= server > ID identificador do controlo Runat permite o processamento no servidor Onserverclick identifica evento no servidor 8

Server Controls Web Controls Incluem controlos HTML mais comuns Controlos de funções avançadas <asp:button id= MyCmd Runat= server OnClick= SubmitFrm /> <asp:textbox id= MyCmd Runat= server /> ID identificador do controlo Runat permite o processamento no servidor OnClick identifica evento no servidor Server Controls Web Controls Web Controls divididos em quatro grandes conjuntos: Intrinsic Controls controlos HTML mais comuns Rich Controls - controlos HTML de contéudo rico Ex: Calendar Validation Controls controlos para validação de forms List Controls controlos bounded bounded, permitem visualização de dados de um data source com templates HTML Ex: DataGrid e Repeater 9

Server Controls HTML Controls vs Web Controls* Web Controls têm propriedades, métodos e eventos comuns Web Controls apenas contêm eventos de servidor HTML Controls contêm eventos de servidor e de cliente * Intrinsic Web Controls Server Controls Forms <form id= form1 runat= server > <asp:button id= MyCmd Runat= server OnClick= SubmitFrm /> <asp:textbox id= txtnome txtnome Runat= server /> </form> <script language="c#" runat= server > void SubmitFrm(Object sender, EventArgs e) { Response.Write ( Hello + txtnome.text); } </script> 10

Server Controls Forms - PostBack O objecto é automaticamente preenchido no servidor com os dados do cliente O O Form contém um controlo escondido ( VIEWSTATE) que guarda estado dos controlos Alterações nos valores dos controlos guardadas entre pedidos ao servidor Server Controls Validação Conjunto de controlos para validação de dados de um form Validação sem código Campo Obrigatório Dentro de um intervalo Igualdade entre dois campos (password( password) Expressões regulares (email( email) 11

Server Controls Demo HTML Controls Web Controls Form PostBack Validação Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET 12

Separação de Código e Apresentação Separação das camadas de apresentação e lógica aplicacional Pode ser efectuada de três formas: Code-Behind Pages User Controls Componentes Separação de Código e Apresentação Vantagens Separação de tarefas facilitada Cada elemento de uma equipa trabalha na sua parte sem interferir no trabalho dos outros Aumento de eficiência Utilização de editor preferido Utilização de poderosas ferramentas HTML para desenvolver interface 13

Separação de Código e Apresentação Code-Behind Pages Criação de dois ficheiros distintos WebForm Code-Behind Page O WebForm contém a camada de apresentação (.aspx aspx) A Code-Behind page contém a lógica aplicacional (.aspx.vb aspx.vb, aspx.cs,,...) Separação de Código e Apresentação Code-Behind Pages - Apresentação Contém o conjunto de elementos HTML que compõem a interface da aplicação Identificada pela directiva @Page no início da página <% @Page language= vb Inherits= Demo Src= Demo.vb %> 14

Separação de Código e Apresentação Code-Behind Pages Lógica Aplicacional Contém procedimentos e funções que dão corpo às funcionalidades da aplicação Public Class Demo Inherits System.Web.Ui.Page Public Function Page_Load(Sender as Object, e as EventArgs) código a ser executado quando página é lida End Function End Class Separação de Código e Apresentação User Controls Página ASP.NET incorporada como um Server Control Particionamento da interface Reutilização de partes comuns da interface da aplicação Não são pré-compilados, apenas compilados no primeiro acesso à página 15

Separação de Código e Apresentação User Controls - Vantagens Providenciam separação de identificação dos controlos da página Reutilizáveis na mesma página sem confiltos de identificação Possibilidade de desenvolvimento em linguagem diferente da utilizada na página Separação de Código e Apresentação User Controls Criação Utilizam a extensão.ascx. Identificados pela directiva @Control <% Control language= C# %> Não contém elementos <HTML>, <BODY> e <FORM> Possuem código para processamento de eventos 16

Separação de Código e Apresentação User Controls Utilização Utilizado como um server control <%Page Language= vb vb > <% @Register TagPrefix= Demo TagName= Header Src= = Header.ascx %> <FORM runat="server"> <Demo:Header id= Header1 Runat= server /> Nome: <INPUT id= Nome type="text" runat="server"/> </FORM> Separação de Código e Apresentação Componentes Criação de aplicações com várias camadas ( multi multi-tiered ) Encapsulamento de lógica de acesso a dados Maior nível de abstracção para programadores Estruturação do código Reutilização 17

Separação de Código e Apresentação Componentes - ASP e DLLs Locks a DLLs DLLs residentes na memória do servidor Web quando lida a página Shutdown do servidor Web sempre que existe alteração ao componente Necessidade de registo de DLLs Impossibilidade da existência de mais do que um componente com o mesmo nome Separação de Código e Apresentação Componentes DLLs com.net Não existe necessidade de registo São colocadas na directoria./bin Não existe lock de DLLs Shadow Copy Possibilidade de várias DLLs com o mesmo nome em aplicações diferentes Área de acção do componente limitada à aplicação Actualização facilitada 18

Separação de Código e Apresentação Demo Code-Behind Pages User Controls Componentes Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET 19

Acesso a Dados ASP Privilegia o acesso a base de dados Modelo de acesso a dados com ligação permanente à base de dados (ADO) Perda de desempenho das aplicações com aumento de tráfego Grande ocupação da largura de banda da rede e recursos do servidor Acesso a Dados ASP.NET Permite acesso a múltiplas fontes de dados (BD, XML,...) Modelo de acesso a dados desligado da fonte de dados (ADO.NET) Não existe perda de desempenho das aplicações com aumento de tráfego Menor ocupação da largura de banda da rede e recursos do servidor 20

Acesso a Dados Modelo de Objectos ADO.NET Acesso a Dados ADO.NET DataSet Authors Connection DataAdapter Select from authors Database Authors 21

Acesso a Dados ADO.NET DataSet Authors Publishers Connection DataAdapter Select from publishers Database Publishers Acesso a Dados ADO.NET DataSet Authors Publishers DataGrid Repeater DataList DataView 22

Acesso a Dados ADO vs ADO.NET Característica Nº Tabelas Relacionamentos Navegação Dados Ligação Fonte Dados Transmissão Dados Recordset 1 Baseados em Joins Registo a registo Ligado / Desligado COM Marshalling Dataset Múltiplas Inclui Relacionamentos Via Relacionamentos Desligado XML Acesso a Dados Demo ADO.NET DataGrid Repeater XML 23

Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET Web Services Web Hoje Pedido Página Página Devolvida Desenhada para navegação! 24

Web Services Web Hoje Comunicação Aplicações?? Comunicação entre servidores é o problema! Web Services O que são? Permitem a comunicação entre aplicações na Web Independentes da plataforma Independentes da linguagem Independentes de modelos de objectos Utilizam normas Internet HTTP SOAP XML 25

Web Services Modelo de Execução Web Services Criação Utilizam a extensão.asmx. Identificados pela directiva @WebService Definição de classe e métodos declarados como <WebMethods< WebMethods> <% WebService Language= C# Class= Soma2Num %> using System.Web.Services; Public Class Soma2Num <WebMethod()> int Soma(int Num1, int Num2) { return Num1 + Num2; } End Class 26

Web Services Invocação directa Browser Soma.asmx HTTP XML Página HTML Teste.ASMX Web Services Invocação com proxy HTTP HTTP SOAP Proxy DLL DLL SOAP.ASMX 27

Web Services UDDI* Permite a pesquisa de Web Services Registo distribuído em XML Contém lista de empresas e descrição dos Web Services disponibilizados * UDDI Universal Description, Discovery and Integration Web Services Demo Criação de um Web Service Teste de um Web Service Criação de um proxy no cliente Utilizar Web Service em aplicação Web 28

Agenda ASP ASP.NET Server Controls Separação de Código e Apresentação Acesso a Dados Web Services Aplicações Web ASP.NET Aplicações Web ASP.NET Instalação Instalação simplificada Componentes na directoria./bin DLLs sem registo Criação da aplicação no servidor Web Desinstalação Apenas apagar ficheiros da aplicação Remover aplicação do servidor Web 29

Aplicações Web ASP.NET Web.Config Ficheiro de configuração da aplicação Utiliza o formato XML Algumas Configurações Segurança Autenticação Autorização Debugging Tracing Extensível Aplicações Web ASP.NET Partilha de Informação Variáveis de sessão Maior número de eventos Sessões Cookie-Less SessionID é codificado no URL Cache Tempo de vida igual ao da aplicação Web.Config Variáveis ao nível da aplicação 30

Aplicações Web ASP.NET Requisitos Instalar a Framework.NET Para facililitar o desenvolvimento, instalar o Visual Studio.NET Aplicações Web ASP.NET Mais Recursos http://msdn.microsoft.com www.microsoft.com/net www.asp.net www.gotdotnet.com 31

Introdução ao ASP.NET Fim da apresentação Questões? 32