Organograma de funcionários

Pessoal,

Quero desenvolver um organograma dinâmico por nível hierárquico semelhante ao deste exemplo: http://www.officeworksoftware.com/programs/flash4/Index.html?__utma=1.732984936.1332276988.1332276988.1332276988.1&__utmb=1.7.10.1332276988&__utmc=1&__utmx=-&__utmz=1.1332276988.1.1.utmcsr=%28direct%29|utmccn=%28direct%29|utmcmd=%28none%29&__utmv=-&__utmk=128588044

Terei que usar SQL Server p/ armazenar os dados (incluindo fotos) dos funcionários.

Estou pensando em usar Spring+Hibernate+JSF.

Alguém tem uma opinião ?

Alternativamente, alguém conhece um software open source que faz isso ?