Análise de Arquitetura  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
rpffoz
JavaChild
[Avatar]

Membro desde: 07/01/2008 10:13:47
Mensagens: 107
Offline

Olá Senhores,

Gostaria da opinião e crítica sobre uma arquitetura que foi projetada recentemente aqui na empresa,
esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex.

Na camada de Aplicação se encontra ExceptionsHandlers que são programadas com Aspectos assim como Logs e etc...

O domínio foi projetado baseado no DomainDrivenDesing, logo as classes ali são somente POJOS e injetadas via IoC do Spring.

Na infraestrutura contém apenas possíveis implementações do repository que faz uso das classes abstratas do Spring para acessos JDBC ou componentes que o Spring contém como acessos a serviços via JMI.

É uma explanação sucinta, mas segue abaixo uma representação do modelo.




Abraços.

Rodrigo Pereira Fraga
http://www.digows.com/
http://www.apollo-ti.com/
http://forum.flexbrasil.com.br/
[Email] [WWW] [MSN]
le-silva
Java Ninja
[Avatar]

Membro desde: 31/01/2003 10:21:32
Mensagens: 260
Offline

Oi rpffoz!

Só pra entender melhor, a idéia é que ela seja uma arquitetura de referência, ou ela foi projetada para uma aplicação especifica?

Arquiteturas referência nunca são uma boa idéia...

Leandro Silva

{ :blog => 'leandrosilva.com.br' , :twitter => '@codezone' }
[Email] [WWW]
aleck
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline

Poderia explicar melhor a frase "esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex. " ?

le-silva: Poderia explicar melhor o porque das arquiteturas de referencia serem uma má ideia? Creio que uma arquitetura unica e burra deve sempre ser evitada, porém em grande parte dos casos uma arquitetura de referencia resolve o problema(leia-se multavel, expansivel, passivel de melhorias).



Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli
[WWW] [MSN]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

O Blaze Data Service serve pra componentes ajax comuns, sem Flex?

De qualquer forma, você precisa mesmo ter visualizações em HTML e Flex? Porque não fica só com uma e simplifica o seu trabalho?

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
le-silva
Java Ninja
[Avatar]

Membro desde: 31/01/2003 10:21:32
Mensagens: 260
Offline

aleck wrote:Poderia explicar melhor a frase "esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex. " ?

le-silva: Poderia explicar melhor o porque das arquiteturas de referencia serem uma má ideia? Creio que uma arquitetura unica e burra deve sempre ser evitada, porém em grande parte dos casos uma arquitetura de referencia resolve o problema(leia-se multavel, expansivel, passivel de melhorias).


http://guj.com.br/posts/list/71466.java

http://blog.fragmental.com.br/2007/10/15/arquitetos-mcdonalds

Leandro Silva

{ :blog => 'leandrosilva.com.br' , :twitter => '@codezone' }
[Email] [WWW]
Paulo Silveira
Administrador
[Avatar]

Membro desde: 07/08/2002 18:38:50
Mensagens: 4204
Localização: São Paulo
Offline

Ola

é uma arquitetura n-tier bastante encontrada.

alguns pontos:
use JSON ou algum outro protocolo que seja de facil consumo tanto pelo Flash/Flex/Air quanto pelos componentes AJAX, para evitar ao maximo o retrabalho. Creio que esse data service que deveria prover isso.
Se esta usando DDD, as classes realmente de Domain voce mal vai precisar de IOC, deve dar para fazer o wiring na mao e deixar o codigo muito legivel. o IOC seria mais util para seus servicos, nao?

alias, que programa voce usou para desenhar? ficou muito bom, parabens

http://blog.caelum.com.br twitter: @paulo_caelum


[Email] [WWW]
aleck
GUJ Ranger
[Avatar]

Membro desde: 27/03/2006 08:08:33
Mensagens: 843
Localização: Rio de Janeiro
Offline

le-silva wrote:
aleck wrote:Poderia explicar melhor a frase "esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex. " ?

