O termo que designa um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por programas aplicativos que não estão interessados em detalhes da implementação do software, mas apenas em usar seus serviços é: