1 / 38

Programação de Sistemas de Comunicação

Módulo 6. Programação de Sistemas de Comunicação. Modelo Cliente / Servidor. Componentes funcionais duma aplicação : A aplicação cliente / servidor O modelo Cliente / Servidor. Modelo Cliente / Servidor. O processo Cliente requisita serviços ao Servidor.

eyad
Download Presentation

Programação de Sistemas de Comunicação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Módulo 6 Programação de Sistemas de Comunicação

  2. ModeloCliente/Servidor • Componentesfuncionaisdumaaplicação : • A aplicação cliente / servidor • O modelo Cliente / Servidor

  3. ModeloCliente/Servidor • O processo Cliente requisita serviços ao Servidor

  4. Componentesfuncionais de umaaplicação • Todas as aplicações de computadores, independentemente do que fazem ou da tecnologia que as implementa, possuem três áreas gerais de funcionalidade: • Apresentação (interface com o utilizador ou com outro sistema: permite à aplicação comunicar com outra entidade) • Interface com o utilizador • Entrada de dados • Validação de campos

  5. Aplicação (lógica de negócio ou regras de negócio: parte do processo de computação que as aplicações automatizam) • Manipulação de dados • Cálculos • Fluxos de acordo com regras estabelecidas

  6. Acesso a dados: código que automatiza o armazenamento, procura e recolha de dados pelas aplicações • Inputs/Outputs das bases de dados • Procedimentos de armazenamento

  7. AplicaçõesMonolíticas • Código que implementa toda a lógica num único bloco (3 em 1…). • Inicialmente, as aplicações eram monolíticas e grandes (pesadas…), usadas em ambiente de mainframes.

  8. AplicaçõesMonolíticas • Desenvolvidas usando linguagens e ferramentas diferentes, com objectivos operacionais específicos, para servirem entidades específicas, durante muitos anos. • Não existia a necessidade de interacção entre diferentes aplicações.

  9. AplicaçõesMonolíticas • Desvantagens: • Alterações difíceis, demoradas e caras. • Partilha de dados e serviços difícil • Nenhuma reutilização de código redundante • Difícil comunicar com outras aplicações • Necessariamente desenvolvidas numa só (e mesma) máquina • Acessíveis através dum único interface com o utilizador

  10. Arquitectura do Modelo Cliente/Servidor (I) • Arquitectura em que as aplicações para cumprirem os seus objectivos funcionais devem pedir assistência (serviços) a uma outra componente de software. • Arquitectura “2-Tier”: • Fat Client: Parte de GUI e lógica de negócio juntas no cliente que requer serviços de acesso a dados ao servidor. • Thin Client: Só a parte do GUI reside no cliente e a lógica de negócio reside com o acesso a dados no servidor.

  11. Arquitectura “3-Tier” • Arquitectura “N-Tier” • Estas arquitectura são descritas pelo número de componentes executáveis normalmente dívidida por sistemas ou máquinas envolvidos.

  12. Fat Client

  13. Arquitectura 2-Tier • Desvantagens do modelo 2- Tier: • São difíceis e caras de modificar, quando as regras mudam (ou uma das partes dependentes) • Informação redundante • Dá origem à separação das três componentes em três partes de código executável distinto, isto é, à arquitectura “3-Tier Cliente/Server”

  14. Arquitectura 3-Tier • Benefícios deste Modelo: • Incrementa o uso de interfaces gráficos com o utilizador; • Promove um acesso mais fácil aos dados; • Integra a multi-plataforma; • Permite o acesso a mais ferramentas de desenvolvimento de aplicações; • Melhora as operações de gestão (Reengenharia de processos); • Permite o processamento de aplicações distribuídas; • Possui menos custos operacionais.

  15. Arquitectura 3-Tier (exemplo)

  16. Desvantagens do modelo 3-Tier • São difíceis e caras de modificar quando as regras de mudam (mão de obra mais especializada); • A parte que implementa as regras de tem de ser executada no mesmo computador limitando assim a sua flexibilidade;

  17. N-Tier Client/Server Architecture • Cada “serviço” implementa um pequeno conjunto de regras; • As regras de definem como é que deve ser feito; • Quando uma regra deve ser modificada para suportar alterações de requisitos na aplicação, somente o serviço que implementa essa regra de tem de ser alterado; o restante código da aplicação permanece intacto;

  18. N-Tier Client/Server Architecture • Vantagens da arquitectura N-Tier • Fácil manutenção e alteração de código • Melhor desempenho • Potencial na partilha e reutilização de código

  19. Servidor Mono-Cliente / Multi-Cliente

  20. Mono-Cliente • Vantagens : • Segurança • Maior simplicidade de implementação • Não existem problemas de alteração duplicada de informação. • Requesitos de Hardware mínimos. • Económico • Maior fiabilidade. Desvantagens : • Não permite vários utilizadores. • Não se adequa à realidade informática. • Tempo de resposta maior (Requesitos de Hardware mínimos)

  21. Multi-Cliente • Vantagens • Multi-utilizador • Acesso de informação instantâneo. • Desvantagens • Custos de implementação • Implementação • Fiabilidade

  22. Resolução e Formação de IP´s

  23. IP´s - Notação • O endereço IP, na versão 4 (IPv4), é um número de 32 bits escrito com quatro octetos e no formato decimal (exemplo: 128.6.4.7). • A primeira parte do endereço identifica uma rede específica, a segunda parte identifica um host dentro dessa rede. • Deve notar que um endereço IP não identifica uma máquina individual, mas uma ligação à rede. • Assim, uma gateway ligada à n redes tem 'n' endereços IP diferentes, um para cada ligação.

  24. Resolução • Os endereços da Internet são mais conhecidos pelos nomes associados aos endereços IP (por exemplo, www.escopal.com) . • Para que isto seja possível, é necessário traduzir (resolver) os nomes em endereços IP. • O Domain Name System (DNS) é um mecanismo que converte nomes em endereços IP e endereços IP em nomes. Os nomes DNS são hierárquicos e permitem que faixas de espaços de nomes sejam delegados a outros DNS.

  25. Classes de endereços • Originalmente, o espaço do endereço IP foi dividido em poucas estruturas de tamanho fixo chamados de "classes de endereço". As três principais são a classe A, classe B e classe C. Examinando os primeiros bits de um endereço, o software do IP consegue determinar rapidamente qual a classe, e logo, a estrutura do endereço.

  26. Redes privadas • Dos mais de 4 bilhões de endereços disponíveis, três intervalos são reservados para redes privadas. Estes intervalos não podem ser reencaminhados para fora da rede privada - não podem comunicar directamente com redes públicas. Dentro das classes A,B e C foram reservadas redes que são conhecidas como endereços de rede privados.

  27. Proposta. • Diferença IP público e IP privado ? • Quantos IP´s pode ter um computador ? • Qual o objectivo do IP ? • Qual o IP do computador em que está alojado a página da escola www.escopal.com ? • Em que condição se poderia aceder à página da escola usando o seguinte endereço no browser 192.168.0.1

  28. Sockets

  29. Sockets • Usado na troca de mensagens na comunicação entre processos (IPC - InterProcessCommunication) • Endereço socket: identificador de comunicação que consiste de número de porta local e endereço IP • Comunicação baseada em pares de sockets, cada um pertencendo a um dos processos comunicantes

  30. Endereçamento • Para receber ou enviar mensagens os processos precisam de um identificador (endereços IP ou domínios + porta a usar). • O identificador é composto por : • IP (exemplo: 127.0.0.1) • Porta (http porta 80)

  31. Tipos de sockets • Tipos de sockets : stream (TCP/IP) e datagram (UDP/IP) • Stream: confiáveis, dados são entregues em ordem na mesma sequencia de envio. Comunicação bidirecional, orientado à ligação . Existe uma ligação lógica entre os processos. • Datagram: não confiáveis, dados podem ser recebidos fora de ordem. Comunicação bidireccional, porém sem conexão. Cada datagrama é enviado separadamente podendo usar caminhos diferentes.

  32. Principais funções socket • Socket – Cria um socket. • Connect – Inicia a ligação ao servidor. • Write – Escreve os dados. • Read – Lê os dados. • Close – Fecha a ligação • Bind – Atribui um IP e uma porta ao socket • Listen – Coloca o socket em modo passivo “ouvir/escutar” • Accept – Bloqueia o servidor até a chegada da ligação • Recvfrom – Recebe a informação e guarda o endereço do remetente. • Sentto – Envia a informação especificando o endereço

  33. TCP - Stream Servidor socket () bind () Cliente listen () socket () accept () connect () Estabelecimento de ligação bloqueado Dados (pedido) write () read () Dados resposta) write () read () close () close ()

  34. UDP - Datagram Servidor socket () bind () Cliente recvfrom() socket () bloqueado Dados (pedido) sendto() Dados resposta) sendto() recvfrom() close () close ()

  35. Proposta • Sabendo o modo de funcionamento das ligações TCP e UDP, realize um trabalho que explique detalhadamente as diferenças entre os mesmos e, o que leva a ao programador escolher quanto está a desenvolver o seu software entre TCP ou UDP.

More Related