le-silva: Poderia explicar melhor o porque das arquiteturas de referencia serem uma má ideia? Creio que uma arquitetura unica e burra deve sempre ser evitada, porém em grande parte dos casos uma arquitetura de referencia resolve o problema(leia-se multavel, expansivel, passivel de melhorias).


http://guj.com.br/posts/list/71466.java

http://blog.fragmental.com.br/2007/10/15/arquitetos-mcdonalds


Acho que você entendeu errado, arquitetura de referencia é uma arquitetura montada especificamente para atender um negocio ou uma serie de projetos que sejam comuns a um cliente, tendo como base a analise e estudo das necessidades. Os links acima fazem alusão a uma arquitetura utilizada para qualquer projeto, visando abraçar o mundo e qualquer negocio.

Este não é o caso do criador do post, pois esta arquitetura atende em especifico o negocio dele e poderia ser utilizada em todos os projetos que seguem o mesmo padrão, de maneira alguma visa resolver os problemas do mundo ou a paz mundial.





Desenvolvedor iOS/Android
http://blog.alexandresoli.com.br
@alexandresoli
[WWW] [MSN]
rpffoz
JavaChild
[Avatar]

Membro desde: 07/01/2008 10:13:47
Mensagens: 107
Offline

le-silva wrote:Oi rpffoz!

Só pra entender melhor, a idéia é que ela seja uma arquitetura de referência, ou ela foi projetada para uma aplicação especifica?

Arquiteturas referência nunca são uma boa idéia...


A principio é para atender os problemas de migração, pois existem muitos componentes feitos com html, e estamos visando o reuso destes.

le-silva wrote:
Poderia explicar melhor a frase "esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex. " ?


Através do AIR, posso executar tanto componentes puro html, puro Flex, ou então tudo junto, como estou programando para uma run-time, elimina a preocupação de desenvolver compatibilidades entre browsers, fora outros ganhos de aplicações off-line ou de acesso ao S.O.


Maurício Linhares wrote:
O Blaze Data Service serve pra componentes ajax comuns, sem Flex?


Com o Blaze eu posso prover acessos ao AIR/ ou Browser tanto RemoteObject, tanto WebServices, tanto HttpService, a diferença só ficará na façade, no caso se uma app for voltada apenas para Flex, este irá acessar direto o Service do domínio, se não criaremos um controller que faz o tratamentos dos request's e responses do html.

Maurício Linhares wrote:
De qualquer forma, você precisa mesmo ter visualizações em HTML e Flex? Porque não fica só com uma e simplifica o seu trabalho?


Não posso me apegar somente ao Flex, pois existem muitos componentes em html já feitos.

Paulo Silveira wrote:
Use JSON ou algum outro protocolo que seja de facil consumo tanto pelo Flash/Flex/Air quanto pelos componentes AJAX, para evitar ao maximo o retrabalho. Creio que esse data service que deveria prover isso.


Correto, o DataService abstrai solicitações via RemoteObject (AMF3), WebServices, HttpService.

Paulo Silveira wrote:
Se esta usando DDD, as classes realmente de Domain voce mal vai precisar de IOC, deve dar para fazer o wiring na mao e deixar o codigo muito legivel. o IOC seria mais util para seus servicos, nao?


Estou usando Spring com Annotations logo não me encomodo de "acoplar" um @AutoWired para realizar as injeções.

Paulo Silveira wrote:
Alias, que programa voce usou para desenhar? ficou muito bom, parabens


Fiz uso do Gliffy -> http://www.gliffy.com/ App baseada em RIA feita em Laszlo, é muito bom por sinal.

......


Obrigado pelas observações

Abraços a todos.

Rodrigo Pereira Fraga
http://www.digows.com/
http://www.apollo-ti.com/
http://forum.flexbrasil.com.br/
[Email] [WWW] [MSN]
andre_salvati
GUJ Ranger

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

le-silva wrote:Oi rpffoz!

Só pra entender melhor, a idéia é que ela seja uma arquitetura de referência, ou ela foi projetada para uma aplicação especifica?

Arquiteturas referência nunca são uma boa idéia...


Não!? Pq vc acha isso!?

