976 Beiträge rss | 29 Nutzer online

Alles über Java (PC-Online 1997)

Java ist die Programmiersprache im Internet. Ihr Vorteil: Alle Applikationen laufen auf jedem Betriebssystem und jedem Prozessor. PC-Online zeigt, was hinter Java steckt, und wie Sie die Sprache nutzen.

(Dieser Beitrag stammt aus dem Jahr 1997 - ich bitte, das bei der Lektüre zu berücksichtigen.)

Was ist Java?

Java ist eine objektorientierte, plattformunabhängige Programmiersprache. Sie ist konzipiert für den Einsatz in Netzwerken mit unterschiedlichen Computersystemen. Das Internet gehört ebenso zu diesen heterogenen Netzen wie firmeninterne Intranets. Die Sprachsyntax erinnert an C und C++ . Allerdings weist Java weitaus weniger Funktionen als diese beiden Sprachen auf. Der Grund: Java soll sicher sein und nicht auf die Systeminnereien eines Rechners zugreifen können.

 

Was bedeutet objektorientiert?

Objektorientiert bedeutet vereinfacht, daß Bestandteile eines Programms, etwa Fenster, Dialogboxen oder Dateien zu Objekten erklärt werden. Diese Objekte haben bestimmte Eigenschaften, etwa die Fenstergröße, den Statustext einer Dialogbox oder den Dateinamen. Auf diese Eigenschaften wiederum lassen sich Methoden anwenden, etwa das Ändern der Fenstergröße, die Verarbeitung eines Texteingabe oder das Schließen des Files.

Einmal programmierte Objekte lassen sich immer wieder verwenden und vererben ihre Eigenschaften an andere Objekte. Auf der einen Seite ist der Programmieraufwand anfangs höher. Doch wenn man das objektorientierte Konzept konsequent anwendet, spart es bei umfangreicheren Projekten eine Menge Arbeit.

 

Was bedeutet Portabilität?

Java will einen alten Programmierertraum erfüllen. Einmal geschrieben soll jedes Programm auf jedem Computer laufen. Dabei ist es egal, welcher Prozessor und welches Betriebssystem im Rechner arbeiten. Dieser Traum hat einen handfesten wirtschaftlichen Hintergrund. Denn anstatt Programme immer auf unterschiedliche Hardware-Umgebungen anzupassen, schreibt man ein Programm einmal und läßt es überall laufen. Auch die Wartung der Software wird dann einfacher. Denn anstatt viele Versionen zu verwalten, kümmert man sich nur um ein Stück Source-Code. Das erfordert weniger Personalaufwand und spart Geld.

Der Gedanke an die Portabilität ist so alt die EDV-Branche. Programmiersprachen wie C oder Basic waren anfangs auf Plattformunabhängigkeit ausgelegt. Doch Basic verlor sich in zahllosen Dialekten. Das puristische C hingegen wahrte halbwegs seine Übertragbarkeit, wurde jedoch durch betriebssystemspezifische Erweiterungen und Funktionen verwässert.

 

Welches Prinzip steckt hinter Java?

Java ist ein Mischling aus Compiler- und Interpretersprache. Ein Compiler verwandelt Quelltext direkt in Maschinensprache. Diese Programme laufen dann als ausführbare Dateien auf den Betriebssystemen, für die sie übersetzt wurden. Ein Interpreter dagegen liest den Sourcecode Zeile für Zeile und wandelt die dort beschriebenen Anweisungen Schritt für Schritt in Maschinenbefehle um. Viele alte Basic-Dialekte arbeiten nach diesem Prinzip.

Der Java-Compiler darf keinen reinen Maschinencode ausgeben. Denn Maschinenprogramme für einen Pentium würden nicht auf einem Motorola-Chip laufen. Also übersetzt der Java-Compiler die Programmanweisungen in einen einheitlichen Zwischencode. Der ist kompakter und schneller zu übertragen als der Originalquelltext.

Sobald ein Java-Applet auf dem Rechner startet, lädt dieser den Zwischencode und ruft eine Übersetzungshilfe, den Interpreter auf. Diese Java Virtual Machine übersetzt ihrerseits den Zwischencode in ein für den Prozessor verständliches und ausführbares Format. Anstatt also die fertigen Programme auf einen Rechner anzupassen, muß lediglich die Java Virtual Machine zum jeweiligen Betriebssystem und Prozessor passen.

 

Wie schnell ist Java?

