- O documento discute process mashups, que são aplicações capazes de representar processos de negócio inteirinhos ou partes deles de forma simples. Isso é feito combinando dados e aplicações de diferentes fontes.
- Os autores propõem um modelo tridimensional para classificar os tipos de process mashups de acordo com o suporte a múltiplos usuários, múltiplas páginas e workflows.
- Ferramentas existentes como Gravity e ServFace Builder permitem a criação de alguns tipos simples de process mashups, mas
Process Mashups: Key Ingredients and Open Research Challenges
1. SOA - Leonardo Azevedo
Process Mashups
Toward Process Mashups: Key Ingredients and
Open Research Challenges
Autores: Florian Daniel, Agnes Koschmider, Tobias Nestler, Marcus Roy, Abdallah Namoun.
Antonio Pimenta
2. Sumário
● Aplicações Situacionais
● O que Mashup
● Processos de negócio
● Process Mashup
● Modelo Tridimensional
● Tipos de mashups
● Conclusão
3. Aplicações situacionais
● O termo Mashup está contido no contexto
das aplicações denominadas “situacionais”.
● Aplicações desenvolvidas por usuários finais
para resolver problemas do dia-a-dia de
caráter emergencial.
● Difícil desenvolvê-las em tempo hábil
utilizando os processos tradicionais.
○ Planilha para gerenciar um seminário, uma
calculadora de horas extras, sistema de marcação
de férias. 1
4. O que é mashup?
● Ideologia Web 2.0, prega a interação e
colaboração entre usuários, e princípio da
web como plataforma.
● Técnica que combina dados corporativos
heterogêneos e apps de múltiplas fontes
para criar rapidamente uma nova aplicação
com experiência mais completa e integrada.
● Uma mistura de dados internos com
aplicações com dados de origem externa.
2
5. Mashups
● O desenvolvimento de mashups é mais fácil
e flexível do que os métodos tradicionais.
● Utilizam modelos de desenvolvimento de
baixa maturidade e são construídos de
maneira artesanal.
● Geralmente são compostos de uma única
página e não permitem multiplos usuários.
3
6. Mashups
● Ferramentas como o Yahoo! Pipes permitem
que usuários pouco experientes criem
aplicações web simples compostas por
partes de outras páginas da web e dados de
outros serviços da web.
4
8. Processo de negócio
● Um processo de negócio é um conjunto de
atividades que pode ser representado em
linguagem visual.
● Um workflow é uma parte executável de um
processo. Ele é composto de atividades
principais e tarefas que precisam ser
gerenciadas por usuários de papeis
diferentes.
● Um workflow associa tarefas a usuários e os
guia através das tarefas. 6
9. Processos de negócio com
mashups
● Seria interessante utilizar toda essa
simplicidade e flexibilidade para permitir que
usuários da área de processos de negócio
pudessem criar mashups para automatizar
suas tarefas.
● Estas aplicações são os Process Mashups.
● Aplicação capaz de representar um
processo de negócio como um todo ou uma
parte dele.
7
10. Process Mashups
● Porém, um simples mashup como o
mostrado não é suficiente para caracterizar
um process mashup.
● Um process mashup deve permitir acesso
de usuários de papeis diferentes, dar
suporte a navegação entre múltiplas páginas
conectadas e também dar suporte a criação
de fluxos de tarefas.
8
11. Modelo tridimensional
● Os autores criaram “modelo tridimensional”
onde classificam os tipos de mashups
existentes.
● Cada eixo do modelo representa uma
característica do process mashup.
● Múltiplos usuários, múltiplas páginas e
suporte a workflow.
9
13. Múltiplos usuários
● Em processos de negócio as tarefas são
associadas a usuários ou a papeis.
● Por isso, um process mashup deve permitir
diferentes usuários operando
concorrentemente uma mesma instancia.
● Isso envolve controle de acesso. Onde
apenas usuários do sistema podem ter
acesso ao conteúdo.
● E acesso baseado em papeis. Cada papel
enxerga apenas o que precisa em cada tela.11
14. Múltiplas páginas
● Em processos de negócio, geralmente, cada
tarefa representa uma página no sistema.
● Por isso, process mashups deve ser capaz
de organizar e integrar páginas em uma
hierarquia permitindo acesso via links.
● E também deve ser capaz de guardar o
estado de cada página navegada.
12
15. Suporte a workflow
● Workflows são essenciais para o
mapeamento das tarefas de um processo de
negócio.
● Criação de fluxos de tarefas e o controle
desses fluxos de maneira fácil.
● Definição de sequências, branchs e
execução condicional.
● Deve permitir que os dados possam trafegar
entre as tarefas.
13
16. Os tipos de mashup
● Para caracterizar cada tipo de mashup
básico, os autores utilizam como exemplo
uma aplicação para marcação de férias.
● Além disso, eles apresentam as ferramentas
existentes capazes de criar mashups de
cada tipo.
14
17. Simple Mashups
● É o caso mais comum e mais estudado.
● Seguindo o exemplo, com ele é possível
criar uma página que mostre uma visão
integrada de todas as solicitações de férias
dos empregados da empresa.
15
19. Multi Page Mashups
● Multiplas páginas que trocam dados.
● Poderia mostrar uma lista com todas as
solicitações de férias em uma página e ao
clicar em uma das linha uma nova página é
aberta detalhando a solicitação. 17
20. Multi Page Mashups
● FAST, editor visual que permite a conexão
de gadgets que tem dados de entrada e
saída.
18
21. Guided Mashups
● É capaz de guiar o usuário através de suas
tarefas. Depois de uma entrada do usuário,
o mashup oferece a próxima tarefa.
19
22. Guided Mashups
● O empregado digita o nome.
● O sistema verifica se ele tem direito a férias.
● Em caso positivo o empregado pode
selecionar o tipo de férias que quer tirar.
● Depois disso o empregado pode selecionar
em um calendário o período das férias.
● Se não existir conflito com o período de
nenhum outro empregado o botão “Marcar
férias” aparece.
20
23. Page Flow Mashups
● As aplicações são desenhadas como um
conjunto de páginas conectadas através de
um fluxo de navegação que simula o fluxo
entre as tarefas do processo de negócio.
21
24. Page Flow Mashups
● Provê uma página onde o gerente consegue
ver uma lista de todas as solicitações de
férias dos funcionários.
● Também é oferecida uma outra página que
detalha as solicitações de férias do
departamento do funcionário, para ajuda-lo
a tomar a decisão.
● ServFace Builder, permite que não-programadores
criem as páginas e o fluxo
entre elas. 22
25. Shared Page Mashup
● Vários usuários interagindo em uma mesma
página.
● Uma página de venda de algum produto
onde os usuários podem trocar informações
através de um chat. 23
26. Shared Space Mashup
● Permite que os usuários compartilhem um
mesmo espaço de trabalho.
● O empregado pode criar a requisição de
férias, enviar para o gestor, que pode
aprovar ou ajustar o período e devolver para
o empregador. 24
27. Shared Space Mashup
● O IBM Mashup Center uma ferramenta que
mostra rapidamente informações
consolidadas em uma única visão.
25
28. Cooperative Mashups
● Os empregados podem acessar ao mesmo
tempo a lista de solicitações de férias e
resolver, caso exista, conflitos com as férias
de outro funcionário do mesmo
departamento.
26
29. Cooperative Mashups
● O Gravity é um editor visual que permite a
criação de fluxos do processo de negócio
com suporte a multiplos usuários.
27
30. Process Mashups
● Um mashup com uma mistura de páginas que
permitam ao funcionário pesquisar o dia que
tem o voo mais barato, o hotel disponível e sem
conflito com outro funcionário.
● Essa combinação gera uma requisição para o
gerente aprovar ou não. 28
31. Process Mashups
● MarcoFlow é uma plataforma baseada no
conceito de orquestração distribuída de
interfaces que se aproxima do que é
necessário para produzir Process Mashups.
● Na mesma plataforma está disponível a
ferramenta de design, implantação e
execução.
29
33. Conclusões
● O ponto chave do desenvolvimento de
mashups é encontrar a plataforma mais
adequada.
● Uma plataforma mashup é um ambiente de
composição e de execução de aplicações
que deve abranger todas as três camadas
de um software (dados, lógica e interface).
● Deve ser fácil de usar e focada nos usuários
finais (sem habilidades de programação).
31
34. Conclusões
● Porém uma ferramenta ideal não existe.
● Porque é difícil encontrar o equilíbrio entre o
número de funcionalidades que a plataforma
oferece e a facilidade de ser usada por não-programadores.
● Saber escolher a que mais se enquadra nas
necessidades.
32
35. Conclusões
● Os autores acreditam que os process
mashups não vão substituir os sistemas
gerenciadores de processos.
● Pelo contrário, eles vão incrementar suas
capacidades e criar novas oportunidades
pelo adoção dos mashups no ambiente
empresarial.
33