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

30
Programação Dinâmica para Web Prof. Daniel Brandão www.DanielBrandao.com.br

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

Programação Dinâmica para Web

Prof. Daniel Brandão

www.DanielBrandao.com.br

Prof. Daniel Brandão

• Graduado em Sistemas para Internet

• Especialista em Tecnologias Para Aplicações Web

• Na Informática desde 2003

• Programador Web desde 2006

• Professor em Informática desde 2011

• Professor Universitário desde 2013

• Contatos:

2

/DanielBrandao.com.br

@Daniel85br

[email protected]

Objetivos

Aula 1: Introdução

• Apresentar a disciplina

• Apresentar o conceito de “Arquitetura de Sistemas Web“

• Demonstrar como a arquitetura de sistemas Web estrutura a disciplina

• Apresentar o modelo cliente-servidor

• Apresentar os protocolo HTTP e FTP

3

Apresentação

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

5

Avaliação:

Prova 4,0 +

Prova 6,0 +

Atividades2,0

Projeto Final4,0

𝐸𝑠𝑡á𝑔𝑖𝑜𝑠 1 𝑒 2 𝐸𝑠𝑡á𝑔𝑖𝑜 3

≥ 7,0 aprovado

< 7,0 final

Integrador2,0

6

EAD2,0

Apresentação

• Ausência em Provas, Final e Presença

– Ausência em Provas:• O aluno só poderá se ausentar em uma das duas primeiras

atividades (1º ou 2º estágio);

• A presença será obrigatória na prova do 3º estágio;

• Não há provas de reposição de estágio;

– Final:

• Prova Convencional (0 a 10 pontos);

• Todo o conteúdo do semestre;

– Presença

• Limite de faltas: 15 horas (7 aulas);7

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.br8

Apresentação

• Fonte dos materiais:

– facebook.com/danielbrandao.com.br

– twitter.com/daniel85br

– danielbrandao.com.br

– Unipê Virtual

9

Apresentação

• Softwares que serão utilizados nas aulas:

– Sublime Text

–Xampp

–MySQL

–Navegador

10

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.;

12

Arquiteturas de Sistemas Web

• As três camadas principais

13

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;

14

Arquiteturas de Sistemas Web

• As três camadas principais

15

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

16

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

17

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

18

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

19

Arquiteturas de Sistemas Web

• Tecnologias (por camada) que serão abordadas no curso

20

Camada Tecnologias

Apresentação HTMLCSSJavascript

Lógica PHP

Camada de Fonte e Gerenciamento de Dados

MySQLPostgreSQL

Arquiteturas de Sistemas Web

• Escolhendo onde rodar camadas de software

– As camadas podem ser implementadas em:

• Clientes;

• Servidores;

21

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.;

22

Arquitetura de Sistemas Web

23

Protocolos

Protocolos

• Protocolo– 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;

25

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);

26

REQUISIÇÃO

RESPOSTA

Protocolos

• O protocolo HTTP

27

Protocolos

• Exemplo: O protocolo FTP

– File Transfer Protocol

– Define a forma como os dados devem ser transferidos em uma rede TCP/IP;

28

Explore o assunto!

Explore o assunto!

• Referências

– Padrões de Arquitetura de Aplicações Corporativas (FOWLER, M.): Introdução e Capítulo 1

30