Workflow Management Systems



Documentos relacionados
Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

WebSphere MQ. Bruno Miguel de Sousa Gonçalves

INTEGRADOR DE MENSAGENS CORPORATIVAS PARA UMA INFRA-ESTRUTURA DE ELETRONIC DATA INTERCHANGE (EDI)

Disciplina de Redes de Computadores Estudo Dirigido para a Prova II Professor Dr Windson Viana de Carvalho

Introdução ao RUP Rational Unified Process. por Denize Terra Pimenta Outubro/2004

Voxtron Communication Center QuickStart

Princípios de Sistemas Distribuídos. Tecnologias utilizadas em sistemas distribuídos Aula 5

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Guia de utilização da notação BPMN

UFG - Instituto de Informática

Desenvolvimento Cliente-Servidor 1

Gestão de projectos na Web

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Administração de Sistemas de Informação I

Aula 03-04: Modelos de Sistemas Distribuídos

Oracle WebLogic Server 11g: Conceitos Básicos de Administração

UFG - Instituto de Informática

Gestão patrimonial e a Lei de Responsabilidade Fiscal na Contabilidade Pública, utilizando um software com tecnologia

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Sistemas Empresariais Integrados

Serviços Web: Arquitetura

sendo bastante acessível e compreendido pelos usuários que o utilizarem.

A Importância de gerir ficheiros nas Organizações

Conceito de Rede e seus Elementos. Prof. Marciano dos Santos Dionizio

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

4.4. UML Diagramas de interacção

UNIVERSIDADE. Sistemas Distribuídos

Projeto FlexiGrid IWA. Sistema de Armazenamento e Comunicação de Imagens

PADRÃO PARA MONITORAMENTO DE APLICATIVOS PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ

Introdução a Web Services

Adriano Reine Bueno Rafael Barros Silva

UM BENCHMARK PARA SISTEMAS DE GERENCIAMENTO DE WORKFLOW. Fagundes Pereira da Silva

PROCESSOS DE NEGÓCIOS: UMA VISÃO GERAL

Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos - 2º Ano

Introdução. Software (Parte I)

A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI.

Projuris Enterprise Visão Geral da Arquitetura do Sistema

EP018 O produto Internet e suas Aplicações BPMStar Browser Star - Sistema BPMSTAR para Internet. BPMStar. : Sandra Mattos Malaquias.

Computação Orientada aos Serviços. WF (parte 1) Semestre de Inverno 12/13

Manual de instalação, configuração e utilização do Enviador XML

MODELIX SYSTEM SOFTWARE DE PROGRAMAÇÃO DE ROBÔS

Questão 2 (5 valores)

O Gerenciamento de Documentos Analógico/Digital

3. Faça uma breve descrição sobre a topologia da rede e o Active Directory-AD DISCIPLINA DE ARQUITETURA FECHADA WINDOWS SERVER

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

SISTEMAS DISTRIBUIDOS

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

CONCEITOS BÁSICOS DE UM SISTEMA OPERATIVO

1. O DHCP Dynamic Host Configuration Protocol

Arquiteturas de Sistemas Distribuídos

Simulação de Redes de Comunicação

Java Beans e Servlets

Sistemas Operacionais. Prof. André Y. Kusumoto

Prefeitura Municipal de Águas Lindas de Goiás GO ANEXO IV CENTRO DE CONTROLE OPERACIONAL E SISTEMA DE BILHETAGEM ELETRÔNICA

2 Ferramentas Utilizadas

Questão 1. Benefícios. Benefícios. Desafios. Desafios. 1. Quais são os desafios e benefícios em potencial da computação distribuída?

Genio desafios. O Genio entre os novos paradigmas da engenharia do software. quidgest@quidgest.com

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prof. Jhonatan Fernando

UFG - Instituto de Informática

BPM e SOA. Grinaldo Lopes de Oliveira (grinaldo@gmail.com) Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas

O que esperar do SVE KIT INFORMATIVO PARTE 1 O QUE ESPERAR DO SVE. Programa Juventude em Acção

Guia do Usuário. idocs Content Server v

Especificação Técnica Sistema ABS TEM+

Computação II Orientação a Objetos

Tópicos Especiais em Redes de Telecomunicações

Web Technologies. Tópicos da apresentação

Material de Apoio. Sistema de Informação Gerencial (SIG)

MODELAGEM E SIMULAÇÃO

Figura 1: Como um PABX IP se integra na Rede. PSTN, em português, é Rede de Telefonia Pública Comutada.

UNIDADE III JAVA SERVER PAGES

Implementando uma Classe e Criando Objetos a partir dela

Descrição do Produto. Altus S. A. 1

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Cláusula 1.º Objecto. Cláusula 2.º Especificação da prestação

