Disciplina: Projetos I



Baixar 19.64 Kb.
Encontro12.09.2019
Tamanho19.64 Kb.

UNIVERSIDADE FEDERAL DE SANTA CATARINA - UFSC

CURSO DE SISTEMAS DE INFORMAÇÃO

DISCIPLINA: Projetos I

ALUNA: Renata Espíndola Martins 0023837-6

PROF.: Renato Cislaghi

Aplicativo Cliente Servidor Multicamadas para controle de uma rede de lojas via WEB utilizando Java


Introdução
O modelo de aplicação Cliente-Servidor se encaixa perfeitamente em redes de computadores, onde um Servidor é responsável em prover serviços para outras máquinas da rede. Extrapolando este sistema para a Internet, o que temos é uma enorme rede mundial, interligando cidades e países, com grande potencial de desenvolvimento de serviços que podem ser utilizados por diversas máquinas em qualquer ponto do globo.

No âmbito empresarial, a corrida pela Internet no Brasil vem crescendo de forma rápida. As empresas estão se atualizando para acompanhar as mudanças e participar deste fenômeno que é a Internet. O primeiro passo para as empresas foi simplesmente aparecer na Internet, geralmente na forma de um site, apenas como uma vitrine virtual. O segundo passo foi oferecer serviços a clientes através do site na Internet. A compra e venda de produtos, e o atendimento bancário via Internet são algumas das inúmeras facilidades oferecidas aos clientes nos dias de hoje. O terceiro passo é utilizar toda essa infraestrutura chamada Internet, que conecta internamente as empresas e também as conecta com fornecedores e clientes, para automatizar e agilizar os processos de controle da empresa, transações entre filiais, e relacionamentos com fornecedores e clientes.


Arquitetura Cliente/Servidor duas camadas
Com a arquitetura cliente/servidor 2 camadas, a interface do sistema é usualmente colocada na máquina do cliente e os serviços de banco de dados são usualmente colocados em um servidor que em geral é uma máquina mais potente, capaz de servir vários clientes. O processamento é separado entre o cliente e o servidor de banco de dados. O servidor de banco de dados possui stored procedures( funções armazenadas ) e triggers ( gatilhos, que disparadores de funções ). Existem uma variedade de produtos comerciais que fornecem ferramentas para simplificar o desenvolvimento de aplicações para a arquitetura cliente/servidor 2 camadas.

A arquitetura cliente/servidor com 2 camadas é uma boa solução para a computação distribuída quando os grupos de trabalho são na ordem de dezenas ou centenas de pessoas interagindo no sistema simultaneamente. Certamente há algumas limitações. Quando o número de usuários excede a casa das centenas, a performance tende a deteriorar. Esta limitação é resultado do servidor mantendo a conexão “viva” com cada cliente, mesmo quando nenhum trabalho está sendo feito. Uma segunda limitação da arquitetura em 2 camadas é que a implementação de serviços utilizando funções de um determinado fabricante de banco de dados tente a restringir a flexibilidade. Finalmente, as implementações de arquiteturas 2 camadas fornecem uma limitada flexibilidade em mover ou reparticionar funcionalidades do sistema de um servidor para outro, sem manualmente re-gerar todo o código da aplicação.


Considerações
A arquitetura de software em duas camadas é bastante usada em processamentos não críticos e onde a manutenção e o processamento do sistema não são complexos. Este design é usado freqüentemente onde a quantidade de transações entre cliente e servidor é pequena. A arquitetura 2 camadas funciona bem para um ambiente em que as regras de negócio não mudem muito freqüentemente, e quando o grupo de usuários esperado é de no máximo 100, como por exemplo em uma empresa de pequeno porte.

Arquitetura Cliente/Servidor três camadas
A arquitetura cliente/servidor em três camadas, também conhecida como arquitetura cliente/servidor multicamadas, surgiu para suprir as limitações que da arquitetura em duas camadas. Na arquitetura em três camadas, uma camada intermediária foi adicionada entre a camada cliente e o servidor. Existem uma variedade de formas diferentes de se implementar esta camada intermediária, como servidores de mensagens, servidores de aplicação e monitores de processamento de transições.

