Hibernate e Velocity são Frameworks?

Uma dúvida conceitual…

Alguém sabe me dizer de fonte segura… se puder referenciar a fonte

Hibernate e Velocity são frameworks?
ou são ferramentas?

É que estou escrevendo o meu TCC…

Valew pessoal!!

Hibernate

Velocity

Pelo que se passa a entender, são que tanto Hibernate como Velocity são ferramentas.

Posintaum… nos sites oficiais não é citado como framework… mas
já vi em outros lugares citado como tal…

Hibernate
http://portaljava.com/home/modules.php?name=News&file=article&sid=461

Velocity
http://www.oio.de/opensource-frameworks.htm

Além de outras…

E agora? como ficamos? :)))

Pode ser uma dúvida tola… mas sei lah… sem muita importância mas é que se eu falar que são frameworks e isso não for verdade o meu professor de Engenharia de Software que é especialista em Frameworks vai me malhar… mas na dúvida vou opinar por considerá-los como ferramentas…

Aguardo mais opiniões…

Grato pela atenção,

Olá,
:?:
Nem sabia que havia uma diferença entre framework e ferramenta. FrameWorks não são ferramentas? Se alguém puder me tirar da ignorância sobre este assunto eu agradeço.

Márcio

Frameworks são um conjunto interligado de apis/ferramentas/tecnologias para solucionar problemas comuns e facilitar o desenvolvimento de projetos.

lipe vomitando definições decoradas

:smiley:

(arcabouço = framework)

Arcabouço é uma aplicação não executável, abstrata, semi-completa e reutilizável, que precisa ser especializada para produzir aplicações executáveis. Não é possível executar um framework, mas sim estendê-lo com código específico da sua aplicação para aí se ter uma aplicação.

Um arcabouço descreve uma arquitetura de um sistema orientado a objetos estruturando seus componentes e como eles interagem.

Arcabouços definem interfaces genéricas que podem ser reutilizadas e/ou estendidas para criar novas aplicações. Parte das funcionalidades destas novas aplicações são providas pelo arcabouço, são fixas e já existem antes de se iniciar o desenvolvimento desta nova aplicação. São os chamados pontos fixos ou frozen spots. Outra parte das funcionalidades da aplicação é criada especificamente para a aplicação em questão, e variam de aplicação para aplicação. São os chamados pontos flexíveis ou hot spots. Portanto, para se criar uma nova aplicação utilizando um arcabouço, deve-se estender as interfaces genéricas fornecendo código específico da aplicação seguindo arquitetura e definições impostas pelo arcabouço.

Um arcabouço promove esta estensibilidade provendo métodos abstratos que devem obrigatoriamente ser estendidos. Estes métodos separam as interfaces e funcionalidades genéricas de um domínio de aplicação, das instâncias de contextos particulares de aplicações.