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

Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

Embed Size (px)

Citation preview

Page 1: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

1

Introdução ao ASP.NETIntrodução ao ASP.NET

Miguel IsidoroMiguel Isidoro

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Page 2: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

2

ASPASPRazões do SucessoRazões do Sucesso

ØØModelo de programação simplesModelo de programação simplesØØAcesso a objectos COM (ADO, Acesso a objectos COM (ADO, etcetc))ØØVBScriptVBScript –– aproveitamento de aproveitamento de

conhecimentos de VBconhecimentos de VBØØSuporta várias linguagens de Suporta várias linguagens de scriptingscripting

((VBScriptVBScript, , JavascriptJavascript, ...), ...)

ØØCódigo é interpretado, não é Código é interpretado, não é compiladocompiladoØØMistura HTML e código de servidorMistura HTML e código de servidorØØLockLock de de DLLsDLLsØØInstalação ComplexaInstalação Complexaüü Registo de Registo de DLLsDLLs

ØØFalta de mecanismo de depuração Falta de mecanismo de depuração (“(“debugdebug”)”)

ASPASPLimitaçõesLimitações

Page 3: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

3

ASPASPDesafiosDesafios

ØØCódigo LegívelCódigo LegívelØØPostbackPostback ComplexoComplexoØØReutilização de CódigoReutilização de CódigoØØDesempenhoDesempenhoØØMecanismo de depuração (“Mecanismo de depuração (“debugdebug”)”)ØØInstalaçãoInstalação

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Page 4: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

4

ASP.NETASP.NETModelo de ExecuçãoModelo de Execução

.ASPX.ASPX.ASPXCompilada

.ASPXCompilada

ASP.NETASP.NETArquitecturaArquitectura

1º Pedido1º Pedido

Page 5: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

5

.ASPX.ASPX.ASPXCompilada

.ASPXCompilada

ASP.NETASP.NETArquitecturaArquitectura

Pedidos SeguintesPedidos Seguintes

.ASPX.ASPX.ASPXCompilada

.ASPXCompilada .ASPX.ASPX.ASPXCompilada

.ASPXCompilada

ASP.NETASP.NETArquitecturaArquitectura

Página ModificadaPágina Modificada

Page 6: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

6

ASP.NETASP.NETFuncionalidades e VantagensFuncionalidades e Vantagens

ØØPáginas ASPX e ASP em simultâneoPáginas ASPX e ASP em simultâneoØØPáginas compiladasPáginas compiladasØØMelhor DesempenhoMelhor DesempenhoØØSuporte para múltiplas linguagensSuporte para múltiplas linguagensØØServer Server ControlsControlsØØWeb Web ServicesServicesØØCachingCachingØØSessões Sessões CookieCookie--LessLess

ASP.NET ASP.NET Funcionalidades e VantagensFuncionalidades e Vantagens

ØØSegurança MelhoradaSegurança Melhoradaüü Windows Windows AuthenticationAuthenticationüü FormsForms AuthenticationAuthenticationüü PassportPassport AuthenticationAuthentication

ØØFácil Instalação e ConfiguraçãoFácil Instalação e ConfiguraçãoØØUserUser ControlsControlsØØFim do Fim do LockLock de de DLLsDLLsØØFim do Registo de Fim do Registo de DLLsDLLs

Page 7: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

7

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Server Server ControlsControls

ØØControlos com comportamento Controlos com comportamento embutidoembutidoØØModelo de programação Server Modelo de programação Server SideSideüü PropriedadesPropriedadesüü MétodosMétodosüü EventosEventos

ØØCompatibilidade automática entre Compatibilidade automática entre browsersbrowsersØØMenos código e menor complexidadeMenos código e menor complexidade

Page 8: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

8

Server Server ControlsControls

ØØServer Server ControlsControls divididos em dois divididos em dois grandes conjuntos:grandes conjuntos:

üü HTML HTML ControlsControlsüü Web Web ControlsControls

Server Server ControlsControlsHTML HTML ControlsControls

ØØAspecto de um controlo HTMLAspecto de um controlo HTMLØØAdição do atributo Adição do atributo runat=“serverrunat=“server””

