Jsf+hibernate

Pessoal estou qerendo desenvolver uma sistema de envio de recados! e qeria q vc´s me ajudassem nessa codificacao, sou iniciante nesse assunto. Basicamente o sistema funcionara dessa maneira: 1 - usuario se loga, 2 - escolhe o usuario p/ qem vai mandar a mensagem e só. Ate agora so fiz a codificacao do banco, nao se ficou legal, se algem puder me ajudar dando ideias de como as mensagens serao enviadas e etc.Desde ja agradeco, pois o mesmo escolhi p/ minha monografia ok! Irei mandar o script do banco(fiqem a vontade para melhora-lo) :-o

Create table pessoa
(
id_pessoa SERIAL PRIMARY KEY,
nome varchar(40),
login varchar(30),
senha varchar(30),
email varchar(40),
id_setor integer references setor,
id_perfil integer references perfil
);
select * from pessoa;
drop table pessoa;


Create table mensagem
(
id_mensagem SERIAL PRIMARY KEY,
origem integer,
destino integer,
assunto varchar(40),
mensagem text,
data_envio Timestamp,
exlcuida boolean default (‘f’)
);

select * from mensagem;
drop table mensagem;

create table setor(
id_sertor SERIAL PRIMARY KEY,
nome_setor text
);

create table perfil(
id_perfil SERIAL PRIMARY KEY,
perfil_do_usuario varchar(30)
);
select * from pessoa;
select nome as nome_do_usuario from pessoa where id_perfil=2;

----INSERT de perfil--------------
INSERT INTO perfil (perfil_do_usuario) values (‘usuario’);
INSERT INTO perfil (perfil_do_usuario) values (‘administrador’);
select * from perfil;
----insert de setor--------------
INSERT INTO setor (nome_setor) values (‘suporte’);
INSERT INTO setor (nome_setor) values (‘desenvolvimento’);
INSERT INTO setor (nome_setor) values (‘redes’);
select * from setor;
-----insert do usuario-------------
INSERT INTO pessoa (nome, login, senha, email, id_setor, id_perfil) values (‘evilasio’,‘evinho’,‘123’,‘esb.batista@gmail.com’,1,1);
INSERT INTO pessoa (nome, login, senha, email, id_setor, id_perfil) values (‘joao’,‘joaodoblog’,‘123’,‘joao@gmail.com’,2,2);
INSERT INTO pessoa (nome, login, senha, email, id_setor, id_perfil) values (‘maria’,‘mariadoorkut’,‘123’,‘maria@gmail.com’,3,1);
INSERT INTO pessoa (nome, login, senha, email, id_setor, id_perfil) values (‘paulo’,‘paulo_msn’,‘123’,‘paulo_msn@gmail.com’,3,1);
INSERT INTO pessoa (nome, login, senha, email, id_setor, id_perfil) values (‘elaine’,‘elaine_feia’,‘123’,‘elainefeia@hotmail.com’,2,1);

select * from pessoa;
------insert mensagem-----------
INSERT INTO mensagem (origem, destino, assunto, mensagem, data_envio) values (1,2,‘teste’,‘teste de mensagem’,‘now’);
INSERT INTO mensagem (origem, destino, assunto, mensagem, data_envio) values (4,2,‘sobre o site’,‘vc precisa incluir alguns arquivos no site’,‘now’);
INSERT INTO mensagem (origem, destino, assunto, mensagem, data_envio) values (2,4,‘sobre o site’,‘acabei de incluir os arquivos!!’,‘now’);

select * from mensagem;

Algumas perguntas:

Sobre o quê você pretende escrever em sua monografia?? Seria falar como você construiu esse software? Seria falar sobre as mudanças de comportamento no relacionamento das pessoas depois das mensagens eletrônicas? Ou você pretende utilizar alguma tecnologia inovadora para implementar esse programa???

Eu acho complicado fazer uma monografia de fim de curso abordando a construção de um software como esse…alias, monografia onde o sujeito já começa o trabalho implementando alguma coisa já é complicado, hoje em dia não vejo ninguém preocupado em escolher um tema baseado em alguma pesquisa, em consulta a bibliografias, consultado seu orientador sobre temas possíveis…hoje o cara implementa um software e na monografia diz o que usou de tecnologia para fazê-lo…Não entenda como uma crítica a você evinhobatista, mas como sugestão começe escolhendo seu tema e pesquise sobre o mesmo, pois uma monografia é um trabalho científico e assim deveria acrescentar alguma coisa para você e para o mundo, mesmo que não seja nenhuma descoberta tecnologica e sim uma simples constatação de algumas teses já desenvolvidas.

É o seguinte: eu trabalho na assembleia legislativa estava qerendo desenvolver algo em que utilizasse a tecnologia java, ja que ninguem usa a mesma aqi, entende?
E seria um sistema de notas e atividades, para o funcionarios dos setores! onde vai constar qal e atividade, data do inicio da atividade, se estar em andamento, conclusao etc. E que ira servir principalmente para o setor de desenvolvimento…onde cada funcionario tera sua atividade, e podera monitorar a mesma ate sua conclusao! e a monografia ira falar da construcao desse software e da tecnologia abordadas pelo mesmo!! é isso…