• Nenhum resultado encontrado

Para proporcionar um método comum para acessar e descrever definições de workflow a WfMC introduziu um metamodelo de dados para definições de processo de workflow. Esse metamodelo identifica as entidades normalmente usadas dentro de uma definição de pro- cessos e um conjunto de atributos descreve as características de cada uma das entidades. O metamodelo descreve as principais entidades, seus relacionamentos e atributos. A Figura 2.1 mostra um diagrama de classes em UML do metamodelo para definição de processos de workflow da WfMC, adaptado a partir do apresentado em [2.1].

Modelo Organizacional

Dados Ambientais e do Sistema

Especificação do Participante do workflow

pode referenciar pode incluir

Actividade Atomica Loop

(Sub)Processo Definição de Processo de Workflow

0..* 0..*

Declaração da Aplicação de Workflow +consiste de

+consiste de

Atividade de Processo de W ork flow 0..* 0..* +consiste de realizada por pode invocar im plementada como Informação de Transição +desde para

Dados Relevantes ao Workflow

0..* 0..* +consiste de pode usar pode usar pode usar pode usar pode referenciar

Figura 2.1 Metamodelo da definição de processo de workflow segundo WfMC

Neste modelo a definição de processo de workflow (Workflow Process Definition) con- tém uma ou mais atividades de processo de workflow (Workflow Process Activity), as quais estão associadas com a Declaração da Aplicação de Workflow (Workflow Applicati- on Declaration) e a Especificação do Participante do Workflow (Workflow Participant Spe- cification) (ver definições na Tabela 2.1). As Transições (Transitions) são arcos orientados conectando atividades que levam regras do negócio para determinar o fluxo de controle no processo. O modelo provê um formalismo simples para especificar as regras do negócio em termos dos Dados Relevantes ao Workflow (Workflow Relevant Data). O metamodelo de definição de processo de workflow também inclui um modelo de recursos simples, o cha- mado Modelo Organizacional (Organisational Model) que contém as entidades: papel, uni- dade organizacional, pessoa e recurso do sistema. O metamodelo define um conjunto de propriedades para todos seus elementos. As entidades do modelo não podem ser estendidas, embora possam ser agregados atributos definidos pelo usuário às entidades do modelo, co- mo mecanismo de extensão.

A Linguagem de Definição de Processos de Workflow da WfMC (The WfMC Workflow Process Definition Language) [2.1] define uma representação textual do metamodelo de definição de processos de workflow que corresponde à especificação da interface 1, ilustra- da na Figura 1.1 do capítulo 1. A linguagem foi estabelecida para intercambiar os modelos de processo de workflow, através de um procedimento tipo ‘batch’ (import/export do mo- delo do processo). Em Maio do 2001 foi publicado pela WfMC um mapeamento da Lin- guagem de Definição de Processos de Workflow a XML16 [2.6] que inclui um DTD17 para o intercâmbio das definições de processo.

16 XML (Extensible Markup Language) um subconjunto de SGML (Standard Generalized Markup Language)

