| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:13:16
|
ronaldtm
HelloWorld
Membro desde: 03/11/2004 19:33:21
Mensagens: 22
Localização: Brasília - DF
Offline
|
pcalcado wrote:
ronaldtm wrote:O engraçado é que quando se trata de qualquer coisa Java, o termo usado é 'engessado' e todo mundo odeia, enquanto que quando se fala sobre Rails, o termo usado é 'opinionated' e todo mundo adora. 
Ahm?
Calma, calma, não é nada pessoal. Na verdade, nem sequer é específico a este framework em questão.
É que às vezes eu acho engraçado que as pessoas dão piti quando se fala em estabelecer uma arquitetura 'default' para um determinado framework Java (nome de pacote padrao pra classes de visão, controllers e entidades, tem que ter tal anotação ou implementar tal interface, tem que seguir determinada convenção de nomeclatura, etc.), mas quando se trata do Rails (que possui diretórios padrão pra views, controllers e entidades, vc tem que estender determinadas classes, tem que seguir determinada convenção de nomeclatura, etc.), todo mundo acha lindo, dizem que isso vai destruir o Java, blábláblá.
De novo, não estou dizendo que esse Atena é um equivalente ao Rails pra Java (longe disso!), somente um comentário (genérico) sobre algo que eu tenho observado por aí.
|
"In fact, people who study design methods without also practicing design are almost always frustrated designers who have no sap in them, who have lost, or never had, the urge to shape things. Such a person will never be able to say anything sensible about 'how' to shape things either." (Christopher Alexander) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:18:40
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5169
Localização: Sydney - Australia
Offline
|
Rails possui uma arquitetura padrão a ser utilizada para projetos com algumas características específicas. Se você não está no cenário adequado ou você usa plugins, ou muda o framework ou usa uma coisa mais apropriada.
uma coisa é definir um framework/arquitetura que é muito boa utilizada num cenário X ou Y, outra coisa é definir uma arquitetura para ser utilizada em todos os projetos, não importa do que se trata. Se um MPU ou alguma empresa adotar Rails como arquitetura de referência vai ser criticado da mesma forma: arquiteturas de referência, caseiras ou não, são o extremo oposto de boas arquiteturas.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:26:15
|
jonatas@pgr.mpf.gov.br
Thread.start()
Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline
|
Só estamos criando ferramentas para que os desenvolvedores possam testar seus códigos. Se não for preciso porque são POJOs, muito bem!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:29:34
|
jonatas@pgr.mpf.gov.br
Thread.start()
Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline
|
pcalcado wrote:...arquiteturas de referência, caseiras ou não, são o extremo oposto de boas arquiteturas.
Só por curiosidade, como é a boa arquitetura ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:36:34
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5406
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
jonatas@pgr.mpf.gov.br wrote:Só por curiosidade, como é a boa arquitetura ?
Me antecipo na resposta óbvia: depende do projeto.
Perguntas:
1) Todos os projetos de vocês são iguais e de mesmo porte?
2) Vocês vão exigis dos fornecedores que usem o framework de vocês?
3) Como pretendem lidar com as mudanças de versões. Por exemplo: a próxima versão do JPA deverá incluir Criteria. Poderá ser usado?
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:39:11
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5169
Localização: Sydney - Australia
Offline
|
jonatas@pgr.mpf.gov.br wrote:Só por curiosidade, como é a boa arquitetura ?
O primeiro critério é que o cenário seja analisado e uma arquitetura escolhida a partir dele, não a existência de uma arquitetura genérica. Pode ser a mesma arquitetura utilizada em outros projetos sem nenhuma mudança mas cada situação deve ser analisada.
O segundo critério é observar o que já foi criado pela indústria em termos de software, de prática e teoria e não reinventar a roda ou, caso seja necessário reinventar, que se faça seguindo princípios de qualidade da indústria.
O terceiro e tão importante quanto é que a arquitetura deve ser testável e executável.
This message was edited 2 times. Last update was at 16/10/2007 16:40:45
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:44:51
|
jonatas@pgr.mpf.gov.br
Thread.start()
Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline
|
Luca wrote:Me antecipo na resposta óbvia: depende do projeto.
Ok, até aqui concordamos. Mas no que se baseia essa decisão ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 16:48:07
|
fabim
Forum Spammer
![[Avatar]](/images/avatar/d4e3e8180a65648886ff348c7a6bbff5.jpg)
Membro desde: 14/12/2006 19:30:03
Mensagens: 1122
Localização: Vitoria - Espirito Santo
Offline
|
Cara dei uma olhada na documentação do framework.
Parece que ele é show hein!
|
ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται
Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 17:09:29
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5406
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
jonatas@pgr.mpf.gov.br wrote:Mas no que se baseia essa decisão ?
Poderia responder que se baseia entre a qualidade de uma decisão tomada por um ser humano ao invés da escolha automática de uma máquina. Mas não vou fazê-lo.
Responderei de outro modo: não existe arquitetura boa ou ruim porque ninguém compra arquitetura. O cliente compra sistemas e este sim é baseado em alguma arquitetura. Se o sistema funcionar bem dentro dos requisitos então dane-se o que tem por dentro.
Mas em contrapartida, quando o desenvolvedor inicia o desenvolvimento do sistema, se lhe é imposto que ele pode escolher todas as cores desde que seja preto, pode ser que se esteja ganhando muito tempo abreviando a escolha mas o resultado final também pode ser prejudicado.
Entenda que NÃO estou criticando seu framework que nem conheço. Sei que muitos daqui não se interessarão por ele enquanto não tiver testes unitários mas isto não quer dizer que ele seja ruim, apenas que ainda não é confiável.
O que eu criticarei é se ele for engessado tal como já expliquei antes. Se está bom para vocês, façam bom proveito mas não queiram que eu seja igual ao prefeito daquela cidade da Virgínia.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 17:31:26
|
saoj
Forum Spammer
![[Avatar]](/images/avatar/2e7ceec8361275c4e31fee5fe422740b.jpg)
Membro desde: 09/03/2004 23:34:46
Mensagens: 2292
Localização: Los Angeles, EUA
Offline
|
Eu dei uma olhada na parte de validação, que é a primeira coisa que eu olho em qualquer framework, por ser o básico do básico de todo projeto web.
http://atena.mpf.gov.br/confluence/pages/viewpage.action?pageId=884816
Não entendi muito bem, pois há 3 interfaces diferentes com vários métodos.
Dá para usar a validação como filtro/interceptor ou só atrelando ela a Action?
Como eu construo minha propria regra de validação, por exemplo para validar se o campo segue a regex ^[A-Z]+\d\d\d\d$ ?
O que eu defendo é que se alguém nessa altura do campeonato vai querer aprender yet another framework web in Java, então esse framework terá que ser o mais simples possível, idiot-proof, com uma documentação clara e objetiva, exemplos, etc.
Se o cara achar só um pouquinho complicado, engessado, obscuro, complexo, então com certeza ele vai abandonar e voltar para o Struts ou qualquer outra coisa da moda...
Eu vi que vc fez a validação tratar ao mesmo tempo a validação na parte do cliente e na parte do servidor. Bom, isso é mais poderoso mas tb muito mais complexo de o cara entender. Eu preferiria separar isso, primeiro porque nem todo mundo vai querer/precisar fazer a validação no cliente também e segundo porque facilita para um mero mortal entender.
De novo caímos no objetivo do framework. Ele quer ser usado por vários pessoas de todos os cantos e com todos os tipos de necessidades? Ou ele tem um target de projeto e comunidade específicos?
This message was edited 1 time. Last update was at 16/10/2007 17:33:06
|
Participe dos meus novos blogs:
O Poder Primário - Você no controle da sua felicidade
Sedução Tecnológica - Tutoriais, dicas e histórias de um engenheiro
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 17:48:54
|
jonatas@pgr.mpf.gov.br
Thread.start()
Membro desde: 12/10/2007 13:05:11
Mensagens: 30
Offline
|
Algumas considerações:
pcalcado wrote:O primeiro critério é que o cenário seja analisado e uma arquitetura escolhida a partir dele, não a existência de uma arquitetura genérica
Primeiro é necessário definir bem o conceito de arquitetura para que não se confunda com o de framework. Esses conceitos podem parecer semelhantes mas são muito diferentes! Também é importante conhecer como as decisões de escolha das "arquiteturas" são conduzidas para que se possa falar a respeito.
pcalcado wrote:
Pode ser a mesma arquitetura utilizada em outros projetos sem nenhuma mudança mas cada situação deve ser analisada.
Então o fato de se utilizar a mesma "arquitetura" em mais de um projeto pode não ser ruim ? Hummm.
pcalcado wrote:
O segundo critério é observar o que já foi criado pela indústria em termos de software
Os frameworks utilizados pelo Atena estão mesmo defasados ?
pcalcado wrote:
não reinventar a roda
Então reúso é bom ?
pcalcado wrote:
O terceiro e tão importante quanto é que a arquitetura deve ser testável e executável.
Como disse, os componentes do Atena são todos POJOs.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 17:52:22
|
fabio.patricio
Forum Spammer
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
Luca wrote:Olá
jonatas@pgr.mpf.gov.br wrote:Só por curiosidade, como é a boa arquitetura ?
Me antecipo na resposta óbvia: depende do projeto.
Perguntas:
1) Todos os projetos de vocês são iguais e de mesmo porte?
2) Vocês vão exigis dos fornecedores que usem o framework de vocês?
3) Como pretendem lidar com as mudanças de versões. Por exemplo: a próxima versão do JPA deverá incluir Criteria. Poderá ser usado?
[]s
Luca
É a famosa bala de prata neh Luca....
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 17:57:18
|
fabio.patricio
Forum Spammer
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
saoj wrote:...
Ainda sobre validacoes, vi que estão usando o WebWork ou Strtuts 2 da na mesma. Estão usando a validacao dele? Se não estao existe algum motivo? Pra mim é um sistema de validacao muito bom, da pra fazer validacao ajax, client ou server facil.
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 18:14:41
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5169
Localização: Sydney - Australia
Offline
|
jonatas@pgr.mpf.gov.br wrote: Primeiro é necessário definir bem o conceito de arquitetura para que não se confunda com o de framework. Esses conceitos podem parecer semelhantes mas são muito diferentes! Também é importante conhecer como as decisões de escolha das "arquiteturas" são conduzidas para que se possa falar a respeito.
Um framework faz parte da arquitetura então ele influencia nela. Não há como impor o uso de um framework e criar boas -ou razoáveis- arquiteturas para todos os projetos.
jonatas@pgr.mpf.gov.br wrote: Então o fato de se utilizar a mesma "arquitetura" em mais de um projeto pode não ser ruim ? Hummm. (...) Então reúso é bom ?
Logo...? Onde você quer chegar? Onde eu falei que reuso é ruim ou algo do tipo? Uma coisa é ter um objetivo nobre, outra coisa é atingi-lo.
jonatas@pgr.mpf.gov.br wrote: Os frameworks utilizados pelo Atena estão mesmo defasados ?
A arquitetura dele está defasada. Até agora eu só vi código de vocês nos tutoriais então não sei o que usam por baixo além de JPA mas a falta de testabilidade fora do container é um problema, e isso deriva do código que foi criado pelo framework de fato, o resto é JPA. Ainda usando JPA, pelo menos no tutorial, vemos uma classe de negócios (o que vocês chama de EJB) que segundo o mesmo "EJBs representam as classes de negócio propriamente ditas. O EJB é a classe que armazena os códigos negociais e que possui a lógica de armazenamento e de consulta ao banco de dados." e uma classe de dados, que vocês chama de Entity que segundo a documentação "Quando o objetivo for o desenvolvimento da versão real do sistema, sempre se começa a codificar pelas entidades de negócio. Essas entidades representam as tabelas do banco de dados.". procure sobre BO/VO e você verá os problemas disso. Basicamente vocês pegaram o Struts 2 e puseram a pior limitação do Struts 1, que é a dependência do container, e pegaram o EJB 3 e transformaram em EJB 2.x, colocando lógica em Session Beans e dados em Entity Beans. Sim, a arquitetura está defasada. Alguns anos. Por isso que nos últimos posts eu sugeri que lesse sobre outras arquiteturas e visse o que a indústria está fazendo.
jonatas@pgr.mpf.gov.br wrote: Como disse, os componentes do Atena são todos POJOs.
Não, não são. Eles podem não estender ou implementar interfaces mas não podem ser utilizados fora de um container, como você mesmo disse acima.
This message was edited 1 time. Last update was at 16/10/2007 18:20:39
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2007 19:15:07
|
Maracuja
Virtual Machine Man
![[Avatar]](/images/avatar/aceacd5df18526f1d96ee1b9714e95eb.jpg)
Membro desde: 28/03/2006 10:18:44
Mensagens: 656
Localização: Via Láctea
Offline
|
Bom, olhei por cima o tutorial, e ja de cara, não gostei nada disso
Usei por algum tempo um framework de um grande banco (framework q ja é obsoleto para o banco) parecido com isso; concluí que pode ser até mais fácil para o desenvolvimento de páginas simples, e por programadores que conhecem apenas Java e nada de HTML, JSTL, JavaScript e etc... mas para além do feijão com o arroz, sai-se muito fraco!!! Como colocaria algum script adicional em meu sistema? ou tantas outras coisas... seria algo como
Isso é horrivel!!! E manutenibilidade???
Realmente, não vi nada de novo, ou interessante....
Vcs ja ouviram falar em JBoss Seam..... isso sim é algo "novo".
Editando, não somente apenas novo, mas fácil de utilizar, robusto, possibilidade de execução de testes com TestNG e etc.....
Pq tem gente que insiste em "reinventar" o que ja foi inventado, utilizado e abandonado? Perder tempo criando algo "novo" ao invés de utilizar e/ou aprimorar coisas existentes?
Mas vlw, pela tentativa.
This message was edited 1 time. Last update was at 16/10/2007 19:22:16
|
"Imagination is more important than knowledge." Albert Einstein
|
|
|
 |
|
|