Interface de função externa

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Uma Interface de função externa (do inglês Foreign function interface, FFI) é um mecanismo pela qual, um programa escrito em determinada linguagem e tecnologia, pode realizar chamadas, funções e comunicar-se outros programas e serviços de linguagens distintas.[1]

Terminologia[editar | editar código-fonte]

Foi descrito inicialmente pela especificação Common Lisp, posteriormente foi oficializado em Haskell.[2] [3] Outras linguagens utilizam terminologias como Ada onde uso o termo como "language bindings", em java se denomina Java Native Interface, JNI. Entretanto se usa de forma genérica para referir-se a este mecanismo.

Apesar do nome, as FFIs não se limitam a chamada de funções, muitos FFI permitem acesso a método de objetos, transação de dados e objetos de distintas.[4] O termo foreign function interface não se usa para descrever as o retorno de execuções multi-linguagenscomo Microsoft Common Language Runtime, onde existe um "substrato" comum que permite a qualquer linguagem usar os serviços definido pelo outro (Interface), cumprindo como uma linguagem comum já especificada entre as partes, assim, determinados mecanismo como RMI, RPC, CORBA e SOAP, que permitem serviços escritos em outras linugagens e arquiteturas, não se pode considerar como uma FFI.

Referências