EGL utiliza el término "interfaz" del mismo modo que lo hacen los lenguajes orientados a objetos. Para EGL,
una interfaz define un plan para que lo siga un servicio.
Específicamente, una interfaz contiene uno o varios
prototipos de función o resúmenes de funciones. Estos
prototipos no son funciones utilizables en sí mismos, pero establecen planes para las funciones reales.
Por ejemplo,
suponga que necesita escribir una aplicación que realiza operaciones matemáticas como por ejemplo una calculadora. Puede empezar listando todas las operaciones matemáticas que necesitará la calculadora (como por ejemplo, suma, resta y
multiplicación) sin escribir realmente el código para realizar estas operaciones. En este caso, puede denominar cada
operación y especificar los parámetros de entrada y salida de cada operación, pero no empezará a codificar ninguna
lógica. De igual modo, puede crear en una interfaz una lista de las funciones que la aplicación de servicio EGL
necesitará. Una interfaz así puede empezar de esta manera:
interface myCalculatorInterface
//Función para añadir números
function addNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
//Función para restar números
function subtractNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
end
Después, cuando esté listo para empezar a codificar el servicio, puede utilizar esta interfaz
como punto de inicio y como prueba para asegurarse de que está siguiendo su plan.
Raramente se le requerirá que
escriba una interfaz, pero por lo general, la utilización de interfaces para describir servicios es una procedimiento
de programación recomendado:
- La interfaz permite planificar el servicio antes de hora y EGL le avisa si el servicio se desvía de la interfaz.
- Las interfaces proporcionan un resumen conciso de un servicio, en el que se explica lo que el servicio puede hacer
sin proporcionar todos los detalles de la implementación del servicio.
- Las interfaces pueden servir como requisitos para el desarrollo o la conformidad.