KAPITTEL 5. HUMANISTISK GRAVFERDSSEREMONI
5.3 G RAVFERDSTALEREN
Com a descrição das interfaces e uma ferramenta de modelagem capaz de gerar arquivos no formato XPDL, atendendo as características de ambientes educacionais, foram definidas as características para o motor de wokflow do ambiente proposto e uma arquitetura de alto nível para atender essas características. O motor de sistema de
workflow é o responsável pela execução dos fluxos de processos definidos na ferramenta
<?xml version="1.0" encoding="us-ascii" ?>
<package xmlns:xpdl="http://www.wfmc.org/2002/XPDL1.0"
xsi:schemaLocation=" http://wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd" Id="0"
Name="exemplo de arquivo XPDL mapeado de um arquivo IMS-LD"> <participants> <participant Id="docente"> <participantType type="person" /> <description>Professor</description> </participant> </participants> <workflowProcesses>
<workflowProcess Id="1" name="Aula1" accessLevel="public"> <processHeader />
<formalParameters /> <dataFields>
<dataFile Id="PlanoAulas" sArray="false"> <basicType type="file" /> <externalReference location="" xref="planoAulas.pdf"/> </dataFile> </dataFields> <participant>docente</participant> <activities>
<activity Id="1.1" name="Apresentação e distribuição do Plano de Aulas e ementa."> <implementation>
<tool id="" type="application"> <actualParameters> <actualParameter>PlanoAulas</actualParameter> </actualParameters> </tool> </implementation> <deadline execution="asynchr"> <exceptionName>notifyException</exceptionName> </deadline> </activity> </activities> </workflowProcess> </workflowProcesses> </package>
de modelagem, ou seja, é no motor de workflow que o fluxo de trabalho acontece de fato para o sistema.
A WfMC (2002) indica as principais funcionalidades que um motor deve suportar:
• armazenar e interpretar o arquivo XPDL gerado pela ferramenta de modelagem;
• executar e controlar as instâncias de processos; • enviar informações às interfaces;
• gerar informações de log para controle e verificações.
Além das principais funcionalidades que um motor de workflow deve atender, ele pode utilizar uma base para armazenar os dados de controle e execução. Podemos observar ainda, um conjunto de características para a implementação do ambiente pretendido, conforme descrito nas seções anteriores. Dentre elas:
• permitir que partes da modelagem sejam recebidas e armazenadas pelo motor de workflow;
• permitir o controle e a execução parcial do modelo do processo. O fluxo do processo não deve ser instanciado todo de uma vez, mas deve ser instanciado parcialmente, permitindo assim, que alterações sejam efetuadas em partes do fluxo que ainda não foram executadas;
• permitir que as alterações e a execução do Plano de Aulas sejam refletidas nos Planos de Estudo. Assim, as alterações efetuadas em partes do Plano de Aulas podem ser refletidas nos Planos de Estudo dos alunos, da mesma forma que a execução de uma determinada aula pode ser indicada na execução dos Planos de Estudo;
• executar os Planos de Estudo de forma independente para cada estudante, garantindo que cada estudante execute somente as suas atividades, além
das atividades definidas no Plano de Aulas, conforme definido no seu Plano de Estudo;
• permitir a execução não linear das atividades dos sub-processos do Plano de Estudo, isso somente se não houver regras de precedências entre as atividades;
• permitir que tanto o docente como os estudantes possam indicar a conclusão das atividades de sua competência, garantindo que somente o responsável pela execução de uma atividade possa indicar a sua conclusão;
• permitir que os estudantes visualizem as atividades das aulas em sua
worklist, mesmo que não possam indicar a sua conclusão;
• permitir a inclusão de atividades nos sub-processos dos Planos de Estudo durante a sua execução, observando as precedências indicadas entre as atividades;
• gerar um traço de execução para cada estudante.
Com base nas funcionalidades definidas para o motor de workflow e observando as características identificadas nas ferramentas apresentadas na secção 3.1.6, foi confeccionado um quadro comparativo (Quadro 9) que apresenta o resumo das funcionalidades suportadas pelas ferramentas, conforme as necessidades identificadas para o motor de workflow do ambiente proposto nesta dissertação.
Quadro 9: Quadro comparativo entre as ferramentas de workflow S ta ff w a re W eb S p h er e M Q W o rk fl o w E n h yd ra S h a rk B os sa F le x -e L C O W
Atender as características das interfaces do modelo de referência
da WfMC; S S S S S S
Armazenar e interpretar o arquivo XPDL gerado pela ferramenta
de modelagem; N N S S N S
Permitir o controle e a execução parcial do modelo do processo; N N N N S S Permitir que alterações em partes do modelo, não instanciadas,
sejam refletidas para todos os usuários; N N N N S S Permitir aos usuários indicar a conclusão das atividades de sua
competência; S S S S S S
Permitir alterações durante a sua execução da instância do
processo; N N N N N S
Permitir a execução não linear das atividades dos sub-processos; N N N N S N Gerar um traço de execução para cada usuário. N N S S S S
Legenda: S=Sim; N=Não;
Observando o quadro comparativo percebe-se que dentre as ferramentas avaliadas nenhuma atendem todas as funcionalidades identificadas para o ambiente proposto nesta dissertação. O COW é o motor de workflow que apresentou mais características compatíveis com as necessidades identificadas, mas não permite a execução não linear das atividades dos sub-processos. Essa situação é possível no Flex-
eL devido ao conceito dos builds que definem um conjunto de atividades na modelagem,
mas dependendo dos resultados gerados ao longo da execução do processo algumas atividades podem ser omitidas.
Algumas das soluções apresentadas nestes ambientes podem ser reutilizadas na definição da ferramenta de modelagem e do motor de workflow. Dentre essas características, podemos perceber: o mapeamento entre IMS-LD e XPDL, o controle e a execução parcial de sub-processos, as alterações em partes do modelo não executadas, a
modelagem dos processos utilizando o conceito de builds e a possibilidade de efetuar alterações em tempo de execução.