process mashups
DESCRIPTION
Apresentação da análise feita sobre artigo: "Toward Process Mashups". Disciplica de SOA 2014 do mestrado em informática da UNIRIO.TRANSCRIPT
Process MashupsToward Process Mashups: Key Ingredients and Open Research Challenges
Autores: Florian Daniel, Agnes Koschmider, Tobias Nestler, Marcus Roy, Abdallah Namoun.
SOA - Leonardo Azevedo
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.
?