Você está na página 1de 43

Programação Dinâmica

para Web
Profº Thyago Maia
Apresentação
Apresentação

▪ Professor: Thyago Maia Tavares 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 a Web.
▪ Aulas teóricas e práticas em laboratório

4
Apresentação

▪ Avaliações:
– 1ª avaliação:
▪ Prova convencional (escrita); CONTEÚDO
A1
▪ Práticas em Laboratório;
▪ Notas de 0 a 5;
– 2ª avaliação: CONTEÚDO
▪ Prova convencional (escrita); A1 + A2
▪ Práticas em Laboratório;
▪ Notas de 0 a 5;

– Nota Final: Nota da 1ª avaliação + Nota da 2ª avaliação;


5
Apresentação

VETERANOS

AF A1
25 a 29/06 10 a 16/04

A2
12 a 18/06

6
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 A1 – 4,0
atividades acadêmicas; A2 – 1,0

▪ O discente que não obtiver nota final igual AF PARA A2


ou superior a seis (6,0), submeter-se-á a 2,0
avaliação final (AF).
AF – 6,0
▪ A nota obtida na avaliação final substituirá a
menor nota de A1 ou A2.
7
Apresentação

▪ Caso a AF seja menor do que a nota a ser substituída (A1 ou A2), mantem-
se a maior nota. Exemplo:

A1 – 4,0 A1 – 4,0 A1 – 4,0


A2 – 1,0 A2 – 1,0 A2 – 2,0

AF PARA A2 AF PARA A2 AF PARA A2


AF = 1,0
0,0 0,0 2,0 AF = 2,0

AF – 4,0 AF – 5,0 AF – 6,0

8
Apresentação

▪ Findo o prazo de registro de notas e faltas no Sistema Acadêmico, às


avaliações escritas serão disponibilizadas aos alunos.

Encerramento do Após
Semestre
Avaliações
encerras os serão
05/07/2019 (V) prazos de devolvidas
19/07/2019 (I) registro. aos alunos.

9
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 do Youtube:
– 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


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 Comunicação com bancos de dados;
Armazenamento de dados persistentes;
Gerenciamento de Dados

16
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


tecnologias Web 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


tecnologias Web 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


tecnologias Web 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


tecnologias Web 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

Camada Tecnologias
Apresentação HTML
JavaScript
CSS
Lógica PHP

Camada de Fonte e MySQL


Gerenciamento de Dados

23
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 (Hypertext Transfer Protocol) – Protocolo de
transferência de hipertexto;
– FTP (File Transfer 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

– Hypertext Transfer 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 na World Wide Web (www);
29
Protocolos

REQUISIÇÃO

RESPOSTA

30
Protocolos

▪ Exemplo: O protocolo FTP


– File Transfer Protocol
– Define a forma como os dados devem ser transferidos em uma
rede TCP/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 na Web;

 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 servidor Web)


– 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ção Apache 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

Você também pode gostar