JSF é o futuro nas empresas?

Legal, valeu! Vou dar uma olhada. Pior que eu tô na lista e tá com 23424 não lidos…

Aí é um pouco mais fácil. Acho que rolaria se você decorar a sua SessionFactory com uma que faz os objetos dinâmicos se comportarem como o Hibernate espera.

Já pensei bastante sobre isso também. Dá para fazer, mas primeiro precisa sair o tal do dynalang. Faz tempo que tô querendo dar uma mão pra eles com isso, mas tá faltando tempo. Agora no fim do ano quem sabe sai alguma coisa…

Qual a sua metrica pra complexidade tecnica, e como vc sabe que esses projetos tem complexidade tecnica baixa?

Ah, voce nao sabe. Hmm… :slight_smile:

Relativo ao que?

Voce ja usou todas as features do Mingle e disse “porra, esse treco eh relativamente simples! Eu vou fazer um pra mim mesmo, e chamar de MentaTracker! So que o meu vai ocupar 5kb de memoria!” Se sim, favor demonstrar.

Realmente e pelo frontend, realmente não parece muito complexo. Já fiz parte de alguns bem complexos do ponto de vista regras de negócio, como Blue Martini. Não vi , mas você poderia fazer uma pequena explanação, já que fez a proposta.

Ta aí CV , o que o OracleMix tem de diferente de projetos como Twitter, Pownce e por aí vai ? Integração com CRM Oracle para marketing one-to-one, análise de content management e repositório para tal ? Sindicalização desses de acordo com perfil ?Estratégias de advertising para cross-seller nos banners ? Eu não sei o que tem por trás, mas aparentemente pareceu muito simples…exigindo pouco processamento , quase CRUDS e pesquisa indexada.

[quote]

Relativo ao que?

Voce já usou todas as features do Mingle e disse “porra, esse treco eh relativamente simples! Eu vou fazer um pra mim mesmo, e chamar de MentaTracker! So que o meu vai ocupar 5kb de memoria!” Se sim, favor demonstrar.[/quote][/quote]

Não preciso, já existe no meio java um exemplo tangível para comparação - Xplanner. Em termos de negócio, pode se prefir o Mingle, pois contempla outras metodologias, como Scrum, mas do ponto de vista técnico são equivalentes e o Xplanner é infinitamente mais leve.

E você acompanha meus posts sobre ferramentas para controle de projetos, eu sempre recomendo o Mingle, até porque tenho um Mac que aguenta com o pé nas costas. Já usei várias features estou tester desde o começo do projeto.

PS: Logo mais verá meu projeto halls no ar , relaxa :slight_smile:

[quote=pcalcado]
Eu nao falei que voce confundiu. Voce falou que Rails nao separa Camadas. Voce falou que em Rails as regras ficam no Controller. É mentira, simples assim.[/quote]

Pode ter sio até um equívoco ou um approach para contornar essa deficiência (minha ótica) e não mentira. Acho melhor começar a pensar melhor nos termos que usa, segunda vez que peço para tomar cuidado.

Sim, disse isso porque ele tem um número considerável de acessos e em muitos casos de negócio, precisa persistir sessão, failover de compras, exposição de serviços e manter esses nesse ambiente de cluster por exemplo.

Completamente diferente de um facebook que é stateless. Amazon, é até um exemplo melhor que ebay.

[quote=pcalcado]
O cv não te respondeu isso? De qualquer modo como vou saber que Grails não va precisar de uma mudancinha para aguentar minha aplicação? Cadê os cases"[/quote]

Espero poder publicar em breve :slight_smile: Adianto que fiz uns pequenos testes com ferramentas como Mercury Load Runner e JMeeter. Se valer , publico para comparação.

Acabou de dar minha argumentação. O OracleMix é um sitezinho simples e precisou de ajustes. Está entre contido no percentual de 99% e aí está o problema !

Antes ele fosse atípico, assim sua argumentação seria válida.

