Protótipo de uma ferramenta de apoio para desenvolvimento...

59
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002

Transcript of Protótipo de uma ferramenta de apoio para desenvolvimento...

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Ederson Evaristo JantschOrientador: 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

GUI

WEBWEBServer

Interface Negócio Banco

DataBase1

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

WebIntegratorEstá 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

JRun

Personal Web Server

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 BLUMENAUCENTRO DE CIÊNCIAS EXATAS E NATURAISCURSO DE CIÊNCIAS DA COMPUTAÇÃO

(Bacharelado)

Blumenau, junho/2002

Estudo de caso

Apresentação prática utilizando oGenerator

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 BLUMENAUCENTRO DE CIÊNCIAS EXATAS E NATURAISCURSO DE CIÊNCIAS DA COMPUTAÇÃO

(Bacharelado)

Blumenau, junho/2002