Dúvidas quanto a Arquitetura

Estou definindo um projeto em Java e estou com algumas duvidas …
As regras que definimos até agora são as seguintes.

  • Aplicação será web seguindo o modelo MVC ( Servlet Controlador + JSP ), criado internamente ( sem utilizar nenhum framework como Struts etc…, pois estou esperando uma “padronização” quanto a isso, vide JSF)
  • Não serão utilizados EJB , pois a aplicação não será acessada por outros clientes
  • A persistencia será feita via DAO e não outros mecanismos ( Hibernate, TopLink), estou esperando o JDO se padronizar

Porém a a minha arquitetura tem que ser flexivel no sentido de permitir o uso dessas tecnologias no futuro, portanto dividila na seguinte maneira: - É feita uma requisição a um servlet controlador

  • Este servlet encaminha a uma classe command(que representa um evento)
  • a classe comandochama um Business Object
  • o Business Object chama as classes DAO para fazer a persistencia
  • O dados de retorno são enviados a uma página JSP

Basicamente é isso, gostaria de sabe a opinião de vc´s quanto a essa arquitetura, a minha maior dúvida é a separação de business object´s e DAO

[]´s

Pq vc nao pode usar webwork e hibernate ja? sao eh super consolidado. Voce tera bons propblemas quando considerar “esperar ficar pronto”, ja que, por mais que voce defina interfaces para tudo, sempre havera pontos onde as outras tecnologias nao se encaixam na arquitetura que voce montou, e ai sera necessario dar umas boas refatoradas.

O teu sistema precisa ser tao generico a ponto de voce querer suportar milhares de maneiras para fazer a mesma coisa?

Rafael

por decisão da empresa não posso usar esses frameworks

Cerb,

Eu tentei começar um projeto sem usar um Framework… tive muitos, muitos problemas depois que a coisa começou a crescer… isso pra não falar de um retrabalho gigantesco em criar algo que já existia por aí de forma muito melhor.

Converse com o pessoal da tua empresa. Essa decisão poderá tornar o tempo de projeto uns 15,25% maior…

Gustavo Guilherme BacK

Ou entao eh uma daquelas empresas que acredita na utopia que da para fazer o projeto E um super-ultra-mega-legal-e-novo framework ao mesmo tempo.

Rafael

[quote=“Rafael Steil”]Ou entao eh uma daquelas empresas que acredita na utopia que da para fazer o projeto E um super-ultra-mega-legal-e-novo framework ao mesmo tempo.

Rafael[/quote]

É bem possível Rafael (não estou fazendo nenhuma critica a você cerb, mas ao pessoal que te obriga a não usar framework), digo isso pois achei que poderia fazer o meu próprio framework pra um projeto quando comecei a programar para web… mas se bem que eu nem sabia ainda da importancia um deles tem no desenvolvimento. O resultado, é claro, foi decepcionante… não desastroso pois a coisa chegou a funcionar e algumas features ficaram muito boas.

Alguém quer o código??? :shock:

Gustavo Guilherme BacK

Só posso dizer uma coisa: a palavra futuro está muito mal utilizada aí.

Não por você, cerb, mas recomendo o seguinte: monte um “pauerpointe” explicando por que não vale a pena reinventar a roda. Aliás, pegue um pronto (google?) e traduza (acho que em pt não tem, mas vai que vc dá sorte).

Faça uma apresentação pra eles, mostrando que “futuro” não existe: o preço de adotar uma tecnologia lá na frente vai ser igual ou maior ao de adotá-la desde já. Eles não tão vendo um palmo à frente do nariz e tão morrendo de medo. Não querem usar nada que não seja padrão, mas têm certeza ou tratam com displicência que “O dados de retorno são enviados a uma página JSP”.

Isso é, com o perdão da palavra, cagar e sentar em cima. Não basta a não querer usar um framework pronto, não dá a devida importância às decisões que sem muita discussão são tomadas. Acertei ou errei? Me diz se alguém questionou essa frase aí…

Mostra pra eles que, se eles adotam um Hibernate, eles têm você e mais vários outros developers pelo mesmo preço. Que vai ter gente procurando bug, otimizando e adicionando funcionalidade ao software, bugs a menos pra vc, que vc ganha de graça sem pagar nada (talvez o tempo gasto com um upgrade).

Se eles conhecem o Portal Builder do TIBCO, fala que ele é feito em cima do Turbine do jakarta. Se nem assim eles te derem ouvidos, procure outro emprego, vc não vai ser feliz aí.

[]s!
p.s.: eu ano passado forcei a barra com o Hibernate, e hoje a gente não pensa em desenvolver diferente.

Ou então voce usa o fato do hibernate ser OS e “engula” ele dentro do teu projeto. Coloque os fontes dentro, remova as classes que não te interessam (ninguém usa aquele lixo p/ ODMG, por exemplo) e renomeia os pacotes para serem enraizados em “br.com.empresa_tosca.orm”.

Já trabalhei em uma empresa que quis desenvolver tudo do zero. Foi um desastre…até funcionou, porém, com meses de atraso, custo muito maior que o planejado, e a solução final…bem, até que ficou interessante para a época (2001), mas não se compara com o que temos hj em dia (struts, webwork, hibernate, cocoon, quartz, etc).

Depois de trabalhar alguns anos após me graduar, voltei para a academia para fazer um mestrado em engenharia de Sw. Aqui, a gente vê o tempo todo se falar em REUTILIZAÇÃO: OO, Aspectos, Frameworks, Componentes, Agentes de SW, etc, etc.

Ao mesmo tempo que estudo (pois mestrado/doutorado é muito conceito + conceito + conceito e pouco estudo de casos reais) , desenvolvo para alguns clientes. Um deles, tive que tomar a mesma decisão com os mesmos requisitos: projeto web, MVC, persistência em BD relacional, etc.

Resolvi usar Struts + Hibernate como espinha dorsal…

A única coisa que posso dizer é que não me arrependo nem um pouco. Em pouquissimo tempo tinha casos de uso implementados, o cliente satisfeito, e a arquitetura é baseada em REUTILIZAÇÃO, em padrões de projeto, etc.

Não caia na síndrome do “não foi feito aqui”. Aproveite o esforço de desenvolvedores ao redor do mundo, suas experiências e erros. Tudo isso foi colocado nesses frameworks. Porque não usar???

Mostre aí na sua empresa que a decisão não é apenas técnica, mas financeira tbem. Seu custo será muito maior se vc não usar o que já está pronto, disponível, possui uma comunidade por trás, é gratuito, de boa qualidade técnica…

será que daqui a 6 meses alguém pergunta pra ele o que aconteceu?? Será que eu lembrO?? :roll:

[]s

Anotei na minha agenda!!! :twisted:
Mas acho que só teremos resposta alguns meses a mais, pois ele vai estar muito ocupado com o desenvolvimento deste projeto… ou não?

Gustavo GUilherme BacK