Die Programmiersprache Java Sven Berberich (2IB)
Thematische Übersicht Entstehungsgeschichte von Java Einflüsse anderer Sprachen Grundlegende Spracheigenschaften Übersicht Development Kit Java Micro Edition Java Standard Edition Java Enterprise Edition
Entstehung von Java Startschuss 1990 bei der Firma Sun Microsystems Gründung des „Green Projekt Team“ Leitung: Patrick Naughton, James Gosling, Mike Sheridan
Entstehung von Java Kommunikation verschiedener Geräte wie Waschmaschinen Telefonanlagen und Unterhaltungselektronik 1992 schrieb James Gosling die Programmiersprache „OAK“
Entstehung von Java 1992 Prototyp „Star7“ mit OAK Interpreter und “Green OS” Mini Computer der mit anderen seiner Art kommunizieren konnte
Entstehung von Java 1995 Aus OAK wird:
Einflüsse anderer Sprachen Syntax von C , C++ Objektorientierung Simula, Smalltalk und Eiffel
Grundlegende Spracheigenschaften Plattformunabhängigkeit Quellcode wird in Bytecode kompiliert Bytecode kann auf allen Systemen mit „virtueller Maschine“ ausgeführt werden Bytecode wird von „virtueller Maschine“ interpretiert Maschinencode Obligatorisch „Just in Time Compiler“ Quellcode Maschinencode
Grundlegende Spracheigenschaften Objektorientiert Individuelle Datentypen Objekte Datenelemente + Methoden Bauplan durch Klassen Wiederverwendbare Klassenbibliotheken und Frameworks Multithreading
Grundlegende Spracheigenschaften Sicher und robust Keine Zeiger auf Speicheradressen Keine Multiple Vererbung Um Anforderung und Freigabe von Speicherplatz kümmert sich das System Sandbox (Applets) Verteilt Multitieranwendungen auf verschiedenen Applikationsservern über RMI
Java JDK
Die verschiedenen Java Editionen
Java Micro Edition Konzipiert -mobile Endgeräte-, Handys PDAs Funkscanner etc. Getränkeautomat, Kassensysteme Eigene abgeschwächte API und „Virtuelle Maschine“ Herstellerspezifische API's Programme – Midlets - ähnlich Applets Einstellung bis 2010 geplant (Quelle Java Magazin)
Java Standard Edition Bildet Basis der Programmiersprache Basis Sprachumfang Kontrollstrukturen Frameworks
Java Standard Edition Basis Sprachumfang Bezeichner Kommentare Operatoren Konstanten Variablen Basisdatentypen Arrays und Strings Methoden Klassen, Vererbung, Polymorphie Objekterzeugung und Zugriff
Java Standard Edition Kontrollstrukturen If Bedingung For -Schleife For Each -Schleife While -Schleife Do While -Schleife Switch Anweisung
Java Standard Edition Beispiele Basis Frameworks und Bibliotheken Exception Framework IO Stream Framework Collection Framework Java Native Interface Threads Integrations Libraries(JDBC,RMI,JNDI) Applets GUI (AWT, Swing, SWT)
Stand-Alone Programme Java Standard Edition Applets Stand-Alone Programme
Applets Eigenständige Programme in HTML Seiten eingebettet Ende 1990 Hauptgrund für schnelle Verbreitung von Java Browser muss eine Virtuelle Maschine haben
Applet erstellen
Applet in HTML einbinden
Applets Appletprogramme werden von der Klasse „Applet“ abgeleitet und erweitert Voller Funktionsumfang J2SE Ausführung in Sandbox Online Shops, Clients für Applikationsserver, Abgelöst durch Servlets,Portlets mit Ajax Internet Explorer MSJVM eingestellt Geschwindigkeitsprobleme Rekompilierbar
Stand Alone Programme mit Java Kommandozeilen Programme sowie Programme mit Grafischer Benutzeroberfläche Ausführbar auf allen Systemen für die es eine „Virtuelle Maschine“ gibt Write once run everywhere
Programmerstellung Quellcode schreiben und mit dem Compiler „javac“ zu Bytecode compilieren C:\projekte\javac Programm.java Der Interpreter „java“ bringt das Programm zum ausführen C:\projekte\java Programm
Programmauslieferung Executable Jar Archive Mit Wrapper als .exe Datei
Java Standard Edition Meist Programme die Überwachungen im Hintergrund ausführen Thinclients für Applikationsserver Serverprogramme (Bsp.:JBoss) Wenige Desktopprogramme (Bsp.: Eclipse) Geschwindigkeit Haupteinsatzgebiet von C, C++
Java Enterprise Edition Baut auf der Standard Edition auf, und erweitert sie durch Container mit Services
Java Enterprise Edition Überblick Java EE SDK
Java Enterprise Edition Multi-Tier Programme (verteilte Systeme)
Java Enterprise Edition Zur Ausführung wird Applikationsserver benötigt Sun liefert hierzu den „Glassfish“ Die gängigsten Java EE Server sind Websphere (IBM) Weblogic (BEA) Netweaver (SAP) JBoss
Aufbau Applikationsserver
Der Container (EJB, Servlet)
Funktionelle Übersicht
Programmerstellung EJB Klassen erstellen Deploymentdescriptor für EJB Container Java Archiv verpacken (JAR) Servlet JSP Klassen erstellen Deploymentdescriptor für Servlet Container Web Archiv verpacken (WAR) Deploymentdescriptor für App. Server Enterprise Archiv verpacken (EAR)
Auszug Descriptor
Das EAR-File
Java Enterprise Edition Quasi Standard in der Industrie Bank und Versicherungssoftware, Verwaltungssoftware, Monitoring 90% aller neu erstellten Business-Programme - >Java EE Architekturen (Quelle Internet) Altsysteme (mit Cobol etc.) werden Stück für Stück auf neue Architektur umgebaut Remote Procedure Calls C# App. Server -Bsp. Protokol: SOAP
Java EE Frameworks Hibernate Spring JSF Objekte in Datenbanken schreiben und lesen Befreit von SQL Abfragen Spring Umfangreiches Framework Funktionalitäten und Lösungen für Geschäftslogik JSF Benutzeroberflächen für Webinterface
Literaturverzeichnis Java als erste Programmiersprache (ISBN 3-519-32642-6) Handbuch der Java Programmierung (ISBN 3-827-32447-5) Java EE 5.0. Master Class (ISBN 3827323622) Head First Java (ISBN 0-596-00920-8) Head First EJB (ISBN 0-596-00571-7) Head First Servlets (ISBN 0-596-00540-7)
Java Überblick Gibt es Fragen?!