<<inputinput id=“MyCmdid=“MyCmd” ” type=“buttontype=“button” ” runat=“serverrunat=“server” ” onserverclick=“SubmitFrmonserverclick=“SubmitFrm”>”>

<<inputinput id=“txtNomeid=“txtNome” ” type=“texttype=“text” ” runat=“serverrunat=“server”>”>

ID ID –– identificador do controloidentificador do controloRunatRunat –– permite o processamento no servidorpermite o processamento no servidorOnserverclickOnserverclick –– identifica evento no servidoridentifica evento no servidor

Page 9: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

9

Server Server ControlsControlsWeb Web ControlsControls

ØØIncluem controlos HTML mais comunsIncluem controlos HTML mais comunsØØControlos de funções avançadasControlos de funções avançadas

<<asp:Buttonasp:Button id=“MyCmdid=“MyCmd” ” Runat=“serverRunat=“server” ” OnClick=“SubmitFrmOnClick=“SubmitFrm” />” />

<<asp:TextBoxasp:TextBox id=“MyCmdid=“MyCmd” ” Runat=“serverRunat=“server” />” />

ID ID –– identificador do controloidentificador do controloRunatRunat –– permite o processamento no servidorpermite o processamento no servidorOnClickOnClick –– identifica evento no servidoridentifica evento no servidor

Server Server ControlsControlsWeb Web ControlsControls

ØØWeb Web ControlsControls divididos em quatro grandes divididos em quatro grandes conjuntos:conjuntos:

üü IntrinsicIntrinsic ControlsControls –– controlos HTML mais comunscontrolos HTML mais comuns

üü RichRich ControlsControls -- controlos HTML de controlos HTML de contéudocontéudo ricoricovv ExEx: : CalendarCalendar

üü ValidationValidation ControlsControls –– controlos para validação de controlos para validação de formsforms

üü ListList ControlsControls –– controlos “controlos “boundedbounded”, permitem ”, permitem visualização de dados de um “data visualização de dados de um “data sourcesource” com ” com templatestemplatesHTMLHTMLvv ExEx: : DataGridDataGrid e e RepeaterRepeater

Page 10: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

10

Server Server ControlsControlsHTML HTML ControlsControls vsvs Web Web Controls*Controls*

ØØWeb Web ControlsControls têm propriedades, têm propriedades, métodos e eventos comunsmétodos e eventos comunsØØWeb Web ControlsControls apenas contêm eventos apenas contêm eventos

de servidorde servidorØØHTML HTML ControlsControls contêm eventos de contêm eventos de

servidor e de clienteservidor e de cliente

* * IntrinsicIntrinsic Web Web ControlsControls

Server Server ControlsControlsFormsForms

<form id=“form1” <form id=“form1” runatrunat=“server”>=“server”><<asp:Buttonasp:Button id=“MyCmdid=“MyCmd” ” Runat=“serverRunat=“server” ” OnClick=“SubmitFrmOnClick=“SubmitFrm” />” /><<asp:TextBoxasp:TextBox id=“id=“txtNometxtNome” ” Runat=“serverRunat=“server” />” />

</form></form>

<script language="C#" <script language="C#" runatrunat=“server”>=“server”>

void void SubmitFrm(ObjectSubmitFrm(Object sender, sender, EventArgsEventArgs e) {e) {Response.WriteResponse.Write (“Hello” + (“Hello” + txtNome.TexttxtNome.Text); }); }

</script></script>

Page 11: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

11

Server Server ControlsControlsFormsForms -- PostBackPostBack

ØØO O objectoobjecto é é automaticamenteautomaticamentepreenchidopreenchido no no servidorservidor com com osos dados dados do do clienteclienteØØO Form O Form contémcontém um um controlocontrolo escondidoescondido

(__VIEWSTATE) (__VIEWSTATE) queque guardaguarda estadoestadodos dos controloscontrolosØØAlteraçõesAlterações nosnos valoresvalores dos dos controloscontrolos

guardadasguardadas entreentre pedidospedidos aoao servidorservidor

Server Server ControlsControlsValidaçãoValidação

ØØConjunto de controlos para validação Conjunto de controlos para validação de dados de um de dados de um formformØØValidação sem códigoValidação sem códigoüüCampo ObrigatórioCampo ObrigatórioüüDentro de um intervaloDentro de um intervaloüüIgualdade entre dois campos (Igualdade entre dois campos (passwordpassword))üüExpressões regulares (Expressões regulares (emailemail))

Page 12: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

12

Server Server ControlsControlsDemoDemo

ØØHTML HTML ControlsControlsØØWeb Web ControlsControlsØØFormForm PostBackPostBackØØValidaçãoValidação

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Page 13: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

13

Separação de Código e Separação de Código e ApresentaçãoApresentação

ØØSeparação das camadas de Separação das camadas de apresentação e lógica aplicacionalapresentação e lógica aplicacionalØØPode ser efectuada de três formas:Pode ser efectuada de três formas:üü CodeCode--BehindBehind PagesPagesüü UserUser ControlsControlsüü ComponentesComponentes

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoVantagensVantagens

ØØSeparação de tarefas facilitadaSeparação de tarefas facilitadaüüCada elemento de uma equipa trabalha Cada elemento de uma equipa trabalha

na sua parte sem interferir no trabalho na sua parte sem interferir no trabalho dos outrosdos outros

ØØAumento de eficiênciaAumento de eficiênciaüüUtilização de editor preferidoUtilização de editor preferido

ØØUtilização de poderosas ferramentas Utilização de poderosas ferramentas HTML para desenvolver interfaceHTML para desenvolver interface

Page 14: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

14

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoCodeCode--BehindBehind PagesPages

ØØCriação de dois ficheiros distintosCriação de dois ficheiros distintosüü WebFormWebFormüü CodeCode--BehindBehind PagePage

ØØO O WebFormWebForm contém a camada de contém a camada de apresentação (.apresentação (.aspxaspx))ØØA A CodeCode--BehindBehind pagepage contém a lógica contém a lógica

aplicacional (.aplicacional (.aspx.vbaspx.vb, , aspx.csaspx.cs, ...), ...)

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoCodeCode--BehindBehind PagesPages -- ApresentaçãoApresentação

ØØContém o conjunto de elementos Contém o conjunto de elementos HTML que compõem a interface da HTML que compõem a interface da aplicaçãoaplicaçãoØØIdentificada pela directiva Identificada pela directiva @Page@Page no no

início da páginainício da página

<% <% @Page@Page language=“vblanguage=“vb” ” Inherits=“DemoInherits=“Demo” ” Src=“Demo.vbSrc=“Demo.vb” %>” %>

Page 15: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

15

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoCodeCode--BehindBehind PagesPages –– Lógica AplicacionalLógica Aplicacional

ØØContém procedimentos e funções que Contém procedimentos e funções que dão corpo às funcionalidades da dão corpo às funcionalidades da aplicaçãoaplicação

Public Class Demo Inherits Public Class Demo Inherits System.Web.Ui.PageSystem.Web.Ui.PagePublic Function Public Function Page_Load(SenderPage_Load(Sender as Object, e as Object, e

as as EventArgsEventArgs))’código a ser executado quando página é lida’código a ser executado quando página é lida

End FunctionEnd FunctionEnd ClassEnd Class

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoUserUser ControlsControls

ØØPágina ASP.NET incorporada como um Página ASP.NET incorporada como um “Server “Server ControlControl””ØØParticionamentoParticionamento da interfaceda interfaceØØReutilização de partes comuns da Reutilização de partes comuns da

interface da aplicaçãointerface da aplicaçãoØØNão são préNão são pré--compilados, apenas compilados, apenas

compilados no primeiro acesso à compilados no primeiro acesso à páginapágina

Page 16: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

16

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoUserUser ControlsControls -- VantagensVantagens

ØØProvidenciam separação de Providenciam separação de identificação dos controlos da páginaidentificação dos controlos da páginaØØReutilizáveis na mesma página sem Reutilizáveis na mesma página sem

confiltosconfiltos de identificaçãode identificaçãoØØPossibilidade de desenvolvimento em Possibilidade de desenvolvimento em

linguagem diferente da utilizada na linguagem diferente da utilizada na páginapágina

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoUserUser ControlsControls –– CriaçãoCriação

ØØUtilizam a extensão .Utilizam a extensão .ascxascxØØIdentificados pela directiva Identificados pela directiva @Control@Control

<% <% ControlControl language=“C#language=“C#” %>” %>

ØØNão contém elementos <HTML>, Não contém elementos <HTML>, <BODY> e <FORM><BODY> e <FORM>ØØPossuem código para processamento Possuem código para processamento

de eventosde eventos

Page 17: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

17

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoUserUser ControlsControls –– UtilizaçãoUtilização

ØØUtilizado como um “server Utilizado como um “server controlcontrol””

<%Page Language=”<%Page Language=”vbvb”>”><% @Register <% @Register TagPrefixTagPrefix=”Demo” =”Demo” TagNameTagName=”Header” =”Header” SrcSrc=”=”Header.ascxHeader.ascx” %>” %><FORM <FORM runatrunat="server">="server"><<Demo:HeaderDemo:Header id=”Header1” id=”Header1” RunatRunat=”server”/>=”server”/>Nome: <INPUT id=”Nome” type="text" Nome: <INPUT id=”Nome” type="text" runatrunat="server"/>="server"/></FORM></FORM>

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoComponentesComponentes

ØØCriação de aplicações com várias Criação de aplicações com várias camadas (“camadas (“multimulti--tieredtiered”)”)ØØEncapsulamento de lógica de acesso a Encapsulamento de lógica de acesso a

dadosdadosØØMaior nível de abstracção para Maior nível de abstracção para

programadoresprogramadoresØØEstruturação do códigoEstruturação do códigoØØReutilizaçãoReutilização

Page 18: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

18

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoComponentes Componentes -- ASP e ASP e DLLsDLLs

ØØLocksLocks a a DLLsDLLsüüDLLsDLLs residentes na memória do servidor residentes na memória do servidor

Web quando lida a páginaWeb quando lida a páginaüüShutdownShutdown do servidor Web sempre que do servidor Web sempre que

existe alteração ao componenteexiste alteração ao componente

ØØNecessidade de registo de Necessidade de registo de DLLsDLLsüüImpossibilidade da existência de mais do Impossibilidade da existência de mais do

que um componente com o mesmo nomeque um componente com o mesmo nome

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoComponentes Componentes –– DLLsDLLs com .NETcom .NET

ØØNão existe necessidade de registoNão existe necessidade de registoüüSão colocadas na directoria ./São colocadas na directoria ./binbin

ØØNão existe Não existe locklock de de DLLsDLLsüüShadowShadow CopyCopy

ØØPossibilidade de várias Possibilidade de várias DLLsDLLs com o com o mesmo nome em aplicações diferentesmesmo nome em aplicações diferentesüüÁrea de acção do componente limitada à Área de acção do componente limitada à

aplicaçãoaplicação

ØØActualização facilitadaActualização facilitada

Page 19: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

19

Separação de Código e ApresentaçãoSeparação de Código e ApresentaçãoDemoDemo

ØØCodeCode--BehindBehind PagesPagesØØUserUser ControlsControlsØØComponentesComponentes

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Page 20: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

20

Acesso a DadosAcesso a DadosASPASP

ØØPrivilegia o acesso a base de dadosPrivilegia o acesso a base de dadosØØModelo de acesso a dados com ligação Modelo de acesso a dados com ligação

permanente à base de dados (ADO)permanente à base de dados (ADO)ØØPerda de desempenho das aplicações Perda de desempenho das aplicações

com aumento de tráfegocom aumento de tráfegoØØGrande ocupação da largura de banda Grande ocupação da largura de banda

da rede e recursos do servidorda rede e recursos do servidor

Acesso a DadosAcesso a DadosASP.NETASP.NET

ØØPermite acesso a múltiplas fontes de Permite acesso a múltiplas fontes de dados (BD, XML, ...)dados (BD, XML, ...)ØØModelo de acesso a dados desligado da Modelo de acesso a dados desligado da

