Prévia do material em texto
64 19.6 Justificando sua resposta, sugira dois tipos importantes de aplicação onde você não recomendaria o uso de arquitetura orientada a serviços. 1. Aplicativos incorporados em dispositivos onde a conexão de rede não pode ser garantida. É pouco provável que estes utilizem os serviços, pois não há garantia de que estes serviços estarão disponíveis quando necessário. 2. Aplicações em tempo real com prazos rigorosos, especialmente aquelas com muita interação do usuário, por exemplo, jogos de computador. Nessas aplicações, a sobrecarga de desempenho na codificação e decodificação de mensagens XML provavelmente será inaceitável. 19.8 Explique o que significa uma 'ação de compensação' e, usando um exemplo, mostre por que essas ações podem ter que ser incluídas nos fluxos de trabalho. Uma ação de compensação é uma ação incluída em um fluxo de trabalho para “desfazer” uma transação que foi concluída anteriormente no fluxo de trabalho. As ações de compensação podem ter que ser incluídas nos fluxos de trabalho porque o sucesso de todo o fluxo de trabalho pode depender da conclusão bem-sucedida de todos os fluxos de trabalho incluídos. Se alguns desses fluxos de trabalho incluídos forem bem-sucedidos, mas outros não, as ações de compensação deverão ser executadas para garantir que o sistema geral seja deixado em um estado consistente. Ações de compensação são necessárias quando serviços dependentes, oferecidos por diferentes fornecedores, são compostos para criar um serviço integrado. Por exemplo, digamos que um organizador de reunião precise reservar uma sala para uma reunião e depois organizar o catering para as pessoas presentes na reunião. Talvez não seja possível fazer isso simultaneamente, pois o número de participantes na reunião pode não ser conhecido. Se o quarto estiver reservado mas, posteriormente, se verificar que não há catering disponível nesse dia, a reserva deverá ser cancelada através de uma ação compensatória.