Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Tem como fazer deploy sem banco de dados?

Durante o curso usamos o MySQL e agora com o deploy da nossa aplicação no Heroku passamos a usar o Postgres, porém recentemente um professor pediu para entregar uma aplicação java utilizando o Spring sem usar banco de dados.

Deveríamos usar um arquivo.txt para editar e incluir informações, como funcionaria um deploy dessa aplicação?

Tem como colocar no Heroku junto com o arquivo.txt e não utilizar o postgres ou existe outro método para fazer o deploy no eclipse mesmo? Porque eu precisaria rodar num servidor, só que sem o banco de dados

8 respostas

Olá Gabriel!

Pelo que entendi você não irá utilizar banco de dados então uma solução poderia ser os ArrayLists.

Com eles você consegue fazer o CRUD do sistema usando a lista como o banco (inserindo itens, removendo itens, atualizar os itens, deletar os itens).

Agora para tornar a lista persistente em um .txt seria através de serialização:

https://itexto.com.br/devkico/?p=844

Espero que tenha ajudado! ^^

Hmm, interessantíssimo Guilherme!! haha

Realmente acho que essa serialização vai ser a solução pros meus problemas, vou pesquisar aqui mais sobre.

E quanto ao deploy, eu estava pensando em mandar o arquivo que rode com o jetty, porque aí a outra pessoa só precisaria ter o maven instalado e já daria pra rodar a aplicação na linha de comando.

O que você acha que seria melhor?

Opa!

Serialização é bem interessante, tenho muita vontade de escrever um artigo sobre, quando eu tiver escrito compartilho contigo! ^^

Sobre o Deploy fiquei muito contente em saber da existencia desse Jetty. Também sou um estudante em Java e num momento do curso também tive que fazer deploy. O Gato Tomas (TomCat) está sendo um empecilho muito grande e impedindo o andamento do curso. Irei testar esse Jetty, pelo que pesquisei parece ser muuito legal. Bem simples né?

Acho a ideia muito muito boa!

Por ser uma aplicação simples não é necessario um servidor de aplicação muito robusto.

Assim você facilita muito a configuração de quem irá utilizar seu sistema.

Só por curiosidade, quando você tem uma aplicação maior (bem maior mesmo) temos outros dois servidores que dão conta do recado:

Web Sphere: https://www.ibm.com/br-pt/cloud/websphere-application-platform

JBoss: http://www.jboss.org/

Para aplicações média-alta temos o Gato Tomas (A Alura fica dentro desse servidor sabia?): http://tomcat.apache.org/

E como vimos, o Jetty (Embora mais simples, o site GUJ roda dentro dele, esse site é um fórum gigantesco criado pelo Paulo Silveira, atual CEO da Caelum).

Existe até um artigo sobre a utilização do Jetty no GUJ:

https://blog.caelum.com.br/melhorando-o-guj-jetty-nio-e-load-balancing/

E só mais um plus: Quando quiser saber qual tecnologia um site utiliza você pode usar o site https://builtwith.com.

Ufa, muita informação?

Espero que te ajude de certa forma! :D

Dito e feito, minha aplicação fez o Deploy certinho com o Jetty.

Muito bom!

Aah que ótimo, eu gosto do Jetty pela simplicidade também.

Muita informação, mas muita informação útil, então vou perguntar mais coisa! ^^''

Esse esquema de serialização não vai interferir quando eu utilizar as variaveis na minha JSP né? Só eu usar a Expression Language igual em outras variaveis.

Porque não estou acostumado a utilizar leitura e escrita de arquivo, mas essa parte só o Java vai processar, o que vai pra JSP será o ArrayList no caso, é isso?

P.s.: aguardarei ansioso seu artigo.

Isso!

O Java processa sem problemas.

Basta criar uma classe separada para a realização da serialização e ter uma Servlet que a instancie e passe os dados para uma Expression Language!

Você pode fazer com o ArrayList sim.

1 - Lê o arquivo;

2 - Faz a serialização do arquivo criando objetos e inserindo no ArrayList;

3 - Envia a lista como atributo pro JSP;

4 - Faz uma iteração para exibir os itens.

Entendi, vou trabalhar nesse projeto aqui e qualquer dúvida voltarei nesse tópico (deixarei ele em aberto ainda).

E você acha que eu poderia fazer meu deploy no Heroku mesmo sem banco de dados? (Voltando a dúvida inicial hahah). Por exemplo colocar meu arquivo.txt dentro do meu projeto e jogar no Heroku.

solução!

Olá Gabriel, pode fazer o deploy sem o banco sim. Pode usar o arquivo no projeto.

Só peço para que não deixe a pergunta aberta por favor. Se sua dúvida foi sanada marque como solução. Isso ajuda os outros alunos que tenham a mesma dúvida a acharem uma resposta.

Caso tenha outra dúvida pode abrir um tópico novo.

Obrigado!

Abs