Slides - DIMAp/UFRN

Propaganda
Arquitetura de Sistemas Web
• Representação do design arquitetural de
sistemas Web
• Uso da UML
• Visões Arquiteturais
• Baseado na notação de Jim Conallen
– WAE UML
– Referência
• Jim Conallen. Building Web Application
with UML Addison-Wesley, 2000, Object Technology Series - Booch,
Jacobsoh, Rumbaugh. (ISBN 0-201-61577-0)
Jair C Leite
Visões Arquiteturais
• Conceitual (lógica)
– Descrição da estrutura e do comportamento lógico do
sistema independente de tecnologias de implementação
• Módulo e sub-sistemas
– Visa descrever a organização do sistemas em termos de
sub-sistemas e módulos
• Código
– Visa descrever a estrutura física em termo de unidades
(arquivos) de código fonte, bibliotecas, executáveis, dados,
figuras, etc.
• Execução
– Visa descrever os elementos de hardware e os processos
(programas rodando) do sistema associados ao hardware.
Jair C Leite
Visão de Módulos
<<sub-sistema>>
<<sub-sistema>>
Gerencia
locação
Composição/agregação
<<módulo>>
<<módulo>>
Clientes
Filmes
<<módulo>>
Locação
<<módulo>>
ou
<<usa>>
<<importa>>
<<sub-sistema>>
Gerencia
locação
<<módulo>>
Locação
Provê interface
<<usa>>
<<camada>>
<<módulo>>
<<módulo>>
Filmes
Clientes
Jair C Leite
Visão de Código - Componentes
Estereótipos comuns
Estereótipos Web
<<fonte>>
<<client page>>
Componente
Os
Oscomponentes
componentessão
são
normalmente
normalmentearquivos
arquivos
com
código
HTML,
com código HTML,Scripts
Scripts
Cliente
ClienteeeServidor,
Servidor,figuras,
figuras,
Formulários,
Formulários,etc.
etc.
<<binário>>
<<server page>>
<<biblioteca>>
Existem
Existemestereótipos
estereótipospara
para
os
osprincipais
principaiselementos.
elementos.
<<form>>
<<executável>>
Jair C Leite
Estereótipos de componentes para
Sistemas Web
Ícones
Client
Page
Form
Server
Page
Frameset
Target
Relacionamentos
Dependência
Associações
<<link>>
<<build>>
<<target link>>
<<redirect>>
Composição/agregação
<<submit>>
Jair C Leite
Arquitetura Web - Perspectiva do
Usuário
Nesta
Nestaperspectiva,
perspectiva,as
aspáginas
páginas
são
sãomostradas
mostradascomo
comovistas
vistaspelos
pelos
Usuários,
Usuários,excluindo-se
excluindo-sedetalhes
detalhes
de
deimplementação,
implementação,como
comopáginas
páginas
servidoras
servidoras(server
(serverpages).
pages).
<<link>>
Clientes
<<link>>
<<link>>
Home
<<link>>
<<link>>
Filmes
<<link>>
Jair C Leite
Arquitetura Web – Perspectiva do
desenvolvedor
Nesta
Nestaperspectiva,
perspectiva,as
aspáginas
páginas
são
sãomostradas
mostradascom
comos
osdetalhes
detalhes
de
deimplementação,
implementação,como
comopáginas
páginas
servidoras
servidoras(server
(serverpages).
pages).
<<redirect>>
New
Home
Old
Home
A página OldHome redireciona para a NewHome
<<build>>
<<link>>
Clientes
Clientes
PHP
Home
A página home está ligada a clientes.php que gera a página
Clientes como será vista pelo usuário.
Jair C Leite
Páginas com formulários
Boasvindas
Clientes
<<build>>
[on error]
<<build>>
Form
Cadastro
<<submit>>
Cadastro
Jair C Leite
Páginas com frames
<<target link>>
Clientes
Menu
<<target link>>
Catálogo
Principal
As
Aspáginas
páginasClientes
ClienteseeCatálogo
Catálogo
são
sãoexibidas
exibidasno
noframe
framePrincipal.
Principal.
Jair C Leite
Páginas com figuras, scripts e CSS
ScriptsValida
ScriptsValidafaz
fazparte
parteda
dapágina
página
Scripts.js
Scripts.jsestá
estáem
emum
umarquivo
arquivoaaparte.
parte.
Figura.jpg
Scripts
Valida
<<include>>
Scripts.js
Estilos.css
Jair C Leite
Visão de código e módulo
<<módulo>>
Clientes
Boasvindas
Clientes
<<build>>
[on error]
<<build>>
Form
Cadastro
<<submit>>
Cadastro
Jair C Leite
Visão de Execução – Processos
Exemplo 1: Sistema com CGI – Perl – MySQL
<<processo>>
Browser
HTTP
*
<<processo>>
Apache
CGI
*
<<processo>>
ODBC <<processo>>
Perl Intepreter
MySQL Server
Exemplo 2: Sistema com PHP - MySQL
<<processo>>
Browser
<<modulo>>
JVM
Plugin
<<processo>>
HTTP
*
AAmáquina
máquinavirtual
virtualJava
Java
ééinstalada
instaladacomo
comoplugin
plugin
no
browser
no browser
Apache
<<modulo>>
PHP
Interpreter
OOinterpretador
interpretadorPHP
PHPéé
instalado
instaladocomo
comomódulo
módulo
do
doApache
Apache
ODBC
<<processo>>
MySQL Server
Jair C Leite
Visão de Execução – Processos e
Hardware
*
Servidor
(Estação de
trabalho)
Computador
Cliente (PC)
:internet
*
<<processo>>
Browser
<<processo>>
:internet
Computador
Cliente (PC)
CGI
* Perl Intepreter
Apache
Servidor
(Estação de
trabalho)
<<processo>>
<<processo>>
ODBC
MySQL Server
Jair C Leite
Visão de Execução e Código
*
Browser
:internet
Servidor
Apache
Perl
Interpreter
MySQL
No
Noservidor
servidorestão
estãoos
oscódigos
códigosdo
doApache,
Apache,
do
doMySQL
MySQLeedo
doInterpretador
InterpretadorPerl
Perl
Jair C Leite
Download