INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ



Documentos relacionados
INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ

1. Tela de Informações para conexão. 2. Tela principal. 2.1 Tabuleiro

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

NFe Nota Fiscal Eletronica

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Kassius Vargas Prestes

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Outlook XML Reader Versão Manual de Instalação e Demonstração UNE Tecnologia

Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

ECD1200 Equipamento de Consulta de Dados KIT DE DESENVOLVIMENTO

GUIA INTEGRA SERVICES E STATUS MONITOR

Aplicativo da Manifestação do Destinatário. Manual

MANUAL DO ADMINISTRADOR LOCAL. Entidade Municipal

Manual de Uso do Sistema ServidorSimples. versão beta /11/2008. Luciano Antonio Digiampietri

Manual do usuário. Softcall Java. versão 1.0.5

Java com Banco de Dados Posgree

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

TRANSMISSOR ECF. Sistema de transmissão de arquivos Nota Fiscal Paulista. Manual de Utilização

Manual de Integração WebService

5 Mecanismo de seleção de componentes

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

GUIA PRÁTICO DE INSTALAÇÃO

FBV - Linguagem de Programação II. Um pouco sobre Java

Aula 1: Noção Básica e Criação de Tabelas.

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Sistemas Distribuídos

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Manual Integra S_Line

Plano de projeto do Sistema de consulta por SMS

Modelos de Arquiteturas. Prof. Andrêza Leite

Manual de Administração DPS Printer 2.1 NDDigital S/A - Software

JDBC Java Database Connectivity

Sistema de Help Desk e Controle de Chamados Baseado em Workflow. Cristian Paulo Prigol Marcel Hugo

Aplicação Prática de Lua para Web

Uma Proposta de Tecnologia Embarcada na Internação Domiciliar Capítulo 3 Implementação do SMD 93

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Projeto Arquitetural do IEmbedded

Guia rápido de uso de Web Services do NFS-e Easy

Figura 1. A Classe Java

Integração de sistemas utilizando Web Services do tipo REST

Manual de Instalação, Administração e Uso do Sistema Elétric

Release Notes Série 1 Varejo. Release P5 Atualização de Patch. Módulo / Produto: TOTVS Série 1 Varejo (Matriz, Filial ) Data: 28/05/2014

SIMULADOR DE ROTEAMENTO DE PACOTES (V. 3 20/05/2010)

PROTÓTIPO DE UM SISTEMA DE MONITORAÇÃO UTILIZANDO CIRCUITO FECHADO DE TELEVISÃO (CFTV)


Módulo e-rede VirtueMart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Manual de Utilização. Sistema. Recibo Provisório de Serviço

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

Sistemas Distribuídos

1) MANUAL DO INTEGRADOR Este documento, destinado aos instaladores do sistema, com informações de configuração.

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

MANUAL MIKOGO 1. VISÃO GERAL

BC CORREIO SISTEMA DE CORREIO ELETRÔNICO DO BANCO CENTRAL DO BRASIL. Manual do Web Service

Módulo e-rede Prestashop v1.0. Manual de. Instalação do Módulo. estamos todos ligados

CNIS-RPPS - Transmissor MANUAL DO USUÁRIO Versão 1.3

MODELO CLIENTE SERVIDOR

Documento de Análise e Projeto VideoSystem

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER

SyncEasy Aplicativo para sincronização de arquivos entre dispositivos móveis e computadores utilizando metadados

Manual do Usuário Mega Net Internet Wireless

LIBERAÇÃO DE ATUALIZAÇÃO CORDILHEIRA

SISTEMA DE CONTROLE DE ACESSO, PARA AMBIENTE ACADÊMICO

Manual de Instalação e Operação do CondorUpload

INTRODUÇÃO À TECNOLOGIA SERVLETS

1ª ETAPA IMPRIMIR LAUDO

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

SGEW Sistema de Gestão de Equipamento Web

Introdução a Banco de Dados

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

1. Escritório Virtual Atualização do sistema Instalação e ativação do sistema de Conexão...5

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

