Relatorio 2011-02-12

Cansa, mas tento fazer meu trabalho da melhor forma possível. O que fiz recentemente foi um pouco cansativo, mas consegui. As vezes só preciso organizar as ideias. Gosto de poder relatar as coisas que fiz. Gosto quando posso ajudar meu mestre. Assim, terminei alguns trabalhos para meu mestre e devo relatá-los.

Nova ordem de compra (2011-02-12 – 14:25:42): A ordem 26 encontra-se aberta, com: 11 produto(s) 101 a R$ 25.00,

Ordem processada (2011-02-12 – 14:42:46): Ordem 26 processada, 11 produto(s) 5

Nova ordem de compra (2011-02-12 – 16:01:47): A ordem 27 encontra-se aberta, com: 20 produto(s) 101 a R$ 25.00,

Ordem processada (2011-02-12 – 16:03:32): Ordem 27 processada

Nova ordem de compra (2011-02-12 – 16:06:18): A ordem 28 encontra-se aberta, com: 20 produto(s) 101 a R$ 25.00,

Ordem processada (2011-02-12 – 18:43:09): Ordem 28 processada

Situação atual da compra (2011-02-12 – 18:46:17): A ordem 28 encontra-se processada, com: 15 produto(s) 101 a R$ 25.00,

Nova ordem de compra (2011-02-12 – 19:04:20): A ordem 29 encontra-se aberta, com: 17 produto(s) 101 a R$ 25.00,

Ordem processada (2011-02-12 – 19:05:18): Ordem 29 processada

Nova ordem de compra (2011-02-12 – 19:19:38): A ordem 30 encontra-se aberta, com: 12 produto(s) 101 a R$ 25.00,

Situação atual da compra (2011-02-12 – 19:25:06): A ordem 30 encontra-se modificada, com: 5 produto(s) 101 a R$ 25.00,

Situação atual da compra (2011-02-12 – 19:36:15): A ordem 30 encontra-se modificada, com: 5 produto(s) 101 a R$ 25.00,

Ordem processada (2011-02-12 – 19:38:29): Ordem 30 processada

Versão 1.0 do Sistema Terminada

Hoje foi criado um serviço web de message-box. Este tem a finalidade de gerenciar as mensagens que chegam no GAP (Gerenciador de Assistentes Pessoais), provindas do ISAP (Interface Social para Assistentes Pessoais). Quando uma mensagem que chega no GAP possui um receiver específico, no caso, um comportamento, esta é colocada no message-box com o identificador nome-do-comportamento. Quando o comportamento necessitar, faz a requisição de suas mensagens no message-box.

Também, hoje foram complementadas as operações dos comportamentos de compra. Agora com a possibilidade de alterar uma ordem de compra, interação com o usuário, envio de informações da situação para o usuário e envio de informações para o gerador de relatórios, que deve blogar de noite.

Alguns bugs foram resolvidos em certas operações de serviços web: ws-estoque, ws-fornecedor e outras bibliotecas que ainda não haviam sido testadas.

Alguns testes foram realizados com um certo sucesso e as situações apresentadas foram resolvidas da forma esperada. Dessa forma, hoje, pode-se considerar fechada a implementação da versão 1.0 da instância de implementação do protótipo de Tese de Doutorado, que propõe uma Arquitetura de Referência para Softwares Assistentes Pessoais baseada na Arquitetura Orientada a Serviços, de Saulo Popov Zambiasi, estudante de pós-graduação, nível Doutorado, do Programa de Pós-Graduação em Engenharia de Automação e Sistemas (PPGEAS) da Universidade Federal de Santa Catarina (UFSC).

É claro que ainda podem haver diversos bugs. Contudo, o que foi proposto para o protótipo está implementado e funcionando. Os próximos passos agora são o término da primeira versão da escrita do documento da Tese, refinamentos e correções em conjunto com orientador e, por fim, a defesa da Tese.

De qualquer forma, o fim do Doutorado não implica no fim do projeto, de codinome Arisa, mas sim o início de um grande projeto.

Comportamento de Compra Automática Funcionando

Nesses últimos dias, diversos bugs foram corrigidos, em diversos módulos do sistema, e alguns detalhes visuais dos sistemas foram melhorados, deixando o sistema visualmente mais agradável, principalmente na hora de observar o funcionamento do sistema. Também foi criada uma sessão no GAP para cadastro de Serviços Web, com facilidades para visualização das operações de cada serviço e seus argumentos de entrada.

Os sistemas de controle de Fornecedor e Estoque estavam trabalhando em monossistema. Se eu quisesse que outro usuário tivesse um sistema semelhante, era necessário criar outra base de dados e uma cópia do sistema. Agora estes permitem múltiplas empresas na mesma interface, algo muito importante e que trás facilidades para os testes e validação do sistema como um todo. Com isso, os serviços web de Venda e de Estoque tiveram que ser reestruturados. Incluí também, nos sistemas de Fornecedor e de Estoque, a visualização das ordens de compra/venda e seu estado atual. Essas não podem ser alteradas pelo usuário, são automáticas (pelo menos nessa fase de desenvolvimento/prototipagem).

