• Nenhum resultado encontrado

59 Figura 32. Console da aplicação.

Fluxos que estão no painel de fluxo e que não foram salvos, ao serem executados recebem o nome de FluxoTemp. Ao executar um fluxo, todo andamento pode ser acompanhado pelo console e, ao final do fluxo, a ferramenta exibe uma mensagem de sucesso. Cabe ressaltar que, por ser uma ferramenta flexível ao ponto de permitir ao usuário que ele cadastre os comandos que ele julgue importantes para seus fluxos, ela pode causar sérios problemas ao sistema ou até mesmo torná-lo inoperante (como qualquer shellscript executado pelo root também pode).

60 TEST CASE 1:

Objetivo:

Criar um fluxo com base nas ações cadastradas na árvore de ações.

Pré-Requisitos:

O usuário deve estar com a ferramenta aberta e possuir ações cadastradas.

Cenário 1 (Adicionar ações no painel de fluxo):

Típico: Criar fluxo.

Pré Condição: Painel de fluxo limpo.

Objetivo: Incluir ações no painel de fluxo e executá-las.

Descrição: Dar um duplo clique em cada ação desejada para que ela se posicione no painel de fluxo.

Para cada ação que fará a composição do fluxo, deve-se dar um duplo clique para que ela se posicione no painel de fluxo. Repetir esse processo até que tenha o fluxo desejado (Figura 33).

Figura 33. Criando um fluxo.

61

Após criar o fluxo, basta executá-lo (Figura 34) e observar a saída no console (Figura 35).

Figura 34. Fluxo finalizado com sucesso.

Figura 35. Console do fluxo finalizado.

62

O segundo teste executado foi a execução de um fluxo já cadastrado e contido na árvore de fluxos.

TEST CASE 2:

Objetivo:

Executar um fluxo com base nos fluxos cadastradas na árvore de fluxos.

Pré-Requisitos:

O usuário deve estar com a ferramenta aberta e possuir fluxos cadastrados.

Cenário 1 (Adicionar fluxo no painel de fluxo):

Típico: Executar fluxo.

Pré Condição: Painel de fluxo limpo.

Objetivo: Incluir fluxo no painel de fluxo.

Descrição: Dar um duplo clique em um fluxo desejado para que ele se posicione no painel de fluxo.

Figura 36. Abertura de um fluxo cadastrado.

63 Figura 37. Execução de um fluxo cadastrado.

O tempo de execução de um fluxo pode variar de acordo com a quantidade de comandos, o tipo de comando, as configurações do Linux e o desempenho do computador em que a ferramenta está sendo executada. Com este teste pode-se comprovar a utilização da ferramenta para a criação e execução de fluxos de trabalho, porém não houve tempo de testes mais detalhados e em virtude disso, alguns problemas podem ser detectados.

O terceiro teste executado foi a exportação de um fluxo criado no painel de fluxo.

TEST CASE 3:

Objetivo:

Exportar um fluxo com base em um fluxo criado no painel de fluxos.

Pré-Requisitos:

O usuário deve estar com a ferramenta aberta e possuir ações cadastrados.

Cenário 1 (Adicionar fluxo no painel de fluxo):

Típico: Exportar um fluxo.

64 Pré Condição: Painel de fluxo com ações.

Objetivo: Exportar um fluxo contido no painel de fluxo.

Descrição: Navegar até o menu cadastro e clicar na opção “exportar”.

Primeiramente foi criado um fluxo qualquer para que possa ser exportado e em seguida selecionou-se a opção para exportar o fluxo (Figura 33).

Figura 38. Criação de um fluxo qualquer para exportar.

Após selecionar a opção de exportar, deve ser informado o nome do fluxo que será exportado (Figura 39), bem como o pacote o qual irá pertencer (Figura 40).

65 Figura 39. Configurando o nome do fluxo a ser exportado.

Figura 40. Configurando o pacote do fluxo a ser exportado.

Em seguida deve-se escolher o lugar onde o XML do fluxo será salvo (Figura 41).

66 Figura 41. Diretório onde o XML de fluxo será exportado.

O arquivo com o XML exportado pode ser observado na Figura 42.

Figura 42. XML com o fluxo salvo.

67

4 CONCLUSÕES

O objetivo deste trabalho de conclusão de curso foi desenvolver uma ferramenta de modelagem de fluxos de trabalho para o sistema operacional Linux com o intuito de facilitar a utilização do sistema operacional. Esta ferramenta possibilita o cadastro de ações a partir de cadastros de comandos e parâmetros, e assim poder criar fluxos de trabalho e executá-los. Para o desenvolvimento desta ferramenta, foram estudados conceitos de Linux, gerência de sistemas Linux, fluxos de trabalho entre outros.

Dentre as funcionalidades previstas para o desenvolvimento, praticamente tudo foi contemplado, de forma que a ferramenta atende estes objetivos propostos. Algumas funções previstas tiveram de ser deixadas de lado pela questão do tempo de desenvolvimento e os problemas enfrentados como, por exemplo, o paralelismo de threads e, por conseqüência, o paralelismo de fluxos de trabalho e tratamentos de resultado desses fluxos. Outro ponto deficitário foi a forma de interação com o Shell, que mereceria mais tempo para o desenvolvimento de soluções mais eficientes e elegantes.

Para o desenvolvimento da ferramenta descrita neste trabalho, foi necessário a utilização de uma biblioteca Java extra, além das já existentes no pacote JDK da Sun, que é a biblioteca