Há uma grande diferença entre uma "arquitetura de referência" e um "framework de referência" (se é que pode-se dizer que um framework é de referência). Também não confunda "arquitetura de referência" com os frameworks Franksteins do tipo jCompany.

Estava até pensando: "Hoje trabalho com Hibernate. Acho que vou sugerir que o próximo projeto utilize Kodo. Depois podemos fazer outro com Toplink. Vai ficar uma coisa bem bonita de se ver."

This message was edited 1 time. Last update was at 20/02/2008 22:20:31


Ajude na criação do StackOverflow em português!!!

http://area51.stackexchange.com/proposals/23539/software-development-in-portuguese?referrer=tI8Uon7RDszY236h5e0UuA2


http://www.empresadigital.inf.br
http://twitter.com/afsalvati
Marcio Duran
GUJ Master
[Avatar]

Membro desde: 23/01/2008 11:14:35
Mensagens: 1905
Offline

rpffoz wrote:Olá Senhores,

Gostaria da opinião e crítica sobre uma arquitetura que foi projetada recentemente aqui na empresa,
esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex.


Fala ai rpffoz !!!!!

Critica :Mais uma boa contribuição de qualidade no GUJ

Opinião: "Mesmo havendo um paradigma dos Requisitos e legados para cada Corporação eu percebo um business plann bem elaborado, para se refletir"

Isso mesmo Parabens !!! "Como dizem uma Imagem já fala por 1.000 palavras....."

This message was edited 1 time. Last update was at 20/02/2008 22:54:32


Consultor Open Source
Comunidade JavaLivros
Twitter Comunidade JavaLivros
Novo Blog do MiddleHeaven
[WWW]
Mauricio Linhares
Moderador
[Avatar]

Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline

rpffoz wrote:Com o Blaze eu posso prover acessos ao AIR/ ou Browser tanto RemoteObject, tanto WebServices, tanto HttpService, a diferença só ficará na façade, no caso se uma app for voltada apenas para Flex, este irá acessar direto o Service do domínio, se não criaremos um controller que faz o tratamentos dos request's e responses do html.


Não entendi, eu posso escrever código em JavaScript que acessa as coisas do Blaze ou eu teria que fazer alguma coisa por fora pra as visualizações em HTML?

De qualquer forma, porque vocês escolheram manter essas duas linhas de desenvolvimento pra camada de visualização? Algum motivo especial?

Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr

Screencast de Introdução a linguagem Objective-C
[WWW]
le-silva
Java Ninja
[Avatar]

Membro desde: 31/01/2003 10:21:32
Mensagens: 260
Offline

aleck wrote:
le-silva wrote:
aleck wrote:Poderia explicar melhor a frase "esta provê uma solução para problemas de interfaces unindo sobre uma run-time ou não componentes em HTML/AJAX e Flex. " ?

le-silva: Poderia explicar melhor o porque das arquiteturas de referencia serem uma má ideia? Creio que uma arquitetura unica e burra deve sempre ser evitada, porém em grande parte dos casos uma arquitetura de referencia resolve o problema(leia-se multavel, expansivel, passivel de melhorias).


http://guj.com.br/posts/list/71466.java

http://blog.fragmental.com.br/2007/10/15/arquitetos-mcdonalds


Acho que você entendeu errado, arquitetura de referencia é uma arquitetura montada especificamente para atender um negocio ou uma serie de projetos que sejam comuns a um cliente, tendo como base a analise e estudo das necessidades. Os links acima fazem alusão a uma arquitetura utilizada para qualquer projeto, visando abraçar o mundo e qualquer negocio.

Este não é o caso do criador do post, pois esta arquitetura atende em especifico o negocio dele e poderia ser utilizada em todos os projetos que seguem o mesmo padrão, de maneira alguma visa resolver os problemas do mundo ou a paz mundial.


Eu entendi errado? Eu nem sequer disse o que eu entendo por arquitetura de referência. Eu disse, sim, que arquiteturas de referência não são boa idéia. E como você me pediu uma explicação sobre minha opinião, te dei alguns links pra você ler e tirar suas próprias conclusões. Afinal, este assunto já foi discutido aqui no GUJ e nosso colega Shoes também escreveu um post sobre isso.

