VRML

VRML (Virtual Reality Modeling Language) ist eine Beschreibungssprache zur Darstellung von Echtzeit 3D- (Web-)Anwendungen.  Da diese geometrischen Animationen einer (Internet-)3D-Welt (dazugehörige Dateiendung '.wrl für 'world') in Realtime durchgeführt werden, fallen aus technischen Gründen sehr aufwendige Bildberechnungsverfahren weg. 

Mit der Integration des Grafikprozessors (GPU) auf den CPU-Chip bei der neuen Intel- und AMD Prozessorgeneration seit 2011 (Intel Sandy Bridge und AMD APU) steigt auch die Fähigkeit der Einzelplatzrechner/Workstations  zur Darstellung solcher virtueller Welten. Auch verbesserte Hardware-Ressourcen (Grafikkarten, CPU mit 3D-Transistoren, schnellere Bussysteme) sowie optimierte Grafiksoftware können VRML-Anwendungen beschleunigen. 

Ein weiterentwickelter Standard zu VRML ist Extensible 3D (X3D). X3D verfügt über erweiterte Spezifikationen und Schnittstellen. X3D wird unterstützt von MPEG-4 (Konnektierung von X3D mit 3D-Content (XMT-A (Extensible MPEG-4 Textual Format)),  XPS-Dokumenten sowie dem ISO-Standard, von dem X3D auch verabschiedet wurde als Classic Encoding (*.x3dv).  Bekannte Browser-Plug-Ins für X3D sind Octega Free Player oder der Vivaty Player. 

VRML wurde 1997 als VRML97 bzw. VRML 2.0 Standard spezifiziert. Es stammt ursprünglich von der OpenGL C++ Library 'Open Inventor' von Silicon Graphics ab.  Erwähnenswert ist auch das Visualization and Virtual Reality for Manufacturing (VVRM) Projekt des NIST (National Institute of Standards and Technology). Dieses verwendet Web3D-Translators  wie VRML97 to X3D Translation. Das VVRM wird vom Systems Integration for Manufacturing Automation (SIMA) finanziert und hat die Aufgabe, erweiterte Benutzerschnittstellen für Fertigungs-Anwendungen zu entwickeln. 

Da Silicon Graphics aus der VRML-Spezifikation ausgestiegen ist, ist die Entwicklung vieler Technologien für VRML (Szenengraphenkonzept, TimeSensoren, Interpolatoren, Routes, VRMLScript)  noch nicht abgeschlossen oder ausgereift. 

Ein VRML97-Editor ist White_Dune, Browser Plug-In gibt es für Windows und Mac (Cosmo-Player) oder der Cortona3D-Viewer. 

Eine auf VRML aufbauende Engine zur Handhabung von 2D oder 3D objektorientierten Daten für interaktive und audiovisuelle Anwendungen ist BIFS (Binary Format for Scenes).                               
Siehe auch:    Datei-Endung-WRL   MPEG   Intel-Sandy-Bridge   APU   AMD-Fusion   OpenGL   Datei-Endung-wrz   

  MPEG

Moving Pictures Experts Group. MPEG bezeichnet die Standardisierung von Videokompression sowie Audiokompression und Containerformaten. Bei CD-ROMs beträgt die Videoauflösung 253x288 Pixel bei 25 Frames/s und 150 kBytes/s.  MPEG 1 entstand 1993. Es ist ein Standard für Audio- und Videoinformationen auf CD-ROM. Die mittlere Bandbreite beträgt 1,5 MBit/s. MPEG 2 (1994/1995) dient der Fernsehübertragung und HDTV  sowie DVD-Video und DVB. Eine Bandbreite bis zu 40 MBit/s ist möglich. MPEG 3 wurde für HDTV entwickelt, kam jedoch nie zum Einsatz, da dies durch eine Erweiterung des MPEG 2 Standards abgedeckt wurde. MPEG 4 (1998/1999),  Version 2 (1999/2000) und Version 3 (2001) wurde entwickelt für Videophones und Multimediaanwendungen. MPEG-4 ergibt sich aus einem an QuickTime angelehnten Container-Format, einer 3D-Sprache vergleichbar mit  VRML (Virtual Reality Modeling Language) und nicht-rechteckigen Video-Objekten.  Die Bandbreite beträgt bis zu 64 KBit/s. Auch Digital Rights Management (DRM) wurde integriert. 2002 entstand H.264 oder MPEG 4 Teil 10 ISO/IEC 14496-10 AVC, auch H.26L, die Arbeit des JVT (Joint Video Team) oder "JVT CODEC",  Advanced Video Coding (AVC), JM2.x, JM3.x und JM4.x genannt. MPEG 7: Multimediainhalte. MPEG 21: Multimediaframework.                                             
Siehe auch:    CD-ROM   Kilobit   MBit   MPEG-A   MPEG-B   JPEG-Format   YCbCr-Farbmodell   

  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


  Rich-Internet-Applications

Rich Internet Applications (RIA) sind Internet Anwendungen, welche über eine Web-GUI verfügen. RIAs laufen auf einem RIA-Webserver und können auf dem Desktop-Rechner sowohl Online (als Web-Anwendung) als auch Offline  (als Desktop-Anwendung) zur Verfügung stehen. RIA-Anwendungen verfügen im Zusatz zu üblichen Internet- Anwendungen über weitere Funktionen wie Drag & Drop, ein eigenes Desktop-Startmenü oder Short-Cuts (Tastenkürzel).  Tatsächlich können Rich Internet Applications auch Berechnungen auf dem Client ausführen, obwohl sie serverseitig laufen. 

Datenkompressionsalgorithmus LZW
RIAs nutzen für einen besseren Datendurchsatz den Komprimierungsalgorithmus LZW (Lempel-Ziv-Welch-Algorithmus) oder andere Kompressionsalgorithmen sowie Streaming-Techniken. 

RIA-Anwendungen und RIA-Server
Die Rich Internet Anwendung läuft auf einem Webserver, und wird vom Entwickler dort erstellt.  Bei OpenLaszlo erfolgt die Programmierung on-the-fly und über eine LZX-Datei.  Die LZX-Datei kann vom Entwickler mit einem Browser aufgerufen werden. Der OpenLaszlo-Server sendet wahlweise einen Flash- oder DHTML-Dialog.  Ein End-User kann dieses Programm ebenfalls im Browser aufrufen und als Rich Internet Anwendung nutzen.  Rich Internet Anwendungen können also als Adobe Flash-Anwendungen oder als DHTML-Anwendung erstellt werden. Oftmals werden RIAs auch als Ajax-Anwendung erstellt. Weitere Web-Technologien die zum Einsatz kommen können sind:  Silverlight (Microsoft), Programme, welche innerhalb des .NET-Frameworks arbeiten, Java-Applets, Java, DHTML in einem JavaScript-Framework, Omnis Studio, Scalable Vector Graphics, XUL (Mozilla), XAML (Windows Vista).  RIAs können auch mit Curl in der Curl Rich Internet Application Platform zur Ausführung kommen. Curl ist eine Entwicklersprache, in welcher viele Prinzipien von Programmiersprachen implementiert sind.  Damit kann man die Anzahl der Internet-Technologien verringern, welche zur Anwedung kommen müssen, um eine Internet-Anwendung zu erstellen.  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 von Curl Inc. beim Anwender installiert. Curl Inc. stellt auch die Curl Entwicklungsumgebung  Curl Surge Lab Integrated Development Environment zur Verfügung. 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. 

Cloud-Computing
Rich Internet Applications sind eine Anwendung des Cloud Computing, insbesondere zu nennen ist das Konzept Software as a Service.                         
Siehe auch:    Webserver   Cloud-Computing   Curl   LZX-Algorithmus   DHTML   Browser   Plug-In   Web-Service   Mozilla-Prism   Silverlight

  Datei-Endung-WRL

Die Dateiendung *.wrl steht für 'world'. Es handelt sich hierbei um eine VRML (Virtual Reality Modeling Language) Anwendung.  VRML ist eine Beschreibungssprache für Echtzeit-3D-Betrachtung von (Web-)Anwendungen innerhalb eines Browsers oder einer virtuellen Realität.  Für den Browser ist ein Plug-In zum Nutzen einer VRML-Anwendung notwendig. Dazu gibt es z.B. den Cosmo-Player oder den Cortona 3D-Viewer.                                                     
Siehe auch:    VRML   Virtualisierung   Browser   Plug-In   Datei-Endung-wrz