Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Introdução Sistema multicamadas Páginas dinâmicas ASP / JSP / WSP WebIntegrator Protótipo Ferramentas Definição
Objetivos do trabalho O objetivo do trabalho é criar um protótipo de uma aplicação que, integrada com o banco de dados Caché, acesse as classes definidas no arquiteto de objetos do banco de dados e a partir destas classes crie páginas WSP.
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Arquitetura de aplicações Uma camada centralizada em um único ambiente mainframe. Duas camadas cliente/servidor Multicamadas escalabilidade, reusabilidade, flexibilidade, integridade, desempenho,...
Arquitetura multicamadas São componentes de aplicação que se comunicam através de uma interface abstrata É uma arquitetura de software em níveis, na qual há a separação dos serviços dos usuários (interface do usuário), dos serviços de negócio (modelo do domínio) e dos serviços de dados.
Componentes de aplicação Camada lógica de apresentação Camada lógica de negócio Camada lógica de acesso a dados Interface Negócio Banco GUI DataBase1 WEB WEB Server DataBase2
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Tecnologias de conteúdo dinâmico Conteúdo estático nunca mudam dependendo de quem e quando são solicitados Conteúdo dinâmico e-commerce, carrinho de compras online, notícias recentes, preços atualizados,...
Conteúdo dinâmico O browser manda uma requisição para o servidor web. O servidor web determina, pela extensão.jsp,.asp,.wsp e outras,que a requisição deve ser processada para a inclusão do conteúdo. As partes de códigos são executados e os resultados são substituídos na página. O HTML gerado é enviado novamente para o servidor web. O servidor web envia o HTML para o browser.
Algumas tecnologias CGI primeiro padrão de conteúdo dinâmico (Perl) CODLDFUSION suporta UNIX e Microsoft Windows PHP open source (não comercial e disponível para diversas plataformas) ASP disponível somente para Internet Information Server (IIS) rodando no Microsoft Windows NT CSP Caché Server Pages
JSP JavaServer Pages Acesso a uma grande varieade de API Java e serviços, incluindo JDBC, JavaMail, Java Transaction, dentre outros JavaBeans para acessar informações na camada de acesso aos dados
JSP JavaServer Pages / Aplicações Multicamadas
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Banco de dados orientado a objetos Surgiram da necessidade de se sustentar a programação orientada a objetos São fruto da união dos Sistemas Gerenciadores de Banco de Dados e Orientação a Objetos.
Vantagens do Banco de dados orientado a objetos Capacidade de modelar não só os dados de estruturas complexas mas também seu comportamento Maior naturalidade conceitual, através da definição de objetos Concordância com fortes tendências das linguagens de programação e da engenharia de software
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Pattern e framework Buscam alcançar a reutilização em larga escala Evitam a copia de partes de código de outros programas para manter um padrão de desenvolvimento do código e um padrão de interface
Pattern É um conjunto de regras descrevendo como executar certas tarefas no domínio do desenvolvimento de software Reuso de modelos de temas arquiteturais repetidos Em casos com infinito número de situações, os patterns fornecem um conjunto de situações previamente testadas Exemplo: algoritmos de ordenação, livros de algoritmos
Framework É um conjunto de classes cooperativas que compõem modelos reutilizáveis para uma classe especifica de software Reuso no nível de modelo detalhado, algoritmos e implementação Normalmente se escreve o corpo principal da aplicação e se chama o código que se quer reutilizar, com framework reutiliza-se o corpo principal e se escreve o código que este chama
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Ferramentas Ferramenta de especificação Rational Rose Ferramenta de implementação JBuilder 5
Banco de dados Caché
Banco de dados Caché Modelo baseado em objetos, executando sobre um banco de dados multidimensional e voltado a transações Entre suas características web, o Caché oferece o Caché Server Pages (CSP), Caché Hyper-Events e o Caché Web Wizard
Caché Object Script (COS) É uma linguagem nativa e orientada a objetos, sendo formada basicamente por comandos, funções e variáveis especiais
WebIntegrator
WebIntegrator É um servidor de aplicações web com ambiente de desenvolvimento integrado Baseado em tecnologia web, conectando-se aos principais bancos de dados via ODBC, JDBC, Caché Factory e outras Caché Factory permite chamar queries, procedures e métodos do objeto
WebIntegrator Está dividido em 2 grupos: WI_Builder responsável pelo ambiente de desenvolvimento WI_Engine responsável pelo processamento Interpretador de JSP, permitindo a codificação de trechos Java (JSP) e a chamada de classes Java
Outras ferramentas Personal Web Server JRun
Protótipo Acessa classes no banco de dados, e utilizando componentes do WebIntegrator gera as páginas dinâmicas Utiliza templates para a geração de código
Diagrama de caso de uso
Diagrama de classe
Arquiteto de objetos Caché
Conexão ao banco
Geração de um cadastro
Seleção e ordenação dos campos
Detalhamento dos campos
Pré-visualização do cadastro
Cadastro gerado
Geração de uma consulta
Inclusão e ordenação dos campos
Detalhamento dos campos
Pré-visualização da consulta
Consulta gerada
Roteiro Introdução Aplicação multicamadas Tecnologias de conteúdo dinâmico Banco de dados orientado a objetos Pattern e framework Ferramentas e Protótipo Conclusões e Sugestões
Conclusões A união das tecnologia de conteúdo dinâmico e BDOO formam um poderoso mecanismo para o desenvolvimento de sistema complexos, possibilitando modelar sistemas de acordo com o mundo real com as vantagens das aplicações web.
Sugestões Estudar a implementação no protótipo para a integração com outros bancos de dados orientados a objetos Implementação da possibilidade de geração de cadastros que possam utilizar mais de uma classe, implementando cadastros do tipo mestre-detalhe
Muito obrigado! UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) Blumenau, junho/2002
Estudo de caso Apresentação prática utilizando o Generator
Estudo de caso Diagrama de classe
Cadastro de Estados
Cadastro de Cidades
Cadastro de Empresas
Cadastro de Clientes
Consulta de Estados
Consulta de Cidades por Estado
Consulta de Clientes por Empresa Situação e Data
Muito obrigado! UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) Blumenau, junho/2002