|
A partir daí a aplicação Metastorage gera todo o código que implementa as funcionalidades declaradas. Para além disso gera classes adicionais para instalação do esquema de base de dados. Tudo isto sem a necessidade do programador ter que escrever sequer uma linha de SQL. Na prática, um programador pode reduzir para meia-hora (tempo de declarar componentes em CPML) o tempo de desenvolvimento de aplicações que demoraria dias ou semanas a desenvolver, verificar e corrigir código equivalente escrito manualmente. Como bónus o Metastorage também gera gráficos de Entidade-Relacionamento através de diagramas de classes em UML. Abaixo pode ser visto um gráfico de um diagrama de classes gerado a partir de um componente de exemplo em CPML de aplicação do Metastorage. No momento, o Metastorage gera o código das classes de objectos em PHP. O acesso às bases de dados é feito através da API Metabase. Esta API garante a total independência do código gerado em relação à base de dados utilizada, pelo que automaticamente inúmeros tipos de bases de dados são suportados (MySQL, PostgreSQL, Oracle, MS-SQL, Informix, Interbase, etc..) O Metastorage é a primeira aplicação de meta-meta-programação baseada no compilador da linguagem MetaL. Isto quer dizer que na verdade o Metastorage usa um módulo do compilador do MetaL que gera todo código primeiramente na linguagem MetaL que seguidamente pode ser traduzido para várias linguagens alvo: PHP, Java, Perl, etc... No momento, o que impede o Metastorage de gerar código para Java ou Perl é a inexistência de uma API de acesso a bases de dados equivalente ao Metabase. O Metabase proporciona de forma independente da base de dados funcionalidades críticas como a geração números sequênciais auto-incrementais que são essenciais usar em campos de chaves primárias. Uma provável versão do Metabase a ser desenvolvida por contribuidores do projecto poderá tornar uma versão do Metastorage para Java e Perl uma realidade. Outras linguagens poderão também vir a ser suportadas se houverem voluntários interessados em contribuir para o projecto do MetaL de forma suportar a geração de código nessas linguagens. < Metastorage acelera desenvolvimento de aplicações | Kits de auto-instalação para Internet de banda larga gratuitos >
|
| |||||||||||||||||||||||||||||||||||||
|
|
||