fonte de dados (ADO.NET)fonte de dados (ADO.NET)ØØNão existe perda de desempenho das Não existe perda de desempenho das

aplicações com aumento de tráfegoaplicações com aumento de tráfegoØØMenor ocupação da largura de banda Menor ocupação da largura de banda

da rede e recursos do servidorda rede e recursos do servidor

Page 21: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

21

Acesso a DadosAcesso a DadosModelo de Objectos ADO.NETModelo de Objectos ADO.NET

Acesso a DadosAcesso a DadosADO.NETADO.NET

AuthorsAuthorsAuthorsConnectionConnection

DatabaseDatabase

DataAdapterDataAdapter

DataSetDataSet

Select … from authorsSelect … from authors

AuthorsAuthors

Page 22: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

22

PublishersPublishersPublishersConnectionConnection

DatabaseDatabase

DataAdapterDataAdapter

DataSetDataSet

Select … from Select … from publisherspublishers

AuthorsAuthors

PublishersPublishers

Acesso a DadosAcesso a DadosADO.NETADO.NET

DataSetDataSetAuthorsAuthors

PublishersPublishers

DataViewDataView

DataGridDataGrid

DataListDataList

RepeaterRepeater

Acesso a DadosAcesso a DadosADO.NETADO.NET

Page 23: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

23

Acesso a DadosAcesso a DadosADO ADO vsvs ADO.NETADO.NET

XMLXMLCOM COM MarshallingMarshallingTransmissão DadosTransmissão Dados

DesligadoDesligadoLigado / DesligadoLigado / DesligadoLigação Fonte Ligação Fonte DadosDados

Via RelacionamentosVia RelacionamentosRegisto a registoRegisto a registoNavegação DadosNavegação Dados

Inclui Inclui RelacionamentosRelacionamentosBaseados em Baseados em JoinsJoinsRelacionamentosRelacionamentos

MúltiplasMúltiplas11Nº TabelasNº Tabelas

DatasetDatasetRecordsetRecordsetCaracterísticaCaracterística

Acesso a DadosAcesso a DadosDemoDemo

ØØADO.NETADO.NETØØDataGridDataGridØØRepeaterRepeaterØØXMLXML

Page 24: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

24

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

DesenhadaDesenhada para para navegaçãonavegação !!

Web Web ServicesServicesWebWeb HojeHoje

PedidoPedido PáginaPágina

PáginaPágina DevolvidaDevolvida

Page 25: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

25

ComunicaçãoComunicação entreentre servidoresservidores é o é o problemaproblema!!

Web Web ServicesServicesWebWeb HojeHoje

ComunicaçãoComunicaçãoAplicaçõesAplicações ??

Web Web ServicesServicesO que são?O que são?

ØØPermitem a comunicação entre Permitem a comunicação entre aplicações na Webaplicações na WebØØIndependentes da plataformaIndependentes da plataformaØØIndependentes da linguagemIndependentes da linguagemØØIndependentes de modelos de objectosIndependentes de modelos de objectosØØUtilizam normas InternetUtilizam normas InternetüüHTTPHTTPüüSOAPSOAPüüXMLXML

Page 26: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

26

Web Web ServicesServicesModelo de ExecuçãoModelo de Execução

Web Web ServicesServicesCriaçãoCriação

ØØUtilizam a extensão .Utilizam a extensão .asmxasmxØØIdentificados pela directiva Identificados pela directiva @WebService@WebServiceØØDefinição de classe e métodos Definição de classe e métodos

declarados como <declarados como <WebMethodsWebMethods>>

<% <% WebServiceWebService Language=”C#” Class=”Soma2Num”%>Language=”C#” Class=”Soma2Num”%>using using System.Web.ServicesSystem.Web.Services;;Public Class Soma2NumPublic Class Soma2Num

<<WebMethodWebMethod()>()> intint Soma(intSoma(int Num1, Num1, intint Num2) {Num2) {return Num1 + Num2;return Num1 + Num2;

}}End ClassEnd Class

Page 27: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

27

Web Web ServicesServicesInvocação directaInvocação directa

.ASMX.ASMX.ASMX

BrowserBrowserSoma.asmxSoma.asmx HTTPHTTP