AS VERSÕES DESCRIÇÃO DAS FUNÇÕES

Sistemas Distribuídos

Aula 03 - Projeto Java Web

Universidade Federal do Vale do São Francisco Programa de Assistência Estudantil

Manual de Operação Aplicativo ClickIt

MÓDULOS DE REGISTRO DE PARA ÓRGÃOS PÚBLICOS

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Juntada de Processos. Sistema Módulo Usuários Perfil. A juntada pode ser de dois tipos:

AVISO. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

Visualizador de Documentos Fiscais Eletrônicos FAQ (Perguntas frequentes)

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Configurações necessárias para emissão de NF-e no sistema Lojamix

18/04/2006 Micropagamento F2b Web Services Web rev 00

Noções de. Microsoft SQL Server. Microsoft SQL Server

WecDB WecDB Consulta Web Facilitada ao Banco de Dados

CPG: sincronização entre diferentes dispositivos

Transcrição:

INTEGRAÇÃO DE TÉCNICAS DE SISTEMAS DISTRIBUÍDOS APLICADA AO DESENVOLVIMENTO DE UM AMBIENTE PARA O JOGO DE XADREZ Acadêmico: Antonio Carlos Bambino Filho Orientador: Prof. Marcel Hugo

SUMÁRIO Introdução; Objetivos; Fundamentação teórica; Desenvolvimento; o Especificação; o Implementação Conclusão; Extensões;

INTRODUÇÃO Rich Internet Applications (RIAs); Java para aplicações distribuídas; Webservices; Java Web Start; Xadrez;

OBJETIVOS Desenvolver um ambiente de jogo via web para que pessoas possam jogar xadrez e jogos derivados deste; Explorar as funcionalidades da linguagem Java para implementar as regras; Gerenciar os jogos com um webservice Java, utilizando a API JAX; Integrar webservice, Java Web Start, servidor web e banco de dados;

FUNDAMENTAÇÃO TEÓRICA Webservices; o JAX Java Web Start; Servidor Web; o GlassFish

Webservices Service-Oriented Architecture (SOA); Remote Procedure Call (RPC);

Webservices

Webservices WSDL Definição em XML das funções; SOAP protocolo para transmissão das mensagens;

Webservices

Webservices

Webservices-JAX Biblioteca que traz velocidade e simplificação; Abstração do SOAP e do WSDL; Limitação: tipos abstratos de dados;

JAX

Java Web Start Interface gráfica; Armazenado em memória cache; Versão mais atualizada do servidor; JNLP XML verificador responsável;

Java Web Start

ServidorWeb

Servidorweb -GlassFish Servidor Oracle; Um dos mais utilizados no mercado; Compatibilidade com Java Web Start e JAX;

TrabalhosCorrelatos Internet Chess Club (ICC); Internet Xadrez Clube (IXC); Buho21;

DESENVOLVIMENTO Principais requisitos; Especificação; Implementação; Operacionalidade;

PrincipaisRequisitos Permitir que um desafio seja nominal ou lançado em uma tabela de desafios; Mostrar os jogadores conectados, os desafios lançados e as partidas em andamento; Atribuir ou decrementar uma pontuação (rating) para cada jogador;

PrincipaisRequisitos Permitir que os jogadores possam jogar, além de xadrez clássico, xadrez randômico, mata-mata e australiano; Possibilitar que o jogador salve a partida após o término em formato PGN;

Especificação Divisão entre dois projetos: XadrezServidor e XadrezCliente; XadrezServidor métodos que serão acessados remotamente (webservice e Banco de Dados); XadrezCliente validação das jogadas

XadrezServidor Classes Partida, Jogador e Desafio funcionando como beans; Serialização dos objetos para transmissão;

XadrezServidor

XadrezServidor Classe ConexaoMySQL faz a conexão com o banco de dados; Validação de usuário, cadastro e verificação de pontuação;

XadrezServidor

XadrezServidor Classe ControleServidor chama os métodos da classe ConexaoMySQL; Listas de jogadores, desafios e partidas em memória; Retorna Strings no lugar de objetos, através da biblioteca XStream;

