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