AdvPL (Advanced Protheus Language)

Blog Advpl - Share knowledge

A Linguagem AdvPL

AdvPL (Advanced Protheus Language) é uma linguagem de programação desenvolvida em 1994 para desenvolvimento de sistemas de gestão empresarial ERP – Enterprise Resource Planning, do grupo TOTVS.
O AdvPL é uma linguagem padrão xBase (Clipper, Visual Objects e depois Fivewin) com comandos, funções, operadores, estruturas de controle de fluxo e palavras reservadas que permite o desenvolvimento de programas seguidos do paradigma de orientação a objetos ou procedural.

Quando compilados, todos os arquivos de código fonte tornam-se unidades de inteligência básicas, chamadas de APO´s (Advanced Protheus Objects). Esses APO´s são mantidos em um repositório e carregados dinamicamente pelo servidor de aplicação (Application Server) para a execução. No entanto, não existe linkedição ou união física do código compilado a um determinado ambiente ou aplicação, o que permite executar funções criadas em AdvPL em qualquer ponto do ambiente ERP.

O compilador e o interpretador da linguagem AdvPL é o próprio servidor de aplicação (Application Server), e existe um ambiente visual para desenvolvimento integrado (Development Studio) onde o código-fonte pode ser criado, compilado e depurado.

Os programas desenvolvidos na linguagem AdvPL, podem conter comandos ou funções de interface com o usuário com as seguintes características:

  • Programação com interface própria com o usuário
    Os programas com interface própria com o usuário são desenvolvidos para serem executados através do terminal remoto, o TOTVS Smart Client. O TOTVS Smart Client é a aplicação, desenvolvida pela TOTVS, encarregada da interface e da interação com usuário, ou seja, todo o processamento do código fonte em AdvPL e o acesso ao banco de dados. Já o gerenciamento das conexões é efetuado pelo o TOTVS Application Server.
    O TOTVS Application Server é o principal meio de acesso a execução de rotinas desenvolvidas em AdvPL no sistema de gestão . Através desta aplicação os códigos fontes, com ou sem interface com o usuário, são executados. No entanto, nesse tipo de desenvolvimento, são considerados apenas os programas que realizam algum tipo de interface remota utilizando um protocolo de comunicação do sistema.
  • Programação sem interface própria com o usuário
    A rotinas criadas sem interface, tem uma utilização mais específica do que um processo adicional ou relatório. Essas rotinas não tem interface com usuário através do TOTVS Smart Client e qualquer tentativa (como a criação de uma janela padrão) ocasionará uma exceção em tempo de execução. Desta forma, essas rotinas são apenas processos ou Jobs executados no TOTVS Application Server. No entanto, a interface fica a cargo das aplicações externas, desenvolvidas em outras linguagens, responsáveis por iniciar os processos no servidor através dos meios disponíveis de integração e conectividade no sistema.

Ao utilizar um meio de conectividade, as rotinas desenvolvidas são subcategorizadas da seguinte forma:

  • Programação por processos
    As rotinas desenvolvidas em AdvPL podem ser iniciadas como processos individuais (sem interface), no TOTVS Application Server, por outra rotina através de funções ou automaticamente na inicialização do TOTVS Application Server (quando configurado).
  • Programação de RPC
    A programação de RPC – Remote Procedure Call (Chamada de Procedimentos Remota) é realizada por bibliotecas de funções disponíveis no sistema (uma API de comunicação), que permite executar rotinas escritas em AdvPL diretamente no TOTVS Application Server em modo Blind (Sem interface). Com isso, o TOTVS Application Server pode executar rotinas em AdvPL em outros servidores através da conexão TCP/IP direta utilizando o conceito de RPC.
  • Programação Web
    O TOTVS Application Server pode ser executado como servidor Web respondendo as requisições HTTP. No momento dessas requisições, é possível executar rotinas escritas em AdvPL como processos individuais, enviando o resultado das funções como retorno das requisições para o cliente HTTP (como, por exemplo, uma browser de internet). No entanto, qualquer rotina escrita em AdvPL que não contenha comandos de interface pode ser executada através de requisições HTTP. Pois, o TOTVS Application Server permite compilar arquivos HTML que contenham código AdvPL embutido. Os chamados arquivos AdvPL ASP, para criação de páginas dinâmicas.
  • Programação TelNet
    Programação TelNet faz parta da gama de protocolos TCP/IP que permite a conexão a um computador remoto através de uma aplicação cliente desse protocolo. O TOTVS Application Server emula um terminal TelNet, através da execução de rotinas escritas em AdvPL, ou seja, rotinas AdvPL cuja interface final será um terminal TelNet ou coletor de dados móvel.

Deixe uma resposta