Preciso de conselho/ajuda

E aí galera, preciso de uma ajuda de vcs…

É o seguinte, faz pouco tempo que estou estudando Java, e estou fazendo meu TCC com ela. Ainda não desenvolvi nenhum sistema comercial, portanto não tenho experiência… acontece que estou fazendo o TCC sozinho (e sou o único a fazer em Java também), e o que vemos na facul não é o suficiente…tô aprendendo muito aqui :wink:

Pois bem, vou tentar explicar como estou pensando em fazer o sistema, e se alguém puder me dar umas dicas do que está errado, do que está certo, alguma outra maneira de desenvolver caso não esteja bom, fico agradecido…para não me prolongar muito vou tentar resumir, e se alguém precisar de mais detalhes eu comento…

Bem, estou pensando em fazer o sistema para que rode em desktop, com interfaces feitas em swing e banco de dados firebird…
Na minha documentação UML previ classes específicas para as interfaces, e classes para tratar as regras de negócio e métodos específicos para acesso a banco de dados.
Por exemplo: tenho uma classe FormCliente, que é o formulário para gerenciamento de clientes e uma classe Cliente, que possui métodos para acessar a tabela de clientes para inclusão, exclusão, etc… além de outros métodos.
Preciso também desenvolver uma parte web, usando jsp, servlets…que acesse a base de dados para gerar relatórios.
Estou pensando em deixar tudo em uma única máquina, rodando o TomCat com a parte web, e o aplicativo Desktop feito no swing, todos compartilhando a base de dados.
Sei que posso fazer isso melhor se usar os recursos do J2EE, mas não vou ter tempo de aprender para fazer o projeto, e preciso saber qual a melhor forma de se fazer isso usando J2SE.

Sei que essa é uma dúvida de iniciante, mas como aqui se trata de assuntos voltados a padrões, achei melhor postar aqui.

Galera, qualquer ajuda é bem-vinda… críticas, sugestões… agradeço quem puder ajudar…

[]'s :smiley:

Olá,

Tudo vai depender do seu tipo de faculdade e da sua vontade/possibilidade de criar uma coisa legal.

Você pdoe fazer isso rapdiamente ou pode tentar seguir boas práticas e ter algo que além de funcionar é profissional, mas demora mais do que simplesmente “arrasta-arrasta-sql-dataset-arrasta”.

Para começar, leia um pouco (tem bastante no fórum) sobre arquitetura de camadas e Domain Model. Uma classe Cliente não deveria conter apenas a lógica de negócio da aplicação? Dê a responsabilidade de se conectar ao banco para outra classe.

Parece que você quer cirar um sistema cliente/servidor. Se você não sabe outra opção, leia sobre camadas, se acha que essa é a mellhor maneira, talvez Java não seja a linguagem mais indicada :wink:

Se você vai usar Tomcat, vai usar a especificação J2EE. Leia melhor sobre ela tambémm.

pois então… eu estou dando uma lida em padrões, estudando J2EE, e sei que posso fazer melhor se usar estas ferramentas, mas o problema é tempo mesmo… :frowning:

Aqui na faculdade precisamos apresentar um projeto que tenha uma aplicação desktop e alguma coisa web… mas eu particularmente não gosto de Delphi, então etou encarando sozinho este desafio ( na faculdade não há um grande enfoque em Java, infelismente, e estou aprendendo a maior parte das coisas sozinho - lendo bastante, frequento o GUJ…
Vou tentar lhe dizer qual a necessidade do cliente do sistema:

Ele precisa rodar esta aplicação em uma única máquina, mas precisa que outras pessoas tenham acesso a relatórios remotamente. Então pensei em fazer da maneira que descrevi acima. Sei que pode não ser a melhor solução, mas gostaria de usar Java.

Dentro deste cenário, e usando Java, o que vc acha que posso fazer?
Minhas interfaces Swing já estão prontas (fiz todas na mão, sem usar IDE ainda), para poder aprender legal a usar gerenciadores e tals…
Agora estou fazendo os tratamentos de campos.
Voltar atrás nem pensar ;), não gosto de nenhuma outra linguagem :slight_smile:
Vou avaliar a sugestão de separar regras de acesso a banco… e no mais, o que acha que eu poderia fazer?

Muito obrigado pela atenção…

Cuidado para não tentar dar um passo maior que a perna e acabar caindo.

IMHO, não adianta escolher a tecnologia simplesmente porque você gosta dela.

Eu acho que o ideal é fazer um balanço de:

  1. Capacidade da tecnologia de resolver o seu problema
  2. Nível de conhecimento prévio na tecnologia
  3. Tempo necessário para implementar a solução

Se todo o mundo Java é uma grande novidade para você, de repente, pode ser uma boa idéia tentar implementar essa parte Web de relatórios utilizando Ruby on Rails (http://www.rubyonrails.org/), que pelo que tenho visto, permite uma alta produtividade.

Abraços,
Marco Campêlo

Obrigado Marco, vou dar uma olhada sim…

[]'s