Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva [email protected].
Transcript of Capacitação Profissional Woopi-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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/7.jpg)
Tecnologias Web
Como funcionam aplicações Web?
![Page 8: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/8.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/9.jpg)
Tecnologias Web
A plataforma Web
![Page 10: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/15.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/17.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/24.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/25.jpg)
Tecnologias Web
Eventos dos Server Controls
![Page 26: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/26.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/27.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/28.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/29.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/30.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/31.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/32.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/33.jpg)
DataSet
![Page 34: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/34.jpg)
Acesso direto ou conectado
![Page 35: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/35.jpg)
Acesso desconectado
![Page 36: Capacitação Profissional Woopi-FACENS Módulo Web Rodrigo Cristiano Silva rodrigo@woopi.com.br.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/36.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/37.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/38.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/39.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022070311/552fc10b497959413d8c2856/html5/thumbnails/40.jpg)
Principais classes do ADO.NET
Classe DataRelation Propriedades
ChildColumns ChildKeyConstraint ChildTable ParentColumns ParentKeyConstraint ParentTable
Métodos Nenhum método extremamente significativo