[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