Atividade desenvolvida para a disciplina de Inteligência Computacional do Centro de Educação Superior do Alto Vale do Itajaí (CEAVI/UDESC)
O objetivo do trabalho é praticar o desenvolvimento de sistemas distribuídos usando Sockets. Será desenvolvido um sistema distribuído composto por uma aplicação servidor e outra cliente para manter dados de objetos (CRUD).
A aplicação servidor mantém dados de pessoas, com cpf, nome, endereço, podendo ser do tipo "ColaboradorClt" com, função, mesAnoContratado (no formato MMAAAA) e tipo com uma String fixa "CLT" ou "ColaboradorTemporario" com, função, tempoDeContrato (no formato MM) e tipo com uma string fixa "TEMPORARIO", também tendo agregação com Setor possuindo os atributos nome e equipe, conforme diagrama diagrama de classes abaixo. A aplicação servidor deve oferecer operações para que os clientes manipulem estes dados remotamente. Os dados são mantidos apenas em memória.
A manipulação dos dados é realizada a partir de mensagens recebidas do cliente, via Socket. A mensagem é uma String que é separada pelo caracter especial ";". Essa String contém, em posições específicas, a operação de manipulação e os dados requeridos, conforme esquema abaixo.
INSERÇÃO DE REGISTRO DE SETOR
Posições | conteúdo |
---|---|
0 | insertsetor |
1 | nome |
1 | equipe |
Descroção | Insere o registro de setor |
Retorno | Não há |
EDIÇÃO DE REGISTRO DE SETOR
Posições | conteúdo |
---|---|
0 | updatesetor |
1 | nome |
1 | equipe |
Descroção | Atualiza o registro de setor |
Retorno | Se o setor for atualizado, então retorna “Setor atualizado com sucesso”. Se o setor não existir, então retorna “Seto não encontrado”. |
OBTENÇÃO DE REGISTRO DE SETOR
Posições | conteúdo |
---|---|
0 | getsetor |
1 | nome |
Descrição | Busca os dados do setor com o nome informado. |
Retorno | Retorna uma String com os dados do setor no formato: MECANICA rodrigo Se o setor não existir, então retorna “Setor não encontrado”. Se não houver nenhum setor cadastrado, então retorna “Sem setores cadastrados” |
REMOÇÃO DE REGISTRO DE SETOR
Posições | conteúdo |
---|---|
0 | deletesetor |
1 | nome |
Descrição | Remove o registro do setor com o nome informado. |
Retorno | Se o setor for removido, então retorna ”Setor removido com sucesso”. Se o setor não existir, então retorna “Setor não encontrado”. Se não houver nenhum setor cadastrado, então retorna “Sem setores cadastrados” |
OBTENÇÃO DE TODOS OS REGISTRO DE SETOR
Posições | conteúdo |
---|---|
0 | listsetor |
Descrição | Busca todos os setores cadastrados para retornar. |
Retorno | A String de retorno é formada pela quantidade de registros existentes seguido pelos nomes dos setores cadastrados, com quebra de linha entre eles. Exemplos: Se existissem 3 setores, o retorno seria: Lista de setores: 03 mecanica eletrica operacao Se não existirem setores cadastrados, o retorno seria apenas o valor 00 (zero zero). Assumir que existirão no máximo 99 setores cadastrados. |
INSERÇÃO DE REGISTRO DE PESSOA
Posições | conteúdo |
---|---|
0 | insertpessoa |
1 | cpf |
2 | nome |
3 | endereco |
4 | tipo |
5 | mesAnoContratacao |
6 | funcao |
7 | setorIndex |
Descrição | Insere o registro da pessoa |
Retorno | Não há |
ATUALIZAÇÃO DE REGISTRO DE PESSOA
Posições | conteúdo |
---|---|
0 | insertpessoa |
1 | cpf |
2 | nome |
3 | endereco |
4 | tipo |
5 | mesAnoContratacao |
6 | funcao |
7 | setorIndex |
Descrição | Atualiza o registro da pessoa |
Retorno | Se a pessoa for atualizada, então retorna “Pessoa atualizada com sucesso”. Se a pessoa não existir, então retorna “Pessoa não encontrada”. |
OBTENÇÃO DE REGISTRO DE PESSOA
Posições | conteúdo |
---|---|
0 | getpesoa |
1 | cpf |
Descrição | Busca os dados da pessoa com o CPF informado. |
Retorno | Retorna uma String com os dados da pessoa no formato: cpf;nome;endereço. Se a pessoa não existir, então retorna “Pessoa não encontrada”. Se não houver nenhuma pessoa cadastrada, então retorna “Sem pessoas cadastradas” |
REMOÇÃO DE REGISTRO DE PESSOA
Posições | conteúdo |
---|---|
0 | deletepessoa |
1 | cpf |
Descrição | Remove o registro da pessoa com o CPF informado. |
Retorno | Se a pessoa for removida, então retorna ”Pessoa removida com sucesso”. Se a pessoa não existir, então retorna “Pessoa não encontrada”. Se não houver nenhuma pessoa cadastrada, então retorna “Sem pessoas cadastradas” |
OBTENÇÃO DE TODOS OS REGISTRO DE PESSOA
Posições | conteúdo |
---|---|
0 | listpessoa |
Descrição | Busca todas as pessoas cadastradas para retornar. |
Retorno | A String de retorno é formada pela quantidade de registros existentes seguido pelos dados das pessoas cadastradas, com quebra de linha entre eles. Exemplos: Se existissem 3 pessoas, o retorno seria: Lista de Funcionarios: 03 01234567891;José;Rua X;mecanica;1 23456789012;Maria;Rua Y;eletrica;2 34567890123;Pedro;Rua Z;operacao;1 Se não existirem pessoas cadastradas, o retorno seria apenas o valor 00 (zero zero). Assumir que existirão no máximo 99 pessoas cadastradas. |