gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
Metastorage acelera desenvolvimento de aplicações
Contribuído por BladeRunner em 13-12-02 10:24
do departamento meta-meta-programação
News mlemos escreve "Metastorage é uma aplicação Open Source que se destina a gerar automaticamente componentes de programação sob a forma de classes de objectos que são mapeados em bases de dados a partir de uma descrição simples num formato baseado em XML chamado CPML (Component Persistence Markup Language)."
O principal objectivo desta aplicação é reduzir drasticamente o tempo de desenvolvimento de aplicações de bases de dados. Isso é conseguido dado que o programador apenas precisa de declarar no formato XML CMPL as classes de objectos dos seus componentes que incluem as variáveis das classes, relacionamento entre objectos dessas classes, regras de validação de dados e funções para criar, manipular e armazenar os objectos na base de dados.

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  >

 

gildot Login
Login:

Password:

Referências
  • gráfico de um diagrama de classes
  • componente de exemplo em CPML
  • Metabase
  • MetaL
  • mlemos
  • Metastorage
  • Component Persistence Markup Language
  • Mais acerca News
  • Também por BladeRunner
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    Devo estar bebado... (Pontos:1)
    por aknot em 13-12-02 10:38 GMT (#1)
    (Utilizador Info)
    Nao li ja este artigo hoje no gildot?

    aknot

     

     

    [ Topo | FAQ | Editores | Contacto ]