Die Unabhängigkeit von Betriebssystem und Prozessor erkauft sich Java mit Geschwindigkeitsverlusten. Die Übersetzung des Java-Zwischencodes in der Virtual Machine kostet ordentlich Zeit. Zudem kann Java wegen der Sicherheitsbeschränkungen nicht alle Raffinessen eines Betriebssystems oder Prozessors ausnutzen. Die Geschwindigkeitsoptimierung bleibt allenfalls der Virtual Machine überlassen. Und hier setzen die Programmierer an. Just-in-Time-Compiler sollen künftig Bestandteile von Java-Applets bereits während deren Übertragung in Maschinensprache übersetzen. Spezielle Java-Chips werden die Ausführung ebenfalls beschleunigen. Rockwell kündigte im Herbst den JEM1 an. Weitere Unternehmen wie Sun oder Toshiba basteln ebenfalls fleißig an eigenen Java-Chips.

 

Was ist der Unterschied zwischen Java und Javascript?

Javascript und Java haben im Prinzip nur einen Teil des Namens gemeinsam. Technologisch entdeckt man lediglich ein paar Ähnlichkeiten in der Syntax. So verfolgt Javascript auch einige objektorientierte Ansätze, bringt aber weder das Leistungsvermögen noch die Geschwindigkeit von Java. Denn Javascript ist eine reine Interpretersprache. Die Kommandos kommen also im Klartext zum Empfänger, der die Anweisungen Zeile für Zeile liest und abarbeitet. Der Vorteil von Javascript liegt in der leichteren Erlernbarkeit – mit ein paar Basic-Grundkenntnissen kommt man schon sehr weit. Bevorzugt kommt Javascript bei Steuerungsaufgaben und einfacheren Werkzeugen zum Einsatz. Bei der Taufe von Javascript spielten wohl Marketing-Gründe die Hauptrolle. Zunächst hieß die Sprache Livescript. Doch der Hersteller Netscape wollte mit der Bezeichnung Javascript Nähe zu Suns Java demonstrieren. Tatsächlich gibt es eine Schnittstelle zwischen Javascript und Java – Netscape empfiehlt die Scriptsprache zum Ansteuern von Applets.

 

Was ist der Unterschied zwischen Java und Active-X?

Active-X von Microsoft ist keine Programmiersprache wie Java. Ähnlich wie das aus Windows bekannte OLE handelt es sich bei Active-X um ein Objektmodell. Eine bestimmte Umgebung, in diesem Fall der Internet Explorer, nimmt ein Objekt auf und stellt ihm Schnittstellen zum Computer zur Verfügung. Bei den Active-X-Controls handelt es sich um ausführbare Programme oder Dokumente, die via Netzwerk übertragen werden.

Im Gegensatz zu seinem Kollegen OLE ist Active-X sparsamer konzipiert und auf Geschwindigkeit und Größe optimiert. Das soll die Netzauslastung gering halten. Active-X-Controls lassen sich in jeder Programmiersprache verfassen, etwa in Visual Basic, C++ oder sogar Java.

In Sachen Geschwindigkeit haben die Active-X-Controls ihren Java-Konkurrenten einiges voraus. Denn nachdem es Active-X nur für Windows gibt, verzichtete man auf den Zwischencode. Die Controls bereits in Maschinensprache für Intel und Windows übersetzt. Andererseits beschränkt diese Windows-Bindung die Flexibilität der Controls. Sie lassen sich nur auf Windows-Systemen ausführen. Und aus all den Ankündigungen Active-X auch für andere Betriebssysteme zu bringen ist vorerst nichts geworden.

Als großes ActiveX-Problem erweist sich die Systemsicherheit. ActiveX-Komponenten haben vollen Zugriff auf das System und empfindliche Speicherbereiche. So bietet sich eine Angriffsfläche für Viren und Online-Spione. Einziger Schutzmechanismus ist eine Herkunftskennung. Anhand eines Zertifikates sollen sich Programmierer von Active-X-Controls ausweisen und erklären, daß ihr Code bedenkenlos laufen kann.

 

Was ist Java Beans?

Java Beans sind in Java programmierte wiederverwendbare Software-Komponenten. Sie verfügen über festgelegte Schnittstellen, lassen sich kombinieren und geben über ihre Eigenschaften Auskunft. Das prädestiniert die Module für den Einsatz in visuellen Entwicklungswerkzeugen, in denen Applikationen per Maus zusammengestellt werden. Java Beans schafft zudem Schnittstellen zwischen plattformunabhängigen Java-Anwendungen und plattformgebundenen Komponenten wie Active-X, Lotus Notes oder dem Internet Explorer.

 

