O problema de decomposição de processos de negócio, também conhecido com descentralização de serviços web compostos, foi tratado primeiramente em (NANDA, CHANDRA e SARKAR, 2004). Nesse trabalho, orquestrações são criadas para cada serviço usado por um processo de negócio, resultando em uma comunicação direta entre esses ao invés de terem um único coordenador. A finalidade dessa abordagem é decompor um processo de negócio de tal forma que haja a maior quantidade de paralelização possível com o intuito de aumentar a vazão do sistema. O processo escrito em WS-BPEL é convertido para um grafo de fluxo de controle, que gera um PDG, a partir do qual são realizadas as transformações, e os novos grafos gerados são reconvertidos para WS-BPEL. Como nessa abordagem cada serviço no processo corresponde a um nó fixo para o qual uma partição é gerada, o PDG não é adequado para a abordagem desta pesquisa, pois esta visa à criação de processos nos quais múltiplos serviços possam ser usados.
Em (BARESI, MAURINO e S., 2006) é proposta a descentralização de processos WS-BPEL através de transformações baseadas em grafos. As regras dessas transformações são definidas, assim como o tipo de grafo com o qual essas são realizadas, e esses poderiam ser reutilizados em outras abordagens, desde que a linguagem de especificação de processos seja WS-BPEL. A abordagem desta pesquisa é mais genérica, lidando com linguagens de diferentes tipos.
O foco de (KOPP, KHALAF e LEYMANN, 2008) é na descentralização de orquestrações de processos WS-BPEL usando Dead Path Elimination (DPE) para garantir a conclusão da execução de processos descentralizados, mas DPE também torna a abordagem muito dependente da linguagem empregada na especificação do
processo de negócio. A Representação Intermediária (modelo intermediário) aqui empregada é independente dessa linguagem e, consequentemente também as estratégias e algoritmos de decomposição.
O trabalho apresentado em (AI, TANG e FIDGE, 2011) fornece uma solução desenvolvida com algoritmo genético baseado em penalidade para o mesmo problema apresentado em (NANDA, CHANDRA e SARKAR, 2004). Dessa forma, os resultados apresentados no primeiro são igualmente inviáveis aos resultados apresentados no último.
Em (CHENG e ZENG, 2012) é definida uma abordagem para decomposição de processos de negócio orientada a agentes móveis. A abordagem utiliza Grafos Acíclicos Direcionados (DAGs) para representar o processo de negócio. Essa representação consiste somente em estruturas sequenciais, paralelas e condicionais, considerando laços de repetição como atividades atómicas. A abordagem busca encontrar a partição que fornece os melhores resultados para dois itens de QoS denominados Custo de Execução Mínimo dentro de um Prazo (MCD) e Tempo de Execução Mínimo dentro de um Custo (MTB). Os cálculos do MCD e MTB são modelados através de Processos de Decisão de Markov (MDP). No entanto, dados os critérios e a arquitetura baseada em agentes móveis e também o alto nível de abstração das DAGs, os resultados apresentados não podem ser reaproveitados na definição da abordagem desta pesquisa.
Em (DUIPMANS, PIRES e SANTOS, 2013) é apresentado um framework para a decomposição de processos de negócio escritos na linguagem AMBER (EERTINK, JANSSEN, et al., 1999), cujo código XML equivalente às representações do processo de negócio é exportado da ferramenta proprietária BiZZdesigner (BIZZDESIGN, 2014). Tal decomposição é executada com base em uma lista de distribuição de atividades e dados definida manualmente, onde restrições podem ser determinadas para assegurar que dados sensíveis permaneçam na premissa. Esse
framework emprega uma abordagem que possui três etapas denominadas lifting,
decomposição e grounding.
Em (DUIPMANS, PIRES e SANTOS, 2013) também é definido um modelo intermediário baseado em grafos, cujo objetivo é prover um modelo abstrato para captura de padrões de processos de negócio. Dessa forma, a etapa de decomposição ocorre sobre o modelo intermediário, o que torna necessário o mapeamento e a transformação da linguagem de processo de negócio empregada
no modelo intermediário, tarefa que caracteriza a etapa denominada lifting, e o processo inverso caracteriza o grounding. Essa trabalho também efetuou uma análise para definir as regras de decomposição suportadas pelo framework, concebidos algoritmos para a sua implementação e concebido um algoritmo para verificar se há restrições relativas aos dados violadas pela decomposição.
Entretanto, os resultados apresentados em (DUIPMANS, PIRES e SANTOS, 2013) possuem limitações que foram investigadas a partir dos resultados desta pesquisa:
A linguagem AMBER, atrelada a ferramenta BiZZdesigner, só possui a capacidade de ser simulada, limitando as análises dos custos computacionais e financeiros e dos possíveis ganhos de desempenho, vazão e escalabilidade dados através da distribuição de processos de negócio para a execução em nuvens computacionais;
A linguagem de especificação de processo de negócio empregada não possui um padrão aberto e não contém uma ferramenta livre para editar processos de negócio e simular seus comportamentos até onde se sabe;
O modelo intermediário se baseia em um conjunto restrito de padrões de fluxo de controle de workflow, além disso, não foram considerados padrões de gerenciamento de exceção, dados e comunicação para a composição do modelo intermediário, o que inviabiliza sua aplicação para processos de negócio mais complexos;
A formalização do modelo intermediário foi definida somente para a estrutura do modelo, desconsiderando a formalização de sua semântica, o que inviabiliza a possiblidade de provas formas de equivalência entre os processos monolítico e decomposto; e
Os resultados não analisam os custos e ganhos de se decompor um processo de negócio para alocação de parte dele na nuvem, o que torna difícil ter uma percepção da real vantagem e dos custos inerentes à aplicação da abordagem.
O trabalho apresentado em (FDHILA, YILDIZ e GODART, 2009) aponta que a maioria das pesquisas em descentralização de orquestrações foca em determinadas linguagens de especificação de processos de negócio. Não focar tanto nessas
linguagens foi um dos principais desafios da pesquisa desta dissertação de mestrado, sendo que outro desafio foi não se preocupar somente com problemas de desempenho, mas também com medidas de segurança e custos relativos aos provedores de nuvem.