sew nvs - edufs

13
NVS4 Netzwerke und verteilte Systeme, 4. Jg. 1 SEW4 Softwareentwicklung, 4. Jg. SEW IT-Medientechnik NVS Informatik TWS

Upload: others

Post on 07-Apr-2022

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SEW NVS - EDUFS

NVS4Netzwerke und verteilte Systeme, 4. Jg.

1

SEW4Softwareentwicklung, 4. Jg.

SEW IT-Medientechnik

NVS Informatik

TWS

Page 2: SEW NVS - EDUFS

Fat Clients (JavaSE)

Operating System (MacOS, Linux, Win)

Java Virtual Machine, JVM

Java BytecodeJava Sourcecode compile

User

2

Page 3: SEW NVS - EDUFS

2-tier Architecture

Operating System (MacOS, Linux, Win)

Java Virtual Machine, JVM

Java Bytecode

Database JDBC

3

Page 4: SEW NVS - EDUFS

3-tier Architecture (JavaEE)

DBApplication

ServerClient

(Browser)

Firefox, Safari, Chrome, IE

Firefox, Safari, Chrome, IE,…

Glassfish, Payara, Wildfly, …

Oracle, DerbyDB, MySQL, PostgreSQL,…

JDBC HTTP

Server-zentriert: JSF PHP

Client-zentriert: Javascript

und JS-Frameworks (zB AngularJS)

Business Logik am Server

Business Logik am Client

Persistierung per REST

Java Sourcecode

compile

+ deploy

4

Page 5: SEW NVS - EDUFS

• Server-Technologien

• Client- Technologien

NVS teilt sich auf in

5

Page 6: SEW NVS - EDUFS

Bestandteile eines Application Servers

6

Page 7: SEW NVS - EDUFS

Java Specification Request

DBApplication

ServerClient

(Browser)JDBC HTTP

im Rahmen des Java Community Process

JPA

JPA … Java Persistence API CDI … Context and Dependency Injection EJB … Enterprise Java Beans JSF … JavaServer Faces JTA … Java Transaction API BeanValidation, Servlets, …

CDI, EJB, BeanValidation, EL JSF

Persistieren der Daten rendert

Seiten als HTML

7

Page 8: SEW NVS - EDUFS

Big Picture

Applica'on*Server**

Database*Server*

Java*EE*EJB*

Java*EE*JPA*

Mobile*App*

Android*(Java)* Cordova*

Thin*Client*>*Web*App*

HTML,*CSS,*JavaScript,*Angular*

Fat*Client*

Java*SE*(Java*FX,*Swing,*Console)*

Html>pages*mit*JS/AngularJS,...*

Java*EE*REST*

HTTP*REST*

HTTP*REST*

JDBC**

JDBC**

Java*EE*JSF*

HTTP*REST*

8

Page 9: SEW NVS - EDUFS

Voraussetzungen für das Arbeiten mit Jakarta EE

• Netbeans

• IntelliJ IDEA

• Eclipse

• Oracle JDeveloper

• …

• Oracle Glassfish

• Payara

• JBoss Wildfly

• Apache Geronimo

• Jetty

• Oracle WebLogic

• IBM WebSphere, …

IDE Application Server Datenbank• Oracle DB

• Apache Derby

• Oracle MySQL

• PostgreSQL

• H2

• …

+ +

9

Page 10: SEW NVS - EDUFS

Build-Systeme

Einsatz im Unterricht

Maven: wird für JavaSE und JavaEE verwendet Gradle: wird für Android

verwendet

• Unter dem Begriff Build-Prozess werden alle Aktivitäten zusammengefasst, die für die Produktion und Bereitstellung von lauffähiger Software notwendig sind.

• Build-Systeme wie Ant, Maven , Gradle aber auch MS-Build haben viele Aufgaben. Wir betrachten nur die (für uns derzeit) wichtigsten:

• Download der benötigten Libraries

• Kompilieren der Source-Codes

• Paketieren zu .jar, .war, .ear, …

• Deployment auf den Application Server

• Die Build-Systeme sind in den IDE’s verfügbar

10

Page 12: SEW NVS - EDUFS

12

Page 13: SEW NVS - EDUFS

Installation der Software• IntelliJ IDEA Ultimate: Download vom Duke; Lizenznr am

Duke verfügbar https://duke.htl-leonding.ac.at/ftp_dl.php?file=VTI5bWRIZGhjbVV2SVZCeWIyZHlZVzF0YVdWeWRHOXZiSE1nS0VsRVJYTWdkVzVrSUZORVMzTXBMMHBsZEVKeVlXbHVjeUJKYm5SbGJHeHBTaUJKUkVWQklERTBMMHhKUTBWT1UwVXVTMFZaWDFWc2RHbHRZWFJsTG5SNGRBPT0=

• Wildfly und/oder Payara: Download vom Duke https://duke.htl-leonding.ac.at/browse_ftp.php?dir=Software/!Programmiertools%20%28IDEs%20und%20SDKs%29/WildFly%209.0.1 https://duke.htl-leonding.ac.at/browse_ftp.php?dir=Software/!Programmiertools%20(IDEs%20und%20SDKs)/Glassfish%20Payara%204.1 In Verzeichnis /opt bzw \opt entpacken

• DerbyDb: Ist im Java JDK enthalten. $JAVA_HOME/db/bin/startNetworkServer

• JavaJDK: http://www.oracle.com/technetwork/java/javase mind. Java 8 update 60

13