Atenção! O projeto foi descontinuado. A equipe de desenvolvimento direcionou o esforço para a aplicação Arquigrafia, que foi construído inicialmente usando como base o Groupware Workbench.
O que é o Groupware Workbench?
Groupware Workbench é uma infraestrutura de execução e um kit de componentes de software para construção de aplicações na Web 2.0.
Qual é a sua motivação?
Sistemas colaborativos estão cada vez mais presentes na sociedade, principalmente através da Web 2.0 e das ferramentas de comunicação. Dificuldades tradicionais da engenharia de software são potencializadas ao desenvolver software colaborativo. Problemas como sincronismo, concorrência de acesso, compartilhamento e distribuição são críticos. Sistemas colaborativos são altamente interdisciplinares,
os processos que definem a dinâmica de trabalho de um grupo são
difíceis de modelar e o suporte computacional é difícil de construir. Componentes
de software encapsulam tanto complexidades técnicas quanto relacionadas
ao domínio de aplicação. Com o uso de componentes, os desenvolvedores
experimentam e prototipam
rapidamente soluções computacionais, o que propicia a criatividade e o
pensamento em um nível mais alto de abstração. O projeto Groupware
Workbench oferece uma infraestrutura de execução e kits de componentes
para a construção de sistemas para Web 2.0.
Quais funcionalidades a bancada oferece?
O Groupware Workbench é fornecido em duas partes: o núcleo e os kits de componentes. O núcleo da bancada (component frameworks) provê suporte à instalação, atualização, agrupamento, customização, disponibilização,
reúso, interdependências e ciclo de vida dos componentes. Além disto, a
tecnologia utilizada na bancada oferece suporte ao padrão MVC, à propagação de eventos e à persistência. Os componentes são organizados em função do modelo 3C (comunicação, coordenação e cooperação) e são divididos em dois níveis: ferramentas colaborativas (Collablets), que compõe a aplicação; e elementos de colaboração (CollabElements), que são utilizados para construir as ferramentas. Através dos kits de componentes é possível construir famílias de aplicações.
Quais componentes estão disponíveis?
Inicialmente
foi desenvolvido um conjunto restrito de componentes enquanto o código
e a tecnologia do núcleo da bancada foram estabilizados. Verifique o
repositório do projeto para uma lista atualizada.
Quais tecnologias são utilizadas?
A bancada é escrita em Java. Atualmente estão sendo integradas tecnologias que simplificam ainda mais a sua programação, como Hibernate e JPA para persistência, VRaptor para suporte ao MVC e JUnit para testes automatizados. A bancada é disponibilizada por padrão para um ambiente Tomcat com MySQL.
Onde a bancada é usada?
O
Groupware Workbench já está sendo utilizado para a construção de uma
rede social para compartilhamento de imagens na área de arquitetura e
para um balcão de dúvidas para o CCSL.Também é disponibilizada uma aplicação de Gerenciamento de Projetos como exemplo de uso da bancada. Estão previstas também a construção de um sistema de educação online e de gestão de notícias.
Qual é a licença do Groupware Workbench?
A bancada é disponbilizada como software livre para que outros desenvolvedores possam utilizar, estudar e contribuir. O código é disponibilizado sob a LGPL 3.0 no Centro de Competência em Software Livre (CCSL) do IME/USP.
Quais os planos para o projeto?
Os
trabalhos em andamento incluem o aumento da quantidade de componentes,
a implementação de componentes específicos para lidar com inteligência
coletiva na Web 2.0, melhorias no controle de versões dos componentes,
o aumento da cobertura de testes automatizados, a integração com VRaptor
e JPA, o estudo para compatibilidade com outros modelos de componentes,
como o OSGI, o suporte a componentes distribuídos e web services,
a melhoria no suporte a widgets de interface, entre outros. Pretende-se
também investigar a integração da bancada com novas mídias de
interação, como computação móvel, mundos virtuais, dispositivos de
robótica e TV digital.
Como contribuir?
O desenvolvimento oferece oportunidade para colaboradores tanto no núcleo central da bancada (component frameworks)
quanto na construção de novos componentes e aplicações. Estudantes de
graduação e pós-graduação interessados em trabalhar com desenvolvimento
baseado em componentes, tecnologias de desenvolvimento web, ou que
queiram construir componentes relacionados a seus projetos de pesquisa
são bem vindos.
Onde obter mais informações e download?
http://code.google.com/p/groupware-workbench
gerosa@ime.usp.br