Dúvidas sobre DAO e RESTful

Olá, Pessoas!

Estou com uma dúvida… vi alguns vídeos e estou tentando criar uma Aplicação Web e me deparei com esses dois sujeitos ai “DAO” e “RESTful” e percebi que ambos meio que tem as mesmas funções do tipo excluir salvar etc. e fiquei um pouco confuso, então, gostaria de saber …

  • Eles tem a mesma função de forma diferente mesmo?
  • Qual é melhor(se a primeira pergunta for verdadeira)?
  • Sugestão de Link onde posso aprender eles melhor

São coisas diferentes.

Funciona assim:

  • Quando um usuário clica num botão, por exemplo, uma requsição é feita à um recurso REST (ex.: http://localhost:8080/suaAplicacao/api/usuarios). Esse recurso irá retornar todos os usuários do sistema, por exemplo. Essa URL é um recurso REST da sua aplicação.

  • A partir desse recurso, uma classes de serviço seria invocada (que é a classe que manteria as regras de negócio referente à esse recurso)

  • E a classe de serviço iria invocar a camada de DAO, que é a responsável por fazer acesso ao banco de dados para executar o select responsável por retornar todos os usuários do sistema.

Veja:

Browser -> Camada Rest -> Camada de Serviços -> Camada DAO -> [Banco de Dados]

Esse seria o caminho percorrido pela requisição do usuário.


obs.: Essa foi uma exemplificação, podem ocorrer variações dependendo da forma como a aplicação foi estruturada.

Saquei, eu to usando o Maven e a persinstencia em Hibernate dai isso me confundiu e eu acabei pensando que seria a mesma coisa. Obg por esclarecer