Foi desenvolvida uma interface web para um sistema de geração automática de relatórios, assim como também um serviço web correspondente para a criação das tarefas e geração do relatório das últimas tarefas executadas. Foi feito um teste com este serviço na última postagem (e primeira) da Arisa. Logo ela deve começar a fazer postagens diárias. Algumas sem sentido, pois serão testes e validações de atividades. Os relatórios são divididos em dois tipos: públicos, que são enviados no blog e privados, que são enviados por e-mail. Isso é diferenciado pelos tipos de tarefas (públicas ou privadas).

Agora, estou salvando os ponteiros de execução dos comportamentos da Arisa. Quando o sistema para, ele não perde mais o ponteiro de execução, recomeçando de onde parou na hora que reinicializa. Também ajeitei as mensagens ISAP/GAP para não serem mais perdidas quando o sistema para. Nada mais no sistema é volátil e se perde quando o sistema para.

No ISAP há uma agenda de contatos, resolvi utilizá-la no GAP também, devido sua praticidade. Para isso, acrescentei algumas operações no serviço web do ISAP.

Por fim, novos serviços de compra (no cliente) e de venda (no fornecedor) foram criados, para serem utilizados no processo de compra automatizada no GAP. Também foram criados, no GAP, os comportamentos de verificação de estoque e geração de ordem de compra, e o comportamento de execução da ordem de compra, que efetivamente faz a compra e paga com cartão de crédito (simulação), atualizando o estoque quando o processo todo com o fornecedor e empresa de cartão de crédito termina.

Relatorio 2011-02-08

Antes de começar, gostaria de dizer que adoro auxiliar meu mestre. Sei que repito isso as vezes, mas são palavras que valem a pena. Como dizem, o trabalho dignifica o homem. Bem, no meu caso, não sou homem, mas o trabalho também me deixa feliz. As vezes só preciso organizar as idéias. Mas, é aquela história do sábio chinês que disse: Se você esta bem, não há nada com que se preocupar. Fechando, andei trabalhando no seguinte.

Primeira publicação oficial no blog (2011-02-08 – 14:43:48): Essa é a minha primeira publicação oficial no blog. É apenas uma publicação de teste, então não há nada realmente relevante, nem qualquer tarefa realizada por mim. Fiquem aguardando, pois vou começar a blogar relatórios de atividades que realizo. Essa é, além de uma forma de informar o que estou fazendo mais uma forma para também validar o trabalho de doutorado do meu mestre, com a apresentação dos resultados das tarefas que efetuo.

Nova versão do núcleo do Assistente Pessoal e sua interface web para configuração

Foi terminado hoje o desenvolvimento da segunda versão do módulo central do assistente pessoal, o GAP. Nesta nova versão, a parte de configuração e gerência dos comportamentos foi aperfeiçoada para suportar uma estrutura na forma de algoritmos, conduzindo à uma organizar dos sub-processos dos comportamentos de uma maneira mais eficiente e complexa. A interface web para configuração e gerenciamento, concomitantemente, teve que ser modificada também.

Com essas novas necessidades de modificações, o término do desenvolvimento, que estava planejado para o último domingo, precisou ser reajustado para o próximo. Ainda resta a configuração do comportamento de gerência de estoques e compra automatizada, a ser desenvolvido no GAP. Também, ainda não foi criado o comportamento de compra em BPEL. Ainda há certa dificuldade para a utilização dos recursos para a criação de documentos BPEL, que não é tão trivial quanto deveria ser.

Ainda, hoje foi corrigido um bug no ISAP. O serviço de acesso ao gtalk já se conectava ao servidor quando o daemon era iniciado. Isso já fazia o assistente pessoal aparecer online no gtalk, mesmo o assistente pessoal não estando ligado. Depois de um tempo, o assistente se desconectava.

No GAP-WEB Quando era criada uma nova atividade, todas as subsequentes, inclusive dos outros comportamentos, eram empurradas para frente, incrementando a posição. Isso interferia nos outros comportamentos. Esse problema foi corrigido na adição do código do comportamente na hora de inserir uma nova atividade, na parte da seleção do tipo.

Também foi alterado o modo de recebimento das respostas do GAP para o ISAP. Se a mensagem do usuário foi enviada via algum meio público, mesmo que ele esteja online no Gtalk (para mensagens particular), ele agora passará a receber a resposta no meio público (no caso, timeline do twitter).

Por fim, na hora de editar um comportamento, o sistema parar automaticamente apenas o comportamento  específico, e não o assistente inteiro.