Não é esse motivo e sim porque tem uma “Melhor Integração”, porque faz uso de projetos consistentes como os já citados - Spring, Hibernate, Lucene, Compass, Acegi e por aí vai e se vai usar JRuby, prefiro usar a JVM direto, menos overhead, não transformo tipos de objeto Java para JRuby por exemplo.

Para mim faz sentido Rails se vou usar uma arquitetura LAMP sem Java no meio. Aí concordo em utilizar o framework.

Aham.

Tirando cluster (que não e usado por arqutieturas web escaláveis de verdade) qual o problema do Rails com as outras técnicas?

Seu problema é mantêr o estado de sessão em ambientes qual alto tráfego? Qual o problema do Rails em fazer isso? Aliás você nunca programou pra Facebook né? Dê uma olhada em como ele faz proxing de aplicações e chame isso de simples novamente, por favor.

Estamos esperando ansiosamente. Claro que estamos esperando o novo eBay e funcionalidades (front e back office, número de acessos além da querida “plataforma”), do contrário sua argumentação inicial sobre “complexidade de sites” é simplesmente fora da realidade não só da maioria das pessoas aqui bem como da sua (que surpresa seria…não?)

Você acabou de admitir que não sabe nada sobre o Oracle Mix pro CV mas continua afirmando que é uma aplicação simples? Quem disse que o mix é simples? Com base em quê? Com que sistemas ele se conecta? Quais os requisitos de performance?

Eu não costumo falar do que não conheço então vamos dar uma olhada no Mingle, que já conheço alguma coisa tanto como observador interno quanto externo. Nem chegando nas funcionalidades (que não são simples) você pode me esclarecer se acredita que uma aplicação vendida como produto, que pode ser instalado em qualquer ambiente, que pode ser vendida como produto ou serviço, que é personalizável ao extremo, que posui uma interface rica baseada em quilos de ajax (seja isso bom ou ruim, eu tenho minhas dúvidas), que possui um verificação de serial number, que possui código ofuscado e etc. é simples?

No mais, nem Mingel nem OracleMix são aplicações de referência de JRuby on Rails.

Se você gosta mais de abacaxi, ótimo. Só não venha falar sobre frutas que não conhece.

Will see meu caro padawan… mas adianto, que penso muito mais em regras como mencionei. Sindicalização, One-to-One Marketing utilzando redes neurais, cross-selling, sistemas de tagging utilizando Thesaurus e por aí vai … Estou desenvolvendo há um certo tempo e possui sim mais complexidade do que vc pode imaginar.

Agora se vai ser ou não um sucesso, é outro ponto. Estou pensando em realizar algo que tenho em mente e isso pra mim já valeu… sonho :slight_smile: .

Não, eu fiz um questionamento ao CV sobre o que tem por debaixo da aplicação, para saber se é ou não simples. Disse que “aparentemente”, me parece uma aplicação simples. Completamente diferente.

Coloquei alguns pontos sobre o que eu acho particularmente complexo e ocuparia um certo processamento entre os requests, o que poderia onerar a performance diretamente.

Ainda não comparou com o Xplanner …Até onde conheço, existem ofuscadores para o ambiente Java que conseguem até mesmo incrementar a performance, otimizando. Aqui não sou especialista, talvez o Louds possa nos dar um help sobre esse processo, mas não seria um argumento para necessitar de tanta máquina, que foi o mencionado sobre o Mingle.

Verificação de Serial Number ? Depende de como vai implementar…Já vi diversos projetos utilizando as mais variadas técnicas e não justificaria esse incremento de requistos de hardware.

O que seria ? BaseCamp ? Existe uma certa onda no OracleMix para tornar o projeto OpenSource. Se isso ocorrer, vamos poder discutir isso de forma coerente, analisando os fontes, vou adorar :slight_smile:

Por isso mesmo, pedi ao cv uma explanação sobre o que tem por debaixo da aplicação, para não ser injusto !

O que, seu projeto não segue os critérios baseados no eBay que você mesmo mencionou como miniamente razoáveis? Ah, então essa tecnologia é tosca, não funciona. Melhor ir para EJB 2.1 que é utilizado or todos os grandes bancos e grandes consultorias, e nós sabemos que sso é sinal de qualidade não? Por favor…

