Clique para adicionar texto NetGamesNRT Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr Modelagem do framework Netgames.

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

A Interface entre Processadores e Periféricos
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
MOODLE PARA TODOS Projeto EAD-CPD MOODLE UFBA Centro de Processamento de Dados - UFBA.
UML Visões – Parte 2.
Projeto 1.
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
Comunicação Distribuída
Conceitos Básicos de Informática REDES DE COMUNICAÇÃO: INTERNET
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Alexandre Parra Site: Os Pilares da OO em Java Alexandre Parra Site:
Diagrama de Classes.
Objetos Distribuídos Padrão CORBA
Professor Victor Sotero
Introdução a JDBC Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Documentação da Neptus Framework
DEBATE NA REDE: BATE-PAPO, LISTA E FÓRUM DE DISCUSSÃO
Colégio Cruzeiro do Sul Informática Básica Profª.Michele
Introdução a Arquitetura Orientada a serviços
Diagrama de Classes e Colaboração
Aula 9 - Camada de aplicação
Singleton e Adapter Professor: Nazareno Andrade
Tópicos de Sistemas de Informação A
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Protocolo SMTP e POP O que é SMTP?
CCNA 1 – Modelos OSI e TCP/IP
CoWS: Uma Abordagem de Escrita Colaborativa Multi-Síncrona usando Espaços de Tuplas para Ambientes Móveis Berthonio Lucena Flávio Rocha.
Concorrência e Java RMI
Padrões de Projeto e Arquitetura em Camadas
Técnico em Informática
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
cos Game: Problemas Tecni ´ Sejam bem-vindos ao Game PROBLEMAS TÉCNICOS Uma disputa onde todos ganharão conhecimentos!
Clique para adicionar texto NetGamesNRT Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr.
Luiz Antonio Torres, Maio/2014
SISTEMAS DISTRIBUIDOS Aula 4
RMI x C# Remote Emilena Specht – 1113/01/9 2004/01
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
© Ricardo Pereira e Silva
Java RMI João Gabriel (jggxm).
Projeto Arte, Ciência e Tecnologia
REDES DE COMPUTADORES CONCEITOS E TÓPICOS RELACIONADOS A REDES DE COMPUTADORES ________________________________________________ Redes – Prof. Roni Márcio.
Games House Lamberto Augusto (laon) Millena de Andrade (maag) Sylvia Campos (scls) Pedro Lages (plm)
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Java – Remote Method Invocation (RMI)
Redes Avançadas – Prof. Mateus Raeder Redes Avançadas Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Engenharia de Software e Sistemas
Conceitos do Cliente Funcionamento Básico do Cliente Como Clientes acessam e usam Objetos Distribúidos.
1 Programação Distribuída em Java Aula Na aula de hoje veremos: Introdução Conceito de Rede Protocolos Modelo ISO/OSI Modelo TCP/IP Modelo Cliente/Servidor.
Objetos Distribuídos Frameworks Orientados a Objetos.
Escola Secundaria Sebastião da gama Comunicação de dados Prof: Carlos Pereira Nome :André Santos Ano/Turma:12ºL Nº:2 IP Dinâmico, IP Fixo e DNS.
Introdução a Orientação a Objetos
Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
IP-INTERNET PROTOCOLO. EQUIPE: Aline Helena de Oliveira Dione de Souza Neves Jefferson Dalla Lasta Johnathan Maurício Silva Galvão Mario Fernando Pioski.
Gerencia de Redes Redes de Computadores II
Sockets Redes de Comunicação de Dados Prof. Esp. Cristiano José Cecanho.
Projeto de Arquitetura de Software
Padrões de Projeto Aula 10 – Padrão Façade.
Duvidas Frequentes 09/01/2009. Atualizando o SISMOURA.
Java Módulo II Projeto Final.
Engenharia de Software Orientada a Objetos Professor: Guilherme Timóteo Aula 3: – Modelagem de Classes (parte 2)
SOCKET - É um canal de comunicação entre processos que estabelece uma conexão entre eles na forma de cliente-servidor. Por meio de sockets, os computadores.
Escola de Ciência e Tecnologia Bacharelado em Sistema de Informação Disciplina: Segurança em Redes Configuração de Rede no Ubuntu 1.
Transcrição da apresentação:

Clique para adicionar texto NetGamesNRT Leonardo de Souza Brasil Orientador: Ricardo Pereira e Silva, Dr Modelagem do framework Netgames

Tópicos Introdução Introdução Net games framework Net games framework Adaptando um jogo (cookbook) Adaptando um jogo (cookbook) Modelagem de aplicações Modelagem de aplicações Considerações finais Considerações finais

Introdução Jogos possibilitam diversão, educação, etc... Jogos possibilitam diversão, educação, etc... Com o surgimento dos computadores e as primeiras redes surgem também os jogos multi-player on-line. Com o surgimento dos computadores e as primeiras redes surgem também os jogos multi-player on-line.

Introdução Problema: Como jogar jogos multi-player? Problema: Como jogar jogos multi-player? –Mesmo PC? Fácil implementação Fácil implementação Necessidade dos jogadores no mesmo lugar. Necessidade dos jogadores no mesmo lugar. Mais entediante. Mais entediante. –Conectar os jogos em rede? Difícil implementação. Difícil implementação. Jogadores podem estar em qualquer parte do mundo, desde que conectados através da mesma rede. Jogadores podem estar em qualquer parte do mundo, desde que conectados através da mesma rede. Mais divertido. Mais divertido. Mais trabalho para o desenvolvedor do jogo. Mais trabalho para o desenvolvedor do jogo. Conhecimento de uma tecnologia que possibite essa conexão. Conhecimento de uma tecnologia que possibite essa conexão.

