quinta-feira, 29 de abril de 2010

Groupware Workbench



Os conceitos da bancada Groupware Workbench começaram a ser desenvolvidos em 2001 na investigação condiuzida pelo grupo de pesquisa Groupware@LES da PUC-Rio sobre a tecnologia de componentes de softrware [Gerosa et al., 2001 ]. O objetivo da investigação foi conceber uma arquietetura que oferecesse flexibilidade e modularidade para o ambiente de ensino-aprendizagem AulaNet, que era desenvolvido por prototipação e apresentava dificuldades de desenvolvimento distribuído e de evolução [Fuks et al., 2003; Gerosa et al. 2004]. A ideia de componentizar o ambiente AulaNet evoluiu para a construção de um ambiente modular para o desenvolvimento de sistemas colaborativos para diversos domínios [Gerosa et al., 2005].


O desenvolvimento do código atual da bancada iniciou-se em 2005 como parte da tese de doutorado de Marco Aurélio Gerosa [Gerosa, 2006] objetivando oferecer uma plataforma de componentes organizados em função do modelo 3C de colaboração para construção de sistemas colaborativos [Gerosa et al., 2006]. No início de 2007 o foco da plataforma passou a ser o desenvolvimento de sistemas colaborativos para Web 2.0 e a bancada foi consideravelmente reformulada.


Em 2008, o projeto Groupware Workbench passou a ser hospedado pelo Centro de Competência em Software Livre do IME/USP e passou a ser disponibilizado como código fonte aberto. A primeira versão (0.1) aberta ao público foi disponibilizada em dezembro de 2008 no repositório Google Code. Em março de 2009 foi lançada a versão 0.2 da bancada com algumas melhorias e correções.


A partir do segundo semestre de 2009 o Groupware Workbench passou a ser remodelado para utilização de tecnologias de apoio ao desenvolvimento em Java para Web: VRaptor e Hibernate/JPA. A camada Web da infraestrutura foi reestrutura para o utilizar o padrão REST e a camada persistência para utilizar o mapeamento objeto-relacional. A próxima versão da bancada já incorporará estas tecnologias.

A bancada de componentes Groupware Workbench é utilizada desde 2005 durante as aulas da disciplina Engenharia de Groupware, ministrada para a graduação (INF 1637) e pós-graduação (INF 2132) do Departamento de Informática da PUC-Rio. A bancada também é utilizada desde 2008 na disciplina Desenvolvimento de Sistemas Colaborativos ministrada na USP para a graduação (MAC 0455) e pós-graduação (MAC 5798) em Ciência da Computação. do IME/USP. Os alunos destas disciplinas utilizaram a infraestrutura fornecida para prototipar sistemas colaborativos para Web. O uso da bancada nestas disciplinas favorece o ensino e a experimentação de conceitos de Desenvolvimento Baseado em Componentes e de Sistemas Colaborativos.



Em 2009 a RNP (Rede Nacional de Pesquisa e Ensino) aprovou um Grupo de Trabalho para a construção de componentes de software para interação social e inteligência coletiva utilizando a infraestrutura provida pelo Groupware Workbench. No contexto deste projeto estão sendo desenvolvidos novos componentes para a construção de redes sociais na Web 2.0. Como estudos de casos, estão sendo desenvolvidas três estudos de casos: a construção de uma rede social para compartilhamento de fotos da arquitetura brasileira, a implantação de interação social e inteligência coletiva na Agência Universitária de Notícias USP e o desenvolvimento de um balcão de dúvidas para os projetos hospedados no Centro de Competência em Software Livre do IME/USP. As aplicações estão sendo desenvolvidas respectivamente em parceria com o Prof. Artur Simões Rozestraten da Faculdade de Arquitetura e Urbanismo da USP, Profa. Maria Laura Martinez, professora do Departamento de Jornalismo e Editoração da ECA/USP e Prof. Fabio Kon, diretor do Centro de Competência em Software Livre do IME/USP. Com estes desenvolvimentos, o código da bancada está sendo aperfeiçoado, testado e evoluído.



No contexto do grupo de trabalho da RNP foi estabelecida também uma parceria com a Universidade Federal do Espírito Santo (UFES), através dos professores Roberta Lima Gomes e Magnos Martinello, para portar e expandir a bancada de componentes para dispositivos móveis. Optou-se por desenvolver o Groupware Workbench para o sistema operacional open source Android, integrando com a plataforma JoinUS [Santos et al., 2008], desenvolvida pela UFES.


No final de 2009, com o crescimento da equipe de desenvolvimento, composta de alunos de mestrado e doutorado do IME/USP e de desenvolvedores contratados pelo projeto da RNP, passou-se a utilizar a metodologia de desenvolvimento Scrum para guiar o desenvolvimento. Optou-se por um método ágil, seguindo a tradição do Departamento de Ciência da Computação do IME/USP, de modo a melhor direcionar a equipe à obtenção de resultados. A equipe de desenvolvimento passou a ser composta por uma equipe de 9 desenvolvedores, 1 Scrum Master e 1 Coach. Esta equipe é complementada por mais 3 desenvolvedores e 2 coordenadores na UFES para o desenvolvimento da integração com a plataforma de dispositivos móveis.


Para 2010, estão previstos a conclusão dos componentes e dos protótipos das aplicações definidas no grupo de trabalho da RNP, o refinamento da infraestrutura de execução de componentes e o lançamento da nova versão da bancada, já integrada com as novas tecnologias de desenvolvimento e com um maior grau de estabilidade.

Nenhum comentário:

Postar um comentário