Bei EGL wird der Begriff der Schnittstelle ("Interface") in der gleichen Bedeutung wie in
objektorientierten Sprachen verwendet. Für EGL definiert eine Schnittstelle einen Plan, den ein Service befolgen muss.
Genauer gesagt, enthält eine Schnittstelle mindestens einen
Funktionsprototyp
oder Zusammenfassungen von Funktionen. Diese Prototypen sind selbst keine verwendbaren Funktionen, sondern sie
enthalten Pläne für tatsächliche Funktionen.
Angenommen, Sie müssen eine Anwendung schreiben,
die mathematische Operationen ausführt wie ein Taschenrechner. Sie können beginnen, indem Sie alle mathematischen Operationen
auflisten, die Ihre Anwendung benötigt (z. B. Addition, Subtraktion und Multiplikation), ohne den Code zu schreiben, der diese Operationen ausführt. Sie benennen also in diesem Fall die einzelnen Operationen
und geben ihre Ein- und Ausgabeparameter an, codieren jedoch zu Beginn keinerlei
Logik. Somit listen Sie die Funktionen auf, die die EGL-Serviceanwendung in
einer Schnittstelle benötigt. Eine solche Schnittstelle kann z. B. wie folgt aussehen:
interface myCalculatorInterface
//Funktion zur Addition von Zahlen
function addNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
//Funktion zur Subtraktion von Zahlen
function subtractNumbers(number1 decimal(10,2) in,
number2 decimal(10,2) in) returns (decimal(10,2));
end
Danach können Sie mit der Codierung des Service beginnen,
und Sie können dabei diese Schnittstelle sowohl als Ausgangspunkt als auch als Testmöglichkeit verwenden, um sicherzustellen,
dass Sie Ihrem Plan tatsächlich folgen.
Es kommt selten vor, dass Sie eine Schnittstelle
schreiben müssen, die Verwendung von Schnittstellen zur Beschreibung der Services ist allgemein
eine gutes Verfahren für die Programmierung:
- Anhand der Schnittstelle können Sie den Service im voraus planen, und EGL warnt sie, wenn der Service
von der Schnittstellendefinition abweicht.
- Schnittstellen stellen eine präzise Zusammenfassung eines Service dar. Sie erläutern, was der Service
ausführen kann, ohne jedes Implementierungsdetail des Service anzugeben.
- Schnittstellen können als Anforderungen für die Entwicklung oder für die Kompatibilität dienen.