trilead-ssh2, que é uma biblioteca de código aberto que possibilita realizar conexões SSH dentro de aplicações Java. A utilização dessa biblioteca foi necessária devido à falta de uma biblioteca nativa que permitisse abrir uma sessão do Shell no sistema operacional e manter aberta essa sessão até que o fluxo fosse concluído. O problema citado na Sessão 3.2.2 consumiu quase dois meses do tempo de desenvolvimento que era de aproximadamente três meses, comprometendo parte do trabalho. Embora a maior parte do desenvolvimento tenha sido realizada, a ferramenta planejada não foi completamente concluída da forma esperada em virtude deste atraso. Ficaram faltando alguns ajustes de controle e execução de comandos por meio da interação com o Shell, embelezamento e melhoramento de interface gráfica e melhoramento de ergonomia. Outro fator impactado pelo atraso foi a validação da ferramenta. Apesar de testes terem sido realizados durante todo o desenvolvimento, não foi possível identificar e validar todas as ações pré-configuradas que viriam por padrão com a ferramenta.

Como avaliação geral sobre todo o projeto, foi um grande desafio realizar o desenvolvimento de uma ferramenta de modelagem de fluxos de trabalho tão flexível. Como

68

descrito no Capítulo 2.4.2 deste trabalho, há uma ferramenta muito semelhante a esta desenvolvida neste trabalho, o “Automator” da empresa Apple, desenvolvido para o sistema operacional Mac OS X da mesma empresa. Porém, o Automator é menos flexível no que diz respeito à biblioteca de comandos e ações que o usuário dispõe, e até mesmo no escopo do trabalho, já que a intenção sempre foi o sistema operacional Linux. Entretanto o Automator é superior em sua interface e ergonomia, já que a interface e a ergonomia da ferramenta desenvolvida ficaram em segundo plano, em virtude do problema já mencionado. Nos testes pode-se observar que a ergonomia de interface para a criação de fluxos ficou deficitária. Tecnologias tipo arrastar e soltar poderiam ser inseridas para uma melhor usabilidade do usuário, assim como é feito no Automator, onde tecnologias desse tipo são largamente utilizadas. 

Como sugestão para trabalhos futuros, em relação ao aprimoramento da interface, pode-se citar basicamente a melhoria do aspecto visual por meio de utilização de bibliotecas mais recentes para o desenvolvimento de interfaces gráficas no Java, inclusão de tecnologias do tipo drag’n drop (arrastar e soltar), tanto para incluir ações ou fluxos no painel de fluxo, como para re-ordenar as ações dispostas no painel de fluxos; inclusão de uma biblioteca de ícones e o melhoramento da ergonomia da interface como um todo. Em relação ao controle da aplicação, muito ainda pode ser melhorado, principalmente relacionado ao modo de interação do Java com o sistema operacional Linux e o tratamento de cada comando lançado no Shell. Outro ponto que poderia ser abordado posteriormente seria a limitação de execução da ferramenta por grupos de usuário, por exemplo, permitindo a configuração de permissões para cada grupo de usuário no sistema.

69

REFERÊNCIAS BIBLIOGRÁFICAS

DEITEL, H.M. XML, como programar / H.M. Deitel, P.J. Deitel, T.R. Nieto, T.M. Lin e P. Sadhu;

trad. Luiz Augusto Salgado e Edson Furmankiewicz. – Porto Alegre: Bookman – 2003.

ECLIPSE. Disponível em: http://www.eclipse.org. Acesso em: 10/05/2008.

ELMASRI, Ramez; NAVATHE, Shamkant B. Fundamentals of Database Systems, Fourth Edition;

Addison Wesley – 2003.

FIGGINS, Stephen; SIEVER, Ellen; WEBER, Aaron. Linux in a Nutshell - O’Reilly - 2003 GNOME. GNU Network Object Model Environment. Disponível em: http://www.gnome.org.

Acesso em: 08/04/2008.

HAGEN, William Von. Ubuntu Linux Bible; Indianápolis: Wiley Publishing, Inc – 2007

HERNANDEZ, Michael J. Database Design for Mere Mortals: A Hands-On Guide to Relational Database Design, Second Edition; Addison Wesley – 2003.

HUNGER, Steve. Debian GNU/Linux Bible; Indianápolis, IN: Hungry Minds – 2001.

IDOC. iDoc Tecnologia. Disponível em: http://www.idoc.inf.br. Acesso em: 02/05/2008.

KDE. K Desktop Environment. Disponível em: http://www.kde.org. Acesso em: 08/04/2008.

MISER, Brad. USING Mac OS X Leopard: the only Mac OS X Leopard book you need;

Indianápolis: QUE Pearson Education – 2008.

NETBEANS. Disponível em: http://www.netbeans.org. Acesso em: 10/05/2008.

NICOLAO, Mariano. Modelagem de Workflow utilizando um Modelo de Dados Temporal Orientado a Objetos com Papéis. Dissertação de Mestrado. UFRGS, Porto Alegre, Rio Grande do Sul, Brasil – 1998.

PLESUMS, Charles. The Workflow Handbook 2002: Introduction to Workflow. Florida: Future Strategies Inc., 2002. p. 19-38. Disponível em: http://www.plesums.com/image/introworkflow.html.

Acesso em: 03/06/2008.

PORTELLA, Carlos. Linux Bash: Aprenda Rápido. VisualBooks Editora. Florianópolis, SC - 2001.

PRESSMAN, Roger S. Engenharia de Software / Roger S. Pressman; trad. José Carlos Barbosa dos Santos; revisão técnica José Carlos Maldonado, Paulo Cesar Masieiro, Rosely Sanches. - São Paulo:

Pearson Makron Books – 1995.

RAY, Eric T. Learning XML – Creating Self-Describing Data; - 2001.

TAKAI, Osvaldo Kotaro; ITALIANO, Isabel Cristina; FERREIRA, João Eduardo. Introdução a Banco de Dados; DCC-IME-USP – 2005.

Documentos relacionados