Changes between Version 3 and Version 4 of WF/detalhamento


Ignore:
Timestamp:
08/11/10 11:15:54 (14 years ago)
Author:
viani
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WF/detalhamento

    v3 v4  
    22 
    33== Introdução == 
    4 O Expresso Livre é um projeto de software livre iniciado em abril de 2004 pela Companhia de Informática do Paraná \cite{Silva:2008}, segundo o site www.expressolivre.org \cite{expressolivre:2010} ele "é uma solução completa de comunicação que reúne Email, Agenda, Catálogo de Endereços, Workflow e Mensagens Instantâneas em um único ambiente.". O sistema tem suas origens como uma customização do software E-!GroupWare, desenvolvido e mantido por uma grande comunidade de colaborares voluntários \cite{Egrupware:2010}. 
     4 
     5O Expresso Livre é um projeto de software livre iniciado em abril de 2004 pela Companhia de Informática do Paraná (RUFINO, 2008), segundo o site www.expressolivre.org (EXPRESSO, 2010) ele "é uma solução completa de comunicação que reúne Email, Agenda, Catálogo de Endereços, Workflow e Mensagens Instantâneas em um único ambiente.". O sistema tem suas origens como uma customização do software E-!GroupWare, desenvolvido e mantido por uma grande comunidade de colaborares voluntários (EGROUPWARE, 2010). 
    56 
    67Apesar de fornecer muitos recursos é comum o surgimento de necessidades específicas da corporação que não são atendidas pelas ferramentas disponíveis no ambiente Expresso. Para suprir esta carência muitos desenvolvedores utilizarem o módulo Workflow para criarem aplicações personalizadas que necessitam recursos do ambiente. Este caminho muitas vezes não é o mais adequado, pois várias das necessidades de implementação não tem características de workflow, no entanto a esta é maneira mais simples de integração dos recursos disponíveis, particularmente os dados de usuários, a uma aplicação que seja executada no ambiente. 
     
    1213=== Workflow === 
    1314 
    14 O módulo Workflow é utilizado para executar fluxos pré-definidos de uma atividade, utilizando a estrutura organizacional cadastrada no ambiente Expresso. Segundo classificação proposta por Nicolao \cite{Nicolao:1996} o modelo de workflow do moódulo do expresso é caracterizado como do tipo administrativo, pois "envolve processos repetitivos com regras de coordenação de tarefas simples, tal como roteamento de um relatório de despesa ou requisição de viagem, controladas por um processo de autorização". Estas são necessidades que devem ser atendidas pelas próprias necessidades do ambiente corporativos a que se dispõe a atender o ambiente Expresso. 
     15O módulo Workflow é utilizado para executar fluxos pré-definidos de uma atividade, utilizando a estrutura organizacional cadastrada no ambiente Expresso. Segundo classificação proposta por Nicolao (NICOLAO; OLIVEIRA, 2008) o modelo de workflow do moódulo do expresso é caracterizado como do tipo administrativo, pois "envolve processos repetitivos com regras de coordenação de tarefas simples, tal como roteamento de um relatório de despesa ou requisição de viagem, controladas por um processo de autorização". Estas são necessidades que devem ser atendidas pelas próprias necessidades do ambiente corporativos a que se dispõe a atender o ambiente Expresso. 
    1516 
    1617O uso de gerenciamento de fluxos pode ser implementado como uma ferramenta de apoio a sistemas que tenham características de workflow, passando a ser utilizado não como módulo do sistema mas como infraestrutura disponível pelo ambiente para ser utilizada no desenvolvimento de aplicações. Esta alteração na forma de utilização de fluxos permite maior flexibilidade do ambiente como um todo além de maior encapsulamento das atividades. 
     
    2021=== Padrão MVC === 
    2122 
    22 O modelo Model View Controller (MVC) apesar de muito valorizado não é um conceito novo, em 1979 Reenskaug \cite{Reenskaug:1979} publica artigo apresentando os conceitos de modelo, controle e visualização. Com a evolução da internet e o grande uso de aplicações baseadas no padrão Web o uso de MVC popularizou-se significativamente e atualmente é um padrão de projeto amplamente utilizado pelos desenvolvedores de aplicações. 
     23O modelo Model View Controller (MVC) apesar de muito valorizado não é um conceito novo, em 1979 Reenskaug (REENSKAUG, 1979) publica artigo apresentando os conceitos de modelo, controle e visualização. Com a evolução da internet e o grande uso de aplicações baseadas no padrão Web o uso de MVC popularizou-se significativamente e atualmente é um padrão de projeto amplamente utilizado pelos desenvolvedores de aplicações. 
    2324 
    2425O padrão propõe a separação das responsabilidades da aplicação em componentes. O modelo é uma representação da camada de negócios, são os componentes que utilizam as regras da solução do problema específico, componentes de visualização são responsáveis por fornecer interface com o usuário final, geralmente uma interface humano-computador e finalmente os componentes de controle provem uma ponte entre os componentes de visualização e modelo, tendo como responsabilidade validar os acessos e encaminhar as requisições aos componentes adequados do modelo. 
     
    5859=== Factory === 
    5960 
    60 O uso de recursos do ambiente não devem ser acessados diretamente pois o acesso depende de validação de permissões e implementações diferenciadas de construtores das classes. Para padronizar o processo de uso de recursos a ferramenta de construção de aplicativos para o ambiente Expresso utiliza uma classe que implementa o padrão factory \cite{Larman:2005} para instanciar o recurso solicitado. O uso da classe factory permite ao desenvolvedor acessar as APIs permitindo acesso apenas a métodos disponíveis às aplicações e protegendo os recursos do módulo. 
     61O uso de recursos do ambiente não devem ser acessados diretamente pois o acesso depende de validação de permissões e implementações diferenciadas de construtores das classes. Para padronizar o processo de uso de recursos a ferramenta de construção de aplicativos para o ambiente Expresso utiliza uma classe que implementa o padrão factory (LARMAN, 2005) para instanciar o recurso solicitado. O uso da classe factory permite ao desenvolvedor acessar as APIs permitindo acesso apenas a métodos disponíveis às aplicações e protegendo os recursos do módulo. 
    6162 
    6263A factory é utilizada estaticamente e fornece dois métodos públicos newInstance e getInstance que retornam uma instância do objeto que esta cria. O método newInstance é utilizado para gerar um objeto com os atributos e valores padrão no momento da criação do mesmo, já getInstance cria uma instância do objeto, caso este não exista, e recupera uma instância existente caso contrário, pode ser encarado como uma variação do padrão singleton. 
     
    9596 
    9697A criação de novas bibliotecas pode ser feito sem nenhuma alteração na estrutura no núcleo da aplicação ou nos sistemas em produção. As bibliotecas oferecem flexibilidade para incorporar funcionalidades específicas da organização, como por exemplo acesso a mainframe, com grande facilidade. 
     98 
     99== Referências == 
     100 
     101EGROUPWARE, E. S. O. do. EGroupware - Online Groupware, CRM: Home. 2010. [Online; 
     102accessada 15-julho-2010]. Disponível em: <http://www.egroupware.org/>. 
     103 
     104EXPRESSO, E. S. O. do. Expresso Livre - Powered by e-GroupWare. 2010. [Online; accessed 
     10515-julho-2010]. Disponível em: <http://expressolivre.org>. 
     106 
     107NICOLAO, M.; OLIVEIRA, J. P. M. de. Caracterizando sistemas de workow. revista 
     108eletronica de administracao Edição 3, vol. 2, n. 2 (set./out. 1996), Porto Alegre, 2008. 
     109 
     110REENSKAUG, T. Odels - views - controllers. technical note. Xerox PARC, 
     111Porto Alegre, 1979. [Versão escaneada; accessada 15-julho-2010]. Disponível em: 
     112<http://heim.i.uio.no/ trygver/mvc/index.html>. 
     113 
     114RUFINO, d. S. E. Gerenciador de email expresso livre: Estudo de caso cepromat-mt. Trabalho 
     115apresentado no Latinoware 2008., Foz do Iguaçu, 2008.