Programação Dinâmica
para Web
ProfºThyago Maia
Apresentação
Apresentação
▪ Professor: Thyago MaiaTavares de Farias
– Doutorando em Computação pelo Cin / UFPE
– Mestre em Informática pelo PPGI / DI / UFPB
– Bacharel em Ciência da Computação – UFPB
– Currículo Lattes: http://lattes.thyagomaia.net
– E-Mail: thyagomaia@gmail.com
3
Apresentação
▪ Foco da disciplina
– Apresentação de algumas das principais tecnologias
utilizadas no desenvolvimento de sistemas para aWeb.
▪ Aulas teóricas e práticas em laboratório
4
Apresentação
▪ Avaliações:
– 1ª avaliação:
▪ Prova convencional (escrita);
▪ Práticas em Laboratório;
▪ Notas de 0 a 5;
– 2ª avaliação:
▪ Prova convencional (escrita);
▪ Práticas em Laboratório;
▪ Notas de 0 a 5;
– Nota Final: Nota da 1ª avaliação + Nota da 2ª avaliação;
5
CONTEÚDO
A1
CONTEÚDO
A1 + A2
Apresentação
6
A1
10 a 16/04
A2
12 a 18/06
AF
25 a 29/06
VETERANOS
Apresentação
▪ O aluno será considerado aprovado se
obtiver nota final igual ou maior que 6,0 e
frequência igual ou superior a 75% nas
atividades acadêmicas;
▪ O discente que não obtiver nota final igual
ou superior a seis (6,0), submeter-se-á a
avaliação final (AF).
▪ A nota obtida na avaliação final substituirá a
menor nota de A1 ou A2.
7
A1 – 4,0
A2 – 1,0
AF PARA A2
2,0
AF – 6,0
Apresentação
▪ Caso a AF seja menor do que a nota a ser substituída (A1 ouA2), mantem-
se a maior nota. Exemplo:
8
A1 – 4,0
A2 – 1,0
AF PARA A2
0,0
AF – 4,0
A1 – 4,0
A2 – 1,0
AF PARA A2
0,0
AF – 5,0
AF = 1,0
A1 – 4,0
A2 – 2,0
AF PARA A2
2,0
AF – 6,0
AF = 2,0
Apresentação
▪ Findo o prazo de registro de notas e faltas no Sistema Acadêmico, às
avaliações escritas serão disponibilizadas aos alunos.
9
Avaliações
serão
devolvidas
aos alunos.
Após
encerras os
prazos de
registro.
Encerramento do
Semestre
05/07/2019 (V)
19/07/2019 (I)
Apresentação
▪ UnipêVirtual (Ferramenta de Educação a Distância)
– Material da disciplina (Slides, notas de aula, indicação de
livros, etc.);
– Divulgação e submissão das práticas em laboratório
(exercícios de fixação e de avaliação);
– Ferramenta para comunicação oficial (avisos, lembretes,
divulgação de datas, divulgação de notas, etc.);
– http://virtual.unipe.br
10
Apresentação
▪ Sites auxiliares:
– http://facebook.com/profthyagomaia
– http://twitter.com/thyagomaia
– http://slideshare.net/thyagomaia
– https://youtube.com/c/profothyagomaia
11
Apresentação
▪ Canal doYoutube:
– http://tinyurl.com/youtubethyago
12
Apresentação
▪ Softwares que serão utilizados no curso:
– Notepad++
– Xampp (a partir do 2º estágio);
13
Arquiteturas de
Sistemas Web
Arquiteturas de Sistemas Web
▪ Criação de Camadas
– Trata-se de uma quebra de sistemas de software;
– Benefícios:
▪ Facilita a compreensão do software como um todo;
▪ Compreensão única de partes de sistemas e como elas
interagem com as demais;
▪ Permite a independência entre os serviços de software;
– Facilita a manutenção, substituição e integração de camadas;
▪ Reduz o acoplamento entre diferentes partes de sistemas;
▪ Permite a definição de padrões;
▪ Pode-se compartilhar camadas entre software, serviços, etc.;
15
Arquiteturas de Sistemas Web
▪ As três camadas principais
16
Camada Responsabilidades
Apresentação Fornecimento de serviços;
Exibição de informações;
Tratamento de solicitações do usuário;
Lógica O real propósito do sistema;
Ponte entre as camadas de apresentação
e dados;
A camada “inteligente” do sistema;
Camada de Fonte e
Gerenciamento de Dados
Comunicação com bancos de dados;
Armazenamento de dados persistentes;
Arquiteturas de Sistemas Web
▪ As três principais camadas
– Cada camada resolve e cuida de problemas específicos;
– Cada camada envolve um componente;
– Cada componente é facilmente identificável;
– As camadas podem ser implementadas em um ou mais
computadores/servidores;
– A separação e o uso de camadas irá depender da
complexidade da aplicação em questão;
17
Arquiteturas de Sistemas Web
▪ As três camadas principais
18
Arquiteturas de Sistemas Web
▪ Exercício: Faça a correspondência entre as
tecnologiasWeb abaixo e em quais camadas elas
atuam :
1. SQL Server
2. CSS
3. JSP
( ) Camada de Apresentação
( ) Camada Lógica
( ) Camada de Gerenciamento de Dados
19
Arquiteturas de Sistemas Web
▪ Exercício: Faça a correspondência entre as
tecnologiasWeb abaixo e em quais camadas elas
atuam :
1. SQL Server
2. CSS
3. JSP
(2) Camada de Apresentação
(3) Camada Lógica
(1) Camada de Gerenciamento de Dados
20
Arquitetura de Sistemas Web
▪ Exercício: Faça a correspondência entre as
tecnologiasWeb abaixo e em quais camadas elas
atuam :
1. PHP
2. MySQL
3. HTML
( ) Camada de Apresentação
( ) Camada Lógica
( ) Camada de Gerenciamento de Dados
21
Arquitetura de Sistemas Web
▪ Exercício: Faça a correspondência entre as
tecnologiasWeb abaixo e em quais camadas elas
atuam :
1. PHP
2. MySQL
3. HTML
(3) Camada de Apresentação
(1) Camada Lógica
(2) Camada de Gerenciamento de Dados
22
Arquiteturas de Sistemas Web
▪ Tecnologias (por camada) que serão abordadas no curso
23
Camada Tecnologias
Apresentação HTML
JavaScript
CSS
Lógica PHP
Camada de Fonte e
Gerenciamento de Dados
MySQL
Arquiteturas de Sistemas Web
▪ Escolhendo onde rodar camadas de software
–As camadas podem ser implementadas em:
▪ Clientes;
▪ Servidores;
24
Arquitetura de Sistemas Web
▪ Cliente
– Representa uma entidade (hardware, software) que
consome os serviços de outra entidade servidora, em
geral através do uso de uma rede de computadores;
▪ Servidor
– Sistema de computação centralizada que fornece
serviços para clientes em uma rede de computadores;
– Exemplos de serviços: arquivos, e-mail, software, etc.;
25
Arquitetura de Sistemas Web
26
Protocolos
Protocolos
▪ Convenção ou padrão;
▪ Controla e possibilita uma conexão, comunicação ou
transferência de dados entre dois sistemas
operacionais;
▪ Exemplos de protocolo:
– HTTP (HypertextTransfer Protocol) – Protocolo de
transferência de hipertexto;
– FTP (FileTransfer Protocol) – Protocolo de transferência de
arquivos;
– POP (Post Office Protocol) – Protocolo de acesso remoto a
uma caixa de e-mail;
28
Protocolos
▪ Exemplo: O protocolo HTTP
– HypertextTransfer Protocol
– Trata-se de um protocolo de comunicação;
– Conjunto de padrões e regras que definem e disciplinam
determinadas trocas de informação;
– O protocolo mais comum na Internet;
– Responsável pelo tratamento de pedidos e respostas
entre clientes e servidores naWorld WideWeb (www);
29
REQUISIÇÃO
RESPOSTA
Protocolos
30
Protocolos
▪ Exemplo: O protocolo FTP
– FileTransfer Protocol
– Define a forma como os dados devem ser transferidos em uma
redeTCP/IP;
31
Explore o assunto!
Explore o assunto!
▪ Referências
– Padrões de Arquitetura de Aplicações Corporativas
(FOWLER, M.): Introdução e Capítulo 1
33
PHP
PHP
 PHP é um acrônimo para PHP: Hypertext Preprocessor;
 Trata-se de uma linguagem script livre;
 Muito utilizada para gerar conteúdo dinâmico naWeb;
 Scripts PHP são executados em servidores;
 PHP dá suporte a vários servidores de bancos de dados
