Você está na página 1de 4

DESENVOLVIMENTO DE UM SISTEMA DE JOGO DE XADREZ UTILIZANDO JAVAFX: ESTUDO DIRIGIDO A APLICAES RICAS PARA INTERNET

Patrick Aparecido da Silva, Me. Alexandre Rmolo Moreira Feitosa


DAINF Departamento Acadmico de Informtica Campus Cornlio Procpio Universidade Tecnolgica Federal do Paran - UTFPR Avenida Alberto Carazzai, 1640 Cornlio Procpio/PR, Brasil - CEP 86300-000 patricksilva@camarasm.pr.gov.br, alexandrefeitosa@utfpr.edu.br Resumo A demanda por aplicaes cada vez mais atrativas e eficientes por parte do pblico utilizador de sistemas executados sob a internet, impulsiona o surgimento e crescimento de novos conceitos, paradigmas e tecnologias. No obstante, o estudo concernente evoluo da internet, bem como tendncias que a seguem de suma importncia. Aplicaes Ricas para Internet, ou RIAs (Rich Internet Applications) inserem-se nesse contexto, pois buscam suprir a necessidade, no s de prover experincia agradvel de utilizao a seus usurios, mas tambm, proporcionar a estes, a eficincia de aplicaes desktop em ambiente web. Diante disso, este artigo apresenta os pontos principais da aplicabilidade de algumas tecnologias que subsidiam o desenvolvimento de RIAs no desenvolvimento de um sistema de jogo de xadrez, tendo como premissa a validao por usurios reais. Palavras-chave: JavaFX. RIA. Web 2.0. Xadrez. Abstract - A demanda por aplicaes cada vez mais atrativas e eficientes por parte do pblico utilizador de sistemas executados sob a internet, impulsiona o surgimento e crescimento de novos conceitos, paradigmas e tecnologias. No obstante, o estudo concernente evoluo da internet, bem como tendncias que a seguem de suma importncia. Aplicaes Ricas para Internet, ou RIAs (Rich Internet Applications) inserem-se nesse contexto, pois buscam suprir a necessidade, no s de prover experincia agradvel de utilizao a seus usurios, mas tambm, proporcionar a estes, a eficincia de aplicaes desktop em ambiente web. Diante disso, este artigo apresenta os pontos principais da aplicabilidade de algumas tecnologias que subsidiam o desenvolvimento de RIAs no desenvolvimento de um sistema de jogo de xadrez, tendo como premissa a validao por usurios reais. Key-words: JavaFx. RIA. Web 2.0. Chess.

INTRODUO A internet emergiu vertiginosamente no cenrio de desenvolvimento de sistemas, e, sua utilizao proporciona maior interatividade e entretenimento, sejam atravs de sistemas colaborativos, corporativos, redes sociais, comrcio eletrnico, jogos, salas de bate-papo, enfim, surge uma demanda cada vez mais crescente de aplicaes atrativas por parte deste pblico. O crescimento da nova gerao de internet chamada Web 2.0, termo este criado por Tim OReilly [1] utiliza novas ferramentas e tecnologias que acrescentam benefcios aos seus usurios alm de ter sua estrutura focada a fim de propiciar a colaborao no ambiente web, gerando dessa forma, maior interao e participao destes. Neste contexto se insere RIAs, termo concebido por Jeremy Allaire [2]. Trata-se de aplicaes executadas no navegador de internet, cujo processamento realizado do lado do cliente possibilitando-a desfrutar no s da flexibilidade da web, mas tambm de caractersticas importantes de aplicaes desktop [3]. Em sntese, a viabilidade da utilizao de funes online, que antes s poderiam ser usadas em aplicaes instaladas no sistema operacional no computador do usurio.