exercícios - cap Construa uma máquina de estados que ilustre os requisitos de uma máquina multibanco (levantamento de dinheiro)

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DO DESENVOLVIMENTO, INDÚSTRIA E COMÉRCIO EXTERIOR INSTITUTO NACIONAL DA PROPRIEDADE INDUSTRIAL

Workflow: Adicionando Coordenação das Atividades. Fábio Bezerra

Processos de gerenciamento de projetos em um projeto

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Transcrição:

Workflow Management Systems João Sequeira Tecnologias de Middleware 28 Outubro 2004

Plano de Apresentação Introdução O que são WfMS Background Histórico Definição de Sistemas de Workflow Execução de um Sistema de Workflow O Standard Definido pela WfMC (Workflow management Coalition) Modelo de Referência da WfMC Programação com Sistemas de Workflow Integração Com Outras plataformas Middleware Benefícios e Limitações dos WfMS

Plano de Apresentação Características do IBM WebSphere MQ Workflow V3.5 Estrutura Interna do MQ Workflow Componentes do MQ Workflow Componentes do Servidor Componentes do Cliente Usando o MQSeries Workflow Definição do Exemplo Usando o MQSeries Workflow Buildtime Usando o MQSeries Workflow Runtime Programando com as APIs fornecidas Criando um Processo Programa externo que pode ser chamado durante um workflow

Parte I Modelo Teórico

O que são WfMS (Workflow Management Systems)? Workflow É a automatização de um processo de negócio, no seu todo, ou em parte, onde documentos, informação ou tarefas são passadas entre os diversos participantes, de acordo com um conjunto de regras procedimentais. Workflow Management System (Sistema de gestão de Workflow) É um sistema que,define, cria e gere a execução de um ou vários Workflows, através do uso de software.

Background Histórico Origem com o Office Automation, baseados em e-mail, que mais tarde evoluíram para sistemas baseados na web. Denominados Workflows Administrativos Aumento da necessidade de integrar aplicações leva a utilização de WfMS para definição da lógica de negócio tornando-se nos Workflows de produção Limitações nos sistemas de workflow levaram à sua integração com outras plataformas de EAI, como Message Brokers e afins

Definir um sistema de workflow Nó de Trabalho Os Nós de Trabalho representam items de trabalho que devem ser executados quer por um recurso humano quer automático. Nó de Encaminhamento Nós de encaminhamento definem a ordem pela qual os items de trabalho devem ser executados, e permitir a definição da activação de nós de trabalho em paralelo ou mediante determinadas condições. Nós de inicio e fim Os Nós de inicio e de fim denotam o inicio ou o fim de um determinado fluxo de trabalho.

Definir um sistema de workflow Figura: Processo da encomenda

Execução de um Sistema de Workflow 1. Obter a informação do processo da base de dados 2. Activa os nodos a serem executados. Caso seja um nó de encaminhamento, avalia-o e activa o proximo. 3. Selecciona o recurso e envia-lhe a tarefa. 4. Quando o Recurso está disponível processa a tarefa.

Modelo de Referência da Workflow Management Coalition Figura: Modelo de Referência de Workflow

Workflow Enactment Services Workflow Enactment Service Um serviço de software que consiste num ou mais motores de workflow com o objectivo de criar, gerir e executar instâncias de workflow. As diversas aplicações podem interagir com este serviço pela Workflow Application Programming Interface (WAPI).

Motor de Workflow Workflow Engine Um Serviço de software ou Motor que disponibiliza o ambiente de execução para uma instância de workflow Permite: Interpretação da definição do processo Controlo de instâncias de processos Navegação entre as várias actividades do processo Entrada e saída dos participantes Identificação de items que requerem atenção do utilizador Manutenção dos dados relativos ao workflow, e encaminhamento destes entre os vários participantes Uma interface com capacidade de invocar aplicações externas Acções de supervisão, administração e auditorias.

Process Definition Interface (Interface 1) Figura: Modelo de Referência de Workflow(Pormenor)

Meta-modelo de Definição de Processos Figura: Meta-Modelo Básico de Definição de processos

Workflow Client Application Interface (Interface 2) Figura: Modelo de Referência de Workflow(pormenor)

Invoked Applications Interface Figura: Modelo de Referência de Workflow(Pormenor)

Workflow Interoperability (Interface 4) Figura: Modelo de Referência de Workflow(Pormenor)

Administration And Monitoring Interface (Interface 5) Figura: Modelo de Referência de Workflow(Pormenor)