A camada intermediária pode armazenar requisições de clientes em uma fila, então o cliente pode requisitar seu pedido à camada intermediária e desconectar, pois a camada intermediária vai acessar o banco de dados e retornar a resposta ao cliente posteriormente. A camada intermediária também fornece serviços diferenciados dependendo da prioridade do trabalho, e agendamento de tarefas. A arquitetura em três camadas tem mostrado uma melhora de performance para grandes grupos de usuários, na casa dos milhares, e possui uma flexibilidade maior se comparado com a arquitetura duas camadas.

Flexibilidade pode ser bem simples a ponto de particionar código da aplicação em módulos e colocá-los em diferentes computadores se tornar uma simples operação de “arrastar e soltar” com o mouse. Uma limitação da arquitetura em três camadas é que o desenvolvimento de aplicações neste modelo é mais difícil do que o desenvolvimento em duas camadas.

Considerações


Construir uma aplicação em três camadas é um trabalho complexo. Ferramentas de desenvolvimento que suportam a arquitetura três camadas ainda não fornecem todas os serviços desejados para suporte ao desenvolvimento de aplicações distribuídas. Um problema que pode surgir é que a separação da interface com o usuário, o processamento lógico da aplicação e a lógica de banco de dados nem sempre é tão óbvia. Alguns processos lógicos podem aparecem em todas as três camadas.

A colocação de uma função em uma determinada camada pode ser feita baseada em alguns critérios como os seguintes:


• Facilidade de desenvolvimento e teste

• Facilidade na administração do serviço

• Escalabilidade dos servidores

• Performance, levando em conta processamento e tráfego na rede.



Metodologia
A arquitetura Cliente-Servidor consiste em um servidor central contendo a aplicação que será acessada via Internet pelas diversas máquinas das que também estarão conectadas à Internet. A aplicação utilizou o modelo MVC (Model View Controller) que separa a aplicação em três componentes distintos, o modelo, a interface e o controlador.
Cada um destes componentes possuem responsabilidades:
• O modelo representa os dados e a lógica da aplicação. O modelo em geral é a aplicação em si, que transforma os dados da forma que o usuário requisitou, e possui uma interface que pode ser acessada pelo controlador.
• A interface transforma os dados do modelo. Ela acessa as informações do modelo e a mostra ao usuário da forma que ela tem q ser apresentada. A interface se modifica, quando os dados do modelo se modificam. A interface também repassa as requisições do usuário para o controlador.
• O controlador define o comportamento da aplicação. Ele despacha as requisições dos usuários e controla a apresentação dos dados. O controlador interpreta as entradas do usuário e mapeia estas entradas para o modelo, e seleciona qual será a próxima interface a ser mostrada ao usuário.
Conclusão final
O modelo de processamento cliente/servidor não é o final da evolução do ambiente de computação e a solução de todos os problemas, mas existem vários motivos para utilizá-lo, sendo especialmente adequado para ambientes de sistemas distribuídos na Internet.

Aplicações cliente/servidor podem ser desenvolvidas utilizando-se diversas técnicas de programação. O trabalho apresentou de forma sucinta as diversas formas de organização das camadas que constituem as aplicações cliente/servidor.

O objetivo principal deste trabalho foi explorar as diversas técnicas de desenvolvimento de aplicações servidoras mostrando suas principais vantagens e empregar estas técnicas diretamente na resolução de um problema, no caso a implantação de um sistema de controle de estoque de uma rede de lojas.

A implementação utilizou o modelo Model-View-Controler, que consiste em separar na aplicação, os módulos responsáveis pelo modelo, pela apresentação e pelo controle de fluxo das informações, e tem se tornado um padrão nas aplicações para Internet pelos benefícios que traz ao desenvolvimento.




Bibliografia



[1] Oliveira, Henrique Eduardo M. - Aplicativo Cliente Servidor Multicamadas para controle de uma

rede de lojas via WEB utilizando Java, Florianópolis, Maio 2003. - http://www.inf.ufsc.br/~leandro/ensino/grad/orientacoes/tcc_Henrique_Oliveira.pdf




©aneste.org 2017
enviar mensagem

    Página principal