Por que diabos em compararia com xplanner? Além de não estar aqui para vender produto, a última versão do xplanner que usei foi o que? 2003? Não falo do que não conheço, já disse. E mais uma vez você já deixa claro que “não é especialista” (i.e. vai dar um chute) nos poucos requisitos não funcionais do Mingle que citei e ainda assim fala do que não cnhece. Tsc tsc.

Ok, eu paro por aqui. Basecamp é Ruby on Rails, não jRuby on Rails. Existe uma grande diferença entre os dois e enquanto você não conseguir entender isso a única coisa que vai conseguir escrever são seus suitspeak (mais Você S/A que HBR/FastCompany, aliás), especulações sem fundamento e as hipérboles habituais. É querer discutir um tópico avançado com quem não entende(, não quer entender e tem raiva de quem entende) o básico.

Boa sorte no seu projeto.

[quote=pcalcado]O que, seu projeto não segue os critérios baseados no eBay que você mesmo mencionou como miniamente razoáveis? Ah, então essa tecnologia é tosca, não funciona. Melhor ir para EJB 2.1 que é utilizado or todos os grandes bancos e grandes consultorias, e nós sabemos que sso é sinal de qualidade não? Por favor…

Por que diabos em compararia com xplanner? Além de não estar aqui para vender produto, a última versão do xplanner que usei foi o que? 2003? Não falo do que não conheço, já disse. E mais uma vez você já deixa claro que “não é especialista” (i.e. vai dar um chute) nos poucos requisitos não funcionais do Mingle que citei e ainda assim fala do que não cnhece. Tsc tsc.

Ok, eu paro por aqui. Basecamp é Ruby on Rails, não jRuby on Rails. Existe uma grande diferença entre os dois e enquanto você não conseguir entender isso a única coisa que vai conseguir escrever são seus suitspeak (mais Você S/A que HBR/FastCompany, aliás), especulações sem fundamento e as hipérboles habituais. É querer discutir um tópico avançado com quem não entende(, não quer entender e tem raiva de quem entende) o básico.

Boa sorte no seu projeto.[/quote]

Fim … vc entende pra caramba, estou maravilhado com suas respostas, aliás todas de uma profundidade … tsc ! Parei por aqui, legal vai ser se o OracleMix virar OpenSource. Aí, meu caro, faço questão de reabrir o tópico, com algo tangível em mãos.

Com relação ao meu projeto, will see … embora grande parte dos projetos atuais não se baseiam em arquiteturas ultra-sofisticadas , vide Django utilizando à torto e direito, além de me preocupar com os paradigmas de negócio também quero algo escalável e confiável, pelo menos para segurar o crescimento mínimo.

Se ele crescer, contrato vcs fodões da TW para refactoring :slight_smile:

Estou prendendo a respiracao ate la.

Arquiteturas sofisticadas são apenas isso, elas não conferem nenhuma vantagem quanto a escalabilidade, por exemplo. A lingua inglesa, curiosamente, pode explicar sua predileção por elas, no ingles podemos usar fancy ou poch para qualificar aquilo que vem falando. Desculpa te avisar, mas normalmente aquilo que escala melhor são as arquiteturas simples.

Já desenvolvi sistemas que tinham um volume razoavel, sustentam mais de 100 requisições por segundo durante o dia todo e a arquitetura não nem nada JEE’sh nela, pelo contrario, usamos o mais simples possivel - e funciona bem. Pela minha experiência o sistema poderia ter sido escrito em Java, perl, ruby, groovy ou mesmo em bash sem comprometer o resultado.

Escalabilidade é um treco complicado demais para simplesmente assumir que ela existe por padrão e que se isso for possivel, é desejavel. Qualquer plataforma hoje possui uma escalabilidade vertical razoavel, suficiente para a grande maioria das aplicações enterprise. Falo isso por experiência própria, metade dos sistes do UOL poderiam ser escritos com RoR, rodar em uma máquina só e estariam muito bem.

