SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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
Sumário 
● Aplicações Situacionais 
● O que Mashup 
● Processos de negócio 
● Process Mashup 
● Modelo Tridimensional 
● Tipos de mashups 
● Conclusão
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
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
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
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
5
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
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
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
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
10
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
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
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
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
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
Simple Mashups 
● Yahoo! Pipes e MashArt Editor. 
16
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
Multi Page Mashups 
● FAST, editor visual que permite a conexão 
de gadgets que tem dados de entrada e 
saída. 
18
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
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
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
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
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
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
Shared Space Mashup 
● O IBM Mashup Center uma ferramenta que 
mostra rapidamente informações 
consolidadas em uma única visão. 
25
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
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
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
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
Eclipse BPEL 
30
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
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
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
Obrigado. 
?

Mais conteúdo relacionado

Semelhante a Process Mashups: Key Ingredients and Open Research Challenges

Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Luiz Arthur
 
Desenvolvimento de ferramenta para automação de tarefas
Desenvolvimento de ferramenta para automação de tarefasDesenvolvimento de ferramenta para automação de tarefas
Desenvolvimento de ferramenta para automação de tarefasEverton V. Tavares
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsCloves Moreira Junior
 
Relatório guiadomotorista (1)
Relatório guiadomotorista (1)Relatório guiadomotorista (1)
Relatório guiadomotorista (1)Thiago Feldhaus
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Anderson Kanegae Soares Rocha
 
Ms project final
Ms project   finalMs project   final
Ms project finalDudu Costa
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Luiz Arthur
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetosLP Maquinas
 
Prototipagem Em Papel
Prototipagem Em PapelPrototipagem Em Papel
Prototipagem Em Papelelliando dias
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endTalita Pagani
 

Semelhante a Process Mashups: Key Ingredients and Open Research Challenges (20)

Prototipagem
PrototipagemPrototipagem
Prototipagem
 
Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)
 
Desenvolvimento de ferramenta para automação de tarefas
Desenvolvimento de ferramenta para automação de tarefasDesenvolvimento de ferramenta para automação de tarefas
Desenvolvimento de ferramenta para automação de tarefas
 
Introdução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular jsIntrodução ao desenvolvimento front end usando bootstrap e angular js
Introdução ao desenvolvimento front end usando bootstrap e angular js
 
Relatório guiadomotorista (1)
Relatório guiadomotorista (1)Relatório guiadomotorista (1)
Relatório guiadomotorista (1)
 
interativo
interativointerativo
interativo
 
Como criar cronogramas através das melhores ferramentas gratuitas do mercado
Como criar cronogramas através das melhores ferramentas gratuitas do mercadoComo criar cronogramas através das melhores ferramentas gratuitas do mercado
Como criar cronogramas através das melhores ferramentas gratuitas do mercado
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
 
Ms project final
Ms project   finalMs project   final
Ms project final
 
Esboços na arquitetura de software
Esboços na arquitetura de softwareEsboços na arquitetura de software
Esboços na arquitetura de software
 
Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)Tópicos - Computacao Paralela Programação 3 (Visão geral)
Tópicos - Computacao Paralela Programação 3 (Visão geral)
 
DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?DevQA: UI Testing , como fazer?
DevQA: UI Testing , como fazer?
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetos
 
Prototipagem Em Papel
Prototipagem Em PapelPrototipagem Em Papel
Prototipagem Em Papel
 
INTEGRATED WORK
INTEGRATED WORKINTEGRATED WORK
INTEGRATED WORK
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-end
 
Trabalho individual
Trabalho individualTrabalho individual
Trabalho individual
 
Ap iii
Ap iiiAp iii
Ap iii
 
Naked Objects
Naked ObjectsNaked Objects
Naked Objects
 
Revista programar 21
Revista programar 21Revista programar 21
Revista programar 21
 

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
  • 7. 5
  • 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
  • 12. 10
  • 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
  • 18. Simple Mashups ● Yahoo! Pipes e MashArt Editor. 16
  • 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