NOTA: MySQL lança (hoje!) oficialmente o MySQL Workbench, ferramenta visual de modelação de dados com suporte alargado das funcionalidades do MySQL. (para assistir ao web seminar, basta registar-se com a MySQL)
Intro
Analisar, conceber e implementar uma base de dados podem e devem ser tarefas unificadas no contexto de um processo de desenvolvimento integrado, iterativo e incremental. Na verdade, todo o processo de desenvolvimento pode ser suportado por ferramentas CASE mas estas são geralmente dispendiosas e apenas acessíveis às grandes empresas.
No mundo do desenvolvimento web, principalmente no mundo das tecnologias open-source, os sistemas disponíveis estão ainda um pouco longe do seu potencial, mas é possível montar um ambiente de desenvolvimento bastante completo, nomeadamente sobre o Eclipse. Este IDE open-source, desenvolvido em Java, não só disponibiliza os plugins necessários para desenvolver em praticamente qualquer linguagem, como também para desempenhar eficazmente as tarefas de análise e desenho e até mesmo fazer round-trip engineering ao longo de todo o ciclo de desenvolvimento.

Contudo, para as tarefas de modelação de dados nunca encontrei um plugin, ou conjunto de plugins, que permitisse uma completa sincronização dos diagramas ERD (na foto) com a base de dados física, nomeadamente por faltarem features específicas do MySQL, o (meu) RDBMS de eleição para o desenvolvimento web.
DBDesigner
Até há pouco tempo, os resultados da pesquisa por mysql visual modeling no Google apontavam inequivocamente para o DBDesigner, um projecto Open Source, sem suporte oficial da MySQL.
Apesar de implementar as features essenciais, o DBDesigner prova-se muito pouco eficiente para quem queira manter os diagramas sincronizados com a base de dados. Alguns bugs irritantes, pouca usabilidade e uma configuração demasiado abstracta são alguns dos turn-offs mais difíceis de contornar.
Além do mais, o desenvolvimento parece ter ficado suspenso após o lançamento da versão 4. Nunca me convenceu verdadeiramente e apesar de o ter utilizado largamente para documentar a fase de análise e desenho, nunca o utilizei consistentemente ao longo de todo o ciclo de desenvolvimento dos projectos.
Workbench
É aqui que entra o Workbench, sucessor do projecto DBDesigner4 mas construído de raiz a pensar num suporte alargado a todas as funcionalidades do MySQL, que entretanto evolui muito rapidamente entre as versões 4 e 5.
Apresenta também grandes melhorias ao nível da interface, mais usabilidade e mais estabilidade. E a promessa de evoluir rapidamente com base no input da comunidade: bugs, feature requests e até mesmo plguns.
Em versão Beta até há pouco menos de um mês, é notório o suporte da MySQL ao desenvolvimento deste novo produto. No dia 12 a MySQL irá fazer mais uma acção de divulgação do Workbench através de um webinar aberto a todos. Basta registar-se aqui e “comparecer” às 15 horas.
Worbench OSS e Standard Edition
Nas palavras da própria MySQL o Workbench é o primeiro produto MySQL com uma nova política de distribuição. Por outras palavras, este “produto” é distribuído em duas versões, gratuita e paga, com a primeira a ser truncada de algumas características. Será certamente uma das consequências da recente aquisição da MySQL pela SUN, em Janeiro de 2008 (ver análise da Gartner sobre as consequências desta aquisição).
Eu disse “truncada”? Segundo o site do projecto isto não é verdade, afirmando claramente que a versão comunitária “is not crippled in any way”. Contudo, a Standard Edition “adds modules and plugins allowing for an optimized workflow”:
- object privilege system
- schema validation plugins
- model reporting and online printing
- reverse engineering and synchronization against live database connections.
Plugins
O WorkBench é desenvolvido sobre uma arquitectura de plugins escritos na linguagem Lua (com origem no Brasil) e, apesar de ainda não estar aberto à comunidade, o repositório de plugins tem um lugar reservado no site oficial do produto.
Obviamente, questiona-se como será possível no futuro manter a versão Standard Edition se aparecerem plugins alternativos aqueles que são distribuídos em exclusivo na versão “paga”. Existirá uma política de restrição da API para os plugins desenvolvidos pela (para a) comunidade?
Acima de tudo, espero que o desenvolvimento do Workbench caminhe no sentido da inter-operabilidade, e que brevemente obtenhamos algum grau de integração entre os modelos (guardados num formato standard em xml) gerados no MySQL Workbench com outros sistemas de CASE que implementem a generalidade do UML, nomeadamente com a EMF do Eclipse.
Links
- MySQL Workbench
- Eclipse
- Eclipse Modeling Framework
- Lua Scripting Language
- CASE só para quem pode





Latest Comments
RSSStreetGuy, ASP World Tour 2008 Indonesia Tiago Pires - Kelly Slater | Andrezero
vanessa, Joana Torgal, André Torgal, bizuka
Alf
André Torgal, vanessa
André Torgal, mane
Casca, André Torgal, Armando Alves, Ivo Gomes, vanessa, André Torgal, Carlos Martins, Suka