XadrezServidor

XadrezServidor Classe XadrezWebService desenvolvida através do JAX; Possui todos os métodos públicos da classe ControleServidor; Arquivo XadrezWebServiceService.wsdl é gerado após deploy da aplicação;

XadrezServidor

XadrezCliente Classes LoginGUI, LoginDialog, PrincipalGUI, DesafiosDialog e PartidaGUI responsáveis pelas telas; Classe LoginException para personalizar o tratamento de exceções; Classes Partida, Desafio e Jogador também funcionando como beans;

XadrezCliente Pacote pecas guarda uma classe para cada tipo de peça do tabuleiro; No objeto, o nome da peça é sua inicial se for maiúscula é branca, senão, preta; Atributo imagem guarda a imagem buscada no servidor, transmitida como um array de bytes;

XadrezCliente

XadrezCliente Classes TabuleiroModel, JogadoresConectadosModel, DesafiosModel e PartidasModel gerenciam os conteúdos das JTable que serão utilizadas; TabuleiroModel - métodos quebrarstring e gerarstring; Array de peças no TabuleiroModel;

XadrezCliente

XadrezCliente

XadrezCliente Classes DesafiosThread, PartidasThread, TabuleiroThread e JogadoresThread são os threads responsáveis pelo loop de requisições ao servidor; Cada thread possui uma referência para um modelo de tabela que será renderizado;

XadrezCliente Pacote webservice classes geradas pelo JAX; Cada operação no webservice vira uma classe; Caso tenha retorno, a função gera também uma classe Response;

XadrezCliente

IMPLEMENTAÇÃO Preparação do ambiente: o Habilitar o Java Web Start no XadrezCliente; o Apontar a pasta onde o arquivo JNLP ficará armazenado; o Inicializar serviço do MySQL;

IMPLEMENTAÇÃO Efetuando login: o Tela LoginGUI valida os dados através do ControleCliente; o Caso valide, fecha a janela e abre a tela PrincipalGUI; o Threads de renderização disparados; Lançando um desafio: o Ao lançar um desafio na tabela, o atributo desafios, da classe ControleServidor, recebe um novo objeto; o O thread DesafiosThread pergunta contantemente se tem algum desafio na lista desafiosnominais, na classe ControleServidor; o Quando o desafio é aceito, é removido da lista e é adicionado um objeto partida na lista partidas, da classe ControleServidor;

IMPLEMENTAÇÃO

IMPLEMENTAÇÃO Os métodos de listagem retornam uma String no lado do servidor e são desmontados no cliente:

IMPLEMENTAÇÃO Movimentação: o Padrão: saber se de uma linhainicial + colunainicial é possível atingir uma linhafinal + colunafinal; o Com exceção do cavalo, para todas as peças é executado um algoritmo de verificação do caminho; o A cada lance, é verificado se o jogador entra em xeque; Partidas: o Compara-se a posição guardada em memória local com a do servidor; o Se estiver diferente, atualiza a posição local e dá a vez ao jogador;

IMPLEMENTAÇÃO

Operacionalidade Usuário efetua cadastro:

Efetua Login: Operacionalidade

Operacionalidade Para jogar, efetua um desafio:

Operacionalidade

Resultados Perde um pouco em desempenho devido ao alto consumo de processamento dos threads; Regras do xadrez funcionaram normalmente; Interface gráfica sem perdas nem lentidão, mesmo as peças sendo passadas como array de bytes por XML;

CONCLUSÕES JAX excelente ferramente para se trabalhar com webservices; Java Web Start permitiu usar o Java e a modelagem por Orientação a Objetos, facilitando o desenvolvimento das regras; NetBeans é a ferramenta ideal para o projeto;

CONCLUSÕES Limitações: alto consumo dos threads e necessidade de uma JVM instalada; Possível solução: padrão de projetos Observer.

EXTENSÕES Implementar uma Engine; Padrão de projetos Observer;