Recentemente, a equipe de pesquisa da Microsoft realizou um estudo comparativo entre proxies de API e proxies de GUI, descobrindo que ambos têm características distintas e podem ser selecionados de acordo com diferentes necessidades. Os proxies de API interagem com o software por meio de interfaces programáveis, enquanto os proxies de GUI simulam o modo de operação humano, concluindo tarefas clicando em botões e navegando pelos menus. Por exemplo, para agendar um evento, um proxy de API pode realizar a tarefa com uma única chamada de função, enquanto um proxy de GUI precisa abrir o aplicativo de calendário, preenchendo gradualmente as informações relevantes.

Confronto & Desafio

No estudo, a equipe da Microsoft avaliou o desempenho desses dois tipos de proxies em nove categorias. Uma diferença principal está na maneira como interagem com o software: os proxies de API utilizam chamadas de função, geralmente sendo mais estáveis e com menor probabilidade de erros; já os proxies de GUI dependem do conteúdo da interface visual, embora sejam menos eficientes, possuem maior flexibilidade. Os proxies de GUI podem controlar quase todos os softwares com interfaces visuais, mesmo que esses softwares não ofereçam APIs.

O estudo também destacou que os proxies de API têm vantagens em termos de segurança e manutenção, pois permitem restringir o acesso ao nível de funcionalidade e beneficiam-se do controle de versão. Por outro lado, os proxies de GUI são mais frágeis, pequenas alterações visuais podem impedir seu funcionamento normal. No entanto, os proxies de GUI são mais transparentes, permitindo que os usuários vejam claramente cada operação, facilitando a auditoria.

A Microsoft propôs três estratégias de sistemas híbridos combinando proxies de API e GUI. A primeira é encapsular operações de GUI por meio de APIs, simplificando processos complexos, como a geração de relatórios financeiros, em uma única função como GenerateReport(). A segunda estratégia é usar ferramentas de orquestração para coordenar os passos de APIs e GUIs, adequado para fluxos de trabalho como consultas de banco de dados e verificação de crédito. A terceira estratégia é a plataforma de baixo código e sem código, permitindo que usuários não técnicos construam fluxos de automação por meio de arrastar e soltar na interface.

No momento de escolher o proxy adequado, a equipe de pesquisa forneceu orientações claras. Os proxies de API são adequados para tarefas com requisitos de desempenho elevados, especialmente quando lidando com interfaces bem documentadas, enquanto os proxies de GUI são ideais para sistemas antigos sem APIs e aplicativos móveis. Com o tempo, os sistemas híbridos podem se adaptar a novas APIs, proporcionando maior flexibilidade.

Fique atento:

🌟 Os proxies de API realizam tarefas rapidamente e de forma estável por meio de chamadas de função, adequados para ambientes com alto rigor de segurança.

🔄 Os proxies de GUI são flexíveis, capazes de lidar com mudanças na interface visual, adequados para sistemas antigos e tarefas que exigem confirmação visual.

🤝 Os sistemas híbridos combinam os pontos fortes de ambos, podendo escolher a solução ideal de acordo com as necessidades específicas, impulsionando o processo de automação.