• Nenhum resultado encontrado

Os mediadores para integração de processos

3.2 O método para definir a arquitetura de processo

3.3.2 Os mediadores para integração de processos

Os mediadores são os intermediários para auxiliar na integração de processos quando há divergências entre os termos do vocabulário do domínio da arquitetura processo, entre os modelos dessa arquitetura, entre os protocolos de interação ou entre sistemas de informação utilizados na execução das atividades dos processos ou na automação dos processos. O grau de distinção entre esses termos, modelos, sintaxe e semântica dos protocolos e sistemas de informação das fábricas de software define a intensidade de uso dos mediadores.

85

A Figura 23 contém uma representação esquemática da abrangência da integração de processos considerando a fábrica de software definida por um conjunto de processos. A integração ocorre entre processos estratégicos, gerenciais e operacionais, abrangendo desde aspectos estratégicos do negócio até os sistemas de informação utilizados.

Figura 23 - Integração de processos entre fábricas de software

Para atender aos aspectos distintos da integração de processos, como o vocabulário do domínio, os modelos de processos, a execução dos processos e sistemas de informação, foram definidos tipos de mediadores. Cada tipo de mediador possui o seu próprio formato. A atuação do mediador está sujeita às políticas implementadas pelas fábricas de software. Todos os níveis de mediação na Figura 24 atuam em cada um dos tipos de processo na Figura 23.

Figura 24 - Níveis de mediação na integração de processos

A separação de funcionalidades e o tipo de semântica para o mediador foram os FábricadeSoftware A Processos Estratégicos Processos Gerenciais Processos Operacionais Mediadores Mediadores Mediadores Fábrica de Software B Processos Estratégicos Processos Gerenciais Processos Operacionais Domínio e contexto Modelo do processo Execução do processo Sistemas informação Fábrica de Software A Objeto processo Domínio e contexto Modelo do processo Execução do processo Sistemas informação Fábrica de Software B Objeto processo

Mediador de termos e definições Relacionar (termo x; termo y)

Mediador de termos e definições Relacionar (definição a; definição b)

Mediador de protocolos Mediar (protocolo i; protocolo j)

middleware

86

critérios utilizados para definir os níveis de mediação representados na Figura 24. Esses critérios foram auxiliados pelo trabalho de Borsoi et al. (2006), pelos níveis de interoperabilidade entre workflows (SALAH; MAHMOUD; NACER, 2005) e pelas visões do RM-ODP (ISO/IEC, 1996).

A área com hachuras da Figura 24 representa a integração relacionada ao objeto processo e os mediadores definidos neste trabalho. A seguir está a explicação dos níveis de medição que estão representados na Figura 24 e o formato dos seus mediadores.

No nível de domínio e contexto, a mediação entre modelos de processos ocorre pelo relacionamento entre termos que compõem o vocabulário do domínio contextual da arquitetura de processo. A integração de termos relaciona palavras distintas, mas que possuem o mesmo significado, por exemplo, ator e agente para designar o executor de um papel. Distinções entre termos podem ocorrer entre os domínios contextuais das fábricas de software integradas ou das fábricas com os termos que definem os modelos de processos padrão.

No nível de modelo do processo, a mediação ocorre pelo relacionamento entre definições utilizadas nas representações dos modelos. Definições são expressões ou conceitos utilizados para representar os modelos da arquitetura de processo. A integração de definições relaciona definições distintas que possuem o mesmo objetivo, por exemplo: elicitar requisitos e definir características, para expressar o levantamento dos requisitos do sistema. Distinções entre definições podem ocorrer entre os modelos da arquitetura operacional das fábricas de software integradas ou destes com as definições que estão nos modelos de processos padrão.

A mediação de termos e definições ocorre por meio do relacionamento entre termos distintos e entre definições distintas, mas que se possuem o mesmo objetivo, finalidade ou significado. Assim, os mediadores de termos e de definições possuem a mesma representação sintática. A diferença está na semântica do que é relacionado: termos ou definições.