PáginaPágina HTML HTML TesteTeste

XMLXML

Web Web ServicesServicesInvocação com proxyInvocação com proxy

.ASMX.ASMX.ASMXProxy DLL

Proxy Proxy DLLDLL

HTTPHTTP

SOAPSOAP

SOAPSOAPHTTPHTTP

Page 28: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

28

Web Web ServicesServicesUDDI*UDDI*

ØØPermite a pesquisa de Web Permite a pesquisa de Web ServicesServicesØØRegisto distribuído em XMLRegisto distribuído em XMLØØContém lista de empresas e descrição Contém lista de empresas e descrição

dos Web dos Web ServicesServices disponibilizadosdisponibilizados

* UDDI * UDDI –– Universal Description, Discovery and IntegrationUniversal Description, Discovery and Integration

Web Web ServicesServicesDemoDemo

ØØCriação de um Web Criação de um Web ServiceServiceØØTeste de um Web Teste de um Web ServiceServiceØØCriação de um proxy no clienteCriação de um proxy no clienteØØUtilizar Web Utilizar Web ServiceService em aplicação Webem aplicação Web

Page 29: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

29

AgendaAgenda

ØØASPASPØØASP.NETASP.NETØØServer Server ControlsControlsØØSeparação de Código e ApresentaçãoSeparação de Código e ApresentaçãoØØAcesso a DadosAcesso a DadosØØWeb Web ServicesServicesØØAplicações Web ASP.NETAplicações Web ASP.NET

Aplicações Web ASP.NETAplicações Web ASP.NETInstalaçãoInstalação

ØØInstalação simplificadaInstalação simplificadaüü Componentes na directoria ./Componentes na directoria ./binbinüü DLLsDLLs sem registosem registoüü Criação da aplicação no servidor WebCriação da aplicação no servidor Web

ØØDesinstalaçãoDesinstalaçãoüü Apenas apagar ficheiros da aplicaçãoApenas apagar ficheiros da aplicaçãoüü Remover aplicação do servidor WebRemover aplicação do servidor Web

Page 30: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

30

Aplicações Web ASP.NETAplicações Web ASP.NETWeb.ConfigWeb.Config

ØØFicheiro de configuração da aplicaçãoFicheiro de configuração da aplicaçãoØØUtiliza o formato XMLUtiliza o formato XMLØØAlgumas ConfiguraçõesAlgumas Configuraçõesüü SegurançaSegurançavv AutenticaçãoAutenticaçãovv AutorizaçãoAutorização

üü DebuggingDebuggingüü TracingTracing

ØØExtensívelExtensível

Aplicações Web ASP.NETAplicações Web ASP.NETPartilha de InformaçãoPartilha de Informação

ØØVariáveis de sessãoVariáveis de sessãoüü Maior número de eventosMaior número de eventosüü Sessões Sessões CookieCookie--LessLessvv SessionIDSessionID é codificado no URLé codificado no URL

ØØCacheCacheüü Tempo de vida igual ao da aplicaçãoTempo de vida igual ao da aplicação

ØØWeb.ConfigWeb.Configüü Variáveis ao nível da aplicaçãoVariáveis ao nível da aplicação

Page 31: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

31

Aplicações Web ASP.NETAplicações Web ASP.NETRequisitosRequisitos

ØØInstalar a Instalar a FrameworkFramework .NET.NETØØPara Para facililitarfacililitar o desenvolvimento, o desenvolvimento,

instalar o Visual instalar o Visual StudioStudio .NET.NET

Aplicações Web ASP.NETAplicações Web ASP.NETMais RecursosMais Recursos

ØØhttp://msdn.microsoft.comhttp://msdn.microsoft.comØØwww.microsoft.com/netwww.microsoft.com/netØØwww.asp.netwww.asp.netØØwww.gotdotnet.comwww.gotdotnet.com

Page 32: Introdução ao ASP - Departamento de Engenharia ... · ØModelo de programação Server Side üPropriedades üMétodos üEventos

32

Introdução ao ASP.NETIntrodução ao ASP.NETFim da apresentaçãoFim da apresentação

Questões?Questões?