que permite a definição por parte do usuário de ‘tags’ específicos. Prove suporte para a representação de da- dos em termos de pares de atributos/valores usando os ‘tags’ definidos pelo usuário. [http://www.w3.org/XML]

A seguinte Tabela 2.1 descreve as entidades do metamodelo de definição de processos de workflow da WfMC.

Tabela 2.1 Descrição das entidades do Metamodelo de workflow da WfMC

Definição de Processo de Workflow ( Workflow Process Definition): esta entidade des- creve o próprio processo e provê outra informação opcional associada com a administração (data de criação, autor, etc. ) da definição do processo ou a ser usada durante a execução do processo (parâmetros de iniciação, pessoa a ser notificada, etc). Esta entidade é um recipi- ente do próprio processo e provê informação que está relacionada como todas as outras en- tidades no processo.

Atividade de Processo de Workflow (Workflow Process Activity): uma definição de pro- cesso consiste de uma ou mais atividades cada uma representando uma unidade lógica de trabalho dentro da definição do processo. Uma atividade representa trabalho que será reali- zado pela combinação de recursos (especificados mediante uma Especificação do Partici- pante do Workflow (Workflow Participant Specification)) e/ou de aplicações computadori- zadas (especificadas mediante uma Declaração da Aplicação de Workflow (Workflow Ap- plication Declaration) ). Estes recursos humanos e/ou máquinas são necessários para supor- tar a execução do processo. O uso de Dados Relevantes ao Workflow (Workflow Relevant Data) por parte da Atividade também pode ser especificado. Distinguem-se três tipos de Atividades:

• Atividade Atômica (Atomic Activity): é o caso normal e corresponde à menor uni- dade de trabalho que é especificada dentro do processo.

• Sub-fluxo (Sub-flow): é uma atividade recipiente para execução de uma definição de processo especificada separadamente e que pode ser executada localmente, dentro do mesmo serviço de workflow ou em outro serviço de workflow remoto.

• Loop: é uma atividade controladora para execução repetida de um conjunto de ativi- dades dentro da mesma definição de processo.

Informação de Transição (Transition Information): as atividades relacionam-se umas com as outras via condições de controle de fluxo (informação de transição) . Cada transição tem três propriedades: Atividade-Origem, Atividade-Destino, e a condição que deve ser satisfei- ta para que a transição seja realizada . Uma transição é uma simples alocação de rota. É um ponto durante a execução de uma instância do processo no qual uma atividade é completada e a linha (o thread) de controle passa para outra atividade, a qual se inicia. Uma transição pode ser governada por uma ou mais condições de transição.

Especificação do Participante do Workflow (Workflow Participant Especification): esta entidade provê a descrição dos recursos que podem agir como realizadores das várias ativi- dades de uma definição de processo. Os recursos particulares que podem ser associados com a realização de uma atividade específica são definidos como atributos da atividade - mediante uma designação do participante , a qual liga a atividade com o conjunto de recur-

sos que podem ser alocados a ela. Esse trabalho geralmente manifesta-se na forma de um ou vários itens de trabalho que são alocados ao participante do workflow via uma lista de tra- balho. O metamodelo descreve quatro tipos de recursos que podem ser definidos dentro da Especificação do Participante do Workflow: Unidade Organizacional, Pessoa/humano, Pa- pel/função e Recurso do Sistema/máquina.

Declaração da Aplicação de Workflow (Workflow Application Declaration): esta entida- de provê a descrição das aplicações ou interfaces que podem ser invocadas pelo servidor de workflow para suportar ou automatizar o processamento associado com cada atividade. A Declaração da Aplicação de Workflow é especificada como um atributo(s) da atividade – designação da aplicação. A Declaração da Aplicação de workflow reflete a interface entre a máquina de workflow e a aplicação ou interface incluindo os parâmetros a serem passados.

Dados Relevantes ao Workflow (Workflow Relevant Data): esta entidade define os dados que são criados e usados durante a execução de uma instância de processo. Estes dados es- tão disponíveis para as atividades e para as aplicações que são executadas durante o work- flow e podem ser usados para passar informação persistente ou resultados intermédios entre as atividades e/ou ser usados na avaliação das expressões condicionais nas transições ou na designação dos participantes. Os Dados Relevantes ao workflow são de um tipo particular, a linguagem de workflow define vários tipos básicos de dados. Estes dados são também usados pelo Sistema de Gerenciamento do Workflow para determinar as transições de esta- do nas instâncias de workflow.

Dados Ambientais e do Sistema (System & Environmental Data): estes são dados que são mantidos pelo Sistema de Gerenciamento do Workflow ou pelo ambiente do sistema local, mas que podem ser acessados pelas atividades do workflow ou usados pelo sistema de ge- renciamento na avaliação de expressões condicionais da mesma maneira que os Dados Re- levantes ao Workflow. Como tal, podem ser considerados como uma extensão dos Dados Relevantes ao Workflow

Modelo Organizacional (Organizational Model): em cenários mais sofisticados a Especi- ficação do Participante do Workflow pode se referir a um modelo organizacional externo à Definição de Processo de Workflow, que permita a avaliação de expressões mais complexas que incluam referências a funções do negócio e a entidades organizacionais. O modelo or- ganizacional representa as entidades organizacionais, seus atributos e relacionamentos.

2.1.1 Comentários

A total ausência, no modelo de definição de processo workflow da WfMC, de conceitos relacionados com eventos, limita o uso do modelo para especificar as definições de proces- so de workflow usando só, como mecanismo de controle do fluxo, a Informação de Transi- ção do tipo: Atividade de Origem, Atividade Destino e a condição que deve ser satisfeita

para que a transição seja feita. Fica fora a possibilidade de especificar o controle do fluxo baseado em eventos.

A linguagem da WfMC se enfoca basicamente à sintaxe dela mais que as descrições da semântica do processo. A linguagem não define construtores de roteamento que permitam expressar a semântica de controle que envolva um mistura de escolha e sincronização de diferentes transições. Por exemplo, a falta de um mecanismo conceitual para agrupar várias transições ou um grupo de Dados Relevantes do Workflow (Workflow Relevant Data) não permite declarar condições para especificar o fato de que a realização de ‘n’ entre ‘m’ (com n <= m ) transições, executando em paralelo, resultem na passagem para uma outra ativi- dade comum, como seguinte passo dentro do workflow:

O metamodelo de definição de processos da WfMC não é um metamodelo orientado a objetos e como tal não é compatível semanticamente com os conceitos do MetaMetaMode- lo de referência MOF na arquitetura de metamodelos de quatro níveis da OMG apresenta- do na seção 1.2.1 do capítulo 1.