Glossar

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

  • Java

    Java

    Java, die objektorientierte Programmiersprache erreichte 1995 zum aller ersten Mal die Öffentlichkeit. Die Entwicklung dieser Sprache begann 1991 und wurde erfunden von Bill Joy, der einer der Mitbegründer von Sun Microsystems ist.

    Wenn von Java die Rede ist, muss zwischen der Programmiersprache Java, der Java Virtual Machine und der Plattform Java unterschieden werden. Von der Programmiersprache Java werden Java Applikationen wie z.B. Applets oder Servlets entworfen.

    Die Sprache ist eine hochaktuelle objektorientierte Programmiersprache, die sehr stark mit der Programmiersprache C++ verwandt ist. Die Designer von Java waren immer sehr bemüht, Java mächtig und sehr konkurrenzfähig zu machen, sowie einfach und verständlich für den User. Deswegen ist Java im Vergleich zu C++ eine einfachere Sprache, wodurch das Programmieren vereinfacht wird und es somit ermöglicht wird einen robusten und fehlerfreien Code zu schreiben. Wegen des eleganten Designs und den modernen Merkmalen, ist die Sprache Java unter Programmierern mit der Zeit sehr populär geworden.

    Die Java Virtual Machine (JVM) dient als Java Interpreter und ist der wichtigste Bestandteil jeder Java-Installation. Java Programme sind portabel, aber nur auf die Plattformen, wo vorher schon ein JVM portiert worden ist. Sun Microsystems liefert dafür die entsprechenden Implementationen für das eigene entwickelte Betriebssystem Solaris, sowie für Microsoft Windows, Linux und Apple. Allerdings sind Interpreter in der Regel nicht gerade Leistungsstark. Schon aus diesem Grund hat sich Java immer mehr in den Vordergrund gespielt, weil das JVM bemerkenswert schnell ist und zu dem ständig weiterentwickelt wird. Die JVM führt die Java-Programme aus, indem die Bytecode-Anweisungen interpretiert werden. Durch diese Architektur ist Java schneller als andere Programme oder Skripte die in einer reinen Interpretersprache geschrieben wurden. Allerdings ist Java langsamer als C- oder C++, weil diese Sprachen direkt in native Maschinensprache kompilieren. Durch die Technologie Just-in-Time-Kompilierung (JIT-Kompilierung) ist es allerdings möglich, die Performance auf das gleiche Niveau wie bei C- oder C++ zu optimieren. Bei der JIT-Kompilierung werden die Java-Bytecodes zur Laufzeit in native Maschinensprache konvertiert, was die Ausführungsgeschwindigkeit von wiederholt ausgeführten Codes deutlich erhöht.

    Die Java Plattform unterscheidet sich sowohl von der Sprache Java als auch von der JVM.

    Bei der Plattform handelt es sich um eine vordefinierte Menge von Java-Klassen, die auf jeder Java-Installation existiert.

    Java-Klassen sind Java-Module, die eine Datenstruktur und eine Reihe von Methoden (auch Prozeduren, Funktionen oder Subroutinen genannt) definieren, die für alle Java-Programme zur Verfügung stehen.

    Ein wesentlicher Vorteil von Java ist, dass die Applikation nur einmal entwickelt werden muss, um überall wo die Java-Plattform unterstützt wird, ausgeführt werden zu können. Sun Microsystems bezeichnet diese Eigenschaft gerne mit folgendem Werbespruch: Write Once, Run anywhere.

    Ein weiteres zentrales Thema von Java ist die Sicherheit. Bei der Sprache und der Plattform wurde seit der Entstehung ein Hauptaugenmerk auf das Thema Sicherheit geworfen.

    Es ist möglich mit der Java-Plattform Anwender Codes von nicht vertrauenswürdigen Quellen herunter zu laden, um den Code in einer sicheren Umgebung ausführen zu können, wo kein Schaden auf dem eigenen System mit angerichtet werden kann. Somit kann es nicht passieren, dass ein Host-System mit einem Virus infiziert wird, sowie keine Dateien auf der Festplatte gelesen oder überschrieben werden können.

    Quellen:

    http://java.seite.net/wasisjava.html zugegriffen am: 30.03.07

    http://www.dpunkt.de/java/ zugegriffen am: 30.03.07

    http://www.oreilly.de/topics/java.html zugegriffen am: 30.03.07

    Flanagan, D.: Java in a nutshell, 3. Aufl., Köln 2000

  • JavaScript

    JavaScript

    JavaScript ist eine objektbasierte Skriptsprache, die ergänzend zum normalen HTML-Code einer Webseite zum Einsatz kommt und in diesen integriert ist. Durch JavaScript-Programme ist es möglich, eine Webpräsens dynamisch und interaktiv zu gestalten, sei es z.B. durch kleine Browserspiele, Animationen oder intelligente Formulare.

     

    Entwicklung:

    Im Jahre 1995 entwickelte Brendan Eich für den Netscape Navigator 2.0 eine Programmiersprache, die es ermöglichen sollte, den bis dahin unveränderlichen Web-Seiten Dynamik zu verleihen. Damals noch unter dem Namen LiveScript veröffentlicht, wurde die Programmiersprache in Zusammenarbeit mit der Firma Sun Microsystems im Dezember 1995 aus Marketinggründen in JavaScript umbenannt. Trotz dieser Namensähnlichkeit hat JavaScript jedoch nur wenig mit der Programmiersprache Java gemeinsam und wollte durch die Namensgebung lediglich den aufkommenden „Java“-Boom ausnutzen.Als im Jahre 1996 der JScript-fähige Internet Explorer 3 von Microsoft veröffentlicht wurde, kam es zum so genannten „Browserkrieg“, in dessen Verlauf der Netscape Navigator immer weiter von seiner Position als marktführender Browser verdrängt wurde. Aufgrund der daraus resultierenden starken Inkompatibilitäten zwischen Microsofts IE und Netscapes Navigator wurde 1997 der ECMA-Script Standard veröffentlicht. Diese Norm sollte die Grundelemente einer Scriptsprache standardisieren und somit Kompatibilitätsprobleme verringern.In der heutigen Zeit ist fast jeder Internet-Browser in der Lage JavaScript zu interpretieren, wobei Microsofts Internet Explorer und Mozilla Firefox zu den am meisten Verwendeten gehören.

     

    Funktion und Nutzung:

    JavaScript (derzeit in der Version 1.5) erweitert die statische Funktionalität einer HTML-Seite um dynamische Inhalte. Sie werden direkt in den HTML-Code eingebunden und durch den Interpreter des Browsers interpretiert und ausgeführt.Häufig verwendete Aufgaben von JavaScript sind unter anderem:

    • die Überprüfung von Bedingungen (if ... else)
    • das Abarbeiten von Schleifen (for ..., while ...)
    • Reaktion auf Ereignisse, z.B. Mausklicks oder Bewegung der Maus über bestimmte Elemente
    • Banner oder Laufschriften
    • Durchführung von Berechnungen
    • Überprüfung von Formularen vor dem Abschicken
    • dynamisches Ändern von Farben
    • dynamisches Austauschen von eingebundenen Bildern
    • dynamisches Bewegen von Layern
    • ungewolltes Öffnen oder Schließen von Browserfenstern
    • verschleiern des Quelltextes einer Seite, oder Deaktivierung des Kontextmenüs oder der Kopierfunktion und Bilder oder Grafiken vor dem Kopieren zu schützen

     Quellen und weiterführende Links:

    http://de.wikipedia.org/wiki/JavaScript

    http://www.bingo-ev.de/~ub304/javscrpt/index.htm 

    http://www.heise.de/ix/artikel/2003/08/121/bsp/listing8b.html

    http://www.javascript-workshop.de/buch/01.html

    http://www.jgiesen.de/javascript/JavaScript/JSBeispiele/start.htm

    http://www.programmierschule-dortmund.de/js_infos.html  

  • JPEG

    JPEG steht für "joint photografic expert group". Dieses Expertengremium wurde 1986 gegründet und erarbeitet seit 1992 in engster Zusammenarbeit mit der International Organisation of Standardisation (ISO) das gleichnamige Dateiformat. Es ist das im Internet am weitesten verbreitete Bildformat für digitale Fotos.

    Das JPEG Verfahren komprimiert digitale Bilddateien. Diese Kompression nutzt keine üblichen Algorithmen um Daten zu packen, sondern ist ein viel komplexerer Vorgang, der einzelne Bildinformationen selektiert und anschließend löscht.

    Der spezielle Kompressionsalgorithmus des JPEG Verfahrens basiert auf dem Algorithmus DCT (Diskrete Cosinus Transformation) in Verbindung mit der Huffman-Kodierung. Das JPEG Dateiformat beschreibt einfach eine Anwendung dieses Algorithmus auf Pixelgrafiken.

     

    Im Einzelnen besteht die Datenkompression aus folgenden Teilschritten:

    • Farbraumumrechnung vom (meist) RGB-Farbraum ins YCbCr-Farbmodell
    • Tiefpassfilterung und Unterabtastung der Farbabweichungssignale Cb und Cr
    • Einteilung in 8×8-Blöcke und diskrete Kosinustransformation dieser Blöcke
    • Quantisierung
    • Umsortierung
    • Entropiekodierung

    Wie das GIF-Format, zeichnet sich auch das JPEG-Grafikformat durch eine gute Kompression aus. Gegenüber dem GIF-Format hat es jedoch zusätzlich den Vorteil, dass JPEG pro Bild bis zu 16,7 Millionen Farben speichern kann. Der Nachteil bei JPEG ist, dass es mit Verlust komprimiert, d.h. es geht Bildqualität verloren je höher der Kompressionsfaktor ist und desto schlechter ist die Qualität der Grafik. Andererseits werden Daten reduziert und die JPEG Datei benötigt weniger Speicherplatz. Man ist also darauf bedacht ein optimales Gleichgewicht zwischen Qualität und Dateigröße zu finden. Je nachdem zu welchem Zweck die Bilddateien benötigt werden, stellen sich unterschiedliche Anforderungen.

    Neben dem Kompressionsfaktor spielt ein anderer wichtiger Parameter noch eine Rolle bezüglich der Qualität der Bilddatei - Die Punktdichte oder kurz dpi (dots per inch). Auch hier gilt, dass der Zweck der JPEG-Datei entscheidend für den dpi-Wert ist.

    Seine Stärken entfaltet das JPEG-Format beim Abspeichern von Fotos und Bildern, bei denen feine Farbverläufe zu beobachten sind. Sogar bei einem kleinen Kompressionsfaktor ist die Bilddatei um ein Vielfaches kleiner, als bei vergleichbaren Formaten (z.B. Bitmap). Sind die Farbverläufe hingegen scharf und hart, sprich bei eckigen und kantigen Bilddarstellungen, ist der Qualitätsverlust sehr viel schneller sichtbar. Deshalb sind für das JPEG-Format besonders folgende Bilddateien ungeeignet:

    • digitale Strichzeichnungen, in denen es viele benachbarte Bildpunkte mit exakt identischen Farbwerten, wenige Farben und harte Kanten gibt
    • Schwarzweißbilder (Rastergrafik, nur Schwarz und Weiß, 1 Bit pro Bildpunkt)
    • gerasterte Bilder (Zeitungsdruck)

     

    Zusätzlich für die hervorragende Eignung des JPEG-Formats im Internet spricht die Variante der „progressiven JPEG-Grafik“. Hierbei wird ein Bild im JPEG-Format bereits in einer undeutlicheren Fassung angezeigt, wenn erst 15% der Datei von der Browser-Software übertragen wurde.

    Mittlerweile wird der JPEG-Algorithmus auch auf Videos angewendet. Dieses Bewegtbildkompressionsverfahren hat das beliebte Video-Format MPEG hervorgebracht.

    Zusätzlich wurde Anfang 2001 das überarbeitete Format „JPEG 2000“ zum Standard erklärt, in einigen Bereichen konnte sich das neue Format auch schon durchsetzen. Es bietet gegenüber den herkömmlichen JPEG einige Vorteile, als da wären:

    • bessere Komprimierungsrate bei gegebener Qualität
    • zwangloser Übergang von verlustbehafteter zu verlustloser Kompression
    • Möglichkeit, bestimmten Bildregionen von Interesse in höherer Qualität zu komprimieren und zu dekomprimieren (ROI = Region Of Interest)
    • Wiederholtes Öffnen/Speichern mit gleichem Encoder und gleichen Kompressioneinstellungen führt nicht zu fortschreitenden Qualitätseinbußen
    • Raum für Metadaten

     

    Quellen:

    www.wikipedia.org

    http://de.selfhtml.org/grafik/formate.htm#jpeg

    http://www.glossar.de/glossar/1frame.htm?http%3A//www.glossar.de/glossar/z_bildformate.htm

  • JSP

    Java Server Pages

    Java Server Pages, abgekürzt JSP, ist eine von Sun Microsystems entwickelte Technologie, die im Wesentlichen zur einfachen dynamischen Erzeugung von HTML- und XML-Ausgaben eines Webservers dient. Sie erlaubt es, Java-Code und spezielle JSP-Aktionen in statischen Inhalt einzubetten. Dies hat den Vorteil, dass die Logik unabhängig vom Design implementiert werden kann.

    Die JSP-Syntax erlaubt es, mittels spezieller XML-Tags vordefinierte Funktionalität einzubinden. Diese JSP-Aktionen werden in so genannten Tag-Bibliotheken als Erweiterung der HTML- bzw. XML-Tags definiert.

    Java Server Pages werden unter Verwendung eines speziellen JSP-Compilers in Java-Quellcode umgewandelt. Dieser Quellcode, der einem Java-Servlet entspricht, wird im Anschluss durch den Java-Compiler in Bytecode umgewandelt. Die so erzeugten Java-Klassen können dann von einem Webserver mit entsprechender Servlet-Engine ausgeführt bzw. interpretiert werden.

    Syntax

    Grundsätzlich lassen sich JSP als eine Art HTML- oder XML-Seite mit zusätzlichen JSP-spezifischen Tags und Java-Code beschreiben. Eine JSP kann grob in die folgenden Elemente aufgeteilt werden:

    • statischer Inhalt wie HTML (=template text)
    • JSP-Direktiven
    • JSP-Skriptelemente
    • JSP-Aktionen
    • JSP-Tag-Bibliotheken (Tag Libraries)

    Statischer Inhalt

    Der statische Inhalt sind all jene Elemente, die vom Webserver in die HTTP-Response ohne Veränderung übernommen werden So wäre ein normales HTML-Dokument gänzlich ohne JSP-Elemente, wie eingebetteten Java-Code oder JSP-Aktionen, eine gültige JSP; denn JSP erlaubt es zwar, dynamische Daten in statischen Inhalt einzufügen, erfordert dies aber nicht.

    Direktiven

    Eine Direktive dient zum Übermitteln von speziellen Seiteninformationen an den JSP-Compiler; dadurch kann man angeben, ob die JSP eine Tag-Library (kurz Taglib) einbindet oder wie im Fehlerfall weiter zu verfahren ist.

    Standardvariablen

    Die folgenden Variablen können in jeder JSP verwendet werden; Sie werden auch als implizite Objekte bezeichnet:

    Application, config, out,page, pageContext, request, response, session

    Skriptelemente

    Es gibt drei grundlegende Skriptelemente, die es erlauben, Java-Code direkt in die JSP einzufügen.

    Deklarationen

    Deklarationen dienen zur Definition von Variablen und Methoden, die von anderen Elementen in der JSP verwendet werden können. Deklarationen erzeugen keine Ausgabe innerhalb der JSP.

    Ausdrücke

    Ausdrücke werden dazu verwendet, Variablen oder Methoden direkt in den HTML- oder XML-Ausgabestrom zu integrieren.

    Skriptlets

    JSP-Skriptlets können zur Implementierung der Ablauflogik sowie der Erzeugung der HTML- oder XML-Ausgabe eingesetzt werden. Der Skriptlet-Code wird innerhalb der _jspService()-Methode des generierten Servlets eingefügt.

    Kommentare

    Kommentare sind nur innerhalb der originalen JSP sichtbar, sie werden nicht in den Ausgabestrom geschrieben.

    Aktionen

    JSP-Aktionen sind XML-Tags, welche die eingebaute Funktionalität von Webservern einbinden.

    Bei weiterem Interesse:

    http://java.sun.com/products/jsp/index.html – Produktbeschreibung von Sun

    http://www.jsp-develop.de – deutschsprachiges JavaServer Pages Portal

    http://www.jsptutorial.org – ein Tutorial zu JavaServer Pages und javabasierten Web-Applikationen