Introdução –Como possibilitar a conexão, de um jogo multi-player, em rede, de maneira simples? NetGamesNRT (NG) NetGamesNRT (NG) –Conjunto de artefatos desenvolvido para facilitar aos desenvolvedores a adaptação de seus jogos ao modo multi-jogador. –NetGamesNRTServer e NetGamesNRTFramework. –NetGamesNRTServer possibilita a intereção de diferentes jogadores e possui a capacidade de manipular mais de um jogo –NetGamesNRTFramework facilita a programação do desenvolvedor de jogos abstraindo todos os detalhes da comunicação via rede.

Introdução

Os artefatos

NGServer Características Características –Conexão de diferentes jogos (sem exigência de tempo real), ao mesmo tempo. –Desconhecimento da lógica dos jogos tratados. –Possibilitar comunicação entre jogadores desses jogos através de partidas.

NGServer Jogos Jogos

NGServer Partidas Partidas

NGFramework NetGamesNRTFramework NetGamesNRTFramework –Domínio: Computação Distribuída. –Aplicações: Jogos digitais sem exigência de tempo real. –Benefícios: Facilitar implementação de rede para desenvolvedores de jogos (NRT). Facilitar implementação de rede para desenvolvedores de jogos (NRT). Economia de mensagens de rede (trata um conjunto de regras de comunicação, e.g. tentar conectar duas vezes, desconectar sem estar conectado). Economia de mensagens de rede (trata um conjunto de regras de comunicação, e.g. tentar conectar duas vezes, desconectar sem estar conectado).

NGFramework – Casos de Uso

NGFramework – Diagrama de interação

NGFramework – Diagrama de classes

NGFramework – Máquina de estados do Proxy

NGFramework – Estado Jogando

NGFramework – Sequência conectar

NGFramework – Sequência desconectar

NGFramework – Sequência receber jogada

NGFramework – Enviando Jogadas

Proxy Classe que o jogo invoca sempre que desejar uma comunicação com o servidor. Classe fachada do framework. É possível obter apenas uma instancia (Singleton). Jogada Interface que deve ser implementada pelos objetos trocados entre aplicações. Sem métodos

NGFramework – Recebendo Jogadas

NGFramework – Recebendo jogadas OuvidorProxy Classe implementada para receber as mensagens vindas do servidor. É necessário se cadastrar no proxy (Observer). Todos seus métodos são abstratos. É possível existirem mais de uma por aplicação.

NGFramework - Deploy

Adaptando um jogo Primeiros passos: Primeiros passos: –1 - Download do framework. –2 - Download do arquivo de configuração no portal. Conexão: Conexão: –Proxy.getInstance().conectar(ipServidor, nome); –Ip padrão: “ venus.inf.ufsc.br” –Exceções: ArquivoNaoExisteException, JahConectadoException, NaoPossivelConectarException;

Adaptando um jogo Iniciar Partida: Iniciar Partida: –Proxy.getInstance(). iniciarPartida(numJogadores ); –Implementar no OuvidorProxy: iniciarNovaPartida(posicao); iniciarNovaPartida(posicao); –Exceções: NaoConectadoException Para uma classe se tornar uma “ouvidora" de Proxy é necessário, além de implementar a interface OuvidorProxy, chamar o método: Para uma classe se tornar uma “ouvidora" de Proxy é necessário, além de implementar a interface OuvidorProxy, chamar o método: Proxy.getInstance().addOuvinte(this); Proxy.getInstance().addOuvinte(this); Se uma partida não for iniciada o método tratarPartidaNaoIniciada é chamado nos Ouvidores; Se uma partida não for iniciada o método tratarPartidaNaoIniciada é chamado nos Ouvidores;

Adaptando um jogo Enviar Jogada: Enviar Jogada: –Proxy.getInstance ().enviaJogada(jogada); –jogada pode ser qualquer objeto que implemente a interface Jogada.

Adaptando um jogo Receber Jogada: Receber Jogada: –Implementar método do OuvidorProxy public void receberJogada(Jogada jogada); Desconexão: Desconexão: –Proxy.getInstance().desconectar();

Adaptando um jogo Alem disso existem métodos para: Alem disso existem métodos para: –Proxy: Enviar mensagens texto (String); Enviar mensagens texto (String); Reiniciar uma partida; Reiniciar uma partida; Obter lista ordenada com nome dos jogadores de uma partida Obter lista ordenada com nome dos jogadores de uma partida –Ouvidor Proxy: Finalizar partida com erro; Finalizar partida com erro; Tratar conexão perdida; Tratar conexão perdida;

Jogo da velha Jogo criado pelo professor Ricardo para as aulas de análise e projetos. Jogo criado pelo professor Ricardo para as aulas de análise e projetos.

Jogo da velha Jogo adaptado: Jogo adaptado:

Considerações finais Resumindo Resumindo –Para adaptar um jogo é necessário: Configurar ambiente (arquivo configuração). Configurar ambiente (arquivo configuração). Invocar a instância de Proxy para se conectar no servidor, desconectar, iniciar partidas, enviar e receber jogadas; Invocar a instância de Proxy para se conectar no servidor, desconectar, iniciar partidas, enviar e receber jogadas; Implementar a interface OuvidorProxy para receber as jogadas, solicitação de inicio de partida, possíveis erros*; Implementar a interface OuvidorProxy para receber as jogadas, solicitação de inicio de partida, possíveis erros*; –Não esquecer de adicionar no Proxy (design pattern Observer) Implementar os objetos trocados entre as aplicações com a interface Jogada; Implementar os objetos trocados entre as aplicações com a interface Jogada; Tratar as Exceções. Tratar as Exceções.

FIM