“Otimization is the root of all Evil”, por um terno no capeta não ajuda a esconder os chifes, o rabo e, principalmente, o cheiro de enxofre.

Editado: Vc está provavelmente falando de um sistema web, logo meu post foi viagem, me desculpem…

só um adendo, antes que alguém caia em cima disso

[quote=cv]

[quote=Kenobi]
A questão não é java pra toda obra, e sim Groovy e Grails , utilizando estrutura pré-existente. Você vai continuar com os preceitos do David, mas se baseando num legado sólido.[/quote]

Por “legado solido” vc diz dezenas de milhares de sistemas usando Struts 1.x e EJB 2? Hmm… solido e marrom, ne?[/quote]

CV, você esta sendo radical em sua defesa do Ruby. Não só radical, mas esta despresando o Java para fortalecer seus argumentos em favor do RoR.

Java não é só Struts 1.x e EJB 2, e mesmo assim existem muito bons sistemas em produção usando estas duas tecnologias.

Que EJB (*) e Struts é muito ruim ninguém discute. Quem usou não foi por falta de aviso aqui no GUJ, visto que há milhares de anos muita gente fala que isso não presta. Até foquinhas foram sacrificadas em prol dessa causa.

(*) Ok, EJB3 é aceitável, mas também depois de refazer a coisa do zero 3 vezes já estava na hora de acertar a mão.

Quanto ao RoR eu concordo que a coisa é muito legal e bem feita, mas eu acredito que ainda ficarei com o Java durante um bom tempo. Os meus argumentos são bem parecidos ao desse cara aqui:

http://beust.com/weblog/archives/000382.html

só um adendo, antes que alguém caia em cima disso[/quote]

Na verdade é “premature otimization is the root of all Evil”.
Doubloe fault.

Aquele é um post antigo, e se você ler criticamente, vai ver que os problemas estão sendo endereçados pelas comunidades Ruby/JRuby/Rails ou nunca foram problemas pra começo de conversa:

Ruby é muito difícil: Balela pura. Já reparou como todo mundo entende Ruby, mas estão sempre dizendo “mas os outros…” Cadê os outros?

Ruby on Rails é muito avançado: Bobagem de novo. Rails é uma DSL construída em cima de Ruby. Se você não se importar em saber como “a mágica” funciona, do mesmo jeito que a maioria dos programadores não se preocupa com o lifecycle de componentes num JSF ou Webforms, ou como é feita a injeção de bytecode em Spring, você pode se virar muito bem em Rails.

Faltam IDEs: Faltavam. Free, para Windows, você tem Netbeans 6, Aptana, e Komodo. Precisa mais?

Fanatismo e mentalidade de rebanho: Frameworks como Merb, Camping e Sinatra mostram que nem todo mundo que faz Ruby bebe do mesmo Kool-Aid. Quem não tolera ActiveRecord pode ajudar no projeto DataMapper.

O fantasma da escalabilidade: Estamos pra ver um grande projeto falhar por falhas na escalabilidade do Rails, até porque ele encoraja um modelo “share nothing” que naturalmente escala bem. O mesmo não pode ser dito de outras plataformas. :roll: O que não quer dizer que não estão trabalhando em performance. O que fizeram com JRuby foi simplesmente fantástico, e a versão 1.9 do Ruby, planejada para começo do ano que vem, está com ganhos reais de performance por volta dos 200%.

Hosting Rails: Onde tem consumidor, aparece solução, especialmente num mercado disputado como webhosting. As empresas ainda estão experimentando pra encontrar a melhor forma de disponibilizar Rails, mas se você tem um orçamento de 20 dólares por mês já da pra colocar seu site no ar num VPS de 256MB. Tenta colocar o Glassfish em 256MB!

Enfim, 2007 foi o ano em que o hype abaixou e resultados concretos começaram a aparecer. Eu não sou tão otimista quanto o “Shoes”, mas realmente espero ver Java perder os primeiros projetos “tradicionais” para Rails em 2008.

