Guia do artigo:
- Características de Aplicações Web
- Aplicações Web x Sistemas Tradicionais
- Aplicações Web x Web site
- Dimensões de Projeto
- Estudo de Caso
- Aplicação de WAE
- Modelo Estrutural
- Modelo de Composição
- Modelo Navegacional
- Modelo de personalização
- Aplicação de WebML
- UML-based Web Engineering
- Projeto Conceitual
- Projeto Navegacional
- Projeto de apresentação
- Modelagem de aplicações Web
- Modelo navegacional
- Modelo de apresentação
- Aplicação de UWE
- Ferramentas de modelagem das metodologias
- Conclusão
O constante crescimento da Internet e a necessidade de serviços rápidos e instantâneos têm ocasionado uma demanda significativa no desenvolvimento de aplicações que utilizam a Web como ambiente operacional.
Além disto, as aplicações desenvolvidas para Web estão se tornando cada vez mais complexas devido às características de negócio da aplicação a ser desenvolvida, acrescida dos vários aspectos específicos que devem ser considerados para o desenvolvimento destas aplicações.
Tendo em vista essas informações sobre aplicações Web, diversas metodologias específicas para o desenvolvimento dessas aplicações têm sido utilizadas. Baseando-se neste cenário, este artigo visa descrever três metodologias para o desenvolvimento de aplicações que utilizam a Web como plataforma de execução e os passos para a modelagem de uma aplicação Web real com cada metodologia apresentada através de um estudo de caso.
Características de Aplicações Web
A Internet tornou-se um grande mecanismo para realização de negócios. As características da Internet que influenciaram esse crescimento são: simplicidade aos usuários; informações dinâmicas; facilidade de utilização independente do local que o usuário se encontra. Essas características resultam no crescimento do desenvolvimento de sistemas que utilizam este ambiente para execução, tornando esses sistemas cada vez mais complexos.
Aplicações Web possuem características específicas comparadas a outros tipos de aplicações. Observamos, principalmente, duas formas pontuais de diferenciarmos aplicações Web: aplicações Web x sistemas convencionais e aplicações Web x Web sites.
Aplicações Web x Sistemas Tradicionais
A primeira forma consiste nas diferenças entre aplicações Web e sistemas convencionais. A engenharia de um sistema para Web envolve, além dos aspectos definidos na Engenharia de sistemas convencionais, aspectos que são relevantes apenas para esse tipo de sistema, como o ambiente exploratório baseado em navegação e navegação personalizada entre usuários, ou seja, o acesso às informações independente de outras pessoas. A Figura 1 expressa que a Engenharia de aplicação Web envolve outras características além da Engenharia de software para sistemas convencionais.
Aplicações Web x Web site
Em outra perspectiva, podemos diferenciar aplicações Web de Web sites. Uma aplicação Web consiste em Web sites que permitem ao usuário interagir com a aplicação, ou seja, aplicação Web seria a composição de Web sites que disponibilizam um determinado serviço aos seus usuários.
Uma aplicação Web enfatiza principalmente os aspectos relacionados à aplicabilidade e funcionalidade enquanto um Web Site tem ênfase na apresentação, aparência e navegação.
Dimensões de Projeto de uma aplicação Web
Uma aplicação Web pode ser caracterizada por três dimensões do projeto: estrutural (ou conceitual), navegacional e de apresentação. A dimensão estrutural define a organização das informações a serem tratadas pela aplicação e os seus relacionamentos, a dimensão navegacional define como as informações serão acessadas através da aplicação e a dimensão de apresentação define como as informações e o acesso a essas informações serão apresentados ao usuário da aplicação.
Tendo em vista essas informações e características de aplicações Web, torna-se necessária a utilização de metodologias que auxilie no desenvolvimento da aplicação, evitando-se o desenvolvimento de maneira “ad hoc”, ou seja, implementar e testar.
Metodologias de desenvolvimento de software buscam guiar os desenvolvedores nas suas atividades e facilitam a construção de sistema através de alguns aspectos:
- Gerência da complexidade, visualizando de maneira simples o domínio do problema em partes gerenciáveis;
- Comunicação entre as pessoas envolvidas no projeto, visando um aprofundamento no problema existente antes de seu desenvolvimento;
- Redução dos custos de desenvolvimento, evitando alocar recursos sem uma prévia análise da aplicação;
- Manutenção e documentação melhores, através de um desenvolvimento definido.
Existem diversas metodologias disponíveis para a utilização em um desenvolvimento de aplicações Web, dentre eles serão discutidas três. Para cada uma a ser apresentada, serão separados os conceitos de acordo com as dimensões de projeto definidas anteriormente para uma aplicação Web: projeto conceitual, projeto navegacional e projeto de apresentação, e ao final da cada uma será apresentado a sua aplicação em um estudo de caso real.
A seguir, serão apresentadas três metodologias de desenvolvimento para aplicações Web e sua aplicação em um estudo de caso real.
Estudo de Caso
Nosso estudo de caso é um sistema de consulta a veículos denominado AutoLopes Multimarca. Esta aplicação deve apresentar informações sobre carros usados, divididos em quatro categorias: vans, off-roads, motos e carros. Para cada categoria é apresentada a lista de veículos associados, e para cada veículo, há a possibilidade de visualizar suas informações específicas. A aplicações permite também o contato com os responsáveis pela empresa através do envio de um e-mail pela aplicação.
Lista de funções
- Deve permitir a consulta à lista de veículos de cada categoria: vans, off-roads, motos e carros;
- Deve permitir a consulta às informações específicas de um veículo específico: modelo, fábrica, ano, cor, combustível que utiliza e duas fotos;
- Deve permitir o envio de e-mail aos responsáveis pelo sistema;
WAE – Web Application Extension
Web Application Extension consiste em uma extensão da notação UML proposta a partir de 1998. É uma forma de usar a especificação padrão UML, que estende estereótipos (Nota 1) para mapear estruturas típicas da arquitetura Web, como páginas, applets, componentes servlets, etc.
Esta extensão busca solucionar o problema da semântica de representação dos elementos presentes na modelagem de aplicações Web através da modelagem conceitual (dados do sistema) e arquitetural (composição física). Estes estereótipos representam a composição física da aplicação a ser desenvolvida e o relacionamento dos seus componentes (modelo navegacional).
Uma metodologia proposta para aplicação de WAE no desenvolvimento de um sistema é na seguinte: inicialmente desenvolve-se um modelo conceitual representado pelo diagrama de classes da UML; após isto é desenvolvido um modelo navegacional utilizando os estereótipos de classes estendidas pela notação WAE através do relacionamento entre essas classes para representação navegacional e arquitetural da aplicação. Eventualmente, para a representação da iteratividade entre as classes do modelo navegacional pode ser utilizado o diagrama de sequência da UML.
Os elementos de WAE são: estereótipos de páginas, relacionamentos entre páginas, forms e framset.
-
Estereótipo de Páginas
As páginas existentes em uma aplicação Web apresentam características distintas de acordo com o local onde seus métodos são executados. Uma página que roda no servidor é completamente diferente de páginas que rodam em browsers de clientes, possui acesso a informações que não são acessíveis ao cliente e são controladas de maneira distinta.
A extensão da UML (WAE) representa essas páginas no modelo como duas classes distintas: Página servidora «server page» e Página Cliente «client page» (Figura 2).
Uma página servidora relaciona-se com componentes que existem no servidor e serão utilizados nestas páginas. Uma página cliente relaciona-se com componentes que existem no cliente (browsers).
-
Relacionamento entre páginas
Existe um fundamental relacionamento entre páginas clientes e servidoras, entre páginas servidoras e entre páginas clientes visando à comunicação entre essas classes. O relacionamento entre as páginas ajuda a definir o mapa do site. Existem diferentes mecanismos de relacionamento entre essas classes, são eles:
- Builds: relacionamento unidirecional entre uma «server page» e uma «client page», indicando que uma página servidora geralmente é responsável pela construção de páginas clientes. Representado pelo estereótipo «build».
- Redirect: outra facilidade das tecnologias de desenvolvimento de aplicações Web é a habilidade para redirecionar o processamento para outra «server page». Este relacionamento pode ser expresso no modelo com o estereótipo de associação «redirects».
- Links: um relacionamento adicional e fundamental no projeto de aplicações Web é hyper link. Páginas Clientes possuem hyper links (âncoras) para outras páginas Web (páginas servidoras ou clientes). O estereótipo: «links» é definido pra associação entre páginas clientes e outras páginas.
-
Forms (Formulários)
Formulários (Figura 2) são expressos no modelo como uma agregação de páginas clientes. Um objeto «form» existe somente no contexto de páginas clientes. Este objeto é uma coleção de elementos de entrada padrão que aceita entradas do usuário e submete à página servidora para processamento. Em uma mesma página pode haver diversos forms, cada um possuindo uma ação diferente na página.
Uma classe form tem como atributos campos a serem preenchidos pelos usuários. Métodos em uma página cliente têm acesso a todos os atributos do forms que estão associados página. Portanto, páginas clientes contêm forms.
Um estereótipo de associação «submits» representa o relacionamento entre um formulário e a página Web que a processa.
-
Frameset
Frames permitem que o projetista Web possa dividir a janela do browser em sub-áreas retangulares, cada uma com uma diferente página (Figura 2).
Coordenar atividades entre páginas em frames requer habilidade para referenciar páginas contendo frames. Target é o termo usado quando uma página cliente referencia outra página Web ou frame. Um target não tem propriedades ou atributos, ele é simplesmente uma referência possível para uma página cliente. Uma classe frameset pode conter um target, ou um target pode existir independentemente (como no caso de janelas de browser separadas).
Um estereótipo precisa ser definido para associação que indica que uma página cliente está requerendo um link para ser rodado em uma outra janela. Um estereótipo «targeted link» é aplicado para associação entre páginas clientes e targets com quem elas interagem. Parâmetros que são passados para o servidor com o targeted link podem ser identificados com um atributo link da UML.
Nota 1 – Estereótipo da UML
Estereótipo consiste em um mecanismo de extensão da UML que permite a classificação de seus elementos originais de uma outra forma a partir da definição de restrições a esses elementos. Ex: Página cliente é um estereótipo do elemento Classe da UML, pois é um tipo de classe restrita ao domínio de aplicações Web.
Aplicação de WAE no estudo de caso AutoLopes Multmarca
A modelagem de uma aplicação seguindo a metodologia apresentada para WAE resultou em dois modelos: modelo conceitual (Figura 3) e modelo navegacional (Figura 4).
O modelo conceitual (diagrama de classes) representa a estrutura dos dados do sistema, onde temos informações sobre a loja, contato (e-mails), veículo e categorias representados através de classes e seus relacionamentos.
O modelo navegacional gerado a partir da notação WAE representa a estrutura da aplicação através das páginas da aplicação e seus relacionamentos. A página principal da aplicação é composta um menu com links para as páginas de cada de categoria de veículos (Figura 4 -[marca azul]: pgVans, pgOff-roads, pgCarro e pgMoto) e um link para envio de e-mails através da aplicação (pgContato).
Para cada página de uma categoria é carregada a lista de veículos. Caso o usuário escolha um veículo específico, o sistema construirá (build) a página específica do veículo (pgVeiculo) com as suas informações através de um processamento feito na página servidora IdentificarVeiculo (Figura 4 – [marca amarela]). Para o envio e e-mail, o sistema apresenta um formulário (frmContato) para preenchimento dos dados do e-mail (Email, TipoContato e CorpoEmail) e após confirmação, envia o e-mail aos responsáveis pelo sistema através da página servidora GravarContato (Figura 4 – [marca vermelha]).
Confira também
WebML – Web Modeling Language
A WebML é uma notação para especificação de Web sites em nível conceitual e permite a descrição alto nível de um Web site sobre distintas dimensões ortogonais: seu conteúdo de dados (modelo estrutural), a páginas que compõe o site (modelo de composição), a topologia de links entre as páginas (modelo navegacional) e a customização das características de conteúdo de acordo com o perfil do usuário (modelo de personalização).
A especificação da WebML é feita com a definição de modelos, sendo que cada um deles já tem uma sintaxe XML definida, facilitando dessa forma a manipulação dos resultados da modelagem para a geração automática de páginas. Sendo esses modelos: Modelo Estrutural, Modelo de Hipertexto (formado pelos modelos de Composição e Modelo Navegacional), Modelo de Personalização.
Modelo Estrutural
O Modelo Estrutural consiste no conteúdo de dados da aplicação Web. A WebML não propõe uma nova notação de modelagem para essa estrutura, permitindo a utilização de notações como a Modelo de Entidade e Relacionamento ou Diagrama de Classes UML.
Os elementos fundamentais para a Definição do Modelo Estrutural são entidades que contêm os dados armazenados, e relacionamentos que permitem a ligação semântica de entidades. As entidades são formadas por um nome e atributos associados a um tipo de dado. Os relacionamentos são definidos através do nome e da cardinalidade das entidades que o compõem.
O modelo conceitual para o estudo de caso AutoLopes Multimarca é idêntico ao apresentado na Figura 3.
Modelo de Composição
O Modelo de Composição permite a definição de unidades de conteúdo e das páginas. As unidades de conteúdo determinam a forma pelo quais os dados de uma determinada entidade vão ser exibidos, customizando os atributos desejados. As principais unidades de conteúdo disponíveis na WebML são as seguintes (Figura 5):
- Data unit: Mostram informações relativas a um simples objeto, por exemplo, uma instância de uma entidade. São definidos através da definição dos atributos de uma entidade. Mais de um data unit pode ser criado para uma mesma entidade, oferecendo várias maneiras de se ver um mesmo dado.
- Multidata units: Mostram a informação referente a um conjunto de objetos, por exemplo, todos as instâncias de uma determinada entidade.
- Index units: Mostram os objetos de uma entidade em uma lista, denotando cada objeto como um link para outra unidade de conteúdo.
- Scroller units: Mostram comandos para acessar os elementos ordenados em uma lista de objetos, por exemplo, todas as instâncias de uma entidade ou todos os objetos associados com outro através um determinado relacionamento. Estes comandos são: primeiro, último, próximo e anterior.
- Filter units: Mostram campos que permitem que o usuário entre com valores para uma pesquisa, resultando apenas nos objetos validados por uma condição. Normalmente são usados em conjunto com o index unit ou multidata unit, que apresentam os valores correspondentes a pesquisa realizada.
Ainda no modelo de composição, a WebML apresenta um suporte à entrada de dados e operações. Para a inclusão dos mesmos, o modelo de composição apresenta links com propriedades de ativar a operações. As unidades de entrada de dados são formadas por campos que fornecem parâmetros para as operações a serem processadas. As unidades de operação recebem informações por meios um ou mais links, sendo que um deles tem que ser declarado como ativador da operação para quando a navegação pelo link ocorrer, este possa executar a operação. A WebML apresenta algumas unidades de operações definidas, sendo elas responsável por criar, atualizar e remover uma entidade e de criar e remover um relacionamento.
Modelo Navegacional
As unidades de conteúdo e as páginas formadas nos modelo de composição não podem existir isoladamente, devem estar conectadas para formar o modelo de hipertexto. Esse é o propósito do modelo navegacional, especificar a maneira pela qual as unidades de conteúdo e as páginas estão relacionadas, definindo os seus links que podem ser de duas formas:
- Links Contextuais: Conectam as unidades com informações semânticas referentes à aplicação, dessa forma carregando informação da unidade de origem para a de destino (Figura 6).
- Links Não Contextuais: Conectam páginas totalmente livres, independentemente das unidades que estão contidas nas páginas ou suas relações semânticas.
Modelo de personalização
Define características individuais do conteúdo de cada usuário ou grupo de usuário. WebML fornece o conceito de entidades de Usuários e Grupo de Usuários, permitindo modelar esquemas personalizados de conteúdo e apresentação, regras de acesso, segurança, atualização do conteúdo.
A separação entre o modelo estrutural e o de hipertexto permite que a WebML forneça meios de especificar várias visões de um mesmo site, possibilitando o atendimento de requisitos mais complexos. Essas diferentes visões do site podem estar associadas ao dispositivo pelo qual se está acessando o site ou por grupos de usuários.
Aplicação de WebML no estudo de caso
A modelagem de uma aplicação seguindo a metodologia apresentada por WebML para o estudo de caso consiste na definição do modelo de Hipertexto (Figura 7).
O modelo representa a existência de uma página principal (AutoLopes Multimarca) com uma lista de opções com links para as páginas das categorias (Motos, Vans, carros, Off-roads) que contêm, cada uma, a lista de veículos (Index Unit Veículos). Essa lista possui um link contextual para a página de detalhe de um veículo (AutoLopes – Detalhes), indicando que o veículo escolhido é passado como parâmetro para a página de detalhe.
O envio de e-mail é feito através da página Contatos que possuem um formulário a ser preenchido e enviado para a criação de um novo objeto do tipo Contato.
UWE – UML-based Web Engineering
Esta metodologia foi desenvolvida na Universidade de Munique – Alemanha e aborda as três dimensões de um projeto de aplicações Web: conteúdo, navegação e apresentação, utilizando elementos padrões da UML juntamente com a notação UWE e define uma seqüência de passos para a modelagem de uma aplicação Web.
A modelagem para desenvolvimento de aplicações Web pode ser realizada usando técnicas propiciadas pela UML junto com a sua notação UWE. Desenvolvedores de aplicações Web normalmente fazem uma separação do contexto em conteúdo, navegação e apresentação, ou seja, dividem, mesmo que involuntariamente, o desenvolvimento nos seguintes passos: projeto conceitual, de navegação e de apresentação.
Parte das atividades do projeto conceitual, de navegação e de apresentação é a construção de modelos e sua representação gráfica. Esses modelos consistem de elementos de modelagem da UML padrão ou elementos de modelagem especificados – estereótipos – definidos através do mecanismo de extensão da UML (Nota 1).
Projeto Conceitual
O Projeto Conceitual produz um Modelo Conceitual que descreve o domínio do problema através de classes e suas associações entre essas classes. É representado através de um Diagrama de Classe da UML.
Projeto Navegacional
A base no Projeto Navegacional é o Modelo Conceitual, e seu resultado é o Modelo Navegacional que pode ser visto como uma visão definida do modelo conceitual. O modelo navegacional é definido em dois passos. No primeiro passo o Modelo de espaço navegacional é definido mostrando quais as classes do modelo conceitual podem ser visitadas por navegação na aplicação Web. Um diagrama de classe da UML é utilizado para representar graficamente o modelo conceitual. Este modelo que é construído com estereótipos de classes – classe navegacional – e associação – navegabilidade direcionada.
O Modelo de estrutura navegacional define a navegação da aplicação, isto é, como os objetos navegacionais são visitados. Este modelo é baseado no modelo de espaço navegacional, mas elementos de modelagem adicionais são incluídos no diagrama de classe para representar a navegação entre objetos navegacionais: menus, guide tours e queries. Todos esses estereótipos serão definidos ao longo desta seção.
Projeto de apresentação
O projeto de apresentação suporta a modelagem de uma interface abstrata de usuário exibindo como a estrutura navegacional é apresentada ao usuário. Projeto de apresentação como os nós de navegação aparecerão, selecionando objetos de interface de usuário a serem exibidos e determinando as transformações que ocorrerão em cada interface definida. Esta notação propõe a construção de um modelo de apresentação.
O Modelo de apresentação é representado por um diagrama de composição da UML que descreve como as interfaces de usuários são construídas. Um objeto de interface de usuário pode ser um objeto de interface de usuário primitivo como texto, imagem e botão, ou uma composição de objetos de interface de usuários. Para a definição de objetos de interface de usuário foram definidos estereótipos de acordo com o mecanismo de extensão propiciado pela UML. Esses objetos são: âncora, texto, imagem, áudio, vídeo, botão, coleção, coleção ancorada.
Estereótipos para modelagem de aplicações Web
Esta extensão da UML define um conjunto de estereótipos que são usados na construção dos modelos definidos para o desenvolvimento de aplicações Web. A seguir serão apresentados os estereótipos definidos para a modelagem de aplicação Web segundo a notação UWE separados pelo modelo já definido anteriormente.
Modelo navegacional
- Classe Navegacional: representam uma classe conceitual cuja instância podem ser visitadas por usuários durante a navegação.O ícone usado para o estereótipo «navigational class» é mostrado na Figura 8.
- Navegabilidade Direcionada: associação no modelo navegacional é interpretada como navegabilidade direcionada da classe navegacional de origem para a classe navegacional de destino. Possui semântica diferente de uma associação no modelo conceitual. Ela determina a direção de navegação entre as classes, e são exibidas por setas direcionadas ou bidirecionadas (navegação em ambos os sentidos).
- Index: é modelado por um objeto composto que contém um número arbitrário de itens de index. Cada item de index possui um nome e um link para uma instância de uma classe navegacional. Qualquer index é um membro de alguma classe index que é estereotipada por «index» com um ícone correspondente como mostrado na Figura 8.
- Guide Tour: é um objeto que permite acesso seqüencial para as instâncias de uma classe navegacional. O ícone correspondente para o estereótipo «guide Tour» é mostrado na Figura 8. qualquer classe guide tour será conectada a uma classe navegacional por uma associação direcionada que tenha a propriedade {ordered}.
- Query: é representado por um objeto que tenha uma string de consulta como atributo. O ícone para o estereótipo «query» é mostrado na Figura 8.
- Menu: é um objeto composto que contém um número fixo de itens. Cada item de menu tem um nome e um link para a instancia de uma classe navegacional, index, guide tour ou query. Qualquer menu é uma instancia de uma classe menu que é estereotipada por «menu» com um ícone correspondente mostrado na Figura 8.
Modelo de apresentação
- Classe de apresentação: modela a apresentação de uma classe navegacional ou primitiva de acesso, como index, guide tour, query ou menu. Instancias de classes de apresentação recebem elementos de modelagem como texto, imagens, vídeos, áudio, âncoras, coleções, coleções ancoradas, etc. A Figura 9 mostra o ícone correspondente.
- Frameset e Frame: é um elemento de alto nível que é modelado por uma composição de objetos de apresentação ou outros framesets. Uma área de um frameset é associada a cada elemento de baixo nível, chamado frame. Os ícones para os estereótipos «frameset» e «frame» são apresentados na Figura 9.
- Janela: é a área de interface de usuário onde framesets e objetos de apresentação são exibidos. Uma janela pode ser movida, maximizada ou minimizada a um ícone. Ela possui dois pequenos botões, um para transformar a janela em ícone (minimizar) e outro para fechar a janela. A Figura 9 apresenta o estereótipo de classe para janela.
A Figura 10 mostra os ícones escolhidos para os estereótipos de elementos de modelagem apresentados abaixo. Eles são usados no projeto de apresentação de aplicações Web em adição aos objetos de apresentação, janelas, frameset e frames.
- Texto: é uma seqüência de caracteres.
- Âncora: é um texto que pode ser clicado que é o ponto de partida para o relacionamento entre outros nós.
- Botão: é uma área que pode ser clicada que tem uma ação associada a ela.
- Imagem, vídeo, áudio: são objetos multimídia. Uma imagem pode ser exibida. Áudio e vídeo podem ser iniciados, parados, podemos voltá-los, ou adiantá-los.
- Form: é usado para receber informações do usuário que passam informações em um ou mais campos de entrada ou opções de seleção do browser ou checkbox.
- Coleção: é uma lista de elementos de texto que é introduzida como estereótipo que prover uma representação conveniente desta composição.
- Coleção ancorada: é uma lista de âncoras que é introduzida como estereótipo que prover uma representação conveniente de uma coleção de âncoras.
Aplicação de UWE no estudo de caso
A modelagem de uma aplicação seguindo a metodologia apresentada por UWE para o estudo de caso consiste na definição de três modelos: Modelo conceitual (idêntico ao da Figura 3), Modelo navegacional (Figura 11) e Modelo de apresentação (A Figura 12 apresenta o modelo de apresentação para a página de veículos).
O modelo navegacional da Figura 11 indica que a classe navegacional Loja é composta por um item menu (Menu Principal) com 4 links para a classe Categoria, que apresenta a lista de veículos de acordo com a categoria (Index – Lista de Veículos). A partir desta lista pode ser acessada um veículos específicos (classe Veículo).
O modelo de apresentação para a página de veículo apresenta os elementos desta página de acordo com o seu tipo. A página é composta pelas informações de Veículos (Classe de apresentação Veículo) que contem seus dados (fotos, ano, cor, etc) e por um menu principal (Classe de apresentação Menu Principal) com links para outras áreas do site.
Ferramentas de modelagem das metodologias
O desenvolvimento de uma aplicação Web através das metodologias apresentadas neste artigo requer a utilização de ferramentas CASE para facilitar a tarefa de modelagem através de cada uma das metodologias. Abaixo, apresento uma descrição sobre ferramentas existentes para as metodologias.
- ArgoUWE: O ArgoUWE é uma ferramenta CASE que permite a modelagem de aplicações Web através da metodologia UWE. Esta ferramenta é instalada como extensão da ferramenta de modelagem ArgoUML através de bibliotecas especiais para a notação UWE. Obs: a ferramenta neste momento não suporta a modelagem do modelo de apresentação.
- Estereótipos para o Rational Rose: O Rational Rose é uma ferramenta CASE proprietária desenvolvida pela empresa IBM que permite a modelagem de sistemas utilizando-se a notação UML. Para que seja possível a modelagem de sistemas utilizando a notação WAE, é necessária a instalação dos estereótipos estendidos da UML através desta ferramenta.
- Visual UML: O Visual UML é uma ferramenta CASE proprietária desenvolvida pela empresa Visual Object Modelers, que é uma empresa membro da OMG (Object Management Group), que permite a modelagem de objetos para todos os diagramas da UML 1.3 e 1.4. Visual UML inclui extensões da UML para modelagem de objeto de negócio, modelagem de aplicações Web (usando a notação WAE) e modelagem XML.
- WebRatio: é uma ferramenta CASE que permite a modelagem e a geração de aplicações Web utilizando como base a notação WebML. O WebRatio é uma ferramenta proprietária desenvolvida pela empresa WebModels S.r.I. com o auxílio dos criadores da WebML. Esta ferramenta possui uma versão de teste disponível aqui.
Conclusão
Este artigo tem como objetivo apresentar ao leitor as principais diferenças no desenvolvimento de uma aplicação que utiliza a Web como plataforma, destacando três metodologias de desenvolvimento dessas aplicações. A importância destas metodologias se dá devido à necessidade de definição de aspectos particulares destas aplicações e que não podem ser desenvolvidos como sistemas convencionais.
Atualmente, não há um padrão de modelagem de aplicação Web (como existe para aplicações tradicionais através da UML). Várias metodologias com características e notações distintas estão disponíveis e podem ser utilizadas no projeto dessas aplicações.