No nível de execução de processo, a mediação ocorre entre os protocolos que realizam a troca de mensagens. Um protocolo pode ter sintaxe e/ou semântica distintos para o emissor e o receptor. Sendo necessário um mediador para que a mensagem seja compreendida.

No nível de sistemas de informação estão os sistemas de informação que automatizam o gerenciamento e a execução dos processos e as ferramentas computacionais utilizadas na realização das atividades, como editores de texto, linguagens de modelagem e programação e planilhas eletrônicas de cálculo. A mediação no nível de sistemas de informação ocorre, por exemplo, por middleware ou por sistemas que realizam a conversão entre formatos de arquivos. Essa conversão é necessária, por exemplo, quando um editor de texto gera um arquivo em formato incompatível com o sistema utilizado para editar esse arquivo.

87

O Quadro 4 contém a representação proposta para os mediadores. Na representação do predicado e dos argumentos dos mediadores podem ser indicados o processo, suas subdivisões e componentes. O vínculo entre as partes do predicado ou dos argumentos é feito por meio de um “ponto”. Por exemplo, desenvolvimento análise, se refere à fase de análise do processo de desenvolvimento de software.

Mediador Descrição Representação

Mediador de termos e definições

Termo x equivale ao termo y Definição a equivale a definição b

Relacionar (termo x; termo y) Relacionar (definição a; definição b)

Mediador de protocolos Protocolo i é equivalente ao protocolo j

Mediar (protocolo i; protocolo j)

Mediador de sistemas

de informação Broker

, middleware Dependente da solução tecnológica

Quadro 4 - Mediadores e sua representação

O mediador de termos e definições provê o mapeamento entre distinções na terminologia de domínios ou contextos, definindo um referencial semântico comum às fábricas de software integradas e a terminologia utilizada pelos modelos de processos padrão, e para relacionar definições utilizadas nas representações dos mesmos modelos da arquitetura de processo por fábricas de software distintas. Esse mediador é uma espécie de dicionário de termos e definições que provê correspondência entre termos e entre definições equivalentes.

Os Quadros 5 e 6 contêm exemplos do mediador de termos e definições. No Quadro 5 é representada a equivalência entre termos utilizados por duas fábricas de software e os definidos nos modelos de processos padrão. Com o uso desse mediador, a integração ocorre mesmo que cada fábrica de software mantenha o seu vocabulário de domínio. No primeiro exemplo desse quadro, o mediador é utilizado três vezes para definir a equivalência.

Termo do modelo padrão Termo da Fábrica de Software A Termo da Fábrica de Software B Termo x equivale ao

termo y Relacionar (termo x; termo y)

Papel Ator Recurso

humano

Papel equivale a ator. Papel equivale a recurso humano. Ator equivale a recurso humano.

Relacionar (papel; ator) Relacionar (papel; recurso humano)

Relacionar (ator; recurso humano)

Atividade Atividade Tarefa Atividade equivale a tarefa.

Relacionar (atividade; tarefa)

88

No Quadro 6, o mediador de termos e definições trata distinções entre definições utilizadas em modelos de processos que possuem o mesmo objetivo, mas que pertencem a fábricas de software distintas. Os modelos considerados no exemplo representado nesse quadro possuem distinções semânticas entre definições que os compõem. O mediador faz o relacionamento entre essas definições estabelecendo que elas são equivalentes.

Fábrica de

Software A Software B Fábrica de Definição x equivale a definição y Relacionar (definição x; definição y)

Atividade de elicitação de requisitos do sistema Atividade de levantamento das características do sistema Atividade de elicitação de requisitos do sistema equivale à atividade de levantamento das características do sistema Relacionar (Processo de desenvolvimento Elicitação de requisitos; Processo de desenvolvimento Levantamento de características do sistema) Quadro 6 - Exemplo do mediador de termos e definições para relacionar definições

O mediador de protocolos é o intermediário que possibilita a interação entre protocolos que realizam uma mesma ação, mas possuem distinções sintáticas e/ou semânticas na definição dos seus predicados e/ou dos seus argumentos.

O Quadro 7 contém um exemplo de mediador de protocolos de interação. Nesse exemplo, a interface para a atuação do protocolo é uma reunião realizada em uma atividade da fase de análise do processo de desenvolvimento de software. A divergência entre os protocolos e que é tratada pelo mediador se refere aos protocolos definirem de maneira distinta a ação a ser realizada. As ações desses protocolos possuem o mesmo objetivo, apesar de estarem denominadas de maneira diferente. Desta forma, o mediador auxilia os protocolos para que eles possam interagir.

Descrição do

protocolo Protocolo da Fábrica de Software A Protocolo da Fábrica de Software B Mediar (protocolo i; protocolo j)

Reunião entre gerentes de projeto com o objetivo revisar documentos de análise AC = Realizar reunião AO = Gerente de projeto da Fábrica de Software A AD = Gerente de projeto da Fábrica de Software B OA = Documentos de análise para revisar CO = Requisitos do usuário e do sistema AC = Revisar artefatos AO = Gerente de projeto da Fábrica de Software A AD = Gerente de projeto da Fábrica de Software B OA = Documentos de análise para revisar

CO = Requisitos do usuário e do sistema Mediar (protocolo Fábrica de Software A; protocolo Fábrica de Software B)

89

O mediador de sistemas de informação provê a conversão entre formatos de arquivos gerados pelas ferramentas computacionais utilizadas pelas fábricas de software e a integração entre sistemas de informação para automação dos processos, como os workflows. Uma solução semelhante ao middleware para software proposto por Ferreira (2001) pode ser definida como mediador de sistemas de informação para processos.

O protocolo para interação e os mediadores de integração entre objetos processo apresentados nesta seção foram definido conceitualmente. Desta forma, apenas o seu formato conceitual foi estabelecido. Essa definição conceitual deve ser complementada quando da definição de ferramentas computacionais para automatizar o protocolo e os mediadores. Isto pode ser realizado na visão automação da arquitetura de processo.

Pelo apresentado nesta seção, a troca de mensagens entre objetos processo pode ser realizada diretamente, quando uma interface de um objeto processo envia um protocolo para a interface de um outro objeto processo e esta é compreendida; ou indiretamente, quando há necessidade de um mediador para que a mensagem seja compreendida. Esse mediador é um intermediário entre os objetos processo com a função de prover o entendimento do protocolo entre o objeto processo de origem e o objeto processo de destino.

As explanações feitas nesta seção permitem entender os processos das fábricas de software integradas como objetos processo distribuídos que interagem entre si por meio de troca de mensagens. Isto é feito por protocolos que atuam através das interfaces dos objetos processo. A integração é auxiliada por mediadores que abrangem desde os termos que representam o vocabulário do domínio e do contexto até as ferramentas computacionais utilizados na execução dos modelos de processos da arquitetura operacional.

Este capítulo apresentou o objeto processo como o elemento base da arquitetura de processo. A partir do objeto processo foram definidos os conceitos para estruturar e representar a arquitetura de processo. Um método foi proposto para definir as visões e os modelos da arquitetura de processo. O MOF (OMG, 2000) foi utilizado para organizar os resultados das etapas desse método. Um protocolo de interação foi definido para estruturar a comunicação entre os objetos processo. Mediadores foram definidos com o objetivo de prover a integração da arquitetura de processo quando há divergências entre os seus modelos e entre os sistemas de informação e ferramentas computacionais utilizados na realização das atividades dos processos e na automação dos processos.

90

4 Uso do método para definir a arquitetura de processo

Neste capítulo, o método definido no Capítulo 3 é utilizado para obter a arquitetura de processo conceitual, a arquitetura de referência e a arquitetura operacional. Os modelos da arquitetura de referência e operacional são utilizados nos experimentos reportados no Capítulo 5 e realizados com o objetivo de verificar a proposta deste trabalho.