(MySQL, Oracle, PostgreSQL, etc.);
35
PHP
 É livre para ser baixado e usado;
 Linguagem portável:Versões para vários sistemas operacionais;
 Pode ser mesclada com HTML;
 Pode gerar páginas HTML;
 Sintaxe similar a linguagens como C e Java;
 Permite o desenvolvimento de páginas que serão geradas
dinamicamente;
36
PHP: O que eu
preciso?
PHP: O que eu preciso?
 O servidor que dará suporte a PHP (local ou remoto)
deverá possuir os seguintes softwares:
– Um servidor HTTP;
– O PHP;
– Um SGBD (Opcional);
38
PHP: O que eu preciso?
 Um servidor HTTP (ou servidorWeb)
– Programa responsável por aceitar requisições HTTP de clientes,
geralmente navegadores, e servi-los com respostas HTTP;
– Servidor HTTP padrão para scripts PHP: Apache Server
– Software colaborativo (livre), portável e pouco exigente com
recursos de Hardware;
– Gerenciado por um grupo mundial de voluntários;
– A fundaçãoApache Software Foundation provê o suporte
financeiro, legal e organizacional para o Apache;
39
PHP: O que eu preciso?
 O interpretador PHP
– O PHP precisa estar instalado em um servidor para que
o mesmo reconheça a linguagem;
40
PHP: O que eu preciso?
 Um SGBD - Sistema de Gerenciamento de Banco de Dados