Embora a bibliografia acerca de RIA seja contemplada com publicaes importantes com comparativos entre tecnologias, inclusive sendo tema de tese de doutorado [4], muitos trabalhos tratam de forma superficial a implementao neste campo. As plataformas para desenvolvimento destas aplicaes possuem uma gama repleta de exemplos e documentaes consistentes, todavia, as dificuldades, vantagens, desvantagens, problemas e demais caractersticas tendem a ser constatadas quando aplicada em um sistema com necessidades reais. Face ao exposto, o objetivo do trabalho desenvolvido foi o estudo das principais plataformas que propiciam a construo de RIAs, bem como a aplicabilidade da tecnologia JavaFX no desenvolvimento e disponibilizao de uma verso funcional, passvel de validao por usurios reais de um sistema de jogo de xadrez, o ChessFX. METODOLOGIA Resume-se aqui o processo delineado no desenvolvimento do ChessFX. Aplicaes Ricas pra Internet. Foram pesquisadas as caractersticas das principais plataformas e modelos que proporcionam a criao de RIAs, sendo elas: AJAX, cuja aplicabilidade predominante nos dias atuais e tem como caracterstica principal requisies assncronas a servidores web, fazendo com que apenas parte do contedo em uma pgina web seja atualizado, trazendo eficincia no uso da aplicao. Destaca-se tambm a plataforma Adobe Flex que tem significante penetrao na web com cerca de 98% dos navegadores com o plugin para sua utilizao instalados [5]. Caractersticas da plataforma Microsoft Silverlight e Oracle JavaFX tambm esto elencadas como objeto de pesquisa neste trabalho. Estas duas ltimas so plataformas ainda emergentes, todavia, com grau satisfatrio de solidez, visto sua utilizao em algumas aplicaes na web. necessrio mencionarmos que um diferencial acerca de JavaFX sua portabilidade, ou seja, a capacidade de uma mesma aplicao ser executada em diferentes dispositivos (celulares, navegadores web, desktop, tev digital) [6]. Desenvolvimento. No tocante ao projeto do ChessFX, seguiu-se o que preceitua o modelo de processo RUP (Rational Unified Process) uma especificao do processo unificado proprietrio da empresa IBM [7]. Salienta-se que este processo se utiliza da UML (Unified Modeling Language), uma linguagem usada para modelar, documentar e especificar sistemas atravs do paradigma de Orientao a Objetos [7], portanto, seus diagramas foram utilizados na fase de anlise e modelagem o sistema. Nesse contexto, foi desenvolvido um sistema sob uma arquitetura cliente-servidor, o ChessFX Cliente que prov interface de uso ao usurio e suporta aes destes durante uma partida ou outras funes, bem como o ChessFX Server responsvel por suportar o fluxo de conexes oriundas de seus utilizadores, alm de conectarse com o banco de dados em caso de persistncia. A figura 1 expe sobre um alto nvel de abstrao a arquitetura do sistema. Percebe-se que a aplicao servidora comunica-se com o banco de dados em caso de persistncia e necessita do Apache Tomcat1 para execuo. J o OpenFire Server responsvel por proporcionar a comunicao bidirecional entre aplicaes clientes atravs de requisies utilizando o protocolo XMPP (Extensible Messaging and Presence Protocol) [10]. Este tambm necessita de um banco de dados e de um servidor de aplicaes para funcionamento. A interface de comunicao com o usurio da aplicao cliente (1) e servidora (2) pode ser vista na figura 2.

Container de aplicaes baseadas em tecnologia Java para execuo na web [9].

Figura 1. Arquitetura do ChessFX.

Figura 2. Interface do ChessFX Client e Server. Validao com Usurios. O Clube de Xadrez da UTFPR Campus Cornlio Procpio, situase nas dependncias da Universidade e conta com participantes iniciantes, intermedirios e avanados, cuja maioria proveniente de cursos tcnicos e graduaes. Este grupo foi definido para validao do ChessFX. Concentrados em um laboratrio com computadores, os usurios seguiram um roteiro para o teste pr-definido pelo autor. A arquitetura do ChessFX foi inspirada no projeto Xadrez Livre, um sistema que proporciona gratuitamente a comunidade, partidas, torneios e mecanismos para colaborao e aprendizado de xadrez em ambiente web [8]. Diante disso, foi definido que os avaliadores deveriam alternar entre partidas no ChessFX e no Xadrez Livre, e no final responder um questionrio com perguntas objetivas e subjetivas acerca do teste. Ao todo 25 usurios jogaram 38 partidas entre si. RESULTADOS Com base no questionrio aplicado, constatou-se que estes indivduos possuem em mdia 21 anos, jogam xadrez h 6, e, embora no tenham dificuldades em utilizar o computador e a internet, a maioria dos usurios (96%) tem como preferncia o tabuleiro convencional ao invs de jogo pelo computador. Constatou-se ainda que 65% do grupo preferem jogar atravs de aplicao desktop ao invs da web. Esta anlise se faz importante no para tentar mudar a opinio de usurios que prefiram jogar em um tabuleiro tradicional,

