410 likes | 669 Views
Sven Berberich (2IB) . Die Programmiersprache Java. 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.
E N D
Sven Berberich (2IB) Die Programmiersprache Java
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 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)
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
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
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)
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 • 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?!