A questão não é se é fácil ou difícil, até porque isso é relativo. Talvez se for comparado a C++ / Objective C seja fácil mas se for comparado a Java seja difícil. Java é uma linguagem OO BEM fácil, e isso é importante para a produtividade dos meros mortais que estão no mercado de trabalho. Se a oferta de profissionais altamente capazes, que conseguem entender e dominar Ruby de uma hora pra outra fosse grande, tudo bem, mas é sabido que contratar bons profissionais no Brasil e no mundo na área de TI é complicadíssimo para Java, o que se dirá para Ruby.

Ruby On Rails é muito legal mas está anos-luz do Java em termos de penetração nas empresas, profissionais capacitados, projetos open-source, livros, artigos, comunidade, etc. Simplesmente não dá para comparar a posição do Java hoje com a posição do Ruby, mas as pessoas afirmam com naturalidade que RoR agora é a referencia e o resto é coisa do passado. Se esse passado for Struts, JSF, EJB então tudo bem.

A questão é muito simples: Será que os milhares de desenvolvedores Java vão migrar lentamente para o Ruby só para programar no maravilhoso Ruby on Rails ou será que os frameworks Java vão competir com o Ruby on Rails na suposta produtividade e eficiencia?

O meu sentimento é que grande parte do sucesso do Ruby on Rails se deve a coisas como Struts, JSF, EJB, etc.

Perguntei antes e volto a perguntar: O que Ruby On Rails oferece que um framework web em Java não pode oferecer ou implementar? Acho difícil haver alguma coisa tão determinante que não possa ser implementada em Java.

O que o cara do artigo fala com perfeição é que Ruby é uma linguagem fabulosa e RoR é um framework web bem legal, mas por causa disso achar que a linguagem e o framework vão dominar o mundo é muita inocência. Assim como a Apple não dominou o mundo (talvez agora depois de 25 anos consiga), asssim como Smalltalk não dominou o mundo, muita água ainda vai ter que rolar para que o Ruby on Rails ameace um pouquinho só a supremacia do Java no server-side.

Concordo que Java nao eh soh Struts 1.x e EJB 2.x, e concordo que mesmo assim existem sistemas muito bons escritos nessas duas tecnologias. Mas, assim como existem sistemas muito bons escritos em Perl, eu quero passar o mais longe possivel dessa linguagem justamente pela maioria esmagadora de sistemas escritos nessa linguagem que nao ha perfume suficiente no mundo pra fazer ficar cheirosinho.

Eu tenho 25 anos agora, e eu me preocupo em aprender coisas novas e me livrar das ultrapassadas o quanto antes pq eu nao quero ser um programador de 60 anos que ganha dinheiro limpando as cagadas feitas ha meio seculo atras, como vemos hoje com o pessoal de COBOL e outras 4GL. Pode apostar que Struts e EJB 1.x e 2.x vao ser uma dor de cabeca tao grande quanto.

Voce nao deve comparar a posicao do Rails hoje com a posicao do J2EE hoje. Compare a posicao do J2EE em 2001, 3 anos depois de comecar pra valer, com o Rails hoje, 3 anos depois de comecar.

Sempre que vc for olhar pra esse tipo de coisa, preste atencao na curva de adocao sobre o tempo decorrido. Recomendo: http://en.wikipedia.org/wiki/Crossing_the_Chasm

Ja te respondi isso nessa mesma thread: ActiveRecord e named routes. Nao da pra fazer em Java pq Java nao tem mix-ins, nao tem method_missing e nao tem classes abertas.

E o que te leva a acreditar que Ruby e Rails nunca vao ter o mesmo poder de dominar o mundo que Java e J2EE tiveram? Fazer analogias a Apple e Smalltalk eh facil (ja que os dois sempre foram underdogs celebrados), mas pq nao olhar o que foi extremamente popular, tambem?

Rake, RSpec, gems… Java tem suas vantagems Ruby tem as suas. É só achar o lugar certo de cada (e das outras) e temos um bom lugar para investir.
E o jRuby está aí para ajudar :wink: