A linguagem ADVPL (Advanced Protheus Language) é uma linguagem de programação desenvolvida em 1994 para sistemas de gestão empresarial ERP (Enterprise Resource Planning) da TOTVS. Ela é baseada no padrão xBase e permite o desenvolvimento de programas no paradigma de orientação a objetos ou procedural.
No ADVPL, os arquivos de código fonte são compilados em unidades chamadas APO’s (Advanced Protheus Objects), que são carregados dinamicamente pelo servidor de aplicação (Application Server) para a execução. Não há linkedição ou união física do código compilado a um ambiente ou aplicação específica, o que permite a execução de funções ADVPL em qualquer parte do ambiente ERP.
O próprio servidor de aplicação atua como compilador e interpretador ADVPL, e existe um ambiente visual chamado Development Studio para desenvolvimento integrado, onde o código-fonte pode ser criado, compilado e depurado.
A programação ADVPL pode envolver comandos ou funções de interface com o usuário. Os programas com interface própria são executados através do TOTVS Smart Client, que é a aplicação responsável pela interação com o usuário e processamento do código fonte ADVPL. Já as rotinas sem interface são processos ou jobs executados no TOTVS Application Server, onde a interface é fornecida por aplicações externas desenvolvidas em outras linguagens.
Existem diferentes formas de utilizar a conectividade no ADVPL. As rotinas podem ser iniciadas como processos individuais, realizando chamadas remotas (RPC) através de bibliotecas de funções, executadas como parte de um servidor web em resposta a requisições HTTP ou através de conexão TelNet, emulando um terminal remoto.
Em resumo, o ADVPL é uma linguagem de programação poderosa para o desenvolvimento de sistemas de gestão empresarial. Sua flexibilidade e capacidade de integração tornam-no uma escolha popular para empresas que utilizam o ERP Protheus da TOTVS.