1 Die Programmiersprache Java Sven Berberich (2IB)

40
1 Die Programmiersprache Java Sven Berberich (2IB)

Transcript of 1 Die Programmiersprache Java Sven Berberich (2IB)

Page 1: 1 Die Programmiersprache Java Sven Berberich (2IB)

1

Die Programmiersprache Java

Sven Berberich

(2IB)

Page 2: 1 Die Programmiersprache Java Sven Berberich (2IB)

2

Thematische Übersicht

Entstehungsgeschichte von Java Einflüsse anderer Sprachen Grundlegende Spracheigenschaften Übersicht Development Kit Java Micro Edition Java Standard Edition Java Enterprise Edition

Page 3: 1 Die Programmiersprache Java Sven Berberich (2IB)

3

Entstehung von Java Startschuss 1990 bei der Firma Sun

Microsystems Gründung des „Green Projekt Team“

Leitung: Patrick Naughton, James Gosling, Mike Sheridan

Page 4: 1 Die Programmiersprache Java Sven Berberich (2IB)

4

Entstehung von Java

Kommunikation verschiedener Geräte wie Waschmaschinen Telefonanlagen und Unterhaltungselektronik

1992 schrieb James Gosling die Programmiersprache „OAK“

Page 5: 1 Die Programmiersprache Java Sven Berberich (2IB)

5

Entstehung von Java

1992 Prototyp „Star7“ mit OAK Interpreter und “Green OS”

Mini Computer der mit anderen seiner Art kommunizieren konnte

Page 6: 1 Die Programmiersprache Java Sven Berberich (2IB)

6

Entstehung von Java

1995 Aus OAK wird:

Page 7: 1 Die Programmiersprache Java Sven Berberich (2IB)

7

Einflüsse anderer Sprachen

Syntax von C , C++

Objektorientierung Simula, Smalltalk und Eiffel

Page 8: 1 Die Programmiersprache Java Sven Berberich (2IB)

8

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

Page 9: 1 Die Programmiersprache Java Sven Berberich (2IB)

9

Grundlegende Spracheigenschaften

Objektorientiert Individuelle Datentypen Objekte Datenelemente + Methoden Bauplan durch Klassen Wiederverwendbare Klassenbibliotheken und

Frameworks Multithreading

Page 10: 1 Die Programmiersprache Java Sven Berberich (2IB)

10

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

Page 11: 1 Die Programmiersprache Java Sven Berberich (2IB)

11

Java JDK

Page 12: 1 Die Programmiersprache Java Sven Berberich (2IB)

12

Die verschiedenen Java Editionen

Page 13: 1 Die Programmiersprache Java Sven Berberich (2IB)

13

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)

Page 14: 1 Die Programmiersprache Java Sven Berberich (2IB)

14

Java Standard Edition

Bildet Basis der Programmiersprache Basis Sprachumfang Kontrollstrukturen Frameworks

Page 15: 1 Die Programmiersprache Java Sven Berberich (2IB)

15

Java Standard Edition

Basis Sprachumfang Bezeichner Kommentare Operatoren Konstanten Variablen Basisdatentypen Arrays und Strings Methoden Klassen, Vererbung, Polymorphie Objekterzeugung und Zugriff

Page 16: 1 Die Programmiersprache Java Sven Berberich (2IB)

16

Java Standard Edition

Kontrollstrukturen If Bedingung For -Schleife For Each -Schleife While -Schleife Do While -Schleife Switch Anweisung

Page 17: 1 Die Programmiersprache Java Sven Berberich (2IB)

17

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)

Page 18: 1 Die Programmiersprache Java Sven Berberich (2IB)

18

Java Standard Edition

Applets

Stand-Alone Programme

Page 19: 1 Die Programmiersprache Java Sven Berberich (2IB)

19

Applets

Eigenständige Programme in HTML Seiten eingebettet

Ende 1990 Hauptgrund für schnelle Verbreitung von Java

Browser muss eine Virtuelle Maschine haben

Page 20: 1 Die Programmiersprache Java Sven Berberich (2IB)

20

Applet erstellen

Page 21: 1 Die Programmiersprache Java Sven Berberich (2IB)

21

Applet in HTML einbinden

Page 22: 1 Die Programmiersprache Java Sven Berberich (2IB)

22

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

Page 23: 1 Die Programmiersprache Java Sven Berberich (2IB)

23

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

Page 24: 1 Die Programmiersprache Java Sven Berberich (2IB)

24

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

Page 25: 1 Die Programmiersprache Java Sven Berberich (2IB)

25

Programmauslieferung

Executable Jar Archive

Mit Wrapper als .exe Datei

Page 26: 1 Die Programmiersprache Java Sven Berberich (2IB)

26

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++

Page 27: 1 Die Programmiersprache Java Sven Berberich (2IB)

27

Java Enterprise Edition

Baut auf der Standard Edition auf, und erweitert sie durch Container mit Services

Page 28: 1 Die Programmiersprache Java Sven Berberich (2IB)

28

Java Enterprise Edition

Überblick Java EE SDK

Page 29: 1 Die Programmiersprache Java Sven Berberich (2IB)

29

Java Enterprise Edition

Multi-Tier Programme (verteilte Systeme)

Page 30: 1 Die Programmiersprache Java Sven Berberich (2IB)

30

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

Page 31: 1 Die Programmiersprache Java Sven Berberich (2IB)

31

Aufbau Applikationsserver

Page 32: 1 Die Programmiersprache Java Sven Berberich (2IB)

32

Der Container (EJB, Servlet)

Page 33: 1 Die Programmiersprache Java Sven Berberich (2IB)

33

Funktionelle Übersicht

Page 34: 1 Die Programmiersprache Java Sven Berberich (2IB)

34

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)

Page 35: 1 Die Programmiersprache Java Sven Berberich (2IB)

35

Auszug Descriptor

Page 36: 1 Die Programmiersprache Java Sven Berberich (2IB)

36

Das EAR-File

Page 37: 1 Die Programmiersprache Java Sven Berberich (2IB)

37

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

Page 38: 1 Die Programmiersprache Java Sven Berberich (2IB)

38

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

Page 39: 1 Die Programmiersprache Java Sven Berberich (2IB)

39

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)

Page 40: 1 Die Programmiersprache Java Sven Berberich (2IB)

40

Java Überblick

Gibt es Fragen?!