• Nenhum resultado encontrado

5.3 O antes e o depois

5.3.2 Camada de Dados

Tabela 5.3: Antes e Depois - Dados

Antes Depois

Adição manual de Workflows Adição automática de Workflows

Alta dificuldade na Criação de Workflows Criação de Workflows facilitada com a Work- flow_tool

Sem suporte para serviços externos Suporte para serviços externos Parametros dos serviços inseridos no código-

fonte

Parametros dos serviços inseridos automáti- camente

Tipos de serviços inseridos no Código Tipos de serviços inseridos automáticamente

Assim como na camada dos serviços, a camada de dados também depende de clas- ses externas denominadas de workflows. O desenvolvimento de workflows implicava a

grandes alterações no código fonte da aplicação resultante o que resultava num desen- volvimento muito lento. Para contornar este problema foi criada a Workflow_tool. Esta ferramenta permitiu o desenvolvimento rápido de workflows.

Anteriormente apenas serviços internos eram suportados 3.2.1. Actualmente esta ca- mada já suporta serviços provenientes de fontes externas, estes serviços são designados de serviços externos4.3.

Associado a cada serviço está o seu workflow, o seu tipo e os seus parâmetros. O seu tipo permite ao WiSeServer identificar o workflow respectivo e os seus parâmetros servem para algum tipo de processamento específico a realizar no workflow. Anteriormente, estas 3 entidades teriam de ser inseridas manualmente através do código fonte. Actualmente este processo é automático e dinâmico.

5.3.3 Framework Wizard

Tabela 5.4: Antes e Depois - Framework Wizard

Antes Depois

Alterações manuais de código-fonte necessá-

rias Alteração automática de Código- fonte

Adição manual de workflows Adição automática de Workflows e Parsers Apenas um tipo de serviços: Sensores inter-

nos Suporte para serviços internos e externos

Necessária configuração manual do Genera-

tor Generator auto-configurável

Necessário abrir projecto para configurar o wizard

Configuração do wizard sem precisar de abrir projecto

Sem funções de Suporte Funções de suporte e manutenção

Seja qual fosse o objectivo, era sempre necessário abrir ou criar um projecto para se poder trabalhar no Framework Wizard. Para contornar esta situação foi necessário fazer algumas alterações, sendo que o resultado final permite assim a alteração de todos os parâmetros do Framework Wizard sem necessitar de ter um projecto aberto.

Foi também adicionado o suporte para serviços externos e também funções de im- portação para Parsers e Workflows eliminando assim a necessidade do utilizador editar o código-fonte para adicionar estas entidades.

Havia também uma necessidade em editar o código fonte do generator 3.5.1 para suportar os novos serviços adicionados. Esta necessidade foi suprimida com alterações feitas no Framework Wizard mas também no generator.

Foram também adicionadas funções de suporte ao Framework Wizard para permitir uma maior flexibilidade na compilação dos projectos e na criação da Base de Dados.

Solução proposta - O método

5.3.4 Base de Dados

Tabela 5.5: Antes e Depois - Base de Dados

Antes Depois

Necessário alterar manualmente código-fonte

antes de compilar um projecto Sem necessidade de alterar código-fonte Sem feedback para o utilizador do estado ac-

tual Com feedback para o utilizador

O maior problema neste componente era o facto de que a ferramenta que criava a base de dados, o generator, necessitar de alterações ao seu código fonte para poder correspon- der a alterações feitas no Framework Wizard. Este problema foi resolvido, sendo que agora esta ferramenta é completamente automática e dinâmica.

Um outro problema era o facto de não haver feedback nenhum para o utilizador do que se passava na execução desta ferramenta. O utilizador não tinha noção se o generator foi bem executado ou não. Este problema foi resolvido sendo que agora o utilizador tem completa noção do que a ferramenta está a executar.

5.3.5 Camada do Interface

Tabela 5.6: Antes e Depois - Interface

Antes Depois

Apenas utilizadores e grupos Suporte para utilizadores, grupos e agentes Edição de parametros de workflow iniciais

através de ficheiro externo

Edição dos parametros de workflow dinami- camente

Apenas um tipo de serviço para cada utiliza- dor

Suporte para n tipo de serviços para cada entidade, diferenciados pela identificação do hardware

Tipo de informações sempre iguais Tipo de informação consoante a entidade Apenas um só tipo de gráfico: linear Vários tipos de gráficos suportados Novos interfaces apenas por edição do

código-fonte Novos interfaces por adição de plugins

O interface é claramente uma das partes com maior importância para o utilizador final, visto que este não terá acesso a mais nada.

Inicialmente, apenas era suportado duas entidades: utilizadores ou grupos de utiliza- dores. Actualmente existe uma nova entidade denominada de agentes. Ao arrancar, o interface fazia loading dos parâmetros através de um ficheiro auxiliar. Este ficheiro po- deria estar corrompido ou ser alterado por fontes externa e implicava que todo o interface deixasse de funcionar correctamente. Actualmente, estes parâmetros são inicializados pelos valores reais contidos na Base de Dados.

Inicialmente também era apenas suportado um tipo de serviço para cada entidade, isto é, um utilizador só poderia ter um sensor de cada tipo. Actualmente, cada entidade pode ter vários tipos de serviços quantas vezes necessárias e estes são diferenciados entre si pela identificação do hardware.

Para permitir a expansibilidade do Interface e para tirar as limitações impostas pelo interface genérico, foi criado um motor de plugins que permite a adição dos mesmos. Estes plugins dão ao utilizador a vantagem de poder ter o seu interface de acordo com as suas necessidades.

Capítulo 6

Concepção e Implementação

Neste capítulo vão ser abordados todos os componentes da WiSe Framework que fo- ram optimizados ou melhorados assim como todas as novas funcionalidades e ferramentas que foram criadas. Irá também ser feita uma síntese das vantagens de cada alteração ou ferramenta. Para ajudar a uma melhor compreensão do trabalho realizado, serão mostra- dos alguns excertos de código ou conteúdo de ficheiros.

6.1

Camada Sensores

Documentos relacionados