(Opcional).
– Necessário para sites e aplicações Web que submetam, inserem e
selecionam dados em bases de dados;
– SGBD difundido para uso agregado com PHP: MySQL Server
– Utiliza a linguagem SQL como interface;
– Software Livre
– Portável e pouco exigente com recursos de Hardware;
– Onde obter o MySQL Server?
41
PHP: O que eu preciso?
 Existem pacotes de instalação disponíveis para a
instalação de um servidor PHP completo (Apache + PHP +
MySQL)
– Resumem a preparação de um servidor;
– Fácil configuração (alguns são automáticos);
– Ideal para servidores locais;
42
PHP: O que eu preciso?
▪ Alguns pacotes populares:
• XAMPP;
• WAMP5;
43

Programação Dinâmica para Web - Aula 1

  • 1.
  • 2.
  • 3.
    Apresentação ▪ Professor: ThyagoMaiaTavares de Farias – Doutorando em Computação pelo Cin / UFPE – Mestre em Informática pelo PPGI / DI / UFPB – Bacharel em Ciência da Computação – UFPB – Currículo Lattes: http://lattes.thyagomaia.net – E-Mail: thyagomaia@gmail.com 3
  • 4.
    Apresentação ▪ Foco dadisciplina – Apresentação de algumas das principais tecnologias utilizadas no desenvolvimento de sistemas para aWeb. ▪ Aulas teóricas e práticas em laboratório 4
  • 5.
    Apresentação ▪ Avaliações: – 1ªavaliação: ▪ Prova convencional (escrita); ▪ Práticas em Laboratório; ▪ Notas de 0 a 5; – 2ª avaliação: ▪ Prova convencional (escrita); ▪ Práticas em Laboratório; ▪ Notas de 0 a 5; – Nota Final: Nota da 1ª avaliação + Nota da 2ª avaliação; 5 CONTEÚDO A1 CONTEÚDO A1 + A2
  • 6.
    Apresentação 6 A1 10 a 16/04 A2 12a 18/06 AF 25 a 29/06 VETERANOS
  • 7.
    Apresentação ▪ O alunoserá considerado aprovado se obtiver nota final igual ou maior que 6,0 e frequência igual ou superior a 75% nas atividades acadêmicas; ▪ O discente que não obtiver nota final igual ou superior a seis (6,0), submeter-se-á a avaliação final (AF). ▪ A nota obtida na avaliação final substituirá a menor nota de A1 ou A2. 7 A1 – 4,0 A2 – 1,0 AF PARA A2 2,0 AF – 6,0
  • 8.
    Apresentação ▪ Caso aAF seja menor do que a nota a ser substituída (A1 ouA2), mantem- se a maior nota. Exemplo: 8 A1 – 4,0 A2 – 1,0 AF PARA A2 0,0 AF – 4,0 A1 – 4,0 A2 – 1,0 AF PARA A2 0,0 AF – 5,0 AF = 1,0 A1 – 4,0 A2 – 2,0 AF PARA A2 2,0 AF – 6,0 AF = 2,0
  • 9.
    Apresentação ▪ Findo oprazo de registro de notas e faltas no Sistema Acadêmico, às avaliações escritas serão disponibilizadas aos alunos. 9 Avaliações serão devolvidas aos alunos. Após encerras os prazos de registro. Encerramento do Semestre 05/07/2019 (V) 19/07/2019 (I)
  • 10.
    Apresentação ▪ UnipêVirtual (Ferramentade Educação a Distância) – Material da disciplina (Slides, notas de aula, indicação de livros, etc.); – Divulgação e submissão das práticas em laboratório (exercícios de fixação e de avaliação); – Ferramenta para comunicação oficial (avisos, lembretes, divulgação de datas, divulgação de notas, etc.); – http://virtual.unipe.br 10
  • 11.
    Apresentação ▪ Sites auxiliares: –http://facebook.com/profthyagomaia – http://twitter.com/thyagomaia – http://slideshare.net/thyagomaia – https://youtube.com/c/profothyagomaia 11
  • 12.
    Apresentação ▪ Canal doYoutube: –http://tinyurl.com/youtubethyago 12
  • 13.
    Apresentação ▪ Softwares queserão utilizados no curso: – Notepad++ – Xampp (a partir do 2º estágio); 13
  • 14.
  • 15.
    Arquiteturas de SistemasWeb ▪ Criação de Camadas – Trata-se de uma quebra de sistemas de software; – Benefícios: ▪ Facilita a compreensão do software como um todo; ▪ Compreensão única de partes de sistemas e como elas interagem com as demais; ▪ Permite a independência entre os serviços de software; – Facilita a manutenção, substituição e integração de camadas; ▪ Reduz o acoplamento entre diferentes partes de sistemas; ▪ Permite a definição de padrões; ▪ Pode-se compartilhar camadas entre software, serviços, etc.; 15
  • 16.
    Arquiteturas de SistemasWeb ▪ As três camadas principais 16 Camada Responsabilidades Apresentação Fornecimento de serviços; Exibição de informações; Tratamento de solicitações do usuário; Lógica O real propósito do sistema; Ponte entre as camadas de apresentação e dados; A camada “inteligente” do sistema; Camada de Fonte e Gerenciamento de Dados Comunicação com bancos de dados; Armazenamento de dados persistentes;
  • 17.
    Arquiteturas de SistemasWeb ▪ As três principais camadas – Cada camada resolve e cuida de problemas específicos; – Cada camada envolve um componente; – Cada componente é facilmente identificável; – As camadas podem ser implementadas em um ou mais computadores/servidores; – A separação e o uso de camadas irá depender da complexidade da aplicação em questão; 17
  • 18.
    Arquiteturas de SistemasWeb ▪ As três camadas principais 18
  • 19.
    Arquiteturas de SistemasWeb ▪ Exercício: Faça a correspondência entre as tecnologiasWeb abaixo e em quais camadas elas atuam : 1. SQL Server 2. CSS 3. JSP ( ) Camada de Apresentação ( ) Camada Lógica ( ) Camada de Gerenciamento de Dados 19
  • 20.
    Arquiteturas de SistemasWeb ▪ Exercício: Faça a correspondência entre as tecnologiasWeb abaixo e em quais camadas elas atuam : 1. SQL Server 2. CSS 3. JSP (2) Camada de Apresentação (3) Camada Lógica (1) Camada de Gerenciamento de Dados 20
  • 21.
    Arquitetura de SistemasWeb ▪ Exercício: Faça a correspondência entre as tecnologiasWeb abaixo e em quais camadas elas atuam : 1. PHP 2. MySQL 3. HTML ( ) Camada de Apresentação ( ) Camada Lógica ( ) Camada de Gerenciamento de Dados 21
  • 22.
    Arquitetura de SistemasWeb ▪ Exercício: Faça a correspondência entre as tecnologiasWeb abaixo e em quais camadas elas atuam : 1. PHP 2. MySQL 3. HTML (3) Camada de Apresentação (1) Camada Lógica (2) Camada de Gerenciamento de Dados 22
  • 23.
    Arquiteturas de SistemasWeb ▪ Tecnologias (por camada) que serão abordadas no curso 23 Camada Tecnologias Apresentação HTML JavaScript CSS Lógica PHP Camada de Fonte e Gerenciamento de Dados MySQL
  • 24.
    Arquiteturas de SistemasWeb ▪ Escolhendo onde rodar camadas de software –As camadas podem ser implementadas em: ▪ Clientes; ▪ Servidores; 24
  • 25.
    Arquitetura de SistemasWeb ▪ Cliente – Representa uma entidade (hardware, software) que consome os serviços de outra entidade servidora, em geral através do uso de uma rede de computadores; ▪ Servidor – Sistema de computação centralizada que fornece serviços para clientes em uma rede de computadores; – Exemplos de serviços: arquivos, e-mail, software, etc.; 25
  • 26.
  • 27.
  • 28.
    Protocolos ▪ Convenção oupadrão; ▪ Controla e possibilita uma conexão, comunicação ou transferência de dados entre dois sistemas operacionais; ▪ Exemplos de protocolo: – HTTP (HypertextTransfer Protocol) – Protocolo de transferência de hipertexto; – FTP (FileTransfer Protocol) – Protocolo de transferência de arquivos; – POP (Post Office Protocol) – Protocolo de acesso remoto a uma caixa de e-mail; 28
  • 29.
    Protocolos ▪ Exemplo: Oprotocolo HTTP – HypertextTransfer Protocol – Trata-se de um protocolo de comunicação; – Conjunto de padrões e regras que definem e disciplinam determinadas trocas de informação; – O protocolo mais comum na Internet; – Responsável pelo tratamento de pedidos e respostas entre clientes e servidores naWorld WideWeb (www); 29
  • 30.
  • 31.
    Protocolos ▪ Exemplo: Oprotocolo FTP – FileTransfer Protocol – Define a forma como os dados devem ser transferidos em uma redeTCP/IP; 31
  • 32.
  • 33.
    Explore o assunto! ▪Referências – Padrões de Arquitetura de Aplicações Corporativas (FOWLER, M.): Introdução e Capítulo 1 33
  • 34.
  • 35.
    PHP  PHP éum acrônimo para PHP: Hypertext Preprocessor;  Trata-se de uma linguagem script livre;  Muito utilizada para gerar conteúdo dinâmico naWeb;  Scripts PHP são executados em servidores;  PHP dá suporte a vários servidores de bancos de dados (MySQL, Oracle, PostgreSQL, etc.); 35
  • 36.
    PHP  É livrepara ser baixado e usado;  Linguagem portável:Versões para vários sistemas operacionais;  Pode ser mesclada com HTML;  Pode gerar páginas HTML;  Sintaxe similar a linguagens como C e Java;  Permite o desenvolvimento de páginas que serão geradas dinamicamente; 36
  • 37.
    PHP: O queeu preciso?
  • 38.
    PHP: O queeu preciso?  O servidor que dará suporte a PHP (local ou remoto) deverá possuir os seguintes softwares: – Um servidor HTTP; – O PHP; – Um SGBD (Opcional); 38
  • 39.
    PHP: O queeu preciso?  Um servidor HTTP (ou servidorWeb) – Programa responsável por aceitar requisições HTTP de clientes, geralmente navegadores, e servi-los com respostas HTTP; – Servidor HTTP padrão para scripts PHP: Apache Server – Software colaborativo (livre), portável e pouco exigente com recursos de Hardware; – Gerenciado por um grupo mundial de voluntários; – A fundaçãoApache Software Foundation provê o suporte financeiro, legal e organizacional para o Apache; 39
  • 40.
    PHP: O queeu preciso?  O interpretador PHP – O PHP precisa estar instalado em um servidor para que o mesmo reconheça a linguagem; 40
  • 41.
    PHP: O queeu preciso?  Um SGBD - Sistema de Gerenciamento de Banco de Dados (Opcional). – Necessário para sites e aplicações Web que submetam, inserem e selecionam dados em bases de dados; – SGBD difundido para uso agregado com PHP: MySQL Server – Utiliza a linguagem SQL como interface; – Software Livre – Portável e pouco exigente com recursos de Hardware; – Onde obter o MySQL Server? 41
  • 42.
    PHP: O queeu preciso?  Existem pacotes de instalação disponíveis para a instalação de um servidor PHP completo (Apache + PHP + MySQL) – Resumem a preparação de um servidor; – Fácil configuração (alguns são automáticos); – Ideal para servidores locais; 42
  • 43.
    PHP: O queeu preciso? ▪ Alguns pacotes populares: • XAMPP; • WAMP5; 43