A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº 21150324 Marco AndradeNº 21190335 1.

Apresentações semelhantes


Apresentação em tema: "P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº 21150324 Marco AndradeNº 21190335 1."— Transcrição da apresentação:

1 P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº 21150324 Marco AndradeNº 21190335 1

2 E STRUTURA DE COMUNICAÇÃO Int code, inteiro que transporta o código referente a operação que se pretende efectuar. T Message, campo genérico que encapsula os dados necessários para processar a operação descrita pelo campo code. 2

3 C ÓDIGOS DE COMUNICAÇÃO Códigos 0->50, cliente para servidor 1 -> Login 2 -> Pedir listagem de salas 3 -> Pedir Listagem de reservas de salas do utilizador actual 4 -> Pedir para registar reserva 5 -> Logout 6 -> Pedir para cancelar reserva 7 -> Pedir listagem de todas as reservas 3

4 C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos 50->100 servidor para o cliente sucesso 99 -> Login efectuado com sucesso 98 -> Preparar para receber listagem de salas 97 -> Preparar para receber listagem de reservas de salas do utilizador actual 96 -> Sala reservada com sucesso 95 -> Listagem de todas as reservas 4

5 C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos 50->100 servidor para o cliente, falha 50 -> Login inválido 51 -> Utilizador sem salas reservadas 52 -> Sala já reservada 53 -> Falhou pedido para cancelar reserva 5

6 C ÓDIGOS DE COMUNICAÇÃO C ONT. Códigos enviados quando há alterações 70 ->Alterações nas reservas 71 -> Alterações nas salas 6

7 L IGAÇÃO Cliente Estabelece Ligação via TCP Servidor aceita ligação e lança thread Cliente envia pedido de autenticação Code 1, message: User User: Username, password Code: 50/51 Login ok=50 Login fail=51 Login ok, cliente lança thread ligação Login Fail, mostra mensagem ao utilizador Cliente Servidor 7

8 L IGAÇÃO Após verificação das credenciais do utilizador, o programa cliente lança uma Thread que vai receber todas respostas do Servidor. O cliente Gráfico é responsável por enviar todos os pedidos para obter a informação que necessita. 8

9 Cliente Gráfico Thread Ligação Invoca método Actualiza, passando o código que recebeu do servidor Servidor Thread Multicast Thread ClientConn ection ThreadCl ient...... Pedidos Respostas Pedido IP/Porto via Multicast Resposta via UDP

10 S ERVIDOR O servidor está implementado da seguinte forma: 10 Servidor Thread Principal Thread Multicast Thread ClientConnection Thread TheadClient 1 … Thread TheadClient N

11 T HREADS NO S ERVIDOR Thread Principal: Esta thread é responsável por lançar duas threads: a thread ClientConnection e threadMulticast, esta é ainda responsável pela gestão da consola onde é possível efectuar operações de gestão de salas, utilizadores e reservas. Thread Multicast: Esta thread é responsável por ficar à escuta de pedidos multicast de modo a dar suporte a resolução do IP do servidor via multicast, no IP 127.0.0.1 porto 9090. Esta thread responde apenas a mensagens com o conteúdo “IP” 11

12 T HREADS NO S ERVIDOR CONT. Thread ClientConnection : Esta thread é responsável por aceitar os pedidos de ligação de clientes e pedir a classe Data para registar o socket do cliente e o ID da thread que o vai atender. Thread ThreadClient : Esta thread é responsável por atender todos os pedidos de clientes bem como responder a esses pedidos. Esta thread serve apenas para descodificar as mensagens vindas do cliente e fazer os respectivos pedidos à classe Data que é quem trata de toda a informação. Após obter a informação de Data codifica a informação obtida e envia ao cliente. 12

13 C LIENTE O cliente está implementado da seguinte forma: 13 Cliente Janela Login Cliente Gráfico Thread Cliente

14 J ANELA DE L OGIN Quando o programa é iniciado é lançada uma janela modal que permite ao utilizador procurar por um servidor através de multicast fazer e fazer Login. Após um Login com sucesso esta janela é fechada e é lançada uma Thread (ligação) que vai receber todas as mensagens enviadas do cliente para o servidor. É ainda disponibilizado ao utilizador uma janela gráfica para efectuar as operações que desejar. 14

15 C OMUNICAÇÃO T HREAD L IGACAO - > CLIENTE GRÁFICO Quando a Thread ligação recebe uma mensagem vindo do cliente invoca o método Actualiza(int code) que actualiza os dados conforme o código que recebeu por parâmetro. 15

16 A RMAZENAMENTO DE DADOS Os dados são armazenados de forma serializada, em três.txt, estes ficheiros são: Reserves.txt, armazena os dados referentes às reservas; Rooms.txt, armazena os dados das salas disponíveis no sistema; Users.txt, armazena os dados dos utilizadores que podem aceder ao sistema. 16

17 M ANUAL DO UTILIZADOR Servidor Cliente

18 I NICIAR APLICAÇÃO Para inicial servidor ou um cliente basta executar o batch files RunServer.bat e RunClient.bat respectivamente que se encontram na pasta do projecto.

19 S ERVIDOR A aplicação servidora trabalha em modo consola e assim teremos que ter uma noção acerca dos comandos das seguintes acções: Adicionar utilizadores e salas Listar utilizadores, salas e reservas Remover utilizadores, salas e reservas Em caso de alguma dúvida persistir basta inserir um comando inválido e será aprensentado um help.

20 A DICIONAR Utilizadores Salas

21 L ISTAR Utilizadores Salas Reservas

22 R EMOVER Utilizadores Salas Reservas

23 C LIENTE A aplicação cliente trabalha em modo gráfico e assim teremos que ter uma noção acerca de alguns passos de modo a conseguir executar as acções mais importantes.

24 C ONECÇÃO AO SERVIDOR Como podemos observar na figura verificamos que existem 3 campos a preencher, assim: a – ip do servidor; b – porto do servidor; c – ip multicast onde automáticamente poderemos preencher os campos a e b. a b c

25 L OGIN Após uma conecção válida poderemos efectuar o login. d – nome do utilizador; e – password correspondente ao utilizador. d e

26 R ESERVAR SALA Nesta aba é onde podemos efectuar a reserva de uma sala ao inserir os seguintes campos: f – identificador da sala; g – dia a reservar; h – horário da reserva. f g h

27 C ONSULTAR SALAS Nesta aba é onde podemos consultar uma sala e assim teremos de inserir os seguintes campos: i – podemos optar por 2 métodos para consulta, por sala ou dia/hora; j – preencher campos acerca da consulta que se pretende. i j

28 C ONSULTAR R ESERVAS Nesta aba é onde podemos consultar as nossas reservas e cancelar e assim teremos de inserir os seguintes campos: k – preencher campos acerca da reserva que se pretende. k


Carregar ppt "P ROGRAMAÇÃO D ISTRIBUÍDA Primeira Fase da Aplicação Distribuída: Gestão de Salas João Gomes Nº 21150324 Marco AndradeNº 21190335 1."

Apresentações semelhantes


Anúncios Google