Die Programmiersprache Java Sven Berberich (2IB) 1 Thematische Übersicht Entstehungsgeschichte von Java Einflüsse anderer Sprachen Grundlegende Spracheigenschaften Übersicht Development Kit Java Micro Edition Java Standard Edition Java Enterprise Edition 2 Entstehung von Java Startschuss 1990 bei der Firma Sun Microsystems Gründung des „Green Projekt Team“ Leitung: Patrick Naughton, James Gosling, Mike Sheridan 3 Entstehung von Java Kommunikation verschiedener Geräte wie Waschmaschinen Telefonanlagen und Unterhaltungselektronik 1992 schrieb James Gosling die Programmiersprache „OAK“ 4 Entstehung von Java 1992 Prototyp „Star7“ mit OAK Interpreter und “Green OS” Mini Computer der mit anderen seiner Art kommunizieren konnte 5 Entstehung von Java 1995 Aus OAK wird: 6 Einflüsse anderer Sprachen Syntax von C , C++ Objektorientierung Simula, Smalltalk und Eiffel 7 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 8 Grundlegende Spracheigenschaften Objektorientiert Individuelle Datentypen Objekte Datenelemente + Methoden Bauplan durch Klassen Wiederverwendbare Klassenbibliotheken und Frameworks Multithreading 9 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 10 Java JDK 11 Die verschiedenen Java Editionen 12 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) 13 Java Standard Edition Bildet Basis der Programmiersprache Basis Sprachumfang Kontrollstrukturen Frameworks 14 Java Standard Edition Basis Sprachumfang Bezeichner Kommentare Operatoren Konstanten Variablen Basisdatentypen Arrays und Strings Methoden Klassen, Vererbung, Polymorphie Objekterzeugung und Zugriff 15 Java Standard Edition Kontrollstrukturen If Bedingung For -Schleife For Each -Schleife While -Schleife Do While -Schleife Switch Anweisung 16 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) 17 Java Standard Edition Applets Stand-Alone Programme 18 Applets Eigenständige Programme in HTML Seiten eingebettet Ende 1990 Hauptgrund für schnelle Verbreitung von Java Browser muss eine Virtuelle Maschine haben 19 Applet erstellen 20 Applet in HTML einbinden 21 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 22 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 23 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 24 Programmauslieferung Executable Jar Archive Mit Wrapper als .exe Datei 25 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++ 26 Java Enterprise Edition Baut auf der Standard Edition auf, und erweitert sie durch Container mit Services 27 Java Enterprise Edition Überblick Java EE SDK 28 Java Enterprise Edition Multi-Tier Programme (verteilte Systeme) 29 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 30 Aufbau Applikationsserver 31 Der Container (EJB, Servlet) 32 Funktionelle Übersicht 33 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) 34 Auszug Descriptor 35 Das EAR-File 36 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 37 Java EE Frameworks Hibernate 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 38 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) 39 Java Überblick Gibt es Fragen?! 40