BOCA- um sistema de apoio a competições de programação
Um sistema de auxílio a competições de programação
1. Introdução
BOCA (BOCA Online Contest Administrator) é um sistema computacional de apoio a competições e maratonas de programação, criado em 2004 por Cassio Polpo de Campos (EACH-USP)1. O sistema, que é distribuído com a licença GNU Public License 3 (http://www.gnu.org/copyleft/gpl.html), foi desenvolvido com o intuito de disponibilizar, tanto a professores quanto a alunos, um ambiente facilitador de gerenciamento de competições de programação, foi construído usando a linguagem interpretada PHP, possibilitando assim a interação entre sistema e usuários através de um browser. Deste modo, o sistema adquire uma característica portável (importante detonar que ambas as tecnologias são livres e sem custo) e interface simples e de fácil entendimento. Um servidor de páginas se torna necessário para incubar o sistema, sendo uma boa escolha o Apache, que também é livre. O armazenamento de dados dos times e o controle de concorrência ocorre em um servidor, e é concretizado através do uso do banco de dados relacional PostgreSQL, que aceita conexões seguras com autenticação e SSL, garantindo maior segurança e confiabilidade ao sistema.
2. Configuração do Ambiente
2.1 Sistema Operacional
Para a instalação do BOCA é necessário um servidor rodando Linux, sendo recomendado pelos desenvolvedores do sistema o uso de Ubuntu Server. Neste artigo é usada a última versão “Long Term Support” (LTS) do sistema operacional da Canonical, o Ubuntu 12.04.3 LTS, por se tratar da versão mais estável e com maoir tempo de suporte e atualizações de segurança do SO.
2.2 Instalação
Primeiramente é necessário uma cópia da mídia de instalação do Ubuntu 12.04, isto pode ser feito diretamente no site do Ubuntu (http://www.ubuntu.com/download/server), ou por espelhos espalhados por todo o mundo. Um bom espelho para download do Ubuntu é o C3SL da Universidade Federal do Paraná