[Cascavel-pm] Exemplo de relacao many-to-many com Class::DBI
Rod Za
rodzadra em yahoo.com
Quarta Abril 13 10:25:57 PDT 2005
Nelson, muito legal o AppML hein?
Já baixei e vou dar uma olhada com mais calma nele, com certeza!
O único porém é que, na verdade eu queria entender como funciona a/o Class::DBI (a qual me foi
indicada pelo próprio Luiz - há algum tempo:).
Eu estou desenvolvendo um sistema gerenciador de quotas de impressão (projeto SGQI -
http://sgqi.codigolivre.org.br) e precisamente este sistema roda como um plugin para o CUPS,
portanto a parte web não é necessária aqui.
muito obrigado, seu site já está no bookmark! :)
Rodrigo Zadra Armond
--- Nelson Ferraz <nferraz em gnubis.com.br> wrote:
> > Mas não seja por isso, eu ainda estou na dúvida de como usar corretamente o relacionamento da
> > Class::DBI. Por exemplo, pegando como base as classes que fiz seria certo eu criar um objeto
> > dbUser e acessar todos as outras classes por ele? ex: historico, grupos, etc? Ou eu teria que
> > criar um objeto para cada classe? (dá pra mandar um exemplo??) :)
>
> Rod,
>
> Eu estou desenvolvendo uma ferramenta que pode ajudá-lo na criação dos módulos do Class::DBI,
> bem como scripts de criação da base de dados, templates, e toda a aplicação web. Esta ferramenta
> se chama AppML, e já recebeu valiosas contribuições do Luis Campos de Carvalho e do Ednardo
> Lobo.
>
> A idéia é simples: ao invés de escrever o código manualmente, nós criamos uma ferramenta que faz
> isso por nós.
>
> Como isso é feito? A partir dos conceitos fundamentais de UML, desenvolvemos um dialeto em XML
> para traduzir as especificações de um sistema de informação. A este dialeto denominamos AppML
> (Application Markup Language).
>
> Tomando a sua aplicação como exemplo, esta seria uma especificação simplificada:
>
> <project>
>
> <table name="users">
> <field name="login"/>
> </table>
>
> <table name="groups">
> <field name="group_name"/>
> </table>
>
> <table name="relationship">
> <rel name="user" table="users"/>
> <rel name="group" table="groups"/>
> </table>
>
> </project>
>
>
> Na verdade a gente precisa incluir mais alguns detalhes, como os tipos dos campos (para criação
> das tabelas), e os textos que devem aparecer nos templates. No final, o exemplo ficaria assim:
>
>
> <project name="teste" title="meu primeiro projeto">
>
> <table name="users" caption="usuários" descriptor="login">
> <field name="login" type="varchar" size="40" caption="login do usuário"/>
> </table>
>
> <table name="groups" caption="grupos" descriptor="group_name">
> <field name="group_name" type="varchar" size="40" caption="nome do grupo"/>
> </table>
>
> <table name="relationship">
> <rel name="user" table="users" caption="usuário"/>
> <rel name="group" table="groups" caption="grupo"/>
> </table>
>
> </project>
>
>
> Agora sim, o AppML é capaz de gerar a base de dados em SQL, os módulos, templates, e todo o
> código-fonte necessário para que a aplicação seja instalada em um servidor web e acessada por
> múltiplos usuários simultaneamente.
>
> As principais vantagens dessa abordagem são a consistência, qualidade e produtividade. Como o
> AppML é um software livre (disponível sob a licença GNU GPL), você também tem a flexibilidade
> para modificá-lo da maneira como achar necessário.
>
> Você encontra o AppML no seguinte endereço:
>
> http://www.gnubis.com.br/bin/view/English/AppML
>
> []s
>
> Nelson
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
__________________________________
Do you Yahoo!?
Yahoo! Small Business - Try our new resources site!
http://smallbusiness.yahoo.com/resources/
Mais detalhes sobre a lista de discussão Cascavel-pm