40
Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva [email protected]

Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva [email protected]

Embed Size (px)

Citation preview

Page 1: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Capacitação ProfissionalWoopi-FACENS

Módulo Web

Rodrigo Cristiano Silva

[email protected]

Page 2: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Principais serviços oferecidos pela Internet

Serviço Protocolos

World Wide Web HTTP / HTTPS / SOAP

Correio Eletrônico SMTP / POP / IMAP

Troca de Arquivos FTP / SFTP / FTPS

Mensagem Instantânea Sockets

Page 3: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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.

Page 4: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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.

Page 5: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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:

Page 6: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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.

Page 7: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Como funcionam aplicações Web?

Page 8: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

HTTPHyperText Transfer Protocol

“Protocolo de aplicação que possui um conjunto de regras definidas para comunicação entre

servidores e navegadores Web”

Page 9: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

A plataforma Web

Page 10: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

HTMLHypertext 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 (<font>, <color>, 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

Page 11: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Plataforma .NET

Base Class Library

Common Language Specification

Common Language Runtime

Data and XML

VB C++ C#

Visu

al Stu

dio

.NE

T

ASP.NET

JScript …

Windows Forms

Page 12: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 13: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 14: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Partes de uma Aplicação ASP.NET

Parte Tipos de arquivos Descrição

Conteúdo Web 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ógico Arquivos 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ção Arquivo 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.

Page 15: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 16: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Componentes do Web Form

Componente Exemplos Descrição

Server controls TextBox, Label, Button, ListBox, DropDownList

Estes controles respondem a eventos do usuário rodando procedures no servidor. Server controls podem manter seu estado.

HTML controls TextArea, 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 controls SqlConnection, SqlCommand, OleDbConnection, OleDbCommand, DataSet

Data controls oferecem maneiras para se conectar, executar comandos e recuperar dados de BDs e arquivos XML

System components

FileSystemWatcher, EventLog, MessageQueue

Estes componentes oferecem acesso à vários eventos de sistema que ocorrem no servidor

Page 17: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 18: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 19: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

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

Page 20: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

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

Page 21: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 22: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Preservando dados de um Web Form

Page 23: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 24: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 25: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Tecnologias Web

Eventos dos Server Controls

Page 26: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

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

Page 27: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

O que é o ADO.NET?

O ADO.NET permite interagir com bancos de dados relacionais e outras fontes de dados

O ADO.NET é a tecnologia que as aplicações ASP.NET usam para se comunicar com bancos de dados, caso precisem adicionar, atualizar, apagar ou recuperar registros

O ADO.NET possui uma família de objetos que provêm todas essas funcionalidades

Page 28: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Data Providers

A Microsoft oferece os quatro providers abaixo:

SQL Server provider: oferece acesso otimizado ao banco de dados SQL Server (versão 7.0 ou superior)

OLE DB provider: oferece acesso à qualquer fonte de dados que tenha um driver OLE DB

Oracle provider: oferece acesso otimizado ao banco de dados Oracle (versão 8i ou superior)

ODBC provider: oferece acesso à qualquer fonte de dados que tenha um driver ODBC

Page 29: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Os objetos dos ADO.NET Data Providers

SQL Server Provider

OLE DB Provider

Oracle Provider

ODBC Provider

Connection SqlConnection OleDbConnection OracleConnection OdbcConnection

Command SqlCommand OleDbCommand OracleCommand OdbcCommand

DataReader SqlDataReader OleDbDataReader OracleDataReader OdbcDataReader

DataAdapter SqlDataAdapter OleDbDataAdapter OracleDataAdapter OdbcDataAdapter

Page 30: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Objetos do SQL Server Data Provider SqlConnection

Antes de recuperar ou atualizar dados, é necessário criar uma conexão com a fonte de dados

Quando se cria um objeto Connection, é necessário definir um valor para sua propriedade ConnectionString

A string de conexão para um objeto SqlConnection é bastante similar ao exemplo abaixo: myConnection.ConnectionString = “Data Source=localhost; Initial

Catalog=Pubs; Integrated Security=SSPI”; Data Source: indica o nome do servidor onde a fonte de dados está

localizada Initial Catalog: é o nome do banco de dados que a conexão acessará Integrated Security: indica que será usado o usuário do Windows com o qual

roda a aplicação Web para se conectar ao SQL Server

Page 31: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Objetos do SQL Server Data Provider SqlCommand

Objetos Command representam comandos SQL Para usar um Command, é necessário definir as propriedades CommandText e

Connection

SqlDataReader Permite recuperar informações do banco de dados Suporta acesso forward-only e read-only Deve ser a primeira escolha para acessos somente leitura, devido à sua natureza

otimizada para esse tipo de acesso

SqlDataAdapter Usado no modelo de acesso à dados desconectado Pode armazenar os quatro comandos básicos SQL em suas propriedades:

SelectCommand, InsertCommand, UpdateCommand e DeleteCommand Dessa maneira, um único DataAdapter é usado para múltiplas tarefas

Page 32: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

DataSet

É um “banco de dados relacional na memória” É um dos principais objetos do modelo de acesso à

dados desconectado Suas características inovadoras são:

Trabalha de forma desconectada Pode armazenar mais de uma tabela Pode manter relacionamentos entre tabelas

Pode-se manter a conexão com o bando de dados fechada, pois o DataSet permite que se tenha uma cópia do banco de dados na memória

Page 33: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

DataSet

Page 34: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Acesso direto ou conectado

Page 35: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Acesso desconectado

Page 36: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Principais classes do ADO.NET

Classe Connection Propriedades

ConnectionString State

Métodos BeginTransaction( ) Close( ) Open( )

Classe Command Propriedades

CommandText CommandType Connection Parameters Transaction

Métodos ExecuteNonQuery( ) ExecuteReader( ) ExecuteScalar( )

Page 37: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Principais classes do ADO.NET

Classe DataReader Propriedades

FieldCount HasRows Item IsClosed

Métodos Close( ) Read( )

Classe DataAdapter Propriedades

DeleteCommand InsertCommand SelectCommand UpdateCommand

Métodos Fill( ) Update( )

Page 38: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Principais classes do ADO.NET Classe DataSet

Propriedades Relations Tables

Métodos AcceptChanges( ) Clear( ) GetChanges( ) Load( ) ReadXml( ) RejectChanges( ) Reset( ) WriteXml( )

Classe DataTable Propriedades

Columns DefaultView PrimaryKey Rows TableName

Métodos AcceptChanges( ) Clear( ) GetChanges( ) ImportRow( ) Load( ) NewRow( ) ReadXml( ) RejectChanges( ) Reset( ) Select( ) WriteXml( )

Page 39: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Principais classes do ADO.NET Classe DataRow

Propriedades Item RowState

Métodos AcceptChanges( ) Delete( ) GetChildRows( ) GetParentRow( ) RejectChanges( ) SetAdded( ) SetModified( )

Classe DataColumn Propriedades

AllowDBNull AutoIncrement AutoIncrementSeed AutoIncrementStep ColumnName DefaultValue Expression Unique

Métodos Nenhum método

extremamente significativo

Page 40: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br

Principais classes do ADO.NET

Classe DataRelation Propriedades

ChildColumns ChildKeyConstraint ChildTable ParentColumns ParentKeyConstraint ParentTable

Métodos Nenhum método extremamente significativo