Documente Academic
Documente Profesional
Documente Cultură
Os padres arquitetnicos de aplicaes web envolvem pginas web que so a interface com o usurio, as pginas web conectam o navegador ao restante do sistema. Sendo um dos principais usos de modelagem capturar todos os elementos de um sistema e suas colaboraes para que respondam perguntas sobre o mesmo, vital capturar pginas web como elementos de primeira classe no modelo e represent-las ao lado das classes e componentes que compem o restante do modelo [CON00]. O problema de representar sistemas web surge quando uma pgina web possui scripts a serem executados no servidor e parte no cliente. A notao da UML no suficiente para expressar as sutilezas de pginas web colocadas em scripts como objetos, surgiu ento a necessidade de modificar a UML. Para que a UML pudesse se tornar flexvel, seus criadores definiram mecanismos de extenso, so eles: Esteretipos: so utilizados para classificar novos elementos, ou seja, estendem o vocabulrio da UML permitindo a criao de novos tipos de blocos de construo, derivados dos j existentes, mas especficos ao seu problema. Normalmente so representados como uma seqncia de caracteres entre os smbolos << >>. Valor com Tag: estende as propriedades de um bloco de construo da UML, permitindo a criao de novas informaes na especificao do elemento. Um valor com tag representado em um diagrama como uma seqncia de caracteres delimitada por colchetes []. Restries: estendem a semntica de um bloco em construo da UML, permitindo adicionar novas regras ou modificar as existentes. A associao desses trs mecanismos de extensibilidade permite dar forma e desenvolver a UML de acordo com as necessidades do projeto. A WAE (Web Application Extension), proposta por Connalen, uma extenso da notao UML com semnticas adicionais e restries a fim de permitir a modelagem arquitetural de elementos web especficos. O que esta extenso da UML faz na realidade
a captura, desenvolvimento e a anlise de como ser a execuo das regras de negcio nas pginas web. O objetivo principal desta extenso modelar pginas web, relacionamento entre as mesmas, rotas de navegao, scripts no lado do cliente e gerao de pginas no lado do servidor no nvel apropriado de abstrao e detalhe, permitindo o relacionamento entre os elementos especficos da web e os demais elementos do sistema. Veremos a seguir uma descrio dos principais elementos dessa extenso da UML e posteriormente os elementos especficos para a construo de uma aplicao web.
Existe um relacionamento fundamental entre os esteretipos servidor e cliente de uma pgina web. Uma pgina servidor geralmente constri o resultado em uma pgina cliente. Esse relacionamento representado no modelo atravs de uma associao estereotipada por <<build>>.
<<Server Page>>
<<build>>
<<Client Page>>
Figura 1 Construo de uma pgina cliente. Existe a possibilidade, em algumas tecnologias de desenvolvimento web, de uma pgina servidora redirecionar a requisio de um processamento para outra pgina servidor, esse relacionamento representado como uma associao estereotipada por <<redirect>>. O redirecionamento uma caracterstica muito til, pois permite o reuso em aplicaes web.
<<Server Page>>
<<redirect>>
<<Server Page>>
Figura 2 Redirecionamento de processamento entre pginas servidor. Outro relacionamento importante o link, estereotipado por <<link>>, utilizado para representar a associao entre pginas cliente e outras pginas web cliente. A figura abaixo apresenta um exemplo de relacionamento entre pginas web.
<<Client Page>>
<<link>>
<<Client Page>>
rdio, caixas de seleo e campos ocultos. Essa classe no possui operaes, qualquer operao que interaja com o formulrio seria uma propriedade da pgina que contenha o formulrio. O relacionamento utilizado para representar qual pgina contm o formulrio a associao do tipo agregao entre as classes envolvidas. Outro relacionamento necessrio para identificar qual pgina web processa os dados submetidos por um formulrio, esse relacionamento representado atravs de uma associao estereotipada <<submit>>. A figura abaixo mostra os relacionamentos citados.
<<Client Page>>
Variveis locais JavaScript Java Script Functions()
<<Server Page>>
<<Form>>
Campos de entrada
<<submit>>
O relacionamento entre pginas cliente e um alvo feita atravs de uma associao estereotipada <<target link>>.
cone
As pginas servidor podem ter relao apenas com objetos no servidor. Nenhum.
Pgina cliente
<<client page>> Tipo no Metamodelo Descrio Classe Uma pgina cliente representa uma pgina web formatada em HTML com uma mistura de dados de apresentao e lgica. montada no browser cliente e pode conter scripts que so interpretados pelo browser. As funes da pgina cliente mapeiam para funes em tags na pgina. Essas pginas podem ter associaes com outras pginas cliente e pginas servidor.
cone
Nenhuma TitleTag: o ttulo da pgina como exibido pelo browser. BaseTag: a URL bsica para desmarcar referncias de URLs relativos. BodyTag: o conjunto de atributos para a tag <<body>>, que define o segundo plano e atributos de texto padro.
Formulrio Html
<<form>>
Tipo no Metamodelo Descrio Classe Um formulrio representa uma coleo de campos de entrada que so parte da pgina cliente. Um formulrio no tem operaes, quaisquer operaes que interajam com o formulrio, sero propriedades da pgina cliente que o contm.
cone
cone
Deve conter pelo menos uma classe <<client page>> ou <<target>>. Linhas: nmero de linhas de quadros. Colunas: nmero de colunas de quadros.
Alvo
<<target>>
Tipo no Metamodelo Descrio cone Classe Um quadro nomeado especfico em um conjunto de quadros. o alvo de hyperlinks, uma classe de link de destino.
Nenhuma. Linhas: nmero da linha em que esse quadro est localizado. Colunas: nmero da coluna em que esse quadro est localizado.
JavaScript Object
Tipo no Metamodelo Descrio cone Classe No browser possvel simular objetos definidos pelo usurio com funes JavaScript. Instncias de objetos Java script existem somente no contexto de pginas cliente.
Nenhuma. Nenhum.
Nenhuma. Nenhum.
Biblioteca de scripts
<<script library>>
Tipo no Metamodelo Classe
Descrio cone
Nenhuma. Nenhum.
Biblioteca de scripts
<<script library>>
Tipo no Metamodelo Descrio cone Componente Realiza uma ou mais classes <<script library>> na viso lgica.
Nenhuma. Nenhum.
Pgina Esttica
<<static page>> Tipo no Metamodelo Descrio cone Componente A pgina esttica no executa nada que o lado do servidor execute e produzida diretamente do sistema de arquivos para o cliente.
No pode executar componentes lgicos que so executados no servidor (pgina servidor). S podem implementar pginas cliente. Nenhum.
Pgina Dinmica
<<dinamic page>>
Tipo no Metamodelo Descrio Componente Recurso que pode ser solicitado pelo browser do cliente. Quando solicitado ou apontado atravs de um relacionamento <<forward>>, acontece o processamento do lado do servidor. Os resultados desse processo podem alterar o estado do servidor e ser usado para construir algo do HTML que transmitido ao cliente solicitante. As pginas dinmicas podem aceitar a entrada de informaes do usurio enviada atravs de
formulrios. cone
Raiz Fsica
<<physical root>>
Tipo no Metamodelo Descrio Pacote de componentes Uma abstrao de uma hierarquia de arquivos que contm recursos disponveis solicitao. Os clientes solicitam arquivos estticos ou dinmicos diretamente dessa hierarquia.
cone
Nenhuma. Nome do Host: nome do host do servidor web. Contexto: o contexto da aplicao.
Raiz Virtual
<<virtual root>>
Tipo no Metamodelo Descrio Pacote Contm componentes web em uma hierarquia do sistema de arquivos que visvel aos clientes. A estrutura de diretrio para solicitar recursos corresponde estrutura de diretrio fsica..
cone
Nenhuma. Host (opcional): nome de host que pode ser usado para determinar elementos contidos em URLs totalmente qualificadas. Porta (opcional): nmero de porta usado em resoluo de URL.
Recurso HTTP
<<http resourse>>
Tipo no Metamodelo Descrio Componente Proxy para um ou mais componentes que mapeiam para um URL disponvel solicitao no sistema. Cada elemento do recurso http representa um URL vlido que pode ser solicitado e desempenhado pelo sistema.
cone
Nenhuma. Filtro (opcional): expresso regular que usada para corresponder a um conjunto de URLs.
Link
<<link>>
Tipo no Metamodelo Descrio Associao Um link um ponteiro da pgina cliente para uma outra pgina Web. No diagrama de classes, um link uma associao entre uma pgina cliente e outra pgina cliente ou uma pgina servidor. Nenhum. Nenhuma. Parameters: contm parmetros passados juntamente com a solicitao http. formatado como uma seqncia de caracteres podendo conter codificaes de implementaes especficas.
Targeted Link
<<target link>>
Tipo no Metamodelo Descrio cone Associao Similar associao link, um targeted link um link cuja pgina associada montada em um outro target.
Nenhuma. Parmetros: uma lista de nomes de parmetros que so passados junto com a requisio para a pgina linkada. Nome do Target: o nome do target que o link desta pgina aponta para ser montada nela.
Submit
<<submit>>
Tipo no Metamodelo Descrio Associao Associao situada entre um formulrio e uma pgina servidor. Os formulrios submetem os valores de seus campos para o processamento no servidor, atravs de pginas servidor. Nenhum. Nenhuma. Nenhum.
Build
<<build>>
Tipo no Metamodelo Descrio cone Restries Valores com Tag Associao Relao que liga pginas cliente e pginas servidor. Identifica qual pgina servidor responsvel pela criao da pgina cliente. Nenhum. Nenhuma. Nenhum.
Redirect
<<redirect>>
Tipo no Metamodelo Descrio cone Restries Valores com Tag Associao Relacionamento direcional entre uma pgina do cliente ou servidor e outra pgina. Indica um comando ao cliente para solicitar outro recurso. Nenhum. Nenhuma. Nenhum.
Forward
<<forward>>
Tipo no Metamodelo Descrio Associao Relacionamento direcional entre uma pgina do servidor e outra pgina do servidor ou do cliente. Representa a delegao de processamento de uma solicitao do cliente de um recurso para a pgina do servidor. Nenhum. Nenhuma. Nenhum.
Object
<<object>>
Tipo no Metamodelo Descrio Associao Relacionamento de confinamento entre uma pgina do cliente e outra classe lgica (applet, controle ActiveX).
Include
<<include>>
Tipo no Metamodelo Descrio Associao Associao direcional de uma pgina cliente para outra pgina servidor ou uma pgina cliente. Durante a montagem da pgina (em tempo de execuo) essa associao indica que a pgina includa processada (dinmica) e que seus contedos ou subprodutos so usados pela pgina pai. Nenhum. Nenhuma. Nenhum.
As principais combinaes entre esteretipos e relacionamentos vlidos na Wae UML podem ser vistas na tabela abaixo. Tabela II Combinao de Esteretipos com relacionamentos vlidos. Para: De: Pgina Cliente <<link>> <<redirect>> <<redirect>> <<build>> <<frame content>> No tem Agregao Servidor de Pginas <<link>> <<redirect>> <<redirect>> No tem No tem <<submit>> Conjunto de Quadros (Frameset) <<link>> <<redirect>> <<redirect>> <<build>> <<frame content>> No tem No tem Alvo (Target) Dependncia No tem <<frame content>> No tem No tem Formulrio Agregao No tem No tem No tem No tem
Pgina Cliente Servidor de Pginas Conjunto de Quadros (Frameset) Alvo (Target) Formulrio