mas sim, para estudarmos solues que tendam a suprir os aspectos mencionados no questionrio cujas aplicaes de xadrez web e o jogo real no tratam. No tocante s caractersticas do ChessFX, no houve discrepncia quanto a sua usabilidade e performance quando comparado a outra aplicao do mesmo gnero, e, vale lembrar que o projeto Xadrez Livre encontra-se consolidado na web desde o ano 2006 [8]. DISCUSSO E CONCLUSES Uma dificuldade encontrada no decorrer do trabalho foi constatada no ato do planejamento da comunicao entre usurios das aplicaes cliente. A adoo errnea de Web Services, uma tecnologia cuja arquitetura baseia-se em mensagens para disponibilizao de servios na web [11], para este propsito atrasou a construo da aplicao, visto que o objetivo desta no prover comunicao bidirecional entre aplicaes. Em contrapartida, surgiu oportunidade de estudo e implementao de novas tecnologias (XMPP e OpenFire) que suprissem a necessidade de interao entre oponentes. Alm desta concepo percebeu-se o suporte dado pela plataforma JavaFX a estas. Outra dificuldade encontrada, foi a validao da portabilidade prevista por JavaFX. Uma das propostas do trabalho era de executar o ChessFX Client tambm em dispositivos mveis. Entretanto, a mudana da arquitetura, em virtude do erro de no escopo como mencionado, inviabilizou o objetivo almejado. Em relao ao ChessFX como um todo, seu resultado final cumpriu a perspectiva de diferenciar-se de um simples prottipo, sendo funcional, capaz de prover aos enxadristas que o utilizam, partidas de xadrez atravs da internet. REFERNCIAS [1] OREILLY. What Is Web 2.0. Disponvel em <http://oreilly.com/web2/archive/what-isweb-20.html>. Acessado em: 02 ago. de 2011. [2] Bozzon, A.; Comai, S.; Fraternali, P.; Toffetti Carughi, G. Conceptual Modeling and Code Generation for Rich Internet Applications, In: International Conference on Web Engineering, Menlo Park, California, USA, 2006. [3] JIM Clarke; JIM Connors; ERIC Bruno. JavaFX - Desenvolvendo Aplicaes de Internet Ricas. So Paulo: AltaBooks, 2010. [4] SCHWEIGGERT, Franz; MAYER, Johannes; HEIDENBLUTH, Norbert (2010): Performance Analysis and Acceleration for Rich Internet Application Technologies. Disponvel em: <http://www.timo-ernst.net/wp-content/uploads/2010/09/ria-timoernst.pdf>. Acesso em: 03 ago. 2011. [5] ADOBE. Sobre atualizao do Adobe Flash Player. Disponvel em: <http://www.macromedia.com/support/documentation/br/flashplayer/help/help10.html>. Acesso em: 03 ago. 2011. [6] ORACLE b (2010). JavaFX Overview. Disponvel em: <http://www.oracle.com/us/products/tools/050854.html>. Acesso em: 05 set. 2011. [7] IBM. Site oficial. Disponvel em: <http://www.ibm.com>. Acesso em: 12 ago. 2011. [8] XADREZ LIVRE. Site do Projeto Xadrez Livre. Disponvel em: <http://xadrezlivre.c3sl.ufpr.br/webclient/index.html>. Acesso em: 12 nov. 2011. [9] APACHE TOMCAT. Site oficial. Disponvel em: <http://tomcat.apache.org>. Acesso em: 12 ago. 2011. [10] IGNITREALTIME. ABOULT. Disponvel em: <http://www.igniterealtime.org/about/index.jsp>. Acesso em: 12 ago. 2010. [11] W3C. Web Services Architecture. Disponvel em <http://www.w3.org/TR/ws-arch>. Acesso em: 12 ago. 2011.