DAS5316 BPMN (Exemplos e Exercícios) e UDDI Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010.
Roteiro BPMN Elementos core Padrões de modelagem Definição Exemplo Demonstração UDDI Definição Estrutura de dados Funcionamento Implementações Referências 2
Visão Geral Ambiente BPM&SOA Especificação BPMN BPEL Projetista Aplicações XML Catálogo Mecanismo descoberta SOAP UBL... UDDIs... Provedores de Serviços 3
Elementos Core BPMN Objetos de fluxo Eventos Atividades Gateways Objetos para conexão Seta Mensagem Associação Pools ou repositórios Raias (lanes) Artefatos Documentação Elementos que qualquer ferramenta para edição de processos BPMN deve possuir 4
Exemplo Elementos Core BPMN (1) Fonte: White (2004) 5
Exemplo - Elementos Core BPMN (2) 6
Exemplo - Core BPMN - completa 7
Padrões de Modelagem Execução de atividades concorrentes a) b) 8
Padrões de Modelagem Execução de atividades concorrentes c) 9
Padrões de Modelagem Sincronização a) Primeiro mecanismo b) Segundo mecanismo 10
Padrões de Modelagem Exemplo de uso gateway de sincronização 11
Padrões de Modelagem Escolha exclusiva (if) 12
Padrões de Modelagem Junção simples 13
Padrões de Modelagem Exemplo, usando junção simples 14
Padrões de Modelagem Junção simples (melhor prática) 15
Padrões de Modelagem Escolha múltipla (case) a) 16
Padrões de Modelagem Escolha múltipla (case) b) 17
Padrões de Modelagem Descriminador If task2 or task3 is completed 18
Padrões de Modelagem N saídas com M entradas 19
Padrões de Modelagem Junção sincronizada Sincroniza fluxos de saída/entrada 20
Padrões de Modelagem Repetição 21
Padrões de Modelagem Ciclos arbitrários Define-se um conjunto de tarefas que podem se repetir em função de condições. 22
Padrões de Modelagem Subprocesso 23
Padrões de Modelagem Subprocesso: Credit Card Authorization 24
Padrões de Modelagem Subprocesso: Bookings 25
Padrões de Modelagem Escolha baseada em evento 26
Padrões de Modelagem Conjunto de atividades executadas em qualquer ordem 27
Padrões de Modelagem Ponto de controle 28
Padrões de Modelagem Exceções 29
Exemplo Evento timer 30
Ferramentas BPMN DEMONSTRAÇÃO 31
DAS5316 UDDI Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010.
Visão Geral Ambiente BPM&SOA Especificação BPMN BPEL Projetista Aplicações XML Catálogo Mecanismo descoberta SOAP UBL... UDDIs... Provedores de Serviços 33
Introdução Número de serviços vêm crescendo e tendem a crescer mais em número Onde guardar estes serviços Compartilhar e reusar O que deve ser compartilhado ou publicado Como encontrar serviços Quais funções de pesquisa devem ser disponibilizadas Iniciativas particulares Difíceis de serem mantidas Atualização em relação a demanda Tempo Recursos... A alternativa é UDDI 34
UDDI Universal Description, Discovery and Integration (UDDI) É uma especificação que define características dos serviços que podem ser publicadas e recuperadas Provedores podem publicar serviços Consumidores podem usar UDDI para encontrar serviços. 35
UDDI Além das características advindas das versões anteriores, a versão 3 do UDDI permite registrar serviços como: Público: serviços podem ser compartilhados e acessados por qualquer organização. Este tipo de registro pode ser comparado a um Web Site onde qualquer pessoa ou organização de posse do endereço do Web Site pode acessá-lo. Interno: semelhante a uma Intranet, dados e serviços são compartilhados de forma exclusiva por uma organização. Neste tipo de registro, por exemplo, é possível que sejam realizados testes antes que um serviço seja efetivamente distribuído. Isto facilita o processo de desenvolvimento de novas aplicações, pois eventuais erros podem ser descobertos antes de um serviço ser ofertado. Semi-privado similar a uma Extranet, parceiros de negócio podem estar compartilhando serviços com vistas ao desenvolvimento de novos produtos ou serviços. 36
UDDI UDDI A informação base de registro UDDI: Páginas brancas: contêm o endereço, pessoas de contato e outros identificadores relativos ao negócio onde a empresa atua; Páginas amarelas: incluem categorizações industriais baseados na organização do serviço; Páginas verdes: Contêm informações técnicas sobre os serviços expostos pelo provedor. 37
UDDI Estrutura de Dados Estruturas de dados: businessentity Contém informações de quem fornece o serviço businessservice Contém informações descritivas de um serviço em particular bindingtemplate Contém informações de como invocar um serviço tmodel Descreve especificações técnicas implementadas pelo serviço 38
UDDI Exemplo Entrada 39
UDDI - API Em um UDDI, a pesquisa é realizada através de um conjunto de funções, presentes na API-UDDI, que permite realizar buscas com base em dois conjuntos de operações: prefixo get (por exemplo: get_businessdetail, get_servicedetail, get_bindingdetail e get_tmodeldetail), cuja função é recuperar uma entidade em particular. prefixo find (find_business, find_service, find_binding e find_tmodel) que recupera um conjunto de entidades ou serviços web. 40
UDDI Como Trabalha 41
UDDI - Implementações http://ws.apache.org/juddi/ 42
UDDI - Implementações GSigma Java IDE NetBeans MySQL Windows Compatível com padrão UDDI Web service Cliente para publicação Cliente para busca Estendido Qualidade de serviço (QoS) Ontologia (Protégé) Entradas e saída 43
UDDI - Implementações DEMONSTRAÇÃO 44
Implementação: Exemplo Aplicação é composta com base em sucessivas descobertas de serviços. 45
Visão Geral Ambiente BPM&SOA Especificação BPMN BPEL Projetista Aplicações XML Catálogo Mecanismo descoberta SOAP UBL... UDDIs... Provedores de Serviços 46
DAS5316 BPMN (Exemplos e Exercícios) e UDDI Dúvidas? Prof. Ricardo J. Rabelo (rabelo@das.ufsc.br) Responsável pela elaboração dos slides Alexandre Perin (perin@das.ufsc.br) Florianópolis (SC), 2010.
Bibliografia consultada OMG. BPMN Specification - Business Process Modeling Notation v 1.2. Disponível em http://www.omg.org/ OASIS. UDDI Specification V 3.0.2. 2004. Disponível em: <http://www.oasisopen.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.2-20041019.htm> 48