Seja bem vindo ao Fórum do JavaFree.org
Aqui você irá encontrar respostas para TUDO o que você precisa sobre java.
Deseja participar? Crie sua conta ou efetue seu login
eu descobri o Mentawai semana passada. o nivel da discussao aqui já tá bem acima do meu, mas so quero dizer obrigado pelo framework. xml é ruim demais.
vou estudar e com bem mais vontade do que se fosse pra encarar struts ou o webwork (que seria a minha opção de estudo, mas minutos depois achei o Mentawai...e ainda é nacional!)
Esse negócio de: Legal, eu domino o Spring, então agora minha vida vai ser um mar de rosas, eu vou fazer tudo rápido e ser feliz só funciona na teoria e não na prática.
Perfect..
Só fala isso quem nunca trabalhou com Spring. Monte uma arquitetura basica com ele (isso perde um pouco de tempo) e faca os projetos em cima desta. Garanto que o tempo de desenvolvimento vai caindo conforme o tempo passa.
vfpamp:
saoj_brasil:
Veja por exemplo o caso de EJB. Acho que está acontecendo com os frameworks web a mesma coisa que aconteceu com o EJB.
Na maioria dos casos não precisamos da complexidade e do poder de um Spring. Mas as pessoas querem usar o Spring mesmo assim porque o Spring é foda e poderoso. Acho que não é por aí...
Flawless victory
Esse negocio de projeto simples com Java nao existe. Se for algo assim use Ruby, PHP ou mesmo JSP puro.
vfpamp:
saoj_brasil:
Tem que haver soluções faceis para problemas faceis. Matar uma mosca com uma bazuca, além de desnecessário e custoso é CHATO DE MAIS.
ANIMALITY
Vide resposta acima. Problemas faceis sao resolvidos com solucoes faceis. Pode ser até com Spring. Se tu ja tem uma arquitetura montada com ele, te garanto que é muito mais simples do que fazer do zero com algum framework que se prega simples.
vfpamp:
Falou tudo
Spring... o EJB com outro nome
Nop coments...um comentario desses nem parece vir de um cara competente como o Vitor.
Só fala isso quem nunca trabalhou com Spring. Monte uma arquitetura basica com ele (isso perde um pouco de tempo) e faca os projetos em cima desta. Garanto que o tempo de desenvolvimento vai caindo conforme o tempo passa.
Não preciso trabalhar com ele. Conhecer a arquitetura do JavaBB já me deu a noção do inferno.
fabio_patricio:
Esse negocio de projeto simples com Java nao existe. Se for algo assim use Ruby, PHP ou mesmo JSP puro.
Exagerou hein!
fabio_patricio:
Vide resposta acima. Problemas faceis sao resolvidos com solucoes faceis. Pode ser até com Spring. Se tu ja tem uma arquitetura montada com ele, te garanto que é muito mais simples do que fazer do zero com algum framework que se prega simples.
Depende do caso. Vai fazer Ctrl+C Ctrl+V nas configs do Spring para criar uma aplicação mais simples baseada em uma complexa?
fabio_patricio:
Nop coments...um comentario desses nem parece vir de um cara competente como o Vitor.
Não preciso trabalhar com ele. Conhecer a arquitetura do JavaBB já me deu a noção do inferno.
Vitor, a arquitetura do JavaBB foi adaptada e ainda está sendo adaptada para ser manutenível, mas como o projeto começou de um simples projeto para entregar para um cliente e aos poucos fomos brincando de laboratório com ele (foi meu primeiro projeto usando Spring, e do Ronald também), ele foi ficando meio confuso de se entender, mas hoje por ex, a arquitetura já está bem amigável
Isso é ser simples . Lembra? Faça a coisa mais simples que funcione, e refatore conforme a necessidade. Objetivo principal do Menta.
O código está só trocando \n por <BR>. O que você queria, um interceptor para fazer isso? Ahhh, já sei, Uma interface e uma classe Strategy para um formatador de texto para html. Uma Factory para construir a classe, ou colocar no XML de DI do Spring. Quem sabe implementar um DAO e acessar um banco buscando uma lista de palavras a trocar, seguindo padrões do regex. Quem sabe deixar o serviço como um WebService, já que outras aplicações poderiam fazer uso da mesma rotina para os seus sites e de seus celulares. Se você quiser, posso acessar o cadastro de usuários do javabb para buscar quais tags o usuário quer substituir por quais valores, permitindo uma customização excepcional ao portal do javafree.
O que acha? Acha que eu não pensei nesses problemas quando eu fiz o CMS? De fato não, pois não estou querendo me preocupar em ter zilhões de classes para fazer algo tão inútil, tenho coisas muito mais interessantes para me preocupar do que um replaceAll "patternizado". Afe sejam um pouco práticos, por favor.
O dia que eu tiver que trocar [b] por <b> e todas as outras tags do javabb eu refatoro aquilo e faço algo melhor (Que é o que eu queria fazer usando o JavaBBCode).
E lembre-se que essa foi a minha primeira aplicação Web.
Quote:
Ou então, o que são aqueles BO's lá horríveis Chega a dar medo hahahahah
Então se prepare, pois a próxima versão vc vai se borrar nas calças... Quero ver você queimar neurônios para pensar numa maneira simples de fazer aquilo com banco de dados _________________
Vitor Pamplona http://vitorpamplona.com @vitorpamplona
ps.: Mais feio do que esse replace all (dava para fazer isso na view sem traumas, sem strategy, sem ws, etc), é ter metodos recebendo aquela caralhada de parametros.
Só fala isso quem nunca trabalhou com Spring. Monte uma arquitetura basica com ele (isso perde um pouco de tempo) e faca os projetos em cima desta. Garanto que o tempo de desenvolvimento vai caindo conforme o tempo passa.
Não preciso trabalhar com ele. Conhecer a arquitetura do JavaBB já me deu a noção do inferno.
Eu nao acho a arquitetura do JavaBB ruim e nem complexa, apesar de nao gostar do uso de VO e achar que o Hibernate ta sub-aproveitado. Mas ter um unico projeto para parametro do Spring é doidera nao Vitor?
vfpamp:
fabio_patricio:
Esse negocio de projeto simples com Java nao existe. Se for algo assim use Ruby, PHP ou mesmo JSP puro.
Exagerou hein!
Eu nao acho. Projeto simples existem aos montes OpenSource, fora isso os requisitos sao sempre complexos. Agora da pra tornar simples um projeto feito em Java? Da, assim como da pra tornar muito mais complexo do que ele pode ser, vai de quem faz. Nao é porque usa Spring ou EJB que um projeto é complexo, e nao é pq usa o Menta que ele vai ser simples.
vfpamp:
fabio_patricio:
Vide resposta acima. Problemas faceis sao resolvidos com solucoes faceis. Pode ser até com Spring. Se tu ja tem uma arquitetura montada com ele, te garanto que é muito mais simples do que fazer do zero com algum framework que se prega simples.
Depende do caso. Vai fazer Ctrl+C Ctrl+V nas configs do Spring para criar uma aplicação mais simples baseada em uma complexa?
Nao e tu sabe que nao era das regras de negocio que eu tava falando, isso é diferente de projeto para projeto. Mas anda de impede de criar uma infra estrutura base para desenvolver projeto e usar ela em varios projetos. É isso que toda SH deveria fazer se quizer sobreviver num futuro nao muito distante. E te garando Vitor que para infra se tu montar um boa arquitetura em 99% dos projetos nao vai precisar fazer nada.
vfpamp:
fabio_patricio:
Nop coments...um comentario desses nem parece vir de um cara competente como o Vitor.
Ok, depois não diga que nós não avisamos
Ja que tu acha isso, mostre onde isso ocorre. Faca nós mudarmos de idéia, mas com enbasamento tecnico e para projetos profissionais que lidam com base legadas, que precise de controle de transacao, log, muitas vezes ser distribuido e etc...
Ps.: Eu nao estou criticando o Menta, longe disso. Ja conversei muito com o Sergio sobre ele, so acho que cada um tem seu espaco.
Eu nao acho. Projeto simples existem aos montes OpenSource...
Nao me entendam mal eu nao quiz dizer que todos projetos OS sao simples, mas que é mais simples do que a vida real do dia a dia onde a pressao por resultado, dados reais, etc é muito maior.
Isso é ser simples . Lembra? Faça a coisa mais simples que funcione, e refatore conforme a necessidade. Objetivo principal do Menta.
O código está só trocando \n por <BR>. O que você queria, um interceptor para fazer isso? Ahhh, já sei, Uma interface e uma classe Strategy para um formatador de texto para html. Uma Factory para construir a classe, ou colocar no XML de DI do Spring. Quem sabe implementar um DAO e acessar um banco buscando uma lista de palavras a trocar, seguindo padrões do regex. Quem sabe deixar o serviço como um WebService, já que outras aplicações poderiam fazer uso da mesma rotina para os seus sites e de seus celulares. Se você quiser, posso acessar o cadastro de usuários do javabb para buscar quais tags o usuário quer substituir por quais valores, permitindo uma customização excepcional ao portal do javafree.
O que acha? Acha que eu não pensei nesses problemas quando eu fiz o CMS? De fato não, pois não estou querendo me preocupar em ter zilhões de classes para fazer algo tão inútil, tenho coisas muito mais interessantes para me preocupar do que um replaceAll "patternizado". Afe sejam um pouco práticos, por favor.
O dia que eu tiver que trocar [b] por <b> e todas as outras tags do javabb eu refatoro aquilo e faço algo melhor (Que é o que eu queria fazer usando o JavaBBCode).
E lembre-se que essa foi a minha primeira aplicação Web.
Quote:
Ou então, o que são aqueles BO's lá horríveis Chega a dar medo hahahahah
Então se prepare, pois a próxima versão vc vai se borrar nas calças... Quero ver você queimar neurônios para pensar numa maneira simples de fazer aquilo com banco de dados
Fala sério Vitor, nem tudo que tu faz é lindo e maravilhoso, acorda e dá valor para o que os outros fazem também Ps: Eu continuo achando esse BO um lixo hahaha _________________
Sugestão de Livros
ps.: Mais feio do que esse replace all (dava para fazer isso na view sem traumas, sem strategy, sem ws, etc), é ter metodos recebendo aquela caralhada de parametros.
View == Velocity? Desculpa, mas eu prefiro entregar as coisas prontas para o velocity.
Quote:
Eu nao acho a arquitetura do JavaBB ruim e nem complexa, apesar de nao gostar do uso de VO e achar que o Hibernate ta sub-aproveitado. Mas ter um unico projeto para parametro do Spring é doidera nao Vitor?
Eu acho complexa. E não vou comentar sobre a arquitetura do JavaBB, pois o Dalton mesmo já disse que foi feita as pressas e concorda que tem bastante coisa errada lá.
Quote:
Eu nao acho. Projeto simples existem aos montes OpenSource, fora isso os requisitos sao sempre complexos. Agora da pra tornar simples um projeto feito em Java? Da, assim como da pra tornar muito mais complexo do que ele pode ser, vai de quem faz. Nao é porque usa Spring ou EJB que um projeto é complexo, e nao é pq usa o Menta que ele vai ser simples.
Hum.. O que é simples para você? O RSSNotifier é MUUUUITO simples, pra não dizer ridículo (e olha que fui eu que fiz). O JavaFreeCMS é simples. Veja, não tem nem validação de PK! Por que? Por que não precisa dessa porra!
Eu não acho o Javabb simples por que acho que poderia ser feito com muito menas linhas de código do que hoje. Reduzindo o número de frameworks acoplados.
Quote:
Nao e tu sabe que nao era das regras de negocio que eu tava falando, isso é diferente de projeto para projeto. Mas anda de impede de criar uma infra estrutura base para desenvolver projeto e usar ela em varios projetos. É isso que toda SH deveria fazer se quizer sobreviver num futuro nao muito distante. E te garando Vitor que para infra se tu montar um boa arquitetura em 99% dos projetos nao vai precisar fazer nada.
Cada projeto é um projeto. Não adianta fazer uma arquitetura enorme reutilizá-la em um programa que imprime etiquetas. Ou não adianta fazer uma coisa gigantesca totalmente flexível porque sempre haverá um caso em que você vai dar com a cara na parede e tantos outros que nunca serão utilizados.
Exemplo? O Dalton utilizou uma "arquitetura padrão" que ele tinha para me mostrar como o WW funcionava, e para mim terminar o JavaFreeCMS. A arquitetura era baseada em WW e hibernate, já veio com várias classes utilitárias. Resultado? Depois de uns refactorings meus e do Lucas não restou 1/3 do que o Dalton fazia. Ele estava fazendo errado? Não, apenas eu adaptei a solução ao projeto e deletei coisas genéricas demais. O dia que eu precisar disso, posso pegar no javabb, na web ou com o Dalton novamente.
Quote:
Ja que tu acha isso, mostre onde isso ocorre. Faca nós mudarmos de idéia, mas com enbasamento tecnico e para projetos profissionais que lidam com base legadas, que precise de controle de transacao, log, muitas vezes ser distribuido e etc...
heheheh OK, veja o que eu penso:
Controle de Transação => BeginTransaction e Commit do JDBC. Não precisa de framework pra isso. Log => Log4J resolve? Distribuído => RMI, SessionBeans, WebService, Socket, Corba, URL, JMS?
Quer integrar isso tudo? Bom, temos reflection, AspectJ, Pico se quiser complicar um pouco as coisas, etc.
O Menta possui um propósito bem definido. Auxiliar no desenvolvimento Web simples. Digamos, um nível acima de JSP e Servlets, certo? Pequenininho, sem muitas integrações, feito para aquilo. Ele resolve o problema X. E PONTO!
O Spring é um negócio que ninguém sabe o que é, qual o objetivo principal, por que usar e quando não usar, como gerenciar um projeto com ele. E, mais importante, ninguém consegue dizer que domina o framework. Nem o seu criador consegue (ao contrário do Sérgio).
Comparar Spring e EJB é o mesmo que comparar Larry Ellison e Bill Gates. Por traz dos nomes existem coisas enormes que prendem vc e atrapalham a sua vida. Ficarão com você até você descobrir que nunca usou 5% do que planejava ou do que você pagou. Quando acordar, verá que não conseguirá mais viver sem eles, e mesmo que queira, não conseguirá sair da armadura super protetora que ambos o ajudaram a construir. Quando esta armadura falhar, você verá que de nada adiantou todo o investimento realizado, que poderia ter ficado mais seguro com duas pessoas a mais na equipe, que o que eles faziam era nada mais do que uma ilusão, algo que qualquer um poderia ter feito, com muito mais simplicidade e segurança para você e seus clientes.
Fala sério Vitor, nem tudo que tu faz é lindo e maravilhoso, acorda e dá valor para o que os outros fazem também
Eu não disse isso. Aliás, não to preocupado com lindo e maravilhoso.
Mas se arrumarem um jeito mais simples, me digam . E digam ao Sérgio também, ele está esperando otimizações para a praticidade do Menta _________________
Vitor Pamplona http://vitorpamplona.com @vitorpamplona
View == Velocity? Desculpa, mas eu prefiro entregar as coisas prontas para o velocity.
Ué, entrega em negrito, tabelado e com uns css então. :-p
"Desculpa", mas "coisa pronta" para a view é disponibilizar os dados e não como eles devem ser mostrados.
vfpamp:
Cada projeto é um projeto. Não adianta fazer uma arquitetura enorme reutilizá-la em um programa que imprime etiquetas. Ou não adianta fazer uma coisa gigantesca totalmente flexível porque sempre haverá um caso em que você vai dar com a cara na parede e tantos outros que nunca serão utilizados.
Tenho absoluta certeza de que vc entendeu bem o que o Fabio quis dizer. Não é gold hammer, silver bullet, é uma arquitetura que direciona para sistemas de propositos e proporções semelhantes. Assim como o Menta não vai servir para todos os casos, o prevayler não vai servir para todos os casos, o spring não vai servir para todos os casos, ou o que seja, a arquitetura dele tambem não vai.
vfpamp:
Controle de Transação => BeginTransaction e Commit do JDBC. Não precisa de framework pra isso.
Error prone!
vfpamp:
Log => Log4J resolve?
Resolve, mas é muito complicado, xml, levels, appenders, aff... que tal System.out? Bem mais simples!
Quer integrar isso tudo? Bom, temos reflection, AspectJ, Pico se quiser complicar um pouco as coisas, etc.
Não entendi, é para simplificar ou para complicar? AspectJ não é uma perola de simplicidade pelo que eu saiba.
vfpamp:
O Menta possui um propósito bem definido. Auxiliar no desenvolvimento Web simples. Digamos, um nível acima de JSP e Servlets, certo? Pequenininho, sem muitas integrações, feito para aquilo. Ele resolve o problema X. E PONTO!
Eu tenho que concordar com o Fabio, web simples eu faço em php ou com o rails, mais facil de fazer o deploy, curva de desenvolvimento curta, tudo out-of-the-box, nem tudo precisa ser em Java.
vfpamp:
O Spring é um negócio que ninguém sabe o que é, qual o objetivo principal, por que usar e quando não usar, como gerenciar um projeto com ele. E, mais importante, ninguém consegue dizer que domina o framework. Nem o seu criador consegue (ao contrário do Sérgio).
Correção, o Spring é algo que vc não sabe o que é! O mission statement deles tambem é um bocado direto. Mas, claro, vc não leu, não sabe o que é e por isso acha que "ninguem sabe". Além do mais, afirmar que o Rod Johnsonnão sabe como usar o Spring é um bocado demais, fora que não dá para comparar a abrangência do Menta com a do Spring.
vfpamp:
Comparar Spring e EJB é o mesmo que comparar Larry Ellison e Bill Gates. Por traz dos nomes existem coisas enormes que prendem vc e atrapalham a sua vida. Ficarão com você até você descobrir que nunca usou 5% do que planejava ou do que você pagou. Quando acordar, verá que não conseguirá mais viver sem eles, e mesmo que queira, não conseguirá sair da armadura super protetora que ambos o ajudaram a construir. Quando esta armadura falhar, você verá que de nada adiantou todo o investimento realizado, que poderia ter ficado mais seguro com duas pessoas a mais na equipe, que o que eles faziam era nada mais do que uma ilusão, algo que qualquer um poderia ter feito, com muito mais simplicidade e segurança para você e seus clientes.
Vê se para de andar com o Klaus.
Considerando que o Spring é um dos frameworks menos intrusivos que eu conheço, essa sua preocupação é um bocado descabida. Se eu usei apenas 5% de um framework pouco intrusivo é realmente, pense um pouco, muito simples fazer refactoring para remover as dependencias. Olhando para um projeto em que o uso especialmente para IoC, controle de transações e algumas features de email e ORM, ele "se intrometeu" de verdade em menos de 10 classes (no universo de umas 150, acho). A unica parte em que vc pode realmente se atar nele é a de MVC, via os controllers, mas ainda não vi um framework que fuja disso, e nem acho que devam.
Isso é ser simples . Lembra? Faça a coisa mais simples que funcione, e refatore conforme a necessidade. Objetivo principal do Menta.
O código está só trocando \n por <BR>. O que você queria, um interceptor para fazer isso? Ahhh, já sei, Uma interface e uma classe Strategy para um formatador de texto para html. Uma Factory para construir a classe, ou colocar no XML de DI do Spring. Quem sabe implementar um DAO e acessar um banco buscando uma lista de palavras a trocar, seguindo padrões do regex. Quem sabe deixar o serviço como um WebService, já que outras aplicações poderiam fazer uso da mesma rotina para os seus sites e de seus celulares. Se você quiser, posso acessar o cadastro de usuários do javabb para buscar quais tags o usuário quer substituir por quais valores, permitindo uma customização excepcional ao portal do javafree.
Se o JavaBB tivesse karma, daria 5 estrelas neste post
Tem horas que essa pattern-mania enche o saco
esse pessoal que curte tanto o XP pode me responder uma duvida: não era o XP que tinha um "valor" que é justamente fazer as coisas simples e não ficar se preocupando com uma situação remota, que pode ocorrer no futuro, se preocupando se você tem uma solução para um problema atual? acho que não é bem isso o que eu disse...
de qualquer forma, é uma coisa que eu sempre digo, as patterns devem servir ao programador e não o programador servir as patterns
acho que é por isso que pro meu TCC minha equipe inventou dois frameworks, são simples, não lidam com TODAS as situações, mas resolvem o nosso problema de uma modo brilhante e fácil de usar\modificar, sendo fácil de extender
acho que é por isso que pro meu TCC minha equipe inventou dois frameworks, são simples, não lidam com TODAS as situações, mas resolvem o nosso problema de uma modo brilhante e fácil de usar\modificar, sendo fácil de extender
Podes nos presentear com uma explicação sobre esse "modo brilhante e fácil de usar\modificar"?
Resolve, mas é muito complicado, xml, levels, appenders, aff... que tal System.out? Bem mais simples!
É isso aih, se não precisar dos apenders, pra que usar isso?
Quote:
Distribuído => RMI, SessionBeans, WebService, Socket, Corba, URL, JMS? Vai fazer isso tudo na munheca? Boa sorte!
Escolhe uma delas e mete ficha, aposto que vai ser mais rápido que aprender a usar o spring.
Quote:
Não entendi, é para simplificar ou para complicar? AspectJ não é uma perola de simplicidade pelo que eu saiba.
AspectJ, até onde eu vi, não é difícil usar. Mas eu não usaria . Foi só uma idéia para ser político (O Dalton que pediu )
Quote:
Eu tenho que concordar com o Fabio, web simples eu faço em php ou com o rails, mais facil de fazer o deploy, curva de desenvolvimento curta, tudo out-of-the-box, nem tudo precisa ser em Java.
Concordo que nem tudo precisa ser feito em java, mas discordo que não existem maneiras simples de fazer as cosias. Na maioria das vezes o programador não sabe ser simples e rápido
Quote:
Correção, o Spring é algo que vc não sabe o que é! O mission statement deles tambem é um bocado direto. Mas, claro, vc não leu, não sabe o que é e por isso acha que "ninguem sabe". Além do mais, afirmar que o Rod Johnsonnão sabe como usar o Spring é um bocado demais, fora que não dá para comparar a abrangência do Menta com a do Spring.
E na boa, aquilo lá me pareceu o discurso do presidente americano .
Quote:
Considerando que o Spring é um dos frameworks menos intrusivos que eu conheço, essa sua preocupação é um bocado descabida. Se eu usei apenas 5% de um framework pouco intrusivo é realmente, pense um pouco, muito simples fazer refactoring para remover as dependencias. Olhando para um projeto em que o uso especialmente para IoC, controle de transações e algumas features de email e ORM, ele "se intrometeu" de verdade em menos de 10 classes (no universo de umas 150, acho). A unica parte em que vc pode realmente se atar nele é a de MVC, via os controllers, mas ainda não vi um framework que fuja disso, e nem acho que devam.
Eu não vou comentar isso pq realmente eu não entendi bulhunfas E vc continua na dependencia de um framework que faz tudo, integra tudo, e cuida de tudo para vc. Minhas experiências com esse tipo de framework não foram muito boas
hahahahahahahaha... vai ali na farmacia Coloninha e compra uma maracujina. Alias, compra meia duzia!
vfpamp:
Concordo que nem tudo precisa ser feito em java, mas discordo que não existem maneiras simples de fazer as cosias. Na maioria das vezes o programador não sabe ser simples e rápido.
Quando eu preciso fazer coisas simples e rapidas, prefiro usar outras simples e rapidas. Compare fazer integração do Tomcat e Apache e fazer PHP funcionar no Apache. Eu nem preciso de variaveis de ambiente com o PHP. Compare fazer aplicações bestas lê-escreve-no-banco em Java e com o Rails. Eu nem preciso escrever save-update-delete-get-list com o rails. Java é mais complicada do que essas outras plataformas sim.
Esse post me fez relembrar algo que eu disse em outro anterior. Depois eu tento de maneira diferente, Vitor Wuestefeld.
vfpamp:
E na boa, aquilo lá me pareceu o discurso do presidente americano .
Hum... então vc deve estar parecendo o Moore, não?
vfpamp:
Eu não vou comentar isso pq realmente eu não entendi bulhunfas E vc continua na dependencia de um framework que faz tudo, integra tudo, e cuida de tudo para vc. Minhas experiências com esse tipo de framework não foram muito boas
Qual é o grande problema em o framework "cuidar de tudo" para mim? Vc reimplementa o prevayler a cada sistema? "Hum, não, não quero que o framework serialize objetos para mim, isso eu consigo fazer sozinho. Maldita JVM com GC automatico! Eu posso fazer isso sozinho. Droga de linguagens de alto nivel, eu posso escrever isso em assembly sozinho". Não é uma atitude muito produtiva é? Qual framework te traumatizou?
Ok, mas basicamente ele consiste em que? Qual a sua identidade?
Um é um framework de autenticação e autorização (o JAAS é muito complicado, sem nescidade, isso é uma opinião quase que unânime...)
o outro é um tipo de tiles... eu tava querendo aprender sitemesh, e enquanto isso o Davi fez o sistema e me mandou por e-mail... gostei, só um ou outro ajuste e atenderá plenamente as nossas nescessidades
Bom, em partes eu concordo com o Miojo e em parte com o Micrófilo.
Eu acho que o JAAS é bastante simples e fácil de ser entendido, entretanto é muito complexo de ser implementado, isso é, não porque sua arquitetura não seja amigável, mas é que ele é tão flexível, que não teria como ser de outra forma. Já existe muita coisa pronta que implementa o JAAS, entretando um dos meus preferidos é o JGuard, porém é aquilo, você terá que configurar muita coisa na mão, não tem apenas um arquivo xml que você edita e sai rodando, como é com o Acegi, usado pelo pessoal do Spring e que tem um propósito bem parecido com a especificação JAAS
Eu particularmente recomendo você não reinventar a roda, mas sim pegar coisas prontas, como eu citei aí em cima, tutoriais não faltam http://www.mooreds.com/jaas.html
Nao e tu sabe que nao era das regras de negocio que eu tava falando, isso é diferente de projeto para projeto. Mas anda de impede de criar uma infra estrutura base para desenvolver projeto e usar ela em varios projetos. É isso que toda SH deveria fazer se quizer sobreviver num futuro nao muito distante. E te garando Vitor que para infra se tu montar um boa arquitetura em 99% dos projetos nao vai precisar fazer nada.
Cada projeto é um projeto. Não adianta fazer uma arquitetura enorme reutilizá-la em um programa que imprime etiquetas. Ou não adianta fazer uma coisa gigantesca totalmente flexível porque sempre haverá um caso em que você vai dar com a cara na parede e tantos outros que nunca serão utilizados.
Exemplo? O Dalton utilizou uma "arquitetura padrão" que ele tinha para me mostrar como o WW funcionava, e para mim terminar o JavaFreeCMS. A arquitetura era baseada em WW e hibernate, já veio com várias classes utilitárias. Resultado? Depois de uns refactorings meus e do Lucas não restou 1/3 do que o Dalton fazia. Ele estava fazendo errado? Não, apenas eu adaptei a solução ao projeto e deletei coisas genéricas demais. O dia que eu precisar disso, posso pegar no javabb, na web ou com o Dalton novamente.
Bom Vitor, se tu tivesse lido o que eu escrevi nao teria comentado do JavaBB nem do JavaFreeCMS. Como eu disse software OS que nos criamos é muito diferente dos projetos vida real que normalmente pegamos e é onde esses frameworks valem algo. Nos projetos que eu participo em 90% dos casos o desenho da infra é igual, com pequenas variacoes, mas pequenas mesmo. Atualmente aqui na empresa estamos dando consultoria para 3 grandes projetos e a arquitura proposta para os 3 é basicamente a mesma. Ai tu pode perguntar o negocio é parecido? Nao, so pra tu ter idéia um é Hospital, ou é empresa de planos de saude e odontologico e tem um outro que é empresa de adm de cartoes. Da pra fazer sem Spring, Hibernate, WW e afins? Da mas com certeza os projetos nao seriam desenvolvidos no prazo estipulado.
E é isso que eu to falando se é que me entende.
vfpamp:
Quote:
Ja que tu acha isso, mostre onde isso ocorre. Faca nós mudarmos de idéia, mas com enbasamento tecnico e para projetos profissionais que lidam com base legadas, que precise de controle de transacao, log, muitas vezes ser distribuido e etc...
heheheh OK, veja o que eu penso:
Controle de Transação => BeginTransaction e Commit do JDBC. Não precisa de framework pra isso. Log => Log4J resolve? Distribuído => RMI, SessionBeans, WebService, Socket, Corba, URL, JMS?
Depois dessa maravilhosa deducao eu poderia simplesmente dizer isso:
Controle de Transação => BeginTransaction e Commit do JDBC.
Entao se tu entra num projeto grande, que precisa de transacoes aninhadas, operacoes DML em cascata etc tu faz isso com BeginTrasaction e commit do JDBC? Faz tudo na mao?
Denovo, se tu precisa disso com load balance, clusterizacao, etc. Faz tudo na mao?
Quote:
Quer integrar isso tudo? Bom, temos reflection, AspectJ, Pico se quiser complicar um pouco as coisas, etc.
Bom Vitor, com essa tua visao final ao que parece é que tu ta acostumado a trabalhar sozinho ou com uma equipe so de feras. Ja ouviu falar em equipes medias que muitas vezes nunca ouviram falar de AOP, IoC, etc? Pois é, este tipo ta cheio no mercado e na maioria das vezes a parte dificil de fazer fica na mao de uma pessoa, o arquiteto. Se o cara for montar tudo sozinho o projeto nao sai antes de 5 anos.
Pelo que da a entender um projeto so vale a pena se sairmos fazendo tudo no braco. Eu adoraria criar todas minhas solucoes se tivesse tempo. Mas na pratica isso é inviavel.
vfpamp:
O Menta possui um propósito bem definido. Auxiliar no desenvolvimento Web simples. Digamos, um nível acima de JSP e Servlets, certo? Pequenininho, sem muitas integrações, feito para aquilo. Ele resolve o problema X. E PONTO!
Concordo, mas pra isso acho que ja estao enchendo o framework com muita coisa.
vfpamp:
O Spring é um negócio que ninguém sabe o que é, qual o objetivo principal, por que usar e quando não usar, como gerenciar um projeto com ele. E, mais importante, ninguém consegue dizer que domina o framework. Nem o seu criador consegue (ao contrário do Sérgio).
Fale por ti, nao pelos outros. Eu nao entendo tudo, mas te garanto que o que uso eu entendo senao nao teria coragem de colocar em consultoria. Acredito que isso serve para o Dalton, Ronald, Marcos, etc que usam ele mais frequente.
vfpamp:
Comparar Spring e EJB é o mesmo que comparar Larry Ellison e Bill Gates. Por traz dos nomes existem coisas enormes que prendem vc e atrapalham a sua vida. Ficarão com você até você descobrir que nunca usou 5% do que planejava ou do que você pagou. Quando acordar, verá que não conseguirá mais viver sem eles, e mesmo que queira, não conseguirá sair da armadura super protetora que ambos o ajudaram a construir. Quando esta armadura falhar, você verá que de nada adiantou todo o investimento realizado, que poderia ter ficado mais seguro com duas pessoas a mais na equipe, que o que eles faziam era nada mais do que uma ilusão, algo que qualquer um poderia ter feito, com muito mais simplicidade e segurança para você e seus clientes.
É o mesmo que comparar Java com .Net, tudo faz o mesmo, mas de forma diferente. E pra ti é a mesma coisa?
View == Velocity? Desculpa, mas eu prefiro entregar as coisas prontas para o velocity.
Ué, entrega em negrito, tabelado e com uns css então. :-p
"Desculpa", mas "coisa pronta" para a view é disponibilizar os dados e não como eles devem ser mostrados.
Como tu faz com Swing Vitor? Tambem monta tudo no modelo ou nas actions e envia para a view tudo pronto?
microfilo:
esse pessoal que curte tanto o XP pode me responder uma duvida: não era o XP que tinha um "valor" que é justamente fazer as coisas simples e não ficar se preocupando com uma situação remota, que pode ocorrer no futuro, se preocupando se você tem uma solução para um problema atual? acho que não é bem isso o que eu disse...
Micro, mas até agora nao falamos em nengum requisito que possa surgir. Que eu saiba em 99,9999% dos projetos precisamos de controle transacoes, controle de acesso, e outras coisas. Nao entendi o que o XP tem a ver com isso.
só estava comentando o que o tinham falado a alguns posts atráz de querer ficar tratando todas as situações (im)possíveis e i(ni)magináveis, e querendo confirmar e não tem um valor do XP que é contra isso
Como tu faz com Swing Vitor? Tambem monta tudo no modelo ou nas actions e envia para a view tudo pronto?
Por isso que se chama programação desktop . E velocity com regra de visualização é uma merda.
Quote:
Fale por ti, nao pelos outros. Eu nao entendo tudo, mas te garanto que o que uso eu entendo senao nao teria coragem de colocar em consultoria. Acredito que isso serve para o Dalton, Ronald, Marcos, etc que usam ele mais frequente.
Ok, fora o Dalton, o Ronald e o Marcos, quem mais usa? Gente normal não usa
Quote:
Pelo que da a entender um projeto so vale a pena se sairmos fazendo tudo no braco. Eu adoraria criar todas minhas solucoes se tivesse tempo. Mas na pratica isso é inviavel.
Ham.. ok, eu acho que você faz um pequeno "Spring" mais rápido do que aprende a usar Spring. Exemplo, fazer o Menta foi mais fácil que aprender o Spring .
Por isso que o Menta é 100 vezes mais fácil e simples que o Spring.
VEJA BEM: Não é melhor que o SPRING. É mais fácil e produtivo para 85% dos projetos. E pra mim tb mais prazeroso, mas isso é subjetivo.
Tá bom, Sergio, eu sei que os numeros são para reforçar sua ideia, mas, vamos lá, de onde vc os tirou?
Quote:
Por isso que se chama programação desktop. E velocity com regra de visualização é uma mm***.
Devo presumir que, em projetos desktop, suas classes de dominio retornem JLabels, JComponts a torta e a direita? Como assim "regra de visualização"?
Quote:
Ok, fora o Dalton, o Ronald e o Marcos, quem mais usa? Gente normal não usa
Se eu não estivesse com sono ia procurar numeros sobre downloads, maillist, foruns e afins sobre o Spring, só para mostrar que o mundo não fica dentro do universo do JavaFree. :-p
Quote:
Ham.. ok, eu acho que você faz um pequeno "Spring" mais rápido do que aprende a usar Spring. Exemplo, fazer o Menta foi mais fácil que aprender o Spring.
Devo presumir que, em projetos desktop, suas classes de dominio retornem JLabels, JComponts a torta e a direita? Como assim "regra de visualização"?
Sem comentários... Não da pra comparar Velocity e Swing.
jack:
Se eu não estivesse com sono ia procurar numeros sobre downloads, maillist, foruns e afins sobre o Spring, só para mostrar que o mundo não fica dentro do universo do JavaFree. :-p
Esses números não dizem nada.. . O Eclipse ter 1 milhão de downloads não significa que tem 1 milhão de usuários. Pergunta para o Martin Fowler se ele usa o Spring ou se ele só faz moral com ele (o que a maioria faz).
jack:
Oba! Lá vem mais projeto powered by Vitor.
Pra q? O Menta já tah aih e já provou isso
Para vcs entenderem o que estamos falando a 15 gerações
Se eu não estivesse com sono ia procurar numeros sobre downloads, maillist, foruns e afins sobre o Spring, só para mostrar que o mundo não fica dentro do universo do JavaFree. :-p
Esses números não dizem nada.. . O Eclipse ter 1 milhão de downloads não significa que tem 1 milhão de usuários. Pergunta para o Martin Fowler se ele usa o Spring ou se ele só faz moral com ele (o que a maioria faz).
Bom, na empresa onde eu trabalho eles estão começando a usar Spring. Vários colegas estão usando também, nos 'freelancers' deles. E deles eu só ouço elogios ao Spring, que ele realmente facilita bastante no desenvolvimento. Na minha experiência pessoal , o número de pessoas que usam Spring só aumenta, e só com histórias de sucesso até onde eu sei. Será que todos eles só estão 'fazendo moral'?
_________________ 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)
Segundo Vitor, nós usuários do Spring somos anormais.
Dalton, bem que tu podia nos relatar como foi a experiencia de colocar Spring numa equipe que nao conhecia ele. Quem sabe assim o Vitor nota que nao somos loucos.
Sem comentários... Não da pra comparar Velocity e Swing.
vfpamp:
No desktop vc tem recursos. No Velocity não.
Nem eu pedi para vc comparar. Mas, se vc retorna tudo "pronto" para o Velocity, como faz isso com Swing sem misturar os conceitos?
vfpamp:
Esses números não dizem nada.. . O Eclipse ter 1 milhão de downloads não significa que tem 1 milhão de usuários. Pergunta para o Martin Fowler se ele usa o Spring ou se ele só faz moral com ele (o que a maioria faz).
Tem razão, os numeros não significam coisa alguma. Favor remover todos os contadores do JavaFree!
Claro que os numeros dizem alguma coisa, se o mentawaii tivesse um milhão de downloads vc usaria isso como argumento a favor do framework. Um milhão de downloads quer dizer que tem muita gente interessada, mesmo que o numero de usuarios não seja esse. Muitas participações em foruns, mail lists e outras coisas tambem indicam interesse da comunidade, ou vc realmente acha que não?
vfpamp:
http://www.jroller.com/page/fate/20050328
Há, the bileblog, muito legal, na maioria das vezes divertido, procura um pequeno teste para sua capacidade de ser burro usando Java. Hum, isso é demais, procura post falando bem da Thoughtworks, ou do AlphaWorks, ou do Paul Graham, ou de qualquer coisa. Bem divertido!
Segundo Vitor, nós usuários do Spring somos anormais.
Dalton, bem que tu podia nos relatar como foi a experiencia de colocar Spring numa equipe que nao conhecia ele. Quem sabe assim o Vitor nota que nao somos loucos.
]['s
Bom, basicamente 4 pessoas eram responsável pela manutenção do Spring no projeto. A experiência do pessoal era mínima com frameworks como Struts e WebWork, e com spring zero! Muitos tiveram dificuldades de entender que aquele controle transacional que era aberto lá pela camada EJB nos tempos em que se gravava dados com fita K7 não era mais necessário no projeto. Eles não entendiam como as classes enviavam e recebiam dados, eram monitoradas sem sequer ter que escrever uma linha de código java. Aproximadamente 1 semana de treinamento sobre conceitos AOP e inversão de controle fizeram eles entenderem e apaixonarem-se pelo Spring
Hoje é difícil achar pessoas que usaram o Spring e não estão mais utilizando por vontade própria (como é meu caso, não posso impor para uma empresa do tamanho da Dell usar framework novo, preciso aos poucos provar que ele será benéfico para a cia.).
Meu ponto de vista é, porque criar classes para controles transacionais se o spring lhe proporciona diversos tipos de transações configuráveis apenas em arquivos XML?
Transações suportadas pelo Spring: Retirado do livro "Spring in Action":
PROPAGATION_MANDATORY - Indica que o método tem que ser executado dentro de uma transação. Se nenhuma transação existente estiver em andamento, uma exceção será lançada.
PROPAGATION_NESTED - Indica que o método deveria ser executado dentro de uma transação aninhada se uma transação existente estiver em andamento. A transação aninhada pode ser comitada ou desfeita separadamente da transação incluída. Se nenhuma transação incluída existir, se comporta como PROPAGATION_REQUIRED. Esteja ciente de que o suporte de fornecedores para este comportamento de propagação é dito como o melhor.
PROPAGATION_NEVER - Indica que o método atual não deveria ser executado dentro de um contexto transacional. Se houver uma transação existente em andamento, uma exceção será lançada.
PROPAGATION_NOT_SUPPORTED - Indica que o método não deveria ser executado dentro de uma transação. Se uma transação existente estiver em andamento, ela será suspendida para a duração do método. Se estiver usando JTATransactionManager, será requerido um acesso a TransactionManager.
PROPAGATION_REQUIRED - Indica que o método atual tem que ser executado dentro de uma transação. Se uma transação existente estiver em andamento, o método será executado dentro daquela transação. Caso contrário, uma transação nova será iniciada.
PROPAGATION_REQUIRES_NEW - Indica que o método atual tem que ser executado dentro de sua própria transação. Uma nova transação é iniciada e se uma transação existente estiver em andamento, ela será suspendida para a duração do método. Se estiver usando o JTATransactionManager, será requerido um acesso a TransactionManager.
PROPAGATION_SUPPORTS - Indica que o método atual não requer um contexto de transação, mas pode correr dentro de uma transação se a mesma já estiver em andamento.
Sei lá, de diversas outras vantagens do spring eu poderia citar pelo menos 10, porém não posso e não quer convencer ninguém aqui que o Framework é ótimo, quem irá perder tempo desenvolvendo códigos já prontos são eles mesmo
Eu concordo com isso, até porque é muito mais seguro você verificar a validação "server-side" do que JS, isso evita erros com versionamento de browsers etc.
Você pode muito bem usar AJAX para fazer validação com javascript do lado do cliente, criando uma ponte invisível ao usuário com o servidor estou me referindo a uma implementação do AJAX
daltoncamargo Offline
Posts: 8770
Ok, mas você poderia citar motivos pelo qual você odeia xml?
_________________
Sugestão de Livros
fabio_patricio Offline
Posts: 1509
Vou meter mais lenha na fogueira.
Só fala isso quem nunca trabalhou com Spring. Monte uma arquitetura basica com ele (isso perde um pouco de tempo) e faca os projetos em cima desta. Garanto que o tempo de desenvolvimento vai caindo conforme o tempo passa.
Esse negocio de projeto simples com Java nao existe. Se for algo assim use Ruby, PHP ou mesmo JSP puro.
Vide resposta acima. Problemas faceis sao resolvidos com solucoes faceis. Pode ser até com Spring. Se tu ja tem uma arquitetura montada com ele, te garanto que é muito mais simples do que fazer do zero com algum framework que se prega simples.
Nop coments...um comentario desses nem parece vir de um cara competente como o Vitor.
]['s
vfpamp Offline
Posts: 6019
Não preciso trabalhar com ele. Conhecer a arquitetura do JavaBB já me deu a noção do inferno.
Exagerou hein!
Depende do caso. Vai fazer Ctrl+C Ctrl+V nas configs do Spring para criar uma aplicação mais simples baseada em uma complexa?
Ok, depois não diga que nós não avisamos
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
daltoncamargo Offline
Posts: 8770
Vitor, a arquitetura do JavaBB foi adaptada e ainda está sendo adaptada para ser manutenível, mas como o projeto começou de um simples projeto para entregar para um cliente e aos poucos fomos brincando de laboratório com ele (foi meu primeiro projeto usando Spring, e do Ronald também), ele foi ficando meio confuso de se entender, mas hoje por ex, a arquitetura já está bem amigável
O que você chama de simples? Códigos como os que tu coloca nas actions do WebWork no CMS? Esse monte de gambiarra que tu imprime HTML em código java no CMS pra ti é normal?
Ou então, o que são aqueles BO's lá horríveis
Lavação de roupa suja é o que há! hehehe
_________________
Sugestão de Livros
vfpamp Offline
Posts: 6019
Isso é ser simples
O código está só trocando \n por <BR>. O que você queria, um interceptor para fazer isso? Ahhh, já sei, Uma interface e uma classe Strategy para um formatador de texto para html. Uma Factory para construir a classe, ou colocar no XML de DI do Spring. Quem sabe implementar um DAO e acessar um banco buscando uma lista de palavras a trocar, seguindo padrões do regex. Quem sabe deixar o serviço como um WebService, já que outras aplicações poderiam fazer uso da mesma rotina para os seus sites e de seus celulares. Se você quiser, posso acessar o cadastro de usuários do javabb para buscar quais tags o usuário quer substituir por quais valores, permitindo uma customização excepcional ao portal do javafree.
O que acha? Acha que eu não pensei nesses problemas quando eu fiz o CMS? De fato não, pois não estou querendo me preocupar em ter zilhões de classes para fazer algo tão inútil, tenho coisas muito mais interessantes para me preocupar do que um replaceAll "patternizado". Afe sejam um pouco práticos, por favor.
O dia que eu tiver que trocar [b] por <b> e todas as outras tags do javabb eu refatoro aquilo e faço algo melhor (Que é o que eu queria fazer usando o JavaBBCode).
E lembre-se que essa foi a minha primeira aplicação Web.
Então se prepare, pois a próxima versão vc vai se borrar nas calças...
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
jack_-_ganzha Offline
Posts: 4133
Parabens, pegou ar!
ps.: Mais feio do que esse replace all (dava para fazer isso na view sem traumas, sem strategy, sem ws, etc), é ter metodos recebendo aquela caralhada de parametros.
valeuz...
_________________
Marcos Silva Pereira
fabio_patricio Offline
Posts: 1509
Eu nao acho a arquitetura do JavaBB ruim e nem complexa, apesar de nao gostar do uso de VO e achar que o Hibernate ta sub-aproveitado. Mas ter um unico projeto para parametro do Spring é doidera nao Vitor?
Eu nao acho. Projeto simples existem aos montes OpenSource, fora isso os requisitos sao sempre complexos. Agora da pra tornar simples um projeto feito em Java? Da, assim como da pra tornar muito mais complexo do que ele pode ser, vai de quem faz. Nao é porque usa Spring ou EJB que um projeto é complexo, e nao é pq usa o Menta que ele vai ser simples.
Nao e tu sabe que nao era das regras de negocio que eu tava falando, isso é diferente de projeto para projeto. Mas anda de impede de criar uma infra estrutura base para desenvolver projeto e usar ela em varios projetos. É isso que toda SH deveria fazer se quizer sobreviver num futuro nao muito distante. E te garando Vitor que para infra se tu montar um boa arquitetura em 99% dos projetos nao vai precisar fazer nada.
Ja que tu acha isso, mostre onde isso ocorre.
Faca nós mudarmos de idéia, mas com enbasamento tecnico e para projetos profissionais que lidam com base legadas, que precise de controle de transacao, log, muitas vezes ser distribuido e etc...
Ps.: Eu nao estou criticando o Menta, longe disso. Ja conversei muito com o Sergio sobre ele, so acho que cada um tem seu espaco.
]['s
fabio_patricio Offline
Posts: 1509
Nao me entendam mal eu nao quiz dizer que todos projetos OS sao simples, mas que é mais simples do que a vida real do dia a dia onde a pressao por resultado, dados reais, etc é muito maior.
]['s
daltoncamargo Offline
Posts: 8770
Fala sério Vitor, nem tudo que tu faz é lindo e maravilhoso, acorda e dá valor para o que os outros fazem também
Ps: Eu continuo achando esse BO um lixo hahaha
_________________
Sugestão de Livros
vfpamp Offline
Posts: 6019
View == Velocity? Desculpa, mas eu prefiro entregar as coisas prontas para o velocity.
Eu acho complexa. E não vou comentar sobre a arquitetura do JavaBB, pois o Dalton mesmo já disse que foi feita as pressas e concorda que tem bastante coisa errada lá.
Hum.. O que é simples para você? O RSSNotifier é MUUUUITO simples, pra não dizer ridículo (e olha que fui eu que fiz). O JavaFreeCMS é simples. Veja, não tem nem validação de PK! Por que? Por que não precisa dessa porra!
Eu não acho o Javabb simples por que acho que poderia ser feito com muito menas linhas de código do que hoje. Reduzindo o número de frameworks acoplados.
Cada projeto é um projeto. Não adianta fazer uma arquitetura enorme reutilizá-la em um programa que imprime etiquetas. Ou não adianta fazer uma coisa gigantesca totalmente flexível porque sempre haverá um caso em que você vai dar com a cara na parede e tantos outros que nunca serão utilizados.
Exemplo? O Dalton utilizou uma "arquitetura padrão" que ele tinha para me mostrar como o WW funcionava, e para mim terminar o JavaFreeCMS. A arquitetura era baseada em WW e hibernate, já veio com várias classes utilitárias. Resultado? Depois de uns refactorings meus e do Lucas não restou 1/3 do que o Dalton fazia. Ele estava fazendo errado? Não, apenas eu adaptei a solução ao projeto e deletei coisas genéricas demais. O dia que eu precisar disso, posso pegar no javabb, na web ou com o Dalton novamente.
heheheh OK, veja o que eu penso:
Controle de Transação => BeginTransaction e Commit do JDBC. Não precisa de framework pra isso.
Log => Log4J resolve?
Distribuído => RMI, SessionBeans, WebService, Socket, Corba, URL, JMS?
Quer integrar isso tudo? Bom, temos reflection, AspectJ, Pico se quiser complicar um pouco as coisas, etc.
O Menta possui um propósito bem definido. Auxiliar no desenvolvimento Web simples. Digamos, um nível acima de JSP e Servlets, certo? Pequenininho, sem muitas integrações, feito para aquilo. Ele resolve o problema X. E PONTO!
O Spring é um negócio que ninguém sabe o que é, qual o objetivo principal, por que usar e quando não usar, como gerenciar um projeto com ele. E, mais importante, ninguém consegue dizer que domina o framework. Nem o seu criador consegue (ao contrário do Sérgio).
Comparar Spring e EJB é o mesmo que comparar Larry Ellison e Bill Gates. Por traz dos nomes existem coisas enormes que prendem vc e atrapalham a sua vida. Ficarão com você até você descobrir que nunca usou 5% do que planejava ou do que você pagou. Quando acordar, verá que não conseguirá mais viver sem eles, e mesmo que queira, não conseguirá sair da armadura super protetora que ambos o ajudaram a construir. Quando esta armadura falhar, você verá que de nada adiantou todo o investimento realizado, que poderia ter ficado mais seguro com duas pessoas a mais na equipe, que o que eles faziam era nada mais do que uma ilusão, algo que qualquer um poderia ter feito, com muito mais simplicidade e segurança para você e seus clientes.
Pensem nisso.
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
vfpamp Offline
Posts: 6019
Eu não disse isso. Aliás, não to preocupado com lindo e maravilhoso.
Mas se arrumarem um jeito mais simples, me digam
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
jack_-_ganzha Offline
Posts: 4133
Ué, entrega em negrito, tabelado e com uns css então. :-p
"Desculpa", mas "coisa pronta" para a view é disponibilizar os dados e não como eles devem ser mostrados.
Tenho absoluta certeza de que vc entendeu bem o que o Fabio quis dizer. Não é gold hammer, silver bullet, é uma arquitetura que direciona para sistemas de propositos e proporções semelhantes. Assim como o Menta não vai servir para todos os casos, o prevayler não vai servir para todos os casos, o spring não vai servir para todos os casos, ou o que seja, a arquitetura dele tambem não vai.
Error prone!
Resolve, mas é muito complicado, xml, levels, appenders, aff... que tal System.out? Bem mais simples!
Vai fazer isso tudo na munheca? Boa sorte!
Não entendi, é para simplificar ou para complicar? AspectJ não é uma perola de simplicidade pelo que eu saiba.
Eu tenho que concordar com o Fabio, web simples eu faço em php ou com o rails, mais facil de fazer o deploy, curva de desenvolvimento curta, tudo out-of-the-box, nem tudo precisa ser em Java.
Correção, o Spring é algo que vc não sabe o que é! O mission statement deles tambem é um bocado direto. Mas, claro, vc não leu, não sabe o que é e por isso acha que "ninguem sabe". Além do mais, afirmar que o Rod Johnsonnão sabe como usar o Spring é um bocado demais, fora que não dá para comparar a abrangência do Menta com a do Spring.
Vê se para de andar com o Klaus.
Considerando que o Spring é um dos frameworks menos intrusivos que eu conheço, essa sua preocupação é um bocado descabida. Se eu usei apenas 5% de um framework pouco intrusivo é realmente, pense um pouco, muito simples fazer refactoring para remover as dependencias. Olhando para um projeto em que o uso especialmente para IoC, controle de transações e algumas features de email e ORM, ele "se intrometeu" de verdade em menos de 10 classes (no universo de umas 150, acho). A unica parte em que vc pode realmente se atar nele é a de MVC, via os controllers, mas ainda não vi um framework que fuja disso, e nem acho que devam.
valeuz...
_________________
Marcos Silva Pereira
microfilo Offline
Posts: 85
Se o JavaBB tivesse karma, daria 5 estrelas neste post
Tem horas que essa pattern-mania enche o saco
esse pessoal que curte tanto o XP pode me responder uma duvida: não era o XP que tinha um "valor" que é justamente fazer as coisas simples e não ficar se preocupando com uma situação remota, que pode ocorrer no futuro, se preocupando se você tem uma solução para um problema atual? acho que não é bem isso o que eu disse...
de qualquer forma, é uma coisa que eu sempre digo, as patterns devem servir ao programador e não o programador servir as patterns
acho que é por isso que pro meu TCC minha equipe inventou dois frameworks, são simples, não lidam com TODAS as situações, mas resolvem o nosso problema de uma modo brilhante e fácil de usar\modificar, sendo fácil de extender
jack_-_ganzha Offline
Posts: 4133
Podes nos presentear com uma explicação sobre esse "modo brilhante e fácil de usar\modificar"?
valeuz...
_________________
Marcos Silva Pereira
microfilo Offline
Posts: 85
espere ficar pronto
daltoncamargo Offline
Posts: 8770
Ok, mas basicamente ele consiste em que? Qual a sua identidade?
_________________
Sugestão de Livros
vfpamp Offline
Posts: 6019
Não que enche o saco, mas tem limite.
É isso aih, se não precisar dos apenders, pra que usar isso?
Escolhe uma delas e mete ficha, aposto que vai ser mais rápido que aprender a usar o spring.
AspectJ, até onde eu vi, não é difícil usar. Mas eu não usaria
Concordo que nem tudo precisa ser feito em java, mas discordo que não existem maneiras simples de fazer as cosias. Na maioria das vezes o programador não sabe ser simples e rápido
Ah, eu li sim:http://www.javafree.org/javabb/viewtopic.jbb?page=2&t=850385#89198
E na boa, aquilo lá me pareceu o discurso do presidente americano
Eu não vou comentar isso pq realmente eu não entendi bulhunfas
[/code]
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
jack_-_ganzha Offline
Posts: 4133
hahahahahahahaha... vai ali na farmacia Coloninha e compra uma maracujina. Alias, compra meia duzia!
Quando eu preciso fazer coisas simples e rapidas, prefiro usar outras simples e rapidas. Compare fazer integração do Tomcat e Apache e fazer PHP funcionar no Apache. Eu nem preciso de variaveis de ambiente com o PHP. Compare fazer aplicações bestas lê-escreve-no-banco em Java e com o Rails. Eu nem preciso escrever save-update-delete-get-list com o rails. Java é mais complicada do que essas outras plataformas sim.
Esse post me fez relembrar algo que eu disse em outro anterior. Depois eu tento de maneira diferente, Vitor Wuestefeld.
Hum... então vc deve estar parecendo o Moore, não?
Qual é o grande problema em o framework "cuidar de tudo" para mim? Vc reimplementa o prevayler a cada sistema? "Hum, não, não quero que o framework serialize objetos para mim, isso eu consigo fazer sozinho. Maldita JVM com GC automatico! Eu posso fazer isso sozinho. Droga de linguagens de alto nivel, eu posso escrever isso em assembly sozinho". Não é uma atitude muito produtiva é? Qual framework te traumatizou?
valeuz...
_________________
Marcos Silva Pereira
microfilo Offline
Posts: 85
Um é um framework de autenticação e autorização (o JAAS é muito complicado, sem nescidade, isso é uma opinião quase que unânime...)
o outro é um tipo de tiles... eu tava querendo aprender sitemesh, e enquanto isso o Davi fez o sistema e me mandou por e-mail... gostei, só um ou outro ajuste e atenderá plenamente as nossas nescessidades
miojo Offline
Posts: 1355
nossa... de onde vc tirou isso ?!?!
só se for unânime no seu grupo de TCC...
JAAS eh perfeito... eh uma das APIs mais simples que tem, mais plugável que existe, mais independente da internet...
se eh complicado pra vc, eh pq vc nao perdeu tempo pra entender...
daltoncamargo Offline
Posts: 8770
Bom, em partes eu concordo com o Miojo e em parte com o Micrófilo.
Eu acho que o JAAS é bastante simples e fácil de ser entendido, entretanto é muito complexo de ser implementado, isso é, não porque sua arquitetura não seja amigável, mas é que ele é tão flexível, que não teria como ser de outra forma.
Já existe muita coisa pronta que implementa o JAAS, entretando um dos meus preferidos é o JGuard, porém é aquilo, você terá que configurar muita coisa na mão, não tem apenas um arquivo xml que você edita e sai rodando, como é com o Acegi, usado pelo pessoal do Spring e que tem um propósito bem parecido com a especificação JAAS
Eu particularmente recomendo você não reinventar a roda, mas sim pegar coisas prontas, como eu citei aí em cima, tutoriais não faltam
http://www.mooreds.com/jaas.html
Later!
_________________
Sugestão de Livros
microfilo Offline
Posts: 85
temos opiniões divergentes nisso então
edited message by Dalton Camargo: [Crie um novo tópico para outras perguntas não referentes para este tópico.]
fabio_patricio Offline
Posts: 1509
Bom Vitor, se tu tivesse lido o que eu escrevi nao teria comentado do JavaBB nem do JavaFreeCMS. Como eu disse software OS que nos criamos é muito diferente dos projetos vida real que normalmente pegamos e é onde esses frameworks valem algo.
Nos projetos que eu participo em 90% dos casos o desenho da infra é igual, com pequenas variacoes, mas pequenas mesmo. Atualmente aqui na empresa estamos dando consultoria para 3 grandes projetos e a arquitura proposta para os 3 é basicamente a mesma. Ai tu pode perguntar o negocio é parecido? Nao, so pra tu ter idéia um é Hospital, ou é empresa de planos de saude e odontologico e tem um outro que é empresa de adm de cartoes. Da pra fazer sem Spring, Hibernate, WW e afins? Da mas com certeza os projetos nao seriam desenvolvidos no prazo estipulado.
E é isso que eu to falando se é que me entende.
Depois dessa maravilhosa deducao eu poderia simplesmente dizer isso:
Sistemas => Assembler, Cobol, Pascal, C, etc
Pq usar Java entao?
Mas nao, vamos comentar um pouco.
Entao se tu entra num projeto grande, que precisa de transacoes aninhadas, operacoes DML em cascata etc tu faz isso com BeginTrasaction e commit do JDBC? Faz tudo na mao?
Resolve, e quem nao usa ele?
Denovo, se tu precisa disso com load balance, clusterizacao, etc. Faz tudo na mao?
Bom Vitor, com essa tua visao final ao que parece é que tu ta acostumado a trabalhar sozinho ou com uma equipe so de feras. Ja ouviu falar em equipes medias que muitas vezes nunca ouviram falar de AOP, IoC, etc? Pois é, este tipo ta cheio no mercado e na maioria das vezes a parte dificil de fazer fica na mao de uma pessoa, o arquiteto. Se o cara for montar tudo sozinho o projeto nao sai antes de 5 anos.
Pelo que da a entender um projeto so vale a pena se sairmos fazendo tudo no braco. Eu adoraria criar todas minhas solucoes se tivesse tempo. Mas na pratica isso é inviavel.
Concordo, mas pra isso acho que ja estao enchendo o framework com muita coisa.
Fale por ti, nao pelos outros. Eu nao entendo tudo, mas te garanto que o que uso eu entendo senao nao teria coragem de colocar em consultoria. Acredito que isso serve para o Dalton, Ronald, Marcos, etc que usam ele mais frequente.
É o mesmo que comparar Java com .Net, tudo faz o mesmo, mas de forma diferente. E pra ti é a mesma coisa?
Pensem nisso
]['s
fabio_patricio Offline
Posts: 1509
fabio_patricio Offline
Posts: 1509
Como tu faz com Swing Vitor? Tambem monta tudo no modelo ou nas actions e envia para a view tudo pronto?
Micro, mas até agora nao falamos em nengum requisito que possa surgir. Que eu saiba em 99,9999% dos projetos precisamos de controle transacoes, controle de acesso, e outras coisas.
Nao entendi o que o XP tem a ver com isso.
]['s
microfilo Offline
Posts: 85
só estava comentando o que o tinham falado a alguns posts atráz de querer ficar tratando todas as situações (im)possíveis e i(ni)magináveis, e querendo confirmar e não tem um valor do XP que é contra isso
saoj_brasil Offline
Posts: 144
Por isso que o Menta é 100 vezes mais fácil e simples que o Spring.
VEJA BEM: Não é melhor que o SPRING. É mais fácil e produtivo para 85% dos projetos.
_________________
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
vfpamp Offline
Posts: 6019
Por isso que se chama programação desktop
Ok, fora o Dalton, o Ronald e o Marcos, quem mais usa? Gente normal não usa
Ham.. ok, eu acho que você faz um pequeno "Spring" mais rápido do que aprende a usar Spring. Exemplo, fazer o Menta foi mais fácil que aprender o Spring
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
jack_-_ganzha Offline
Posts: 4133
Tá bom, Sergio, eu sei que os numeros são para reforçar sua ideia, mas, vamos lá, de onde vc os tirou?
Devo presumir que, em projetos desktop, suas classes de dominio retornem JLabels, JComponts a torta e a direita? Como assim "regra de visualização"?
Se eu não estivesse com sono ia procurar numeros sobre downloads, maillist, foruns e afins sobre o Spring, só para mostrar que o mundo não fica dentro do universo do JavaFree. :-p
Oba! Lá vem mais projeto powered by Vitor.
valeuz...
_________________
Marcos Silva Pereira
vfpamp Offline
Posts: 6019
Sem comentários... Não da pra comparar Velocity e Swing.
Esses números não dizem nada..
Pra q? O Menta já tah aih e já provou isso
Para vcs entenderem o que estamos falando a 15 gerações
http://www.jroller.com/page/fate/20050328
[]s
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
ronaldtm Offline
Posts: 2299
Bom, na empresa onde eu trabalho eles estão começando a usar Spring. Vários colegas estão usando também, nos 'freelancers' deles. E deles eu só ouço elogios ao Spring, que ele realmente facilita bastante no desenvolvimento. Na minha experiência pessoal , o número de pessoas que usam Spring só aumenta, e só com histórias de sucesso até onde eu sei. Será que todos eles só estão 'fazendo moral'?
_________________
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)
rodrigoK Offline
Posts: 196
Vitor,
Eu também já estou usando Spring, não sei tudo, mas estou gostando bastante.
Segundo Vitor, nós usuários do Spring somos anormais.
Abs.
_________________
Rodrigo Kieffer
fabio_patricio Offline
Posts: 1509
Dalton, bem que tu podia nos relatar como foi a experiencia de colocar Spring numa equipe que nao conhecia ele. Quem sabe assim o Vitor nota que nao somos loucos.
]['s
fabio_patricio Offline
Posts: 1509
Mas foi o que deu a entender, se tu retorna tudo pronto para a view na web seria normal fazer o mesmo no desktop.
Imagina so que linda dar manutencao nisso.
]['s
vfpamp Offline
Posts: 6019
No desktop vc tem recursos. No Velocity não.
hahahah
_________________
Vitor Pamplona
http://vitorpamplona.com
@vitorpamplona
jack_-_ganzha Offline
Posts: 4133
Nem eu pedi para vc comparar. Mas, se vc retorna tudo "pronto" para o Velocity, como faz isso com Swing sem misturar os conceitos?
Tem razão, os numeros não significam coisa alguma. Favor remover todos os contadores do JavaFree!
Claro que os numeros dizem alguma coisa, se o mentawaii tivesse um milhão de downloads vc usaria isso como argumento a favor do framework. Um milhão de downloads quer dizer que tem muita gente interessada, mesmo que o numero de usuarios não seja esse. Muitas participações em foruns, mail lists e outras coisas tambem indicam interesse da comunidade, ou vc realmente acha que não?
Há, the bileblog, muito legal, na maioria das vezes divertido, procura um pequeno teste para sua capacidade de ser burro usando Java. Hum, isso é demais, procura post falando bem da Thoughtworks, ou do AlphaWorks, ou do Paul Graham, ou de qualquer coisa. Bem divertido!
Editado: Tá, as vezes o BileBlog passa perto!
valeuz...
_________________
Marcos Silva Pereira
daltoncamargo Offline
Posts: 8770
Bom, basicamente 4 pessoas eram responsável pela manutenção do Spring no projeto. A experiência do pessoal era mínima com frameworks como Struts e WebWork, e com spring zero!
Muitos tiveram dificuldades de entender que aquele controle transacional que era aberto lá pela camada EJB nos tempos em que se gravava dados com fita K7 não era mais necessário no projeto. Eles não entendiam como as classes enviavam e recebiam dados, eram monitoradas sem sequer ter que escrever uma linha de código java. Aproximadamente 1 semana de treinamento sobre conceitos AOP e inversão de controle fizeram eles entenderem e apaixonarem-se pelo Spring
Hoje é difícil achar pessoas que usaram o Spring e não estão mais utilizando por vontade própria (como é meu caso, não posso impor para uma empresa do tamanho da Dell usar framework novo, preciso aos poucos provar que ele será benéfico para a cia.).
Meu ponto de vista é, porque criar classes para controles transacionais se o spring lhe proporciona diversos tipos de transações configuráveis apenas em arquivos XML?
Transações suportadas pelo Spring: Retirado do livro "Spring in Action":
PROPAGATION_MANDATORY - Indica que o método tem que ser executado dentro de uma transação. Se nenhuma transação existente estiver em andamento, uma exceção será lançada.
PROPAGATION_NESTED - Indica que o método deveria ser executado dentro de uma transação aninhada se uma transação existente estiver em andamento. A transação aninhada pode ser comitada ou desfeita separadamente da transação incluída. Se nenhuma transação incluída existir, se comporta como PROPAGATION_REQUIRED. Esteja ciente de que o suporte de fornecedores para este comportamento de propagação é dito como o melhor.
PROPAGATION_NEVER - Indica que o método atual não deveria ser executado dentro de um contexto transacional. Se houver uma transação existente em andamento, uma exceção será lançada.
PROPAGATION_NOT_SUPPORTED - Indica que o método não deveria ser executado dentro de uma transação. Se uma transação existente estiver em andamento, ela será suspendida para a duração do método. Se estiver usando JTATransactionManager, será requerido um acesso a TransactionManager.
PROPAGATION_REQUIRED - Indica que o método atual tem que ser executado dentro de uma transação. Se uma transação existente estiver em andamento, o método será executado dentro daquela transação. Caso contrário, uma transação nova será iniciada.
PROPAGATION_REQUIRES_NEW - Indica que o método atual tem que ser executado dentro de sua própria transação. Uma nova transação é iniciada e se uma transação existente estiver em andamento, ela será suspendida para a duração do método. Se estiver usando o JTATransactionManager, será requerido um acesso a TransactionManager.
PROPAGATION_SUPPORTS - Indica que o método atual não requer um contexto de transação, mas pode correr dentro de uma transação se a mesma já estiver em andamento.
Sei lá, de diversas outras vantagens do spring eu poderia citar pelo menos 10, porém não posso e não quer convencer ninguém aqui que o Framework é ótimo, quem irá perder tempo desenvolvendo códigos já prontos são eles mesmo
Later!
_________________
Sugestão de Livros
fabioviana Offline
Posts: 26
e ai galera????!!!!!
aproveitando a discução, o mentawai possue validação no cliente?
com javascript?
se não, seria interessante colocarmos...
_________________
JavaFree.org
daltoncamargo Offline
Posts: 8770
Olá Fábio,
pelo que pude perceber, o Mentawai possúi validação através de um Filter no lado do servidor, veja o artigo:
http://www.javaworld.com/javaworld/jw-07-2005/jw-0718-mentawai.html?post=20089&lastpage=1
Eu concordo com isso, até porque é muito mais seguro você verificar a validação "server-side" do que JS, isso evita erros com versionamento de browsers etc.
See ya!
_________________
Sugestão de Livros
microfilo Offline
Posts: 85
Você pode muito bem usar AJAX para fazer validação com javascript do lado do cliente, criando uma ponte invisível ao usuário com o servidor
estou me referindo a uma implementação do AJAX
Relacionados
Java 5 Annotations: O maior erro da face da terra. http://javafree.uol.com.br/topic-850889-Java-5-Annotations-O-maior-erro-da-face-da-terra.html Ajude um pobre desenvolvedor delphi http://javafree.uol.com.br/topic-853517-Ajude-um-pobre-desenvolvedor-delphi.html MVC + Swing = Existe solução? http://javafree.uol.com.br/topic-853237-MVC-+-Swing-=-Existe-solucao.html Os posts mais legais do JavaFree. http://javafree.uol.com.br/topic-857239-Os-posts-mais-legais-do-JavaFree.html MVC http://javafree.uol.com.br/topic-861881-MVC.html Framework WEB http://javafree.uol.com.br/topic-853217-Framework-WEB.html Diferenças entre Tecnologia http://javafree.uol.com.br/topic-6580-Diferencas-entre-Tecnologia.html Livro de AOP http://javafree.uol.com.br/topic-855540-Livro-de-AOP.html Swing MVC - NINGUÉM RESPONDE??? http://javafree.uol.com.br/topic-877448-Swing-MVC--NINGUÉM-RESPONDE.html