Aplicativo Cliente/Servidor multicamadas para controle de uma rede de lojas via web utilizando Java Aluno: Henrique Eduardo M. Oliveira Orientador: Prof. Dr. Leandro J. Komosinski Banca: Prof. M. Maria Marta Leite Prof. Dr. Vitório Bruno Mazzola Prof. Alcides F.J Andujar M. Eng. Estrutura da apresentação • Objetivos • Motivação • O Problema • Tecnologia utilizada para solução • Características do sistema • Conclusões Objetivos • Estudo da arquitetura e das tecnologias necessárias para implementar um sistema cliente/servidor na Internet • Empregar esta tecnologia para resolver problemas de uma empresa na prática Motivação • Sistema na Internet • Plataforma Java • Resolução de um problema real • Aprendizado A Empresa • Empresa Planet Cap Bordados www.planetcap.com.br • Bordados computadorizados • Possui 1 escritório central e 4 filiais O problema: Cadastro de clientes • Não há cadastro de clientes • Sem feedback do cliente • Não há tratamento diferenciado • Impossibilidade de campanhas direcionadas O problema: Controle da venda • Anotação em uma comanda • Vendas anotadas em uma lista • Email com movimento e lista de códigos no final do dia • Baixa estoque feita numa planilha O problema: Controle de estoque • Manipulação estoque feita a mão em planilha • Movimentação complexa, envolve muitas colunas • Re-trabalho na verificação dos caixas • Falhas humanas A solução • Sistema cliente/servidor na internet • Servidor on-line com dados • Filiais como clientes acessando o servidor Vantagens da solução • Atualização automática estoque na venda • Armazenamento de todas as transações • Manipulação de estoque automatizadas • Base de dados (clientes,estoque) comum à todas as lojas Cliente: Características – ativo: submete pedidos ao servidor – implementa a interface com o usuário – Pode acessar diversos servidores – Sistema operacional leve e flexível • Browser Web: o cliente universal ! Servidor: Características – oferece um serviço aos clientes – passivo: responde aos pedidos dos clientes – efetua um processamento específico – Pode servir clientes simultâneos(Threads) Clientes gordos ou magros? • Aplicação: Interface + lógica + dados • Onde separar cliente e servidor ? – Fat Server : lógica no servidor – Fat client : lógica no cliente Fat client GUI Thin client Lógica Thin server Dados Fat server Clientes Gordos X Magros • Cliente gordo: • menos processamento para o servidor • possivelmente mais tráfego na rede • cliente é mais sensível a mudanças • Cliente magro: • mais processamento no servidor • menos tráfego na rede • manutenção mais simples Arquitetura cliente/servidor três camadas • 1ª camada: interface com o cliente • 2ª camada: lógica da aplicação • 3ª camada: banco de dados cliente cliente servidorde de servidor aplicação aplicação servidorde de servidor dadosAA dados servidorde de servidor dadosBB dados Diagrama de fluxo – MVC Arquitetura três camadas Tecnologias • Controlador: JSP/JavaBeans • Interface: JSP • Modelo: JavaBeans • Enterprise JavaBeans x JavaBeans Ferramentas • Java 2 Plataform • http://java.sun.com • Servidor de aplicação: Jakarta TomCat • http://jakarta.apache.org/tomcat • Banco de Dados: MySQL • http://www.mysql.com • Ferramenta de apoio: Jakarta Ant • http://jakarta.apache.org/ant • Desenvolvimento Java: JCreator • http://www.jcreator.com Sistema desenvolvido • Características: – Cadastro de clientes – Estoque atualizado na venda – Manipulação automatizada – Estrutura de usuários para acesso diferenciado – Relatórios Implementação do sistema • Custos de instalação e fixos • Infra-estrutura necessária – Hardware x Software • Cronograma – Escritório já funcionando ( Estoque ) – Lojas Resultados da implementação • 15 dias de testes em paralelo com o processo atual • Treinamento direto no sistema • Resultados: – Agilidade nos processos – Diminuição dos erros de manipulação – Relatórios utilizados para melhorar a gestão Dificuldades encontradas • Domínio das novas ferramentas e nova linguagem • Aplicação do MVC na arquitetura 3 camadas • Modelagem das classes Trabalhos Futuros • Aprimoramento do sistema – Módulo financeiro – Maior variedade de relatórios – Transações diretas com fornecedores • Troca de documentos: XML Conclusões • Objetivos alcançados – Aprendizado de nova arquitetura de sistema • MVC com 3 camadas – Aprendizado de novas tecnologias • Java/JSP/Javabeans – Implementação do sistema • Cadastro clientes, manipulação estoque e automatização da venda Finalizando Perguntas??? Aplicativo Cliente/Servidor multicamadas para controle de uma rede de lojas via web utilizando Java Aluno: Henrique Eduardo M. Oliveira Orientador: Prof. Dr. Leandro J. Komosinski Banca: Prof. M. Maria Marta Leite Prof. Dr. Vitório Bruno Mazzola Prof. Alcides F.J Andujar M. Eng.