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 Thin server GUI Lógica Dados Thin client 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 servidor de de aplicação servidor de de dados A servidor de de dados B
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.