Novo framework de comunicação
Bom, de novo há muito sem updates e cada vez mais atrasado. Infelizmente as férias do trabalho não vieram ainda e o projeto ainda só no projeto. Espero que meu orientador só leia isso depois que me der nota (e aí, Fusca, tudo bom?). Bom, a monografia pelo menos andou bastante e isso anima um pouco.
O que acontece é que o framework de comunicação que tinha sido proposto por mim no último post aqui e implementado já quase 100%, se mostrou um pouco engessado e cada vez mais difícil de manter, por ser cheio de pormenores e complexidades que hoje acho desnecessárias. Além disso, esse framework não otimizava o tráfego de dados na rede, o que seria lento para Bluetooth e caro para GPRS.
Para resolver este problema bolei de novo um framework de comunicação que é menos restritivo, usa um pouco melhor os conceitos de orientação a objeto, é mais simples, mais fácil de implementar e foi concebido entre uma ida ao banheiro e um momento sem nada pra fazer logo depois dele, o que deve contar a favor do Ócio Criativo...
Eis que o novo framework mantém a base do slide 14 da apresentação que fizemos para o Projeto 1, adicionando a ele apenas um camada, o "Controlador Específico" (clique na imagem para ampliá-la):

Acontece que teremos simplesmente interfaces a serem implementadas para o controlador específico e para o FrontController, além de uma série de configurações via xml para as regras de navegação de cada tela do sistema, junto com a especificação de quem é o objeto que deve ser preenchido com seus parâmetros e qual é o controlador específico de cada tela. Uma visão simplificada desse processo pode ser vista abaixo (clique na imagem para ampliá-la):

A coisa não é complexa, mas tem suas voltas... Para maior entendimento, dê uma olhada no modelo do JUDE da aplicação, mais especificamente os diagramas de classe chamados Controle, Requisição e Configuração, além do diagrama de sequência da Requisição. O modelo se encontra no site do projeto no SourceForge (que eu acabei de adicionar nos links aqui do lado direito do blog), no CVS apenas, por enquanto, pois não há release ainda. Tem um link direto pra a última versão dele aqui.
Vou indo por agora, tenho que implementar esse modelo e acabar de documentar (explicar classe a classe no modelo e nos javadocs). Fiz uma tag no CVS pro modelo antigo e pro código antigo (ainda não limpei o código antigo da face do HEAD do CVS, mas em breve isso deve acontecer).
Não sei se já disse isso alguma vez, mas vale dizer de novo: o nome do projeto no SourceForge é BlueCerberus. Pensando bem... Eu já expliquei isso sim, no post Volta Rápida... Então deixa!
O que acontece é que o framework de comunicação que tinha sido proposto por mim no último post aqui e implementado já quase 100%, se mostrou um pouco engessado e cada vez mais difícil de manter, por ser cheio de pormenores e complexidades que hoje acho desnecessárias. Além disso, esse framework não otimizava o tráfego de dados na rede, o que seria lento para Bluetooth e caro para GPRS.
Para resolver este problema bolei de novo um framework de comunicação que é menos restritivo, usa um pouco melhor os conceitos de orientação a objeto, é mais simples, mais fácil de implementar e foi concebido entre uma ida ao banheiro e um momento sem nada pra fazer logo depois dele, o que deve contar a favor do Ócio Criativo...
Eis que o novo framework mantém a base do slide 14 da apresentação que fizemos para o Projeto 1, adicionando a ele apenas um camada, o "Controlador Específico" (clique na imagem para ampliá-la):
Acontece que teremos simplesmente interfaces a serem implementadas para o controlador específico e para o FrontController, além de uma série de configurações via xml para as regras de navegação de cada tela do sistema, junto com a especificação de quem é o objeto que deve ser preenchido com seus parâmetros e qual é o controlador específico de cada tela. Uma visão simplificada desse processo pode ser vista abaixo (clique na imagem para ampliá-la):

A coisa não é complexa, mas tem suas voltas... Para maior entendimento, dê uma olhada no modelo do JUDE da aplicação, mais especificamente os diagramas de classe chamados Controle, Requisição e Configuração, além do diagrama de sequência da Requisição. O modelo se encontra no site do projeto no SourceForge (que eu acabei de adicionar nos links aqui do lado direito do blog), no CVS apenas, por enquanto, pois não há release ainda. Tem um link direto pra a última versão dele aqui.
Vou indo por agora, tenho que implementar esse modelo e acabar de documentar (explicar classe a classe no modelo e nos javadocs). Fiz uma tag no CVS pro modelo antigo e pro código antigo (ainda não limpei o código antigo da face do HEAD do CVS, mas em breve isso deve acontecer).
Não sei se já disse isso alguma vez, mas vale dizer de novo: o nome do projeto no SourceForge é BlueCerberus. Pensando bem... Eu já expliquei isso sim, no post Volta Rápida... Então deixa!

