XL (XML-Programmiersprache)
# XL (XML-Programmiersprache)

XL ist eine XML-Programmiersprache zur Implementierung von Webservices. Sie wurde 2001 von Daniela Florescu (XQRL Inc.), Andreas Grünhagen und Donald Kossmann (ETH Zürich) entwickelt. XL ist noch in der Entwicklung und fußt auf dem Datenmodell XML. Es unterstützt die W3C-Standards und nutzt u. a. XQuery als Abfragesprache, SOAP zur Kommunikation mit anderen Netzwerkdiensten und WSDL zur Spezifikation der Schnittstellen.

XL ist in hohem Maße deklarativ, das heißt in der Sprache sind bei Netzwerkdiensten oft wiederkehrende Funktionen schon implementiert. Diese Funktionen sind über die Angabe von Schlüsselwörtern, sogenannten Declarative Web Service Clauses, abrufbar. Dazu gehören unter anderem:

* Das Speichern von Eingaben der Clients (Logging)
* Automatisches Neuanfragen bei fehlgeschlagener Anfrage an anderen Dienst (Retry of Action)
* Verteilung auf mehrere Systeme (Workload Management)
* Automatische Optimierung des Codes (Performance Tuning)

Durch die alleinige Konzentration auf XML als Datenmodell können rechenzeitintensive Umwandlungen zwischen Typsystemen vermieden werden. Diese Umwandlungen sind bei gängigen Implementationen in einer objektorientierten oder prozeduralen Programmiersprache in Kombination mit einer relationalen Datenbank notwendig.

XL integriert XML-Verarbeitung, -Speicherung, und -Kommunikation in einem modular skalierbaren System. Die aktuelle Laufzeitumgebung wurde in Java implementiert. XL ist nicht frei verfügbar. Vergleichbare Programmiersprachen sind zum Beispiel: WS-BPEL oder $C\omega$ (C-omega).