Mas o que eu penso? Não vou chover no molhado, o post do Shoes diz muito do que eu penso...


O ponto inicial é que arquiteturas de referência são um conceito falido. Ter guias arquiteturas, modelos, sugestões é uma coisa, impor uma arquitetura única é outra. O Luca já deu diversos motivos para não fazer este tipo de coisa e eu lembro de um projeto que participei há alguns anos atrás em uma grande empresa que utilizava esta técnica.

...

Existe um paradoxo nas arquiteturas de referência: para se ter uma boa arquitetura (de referência ou não) é necessário um bom arquiteto mas a primeira coisa que um bom arquiteto vai dizer é que arquiteturas de referência são uma péssima idéia.

http://blog.fragmental.com.br/2007/10/15/arquitetos-mcdonalds


Guias e modelos são bons (aliás é pra isso que servem os architectural patterns). Ter uma arquitetura única para todas aplicações, é mal, porque nem todas as aplicações são iguais.

Quer saber? Já sofri muuuuito em projetos com arquitetos Mc Donalds.

Agora, quando ao trabalho do nosso colega Rodrigo, eu pedi que ele dissesse qual o objetivo desta arquitetura, e ele prontamente deu uma ótima resposta.

Pelo que entendi da explicação dele, o objetivo desta arquitetura não é ser uma arquitetura Mc Donalds, ou de referência - como queira chamar. Ela tem um objetivo bem especifico mapeado.

Parabéns, Rodrigo, há muitos pontos positivos!

Leandro Silva

{ :blog => 'leandrosilva.com.br' , :twitter => '@codezone' }
[Email] [WWW]
andre_salvati
GUJ Ranger

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

le-silva wrote:

Quer saber? Já sofri muuuuito em projetos com arquitetos Mc Donalds.



Acho que vc precisa de consolo e não de argumentação consistente. Se encontrou no tal artigo, ótimo.

le-silva wrote:
Pelo que entendi da explicação dele, o objetivo desta arquitetura não é ser uma arquitetura Mc Donalds, ou de referência - como queira chamar.


A arquitetura é de REFERÊNCIA pq determina quais frameworks, padrões, protocolos, guidelines, implementações de referência, etc, etc a serem utilizados no projeto.

Ajude na criação do StackOverflow em português!!!

http://area51.stackexchange.com/proposals/23539/software-development-in-portuguese?referrer=tI8Uon7RDszY236h5e0UuA2


http://www.empresadigital.inf.br
http://twitter.com/afsalvati
Quinger
JavaTeenager
[Avatar]

Membro desde: 17/07/2007 15:06:34
Mensagens: 161
Offline

Realmente essa arquitetura ficou ótima!

Seguindo o padrão DDD, vc pode de fato desenvolver suas regras de negócio sem preocupar-se onde persistirá os dados e que forma fará a view.
Podendo separar equipes com funções bem distintas em um projeto.

parabéns!

Leandro Quingerski
Apollo Tecnolgia da Informação
[Email] [WWW]
le-silva
Java Ninja
[Avatar]

Membro desde: 31/01/2003 10:21:32
Mensagens: 260
Offline

Taz wrote:
le-silva wrote:

Quer saber? Já sofri muuuuito em projetos com arquitetos Mc Donalds.



Acho que vc precisa de consolo e não de argumentação consistente. Se encontrou no tal artigo, ótimo.

le-silva wrote:
Pelo que entendi da explicação dele, o objetivo desta arquitetura não é ser uma arquitetura Mc Donalds, ou de referência - como queira chamar.


A arquitetura é de REFERÊNCIA pq determina quais frameworks, padrões, protocolos, guidelines, implementações de referência, etc, etc a serem utilizados no projeto.


Taz não é esse o conceito que foi cunhado como arquitetura de referência. Dê uma olhadinha nos links que indiquei.

Mas, de qualquer forma, se não for pedir de mais, nos apresente a sua argumentação consistente...

Leandro Silva

{ :blog => 'leandrosilva.com.br' , :twitter => '@codezone' }
[Email] [WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team