Módulos e Pacotes  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Amigos(as),

Vocês consideram módulos e pacotes/namespaces a mesma coisa? Como vocês modularizam a aplicação de vocês e o que buscam com isso? (estou escrevendo sobre isso e gostaria de avaliar a visão do mercado)

Abrações!

This message was edited 1 time. Last update was at 01/11/2009 21:57:46


Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
zoren
GUJ Master
[Avatar]

Membro desde: 30/06/2008 08:32:33
Mensagens: 1003
Offline

eu acho que módulos são partes do sistema, como um ERP tem a parte de finanças, estoque e outros

e pacotes eu considero com um agrupador de funcionalidades no sistema, como telas, entidades

quando vc diz modularizar, vc se refere aos pacotes em que as classes são divididas?? ou partes de um sistema??

bom em ambos eu busco agrupar funcionalidades

mas nos módulos eu coloco grupos de funcionalidades, como eu citei acima, como num ERP, a parte de gerenciamento de estoque

e nos pacotes eu coloco as coisas juntas, como por exemplo, as minhas exceções que eu faço, eu coloco em um pacote, as telas do sistema em outro, as classes que tem determinadas funcionalidades em outro
[Email] [MSN]
YvGa
JavaEvangelist

Membro desde: 07/03/2007 15:58:16
Mensagens: 479
Offline

A minha definicao é parecida com a do zoren, talvez por ter trabalhado muito tempo com desktop, eu vejo modulo como um "executavel" independente, mas que compoe uma aplicacao maior. E pacotes seriam as separacoes logicas dentro de um modulo.

Paulo Borio
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Nas aplicações de vocês os módulos se acessam livremente? Estoque precisa de informações de Faturamento, que precisa de informações de Vendas e assim por diante.

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3420
Offline

rodrigoy wrote:Amigos(as),

Vocês consideram módulos e pacotes/namespaces a mesma coisa? Como vocês modularizam a aplicação de vocês e o que buscam com isso? (estou escrevendo sobre isso e gostaria de avaliar a visão do mercado)



Pacote é uma unidade de divisão que tem relação com a visibilidade das classes, seus métodos e atributos. É uma forma de organizar codigo, não funcionalidade.

Módulo é uma unidade de divisão comercial. O sistema é encarado e vendido como um conjunto de módulos. A comunicação entre eles é "segredo" do software. normalmente módulos podem ser adicionados/ativados por demanda do cliente sendo que mais módulos = mais caro. Isto não significa que o código não está já lá, significa que o usuário não tem acesso, mas muita gente acha que o código não pode estar lá por causa de segurança contra hacks. Isto é especialmente verdade quando os módulos são ativados por códigos de ativação.

This message was edited 1 time. Last update was at 03/11/2009 11:16:36


Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

sergiotaborda wrote:

....


Leia módulos aqui como Modules no contexto da DDD e não no contexto comercial/licença e etc...

(acho estranho aqui que qualquer discussão sobre repositórios traz um monte de gente, mas discussão sobre Modules e Aggregates da DDD - que são mais importantes - ninguém discute)

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
Rodrigo Carvalho Auler
Virtual Machine Man

Membro desde: 14/02/2003 15:59:17
Mensagens: 576
Localização: Rio de Janeiro
Offline

rodrigoy wrote:Nas aplicações de vocês os módulos se acessam livremente? Estoque precisa de informações de Faturamento, que precisa de informações de Vendas e assim por diante.

Um módulo pode acessar informações do outro. Mas se você for pensar em reuso, o maior desafio é deixar os módulos desacoplados pra você poder reutilizar um módulo independentemente dos outros.

[]'s

Rodrigo Auler
djemacao
GUJ Master

Membro desde: 04/06/2007 17:47:24
Mensagens: 1030
Offline

Rodrigo Carvalho Auler wrote:
rodrigoy wrote:Nas aplicações de vocês os módulos se acessam livremente? Estoque precisa de informações de Faturamento, que precisa de informações de Vendas e assim por diante.

Um módulo pode acessar informações do outro. Mas se você for pensar em reuso, o maior desafio é deixar os módulos desacoplados pra você poder reutilizar um módulo independentemente dos outros.

[]'s

Rodrigo Auler

Concordo plenamente.

"Quanto mais aprendo mais tenho consciência que nada sei."
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Rodrigo Carvalho Auler wrote:Um módulo pode acessar informações do outro. Mas se você for pensar em reuso, o maior desafio é deixar os módulos desacoplados pra você poder reutilizar um módulo independentemente dos outros.


Imagine que um módulo pode ter umas 30 classes, e outro módulo tem também 30 classes. Essas classes podem enviar mensagens entre si livremente? Como vc desacopla hoje?

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
YvGa
JavaEvangelist

Membro desde: 07/03/2007 15:58:16
Mensagens: 479
Offline

rodrigoy wrote:
Rodrigo Carvalho Auler wrote:Um módulo pode acessar informações do outro. Mas se você for pensar em reuso, o maior desafio é deixar os módulos desacoplados pra você poder reutilizar um módulo independentemente dos outros.


Imagine que um módulo pode ter umas 30 classes, e outro módulo tem também 30 classes. Essas classes podem enviar mensagens entre si livremente? Como vc desacopla hoje?


Acho que se elas enviam mensagens livremente entre si deveriam estar num mesmo package, eu procuro nao ter relacao bidirecional entre eles. Por exemplo, meu package contasreceber conhece e tem acesso livre as classes package vendas, mas o package vendas desconhece a existencia do contasreceber.

Paulo Borio
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3420
Offline

rodrigoy wrote:
sergiotaborda wrote:

....


Leia módulos aqui como Modules no contexto da DDD e não no contexto comercial/licença e etc...

(acho estranho aqui que qualquer discussão sobre repositórios traz um monte de gente, mas discussão sobre Modules e Aggregates da DDD - que são mais importantes - ninguém discute)


Porque Repositorio é um design pattern pre-DDD que tem significado por si mesmo e utilidade por si mesmo e muita utilidade no cenário atual dominado pelo Hibernate ( DomainStore).
Ou seja, é porque na realidade não estamos falando de DDD

Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
Rodrigo Carvalho Auler
Virtual Machine Man

Membro desde: 14/02/2003 15:59:17
Mensagens: 576
Localização: Rio de Janeiro
Offline

rodrigoy wrote:Imagine que um módulo pode ter umas 30 classes, e outro módulo tem também 30 classes. Essas classes podem enviar mensagens entre si livremente? Como vc desacopla hoje?

Pra ser bem sincero, mesmo tomando todos os cuidados, é muito difícil deixar o módulo realmente reutilizável. Acho que isso só funciona se você tem um produto
e vender o mesmo produto em pedaços. Mas se você faz software sob demanda, acho difícil reutilizar módulos inteiros em outro projeto sem ter que mexer neles. Eu diminuo ao máximo o acoplamento entre os módulos só pra deixa-los mais testáveis, mas não visando reutilização.

Qual a sua intenção? Qual o nível de reutilização que você procura? Reutilizar só negócio ou reutilizar UI tb?

[]'s

Rodrigo Auler
andre_salvati
GUJ Ranger

Membro desde: 02/06/2005 16:28:38
Mensagens: 879
Offline

A algum tempo venho procurado uma solução para empacotar uma aplicação web em módulos funcionais.

Ex:

erp.ear
-- contabil.war
-- contabil.jar
-- faturamento.war
-- faturamento.jar

etc

Alguém chegou nesse nível?


"Don't be evil"

http://empresadigital.inf.br
http://twitter.com/afsalvati
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Exatamente Rodrigo, separar módulos é para organizar, melhorar a visão, diminuir a complexidade, testar modularmente...

Vejo poucas pessoas fazendo isso, e vejo que o simples empacotamento de classes não colabora para os itens acima.

Vcs usam Façades para integração entre módulos?

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
mochuara
GUJ Master
[Avatar]
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline

De uma olhada no livro de DDD onde esse assunto é discuto a exaustao.
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team