Programação com Sistemas de Workflow Semelhante a linguagens de 3a geração Invocar Funções de acordo com uma lógica de Fluxo Condições e ciclos Declaração de Variáveis No entanto... Longa duração (horas ou mesmo dias) Módulos de grandes dimensões e complexos Necessitam de se integrar com o que já existe Necessitam de um forte suporte à recuperação de faltas

Suporte a Faltas dos Sistemas de Workflow Forward Recovery Backward Recovery Linguagens com tratamento de excepções Definição de prazos

Integração Com Outras plataformas Middleware Possuem características de monitores transaccionais Qualquer WfMS possui pelo menos um ORB ou MOM Plataformas Middleware (EAI) tornam o sistema homogéneo, e os WfMS mantém a lógica organizacional e da integração dos sistemas Pode então ter-se um WfMS em cima de um Broker de Mensagens, sendo o broker o único recurso para o WfMS e estando responsável pela distribuição das tarefas (Mensagens)

Benefícios e Limitações dos WfMS Benefícios: Fácil codificação do processo de negócio, quando composto por aplicações de baixa granulosidade e interacções com os utilizadores Proporciona um processo rápido de desenho e manutenção, bem como tratamento de falhas e excepções Desenho do sistema tipicamente por ambiente gráfico que facilita a transposição dos processos de negócio Limitações: Difíceis de implementar Não cumpriam expectativas Licenças muito caras Onde se provavam úteis já existiam aplicações middleware para suportar esses casos.

Parte II Um Exemplo Real - IBM Websphere MQSeries Workflow

Características Suporte a processos de negócio de longa duração Fornece integração de processos, com amplo suporte a interacções por parte de utilizadores Permite um ambiente único com capacidade de integrar sistemas e pessoas Oferece uma ampla conectividade, com suporte para XML, J2EE, C, C++ Permite integração com o WebSphere Business Integration Modeler and Monitor, para análise, simulação e monitorização de melhoramentos no processo.

Estrutura Interna do MQ Workflow Figura: Estrutura interna do MQ Workflow

Modelo do Servidor Figura: Componentes do Servidor MQ Workflow

Modelo do Cliente Figura: Componentes do cliente do MQ Workflow

Definição do processo de Workflow Figura: Processo da encomenda

MQSeries Buildtime Figura: MQSeries Workflow Buildtime - GUI (Vista da Rede)

Definindo o Staff Figura: MQSeries Workflow Buildtime - GUI (Staff)

Definindo estruturas de dados Figura: Vista da nova estrutura de dados Figura: Propriedades de uma estrutura de dados

Definindo Programas a usar Figura: Tipos de Dados a tratar Figura: Propriedades de definição de um programa - WindowsNT

Modelando o Processo Figura: Processo de Encomenda já completo

Modelando o Processo Figura: Propriedades de uma actividade

Vista Geral Figura: MQSeries Workflow Client

Work Item Figura: Worklist Mostrando um Item

Código Java usando a API do MQSeries Workflow import com.ibm.workflow.api.*; // import the workflow API s import com.ibm.workflow.api.servicepackage.*; Agent agent = new Agent(); int locator = Agent.RMI LOCATOR String name = MQWFAGENT ; agent.setlocator(locator); agent.setname(name); ExecutionService service = agent.locate(, ); service.logon2(userid, passwd, SessionMode.PRESENT HERE,AbsenceIndicator.LEAVE ); ProcessTemplate[] proctempl = service.queryprocesstemplates( NAME = OrderFulfillment, NAME, myint); // get the input container ReadWriteContainer inputcontainer = proctempl[0].incontainer(); // fill the input container: field CustID inputcontainer.setstring( CustID, Order.custID); // create and start a process instance and pass input container ProcessInstance procinst = proctempl[0].createandstartinstance2(,,, inputcontainer, false); // log off from MQW service.logoff();

Código C usando a API do MQSeries Workflow //header files da API #include <fmcjcrun.h> //Inicializa a API, é obrigatório e deve ser a 1a chamada num programa rc = FmcjGlobalConnect(); //Obter o input container //Esta chamada é obrigatória se houver dados de input rc = FmcjContainerInContainer( &hdlinctnr ); //Obter o output container (opcional) rc= FmcjContainerOutContainer( &hdloutctnr ); //Obter uma string do input Container rc = FmcjContainerStringValue( hdlinctnr, CustID, CustomerID, 5 ); //Obter informações sobre os dados do input container len = FmcjContainerStringLength( hdlinctnr, CustID ); Escrever para um output container rc=fmcjreadwritecontainersetstringvalue(hdloutctnr, CustID,Customer,42); //Enviar o output container para o PEA rc = FmcjContainerSetOutContainer( hdloutctnr ); //Finalizar as ligações, etc rc = FmcjGlobalDisconnect();

Parte III Perguntas?