Prévia do material em texto
Informática - API Informática - API API da Web Design da API API - CONJUNTO DE ROTINAS, PROTOCOLOS E FERRAMENTAS PARA A CRIÇÃO DE APLICATIVOS DE SOFTWARE. Uma API expressa um componente de software em termos de operações, entradas, saídas e tipos subjacentes. Uma API define funcionalidades independentes de suas respectivas implementações, o que permite que definições e implementações variem sem comprometer a interface. Uma boa API facilita o desenvolvimento de um programa, forncendo os compontenes e um programdor então junta os blocos para construir o sistema. Um API pode ajudar aplicativos distintos com o compartilhamento de dados, o que pode ajudar a integrar e aprimorar as funcionalidades dos aplicativos. As APIs geralemente vem na forma de uma biblioteca que inclui especificações para rotinas, estrutruturas de dados, classes de objetos e variáveis. Em outros casos, principalmente nos serviços SOAP e REST, uma API é simplesmente uma especificação de chamadas remotas expostas aos consumidores da API. Pode assumir várias formas. Na maioria das linguagens procedurais, uma API especifica um conjunto de funções ou rotinas que realizam uma tarefa específica ou têm permissão para interagir com um componente de software específico. Por exemplo, a API matemática nos sistemas UNIX é uma especificação sobre como usar as funções matemáticas incluídas na biblioteca matemática. Uma API pode ter várias implementações. Uma API pode estar relacionada a um framework de software. São as interfaces definidas pelas quais ocorrem interações entre uma empresa e aplicativos que usam seus ativos As APIs da web permitem a combinação de várias APIs em novos aplicativos conhecidos com "mashups". Vários princípios são comumente usados para governar o processo de design de APIs Um conceito importante é o de ocultação de informações. O princípio da ocultação de informações propõe que se possa dividir o software em módulos, cada um com uma interface especificada; As interfaces ocultam os detalhes de implementação dos módulos para que os usuários dos módulos não precisem entender as complexidades dentro dos outros módulos.