Curl

Curl ist eine Entwicklersprache, in welcher viele Prinzipien von Programmiersprachen implementiert sind.  Damit kann man die Anzahl der Internet-Technologien verringern, welche zur Anwendung kommen müssen, um eine Internet-Anwendung zu erstellen.

Curl Rich Internet Application Platform 
Mit Curl und der Curl Rich Internet Application Platform (Curl-Plattform) können Rich Internet Applications (RIA) erstellt und ausgeführt werden.  In Curl sind Paradigmen von Java, VRML (Virtual Reality Modeling Language) und HTML vereint. Curl unterstützt die ereignisorientierte Programmierung und kann auch i.V.m. Datenbanken eingesetzt werden. Damit sind Anwendungen  im Bereich eShopping, eCommerce oder Internet-Handelsplattformen möglich. Curl wird durch das Browser Plug-In Curl Surge Run Time Environment (RTM) von Curl Inc. beim Anwender installiert. Curl Inc. bietet auch die Curl Entwicklungsumgebung  Curl Surge Lab Integrated Development Environment an. Curl steht dann lokal zur Verfügung und kann aber auch als Internet-Anwendung online gestellt werden. Dazu muss ein Lizenzschlüssel bei  Curl Inc. beantragt werden.

Die Curl Plattform stellte dabei viele Dienste und Features zur Verfügung:  Möglichkeit der Entwicklung von grösseren RIA-Anwendungen und Datenstrukturen, Modulare Entwicklung und Datenabstraktion sowie Fehlermeldungen zur Compiler-Laufzeit, Prototyping,  Deklarative Inhaltsbeschreibung wie bei HTML, Möglichkeit zur Einbindung von Web Services-Funktionalitäten zur Verarbeitung von XML.  Mit der Curl RIA-Plattform können RIA-Anwendungen und Webanwendungen als Client-Server-Anwendungen aufgebaut werden.  Die Curl RIA-Plattform umfasst, neben der Curl RTM und der Curl Surge Lab IDE, noch die Curl Language und das Curl WSDK (Curl Web Services Development Kit).

Curl Web Services Development Kit 
Mit dem Curl WSDK können Daten, die von einer SOA (Service Oriented Architecture) über SOAP und WSDL geliefert werden, verarbeitet werden. Ausserdem können Daten verarbeitet werden, welche von einer  Resource Oriented Architecture (ROA) über REST (Representational State Transfer) und XML geliefert werden.

Curl Nitro und der Fit Client für Desktop 2.0 
Curl liegt aktuell (2008) in der Version Curl 6.0 bzw. Curl 7.0 (Curl Nitro) vor. Curl Nitro wird von Curl Inc. auch als Desktop 2.0 (in Anspielung auf Web 2.0) oder RIA-Client oder Fit Client genannt. RIA-Anwendungen können dann auch offline,  direkt auf dem Desktop-Rechner, also Client-seitig, ausgeführt werden. Der Fit Client unterstüzt Rich User Interfaces, Komplexe Anwendungs-Logik und eine flexible Entwicklung. Mit Curl Nitro und dem Fit Client  können RIA-Anwendungen komplett lauffähig auf dem Desktop-Rechner installiert werden, sowohl für den Online- als auch für den Offline-Betrieb. Es wird ein Startmenü mit Icons erstellt, deren Parameter einstellbar sind, sowie  Short-Cuts und eine vom Design anpassbare GUI (Skins). Weiterhin können Anwendungen konfiguriert werden, welche eine Client-seitige Datenbank nutzen, die mit der SQL-Lite Database Engine und den Curl-Standard-Technologien  zur Datenmanipulation und Datenpräsentation arbeitet.

Curl Desktop Security Model
Die Desktop-Anwendungen des Fit-Client arbeiten  im Rahmen eines Sicherheitskonzeptes, das "Sandbox-Environment" genannt wird (Curl Desktop Security Model): es handelt sich um eine lokal abgeschlossene Software-Umgebung, in der die Anwendung läuft. Der Zugriff  auf diese "Sandbox" ist nur lokal möglich und sie verfügt nur über eingeschränkte Privilegien (keine Admin-Rechte, keine Privilegien für den Kernel-Zugriff usw.).  Wenn die Curl Desktop-Anwendungen mit vollen Rechten und Privilegien arbeiten sollen, dann erfordert dies eine standardisierte Digitale Signatur, welche von einer der Zertifizierungsstellen zur Verfügung gestellt werden muss. 

Weitere RIA-Plattformen: Adobe AIR, Google Gears und Mozilla Prism
Neben Curl Nitro gibt es noch weitere, vergleichbare RIA-Desktop-Plattformen: AIR (Adobe Integrated Runtime,  auch: Apollo) von Adobe Systems, Google Gears oder, mit weniger Features: Mozilla Prism.  Curl Nitro ist eher im Unternehmensbereich und B2B-Bereich angesiedelt, während Adobe AIR eher Kunden für den B2C-Bereich anspricht. Auch Adobe AIR bietet RIA-Anwendungen für Desktop-Offline- und Web-Online-Anwendungen  und kombiniert es mit Adobe Flex. Adobe nennt dieses Konzept "Cross-Operating-System". AIR und Flex stellen somit eine Entwicklungsplattform für RIA-Anwendungen dar und unterstützen neben den Adobe-Technologien PDF und Flash auch HTML und JavaScript.  Mozilla Prism (WebRunner) von der Mozilla Foundation, ermöglicht es dem Anwender sog. "Web-Apps" zu erstellen. Dies sind Webseiten, welche wie RIA-Anwendungen eine Anwendung auf dem Desktop via Browser zur Verfügung stellen und  Short-Cuts und Startmenüeinträge einrichten. Die Web-Apps sind jedoch auf eine reduzierte Version des Mozilla Firefox-Browsers angewiesen, welchem die üblichen Bedienleisten fehlen.     
Siehe auch:    Rich-Internet-Applications   Laszlo   OpenLaszlo   Web-Service   WSDL   SOAP   HTML   XML   Mozilla-Prism   
Link: http://www.curl.com