gostaria de saber como ficaria a arquitetura de uma app utilizando Java em conjunto com NodeJs.
Para aqueles que conhecem de Node e já criaram alguma app devem saber responder.
Por exemplo, quando crio uma app usando a estrutura de projetos com eclipse definindo como base o modelo mvc, ele me oferece tudo pronto. Quando eu acrescendo NodeJs, onde ele se encaixa?
Talvez eu esteja falando besteira já que meus conhecimentos ainda não são maduros o suficiente, mas eu ficaria feliz se alguém pudesse me explicar como ficaria a estrutura dos diretórios etc, onde ficaria a pasta node_modules, quem entraria na view, e controler.[/color]
Por que misturar as duas linguagens? Não que seja errado, mas acho que antes de simplesmente resolver que quer integrar as duas coisas, você tem que ter um objetivo bem definido.
estou fazendo uma aplicação onde os usuários conectados recebem atualizações do que está acontecendo em tempo real, ações executadas por outros usuários.
Imagine um game, onde necessita de atualização real-time, é ai que o node entra. Minha aplicação não chega ser um game mas a idéia é parecida.
Eu irei usar java para persistência e apresentação de alguns dados e conteúdo, coisa que o nodejs não da suporte, ou pelo menos não faz o que o Java consegue com muito mais tranquilidade.
O NodeJs é perfeito para minha aplicação e depois de ler diversos tópicos cheguei a conclusão que NodeJs em minha aplicação deve trabalhar com Java, enfim brothers, a questão não é exatamente essa.
Eu poderia criar meu projeto nas coxas, mas eu pretendo fazer algo legal. Será que vocês têm alguma idéia de como fica a estrutura do projeto NodeJS + Java?
Amigo não é necessário usar Node.js + java, pois Node.js por si só ja resolveria o seu problema, pois existem diversos frameworks node.js para desenvolver uma aplicação MVC + Real-time e ainda aplicar testes TDD nele, afinal Node.js é javascript server-side e com ele também é possível trabalhar de forma orientada objetos.
Agora se você prefere usar somente Java e gostaria de aplicar Real-time também, te recomendo dar uma olhada no Framework Grizzly do Java, pq na vdd o conceito de real-time é basicamente Threads Não-Bloqueantes com uma API focada em Eventos de I/O (Característica nativa do Node.js) mas o mesmo também se encontra através de frameworks para Java, Ruby, PHP e Python também.
Então o conselho é, ou você desenvolve sua app 100% Java usando Grizzly para atender sua demanda real-time, ou vai direto para o Node.js que já veio preparado para isso, utilizando apenas os frameworks Socket.IO ou NowJS.
E na minha opinião recomendo estudar Node.js seus recursos são bem poderosos, facilita muito o desenv trabalhar apenas com Javascript tanto no Client-side como Server-side e referência de blogs e tutoriais existem muitos, inclusive meu blog tem diversos posts para ele.