Sistemas web com lembretes/alarmes

Pessoal, preciso implementar um sistema de lembretes/alarmes na qual ao executar o alarme ou lembrete, deve-se enviar um e-mail de alerta.

Como eu poderia implementar isso em uma aplicação JSF 2? Existe alguma API pronta para essa tarefa?

Sim. Existem 2 apis que me vêm na cabeça agora. TimerTask e Quartz.

Opa! Obrigado! Vou pesquisar sobre elas.

Tenho mais uma dúvida, essa é a propriamente a parte principal.

O agendamento está pronto, consigo enviar emails de alertas nos momentos certos. Porém, eu precisar dar um feedback para o usuário, algo como
um pop-up (ou modal) no exato momento em que o evento ocorrer.

O sistema possui ajax, mas o evento é disparado diretamente do controller e não tem requisição da interface web, logo, como faço pra que se abra um modal ou
de uma mensagem alertando o usuário?

Seria algo como ajax reverso (dwr, comet), mas não estou afim de utilizar essas ferramentas, queria saber se tem alguma outra alternativa.