Was brauche ich, um Java laufen zu lassen?

Für den Einsatz von Java-Applets benötigen Sie einen aktuellen Web-Browser wie den Internet Explorer 4.0 oder den Netscape Navigator 4.0. Beide Programme haben eine eigene Java Virtual Machine integriert. Verwenden Sie möglichst immer die aktuellsten Browser-Versionen. Nur dann können Sie sicher sein, daß Applets einwandfrei laufen.

 

Kann ich Java nutzen, ohne selbst zu programmieren?

Sie können Java-Applets auf Ihrer Homepage einbinden und an Ihre Bedürfnisse anpassen. Populär sind Java-Animationen, Uhren oder Rechenhilfen. Alles, was Sie hier kennen müssen, sind ein paar HTML-Anweisungen.

 

Wie binde ich Java-Programme auf meiner Homepage ein?

Das <applet>-Tag verhilft dem Java-Programm auf Ihre Homepage. Hier geben Sie neben dem Namen des Programms auch die Größe des Ausführungsfensters ein. Meistens sind diese Werte vom Applet-Programmierer vorgegeben und in der Dokumentation des Applets nachzulesen.

<applet code=hello.class width=80 height=100></applet>

Die Fenstergröße muß immer angegeben werden. Sollte das Applet auf einen Browser ohne Java-Fähigkeiten treffen, sollte man einen kurzen erläuternden Text zur Hand haben, der anstelle des Programmfensters erscheint:

<applet code=hello.class width=80 height=100 alt=“Java-Applet hello.class leider nicht ausf&uuml;hrbar...“></applet>

Drei wichtige Parameter für <applet> sind align, vspace und hspace. Align positioniert das Applet im Dokument. Bei left oder right fließt der Dokumenttext um das Appletfenster herum. Wenn Sie diesen Parameter verwenden, dürfen auch vspace und hspace zum Einsatz kommen. Diese Werte enthalten den vertikalen und horizontalen Abstand zwischen Applet-Fenster und dem umgebendem Text.

Wie jedem Programm dürfen Sie auch einem Java-Applet Parameter mit auf den Weg geben. Welche Parameter und Werte ein Applet verarbeitet, liegt in der Verantwortung des Programmierers. Für die Parameter-Übergabe sorgt das Tag <param>, das zwischen <applet> und </applet> Platz findet:

<param value=100>

name bezeichnet den internen Namen des Parameters, auf den sich das Programm später bezieht und den bei value angegebenen Text liest.

Wenn Sie etwa ein Applet für Laufschriften auf Ihrer Homepage einbinden, übergeben Sie den Text per Parameter an das Applet. Meist regeln Sie hier auch Laufgeschwindigkeit und die Art der Animation. Welche Werte exakt gesetzt werden müssen, verrät die Dokumentation des Applets.

 

Woher bekomme ich Java-Applets?

Der populärste Java-Pool ist Gamelan. Doch auch auf vielen anderen Sites finden Sie Applets und weitere Informationen zu Java:

http://www.gamelan.com/: Java-Applets und Javascript-Programme.

http://www.applets.com/: Suchmaschine für Java-Applets

http://www.jars.com/: Die besten Applets mit Bewertung

http://www.javasoft.com/applets/js-applets.html: Applets direkt vom Hersteller

http://javaboutique.internet.com/: Die Java-Boutique

 

Wie sicher ist Java?

Das Konzept hinter Java verspricht Sicherheit. Von Haus aus darf ein Java-Applet keine Dateien auf dem lokalen Rechner öffnen oder bearbeiten. Lediglich mit dem Appletviewer von Sun darf der User Verzeichnisse freigeben, in denen Dateien gelesen und geschrieben werden. Mit dem Internet Explorer oder dem Netscape Navigator ist dies unmöglich. Außerdem erlaubt Java ausschließlich Verbindungen zwischen einem Java-Programm und dessen Ursprungs-Server. Hier darf das Applet auch Dateien lesen und schreiben.

Alle Java-Anwendungen laufen in einer Sandbox. Wie Kinder im Sandkasten, können auch Applets in ihrem geschützten Raum nichts anstellen. Das bedeutet: Java-Applets dürfen nicht direkt Speicherbereiche des Computers beschreiben oder lesen. Denn diese für schnelle C- und C++-Programme unabdingbare Zeigerarithmetik birgt die Gefahr, daß ein Java-Applet unerlaubt Speicherbereiche liest und an den Server schickt. Umgekehrt könnte böswilliger ein Schreibzugriff auf den Speicher Windows zum Absturz bringen. Das passiert mit Java nicht. Dennoch ist das Sicherheitskonzept von Java nicht wasserdicht. Immer wieder entdecken Programmierer Bugs und Sicherheitslücken. So stieß ein Java-Entwickler im Herbst auf einen Fehler, der erlaubte, per Java eine Datenverbindung zwischen dem PC und einem beliebigen Server aufzubauen. Das öffnet einem unkontrolliertem Datenversand Tür und Tor. Der Fehler ist inzwischen mit den aktuellen Browser-Versionen behoben.

 

Sicherheitsinfos zu Java

Java Security: http://www.aztech.net/~steve/java/

Bösartige Java Applets: http://www.math.gatech.edu/~mladue/HostileApplets.html

Java Security Resources: http://pantheon.yale.edu/~dff/java.html

Applet Security FAQ: http://java.sun.com/sfaq/

 

Streit um Java

Programmiersprache und Politikum. Kaum eine andere Technologie erhitzt die Gemüter so wie Java. Hauptkontrahenten sind Sun und Microsoft. Sun möchte Java als plattformunabhängige Programmiersprache der Zukunft profilieren und dabei die Kontrolle über das Sprachkonzept behalten. Dafür scharte Sun zahlreiche Hersteller um sich und gründete die Intiative „100 percent Pure Java“. Pikant: Hierzu gehört auch Apple, das kürzlich eine enge Beziehung zu Microsoft einging.

Zusätzlich beantragte Sun bei der International Standard Organization den Status als Publicy Available Submitter. Damit wäre der Hersteller selbst das Standardisierungs-Gremium und könnte alle Veränderungen kontrollieren. Bislang fing sich Sun jedoch nur eine Ablehnung ein und unternimmt gerade den zweiten Anlauf.

Microsoft hält nicht viel von Suns Bemühungen und kocht lieber sein eigenes Süppchen. Auf einer Programmierertagung in San Diego empfahlen Microsoft-Vertreter unverblümt, doch auf Java zu verzichten und stattdessen mit Dynamic HTML zu arbeiten. Ebenso würde Microsoft lieber ActiveX-Controls auf den Homepages sehen denn Java-Applets. Und so wundert es nicht, daß Microsoft sämtliche Java-Applets von seinem Web-Server verbannte.

Das bringt die Software-Riesen aus Redmond Vorwürfe. Microsoft hätte sich zu Java bekannt und so solle es auch bleiben, fordert etwa die Programmierervereinigung Java-Lobby. Und Sun-Boss Scott McNealy drohte Microsoft unverblümt mit dem Entzug der Java-Lizenz, wenn sich das Redmonder Unternehmen nicht endlich klar zu Java bekennen würde.

Anfang Oktober ging Sun noch einen Schritt weiter. Kurz nach der Veröffentlichung des Internet Explorer 4.0 verklagte Sun den Konkurrenten. Die Java-Implementation von Microsoft sei nicht kompatibel. Außerdem wirft Sun seinem Kontrahenten Trademark-Verletzung, unlauteren Wettbewerb und Vertragsbruch vor. Microsoft wolle den Java-Standard aufbrechen anstatt sich an den Vertrag mit Sun zu halten. Die Redmonder würden die Plattformunabhängigeit unterminieren. Die Java-Implementation dränge Entwickler, Programme zu schreiben, die nur unter Windows laufen.

Microsoft ist sich keiner Schuld bewußt. Man habe die kompatibleste Java-Version ausgeliefert und bewege sich sehr wohl im Rahmen der Vereinbarung, konstatiert das Microsoft Marketing. Inzwischen haben sich die beiden Streithähne bereit erklärt, Vertrag und Suns Klageschrift zu veröffentlichen. Auf der Javasoft-Homepage www.javasoft.com darf sich nun jeder selbst ein Bild davon machen, worüber die beiden Unternehmen streiten. Ein Ende ist jedenfalls noch nicht abzusehen.

Mehr dazu:

Aktualisiert am: 17.11.2009




Ihr Kommentar:


Name:


Copyright © goldmann.de 1999-2012   | Tippscout 5.0
Zurück Startseite