7 Sistemas de Gerenciamento de Workflow
7.3 Exchange 2000 Server
Exchange 2000 Server permite construir aplicações que modelam e automatizam processos de negócio [MAR 2000]. Os benefícios oferecidos pelo Exchange são [MAR 2000, RIZ 2000]:
Tecnologia Web Storage System, permite o armazenamento de qualquer tipo de dado;
Endereçamento por URL para acessar dados, possibilita o armazenamento distribuído de informações;
Várias tecnologias de acesso a dados, tais como: ActiveX Data Objects (ADO), Collaboration Data Objects (CDO), Hypertext Transfer Protocol (HTTP), e eXtensible Markup Language (XML);
Suporte a eventos (eventos síncronos, assíncronos e de sistema);
Lógica de workflow, possibilitando o controle sobre o comportamento de um item em um folder.
A seguir serão descritas brevemente as características do Exchange consideradas mais importantes.
7.3.1 Active Directory
No Windows 2000, o Active Directory gerencia todas as informações dos usuários e dos grupos em um domínio Windows. Exchange 2000 entrega a responsabilidade de gerenciamento de usuários e caixas de correio ao Windows 2000 e ao Active Directory.
Como o Active Directory já gerencia as contas dos usuários do domínio, faz sentido que ele também gerencie as caixas de correio desses mesmos usuários [MAR 2000].
7.3.2 Web Storage System
No núcleo do paradigma de desenvolvimento para Exchange está o Web Storage System (WSS) [MAR 2000]. O Web Storage System possibilita interagir e gerenciar dados.
Cada WSS é organizado como um sistema de arquivos tradicional, isto é, como uma hierarquia de pastas, onde cada pasta pode conter itens. Itens podem ser arquivos padrão do Exchange, como: contatos, mensagens, compromissos ou arquivos mais complexos, como:
Active Server Pages, documentos Word e Planilhas Excel, e também outras pastas [MAR 2000].
O Web Storage System Schema é usado para definir todos os recursos que serão armazenados, tais como: pastas, itens e arquivos Web. Este esquema é uma compilação de propriedades pré-definidas que definem os atributos, tais como o nome de um recurso que deve ser exibido. Essas propriedades são manipuladas como colunas em uma tabela de uma base de dados relacional, e podem ser usadas para eficientemente organizar, indexar, classificar, visualizar e consultar os dados, usando a Linguagem de Consulta Estruturada (SQL) [MAR 2000].
O Web Storage System implementa um modelo de eventos para reagir às ações dos usuários [RIZ 2000]. Os eventos síncronos e assíncronos reagem à solicitação de dados.
Uma solicitação de dados pode ser a solicitação de um novo recurso, a alteração de um recurso já existente, a exclusão de um recurso, ou operações como mover ou copiar um recurso [MAR 2000].
Eventos síncronos disparam antes da solicitação de dados estar gravada no Web Storage System, enquanto que os eventos assíncronos ocorrem depois da solicitação estar gravada. Eventos de sistema não reagem a solicitações de dados, e disparam quando a base de dados inicia ou pára em um tempo particular [MAR 2000].
7.3.3 Acesso a Dados
Exchange usa o Web Storage System para armazenar recursos como itens e arquivos, e usa o Active Directory para armazenar e gerenciar os dados sobre as caixas de correio do Exchange. Para acessar os dados no Web Storage System podem ser usados as seguintes tecnologias: ActiveX Data Objects (ADO), Collaboration Data Objects (CDO), Hypertext Transfer Protocol (HTTP), e eXtensible Markup Language (XML). Para acessar dados do Active Directory, podem ser usado tanto o Active Directory Directory Service Interfaces (ADSI) como o CDO [RIZ 2000, MAR 2000].
7.3.4 Exibir Dados
Os dados do Exchange podem ser exibidos usando o Outlook 2000, o Microsoft Outlook Web Access e o Web Storage Systems Forms [MAR 2000].
Outlook 2000 pode ser utilizado como interface cliente do Exchange 2000.
Outlook Web Access (OWA) é um conjunto de componentes Web instalado junto com o Exchange 2000 Server. OWA é acessado por meio de um web browser, utilizando como endereço a localização da caixa de correio.
Web Storage System Forms oferecem funcionalidades de aplicações cliente customizadas, possibilitando a reutilização de componentes do OWA e a criação de páginas HTML ou ASP, para mostrar as informações armazenadas no Web Storage System [MAR 2000, RIZ 2000].
7.3.5 Workflow Designer
Workflow Designer é uma ferramenta gráfica que pode ser usada para construir processos de workflow [MAR 2000].
Um processo de workflow automatiza o controle de itens em uma pasta por movê-los através de uma série de estados, dependendo das ações e condições especificadas.
Aplicações de workflow criadas no Exchange podem rastrear qualquer tipo de item disponível no Microsoft Outlook, tais como: mensagens, formulários ou tarefas, e também qualquer tipo de arquivo, como documentos (.DOC), planilhas eletrônicas (.XLS), ou arquivos texto (.TXT) [MAM 2000].
A Figura 7.2 mostra a interface da ferramenta Workflow Designer.
FIGURA 7.2 – Interface da Ferramenta Workflow Designer
7.3.6 Compatibilidade entre o Exchange Server e a Arquitetura Proposta pela WfMC
Com o objetivo de verificar a compatibilidade entre o Exchange 2000 Server e a arquitetura proposta pela Workflow Management Coalition (WfMC), o Exchange foi analisado em relação os principais componentes da arquitetura genérica (Fig. 7.1). A seguir será descrito se o Exchange apresenta o componente descrito na arquitetura ou não apresenta.
Ferramenta de definição de processo
A ferramenta gráfica Workflow Designer for Exchange pode ser utilizada para construir processos de workflow em um folder de maneira rápida e fácil, quando se utiliza o Exchange Server.
Workflow Designer for Exchange é disponibilizada como parte do Office 2000 Developer Versão 1.5 e também no pacote do Exchange Server.
Essa ferramenta pode ser instalada em qualquer máquina cliente que esteja sendo usada pelo autor do workflow.
Definição do processo
Utilizando a ferramenta Workflow Designer é possível definir o processo de negócio. O suporte fornecido por esta ferramenta a definição dos processos é limitado, e muitas funcionalidades, tais como: envio de mensagens, recuperar, alteração e inserção de dados, precisam ser programadas em scripts utilizando a linguagem VBScript.
As mudanças de estado são feitas automaticamente pela ferramenta, apenas é necessário modelar os estados e indicar as transições de estado, juntamente com as condições para que a mudança ocorra.
Serviço de execução do workflow
O workflow engine controla as mudanças de estados dos itens armazenados em um folder, reagindo aos eventos e disparando as ações definidas no processo. Os dados relevantes ao workflow e os dados acessados pelos aplicativos são armazenados no Web Storage System.
Listas de Trabalho
A alocação de itens de trabalho a um participante tem que ser feita por meio de programação de ações em VBScripts.
Gerenciador da lista de trabalho e interface com o usuário
Os dados do Exchange podem ser exibidos usando o Outlook 2000, Microsoft Outlook Web Access e Web Storage Systems Forms [MAR 2000]. É necessário criar as interfaces e manter as listas de trabalho por meio de programação.
Aplicativos
Workflow Designer não oferece suporte a ativação de ferramentas. No experimento descrito no capítulo 8, a ativação de ferramentas é realizada por meio de links a documentos em páginas HTML. O Outlook 2000 é totalmente integrado com as ferramentas do Office, possibilitando ao usuário utilizar os documentos do Word ou planilhas do Excel como base para as aplicações de colaboração.
Supervisão
Para criar e registrar aplicações de workflow, usando o Exchange, é necessário que o usuário esteja registrado no servidor.
O Exchange 2000 Server facilita a definição dos processos de negócio a serem modelados por meio do uso de uma ferramenta gráfica. Nessa ferramenta é possível
especificar os estados do workflow, as transições de estados e as ações associadas a cada transição de estado.
Por outro lado, várias tarefas devem ser programadas, como a inserção e recuperação de dados do Web Storage System, envio de mensagens, ativação de ferramentas, etc.
8 Protótipo de um Ambiente de Gerenciamento de Projetos Baseado no Exchange Server
Este capítulo descreve o protótipo de um ambiente de apoio a um processo experimental criado usando Exchange Server, como servidor de colaboração, e o Processo Unificado estendido para suportar níveis 2 e 3 de CMM, como modelo de processo.
Este Ambiente de Gerenciamento de Projetos (AGP) é uma ferramenta de suporte ao processo baseada na Web, que melhora a coordenação, acompanhamento e troca de informação entre os membros de uma equipe de desenvolvimento. Um usuário usando um web browser pode acessar o AGP por meio de uma URL (Universe Resource Locator) específica.
Na seção 8.1 é descrito o processo de software modelado no Exchange. Na seção 8.2 é descrita a arquitetura do ambiente. Na seção 8.3 são descritos os casos de uso, na seção 8.4 os diagramas de classe e na seção 8.5 os diagramas de estado. Na seção 8.6 é descrito o protótipo implementado baseado no modelo de processo descrito na seção 8.1.
Na seção 8.7 é descrita a avaliação do protótipo com base em alguns requisitos considerados desejáveis em ambientes de apoio a processos de software.