2013 ZTP 01

background image

1

1

1

Jerzy R. Jaworowski,

Jerzy R. Jaworowski,

dr in

dr in

ż

ż

.

.

Instytut Teleinformatyki PK

Instytut Teleinformatyki PK

Zaawansowane techniki

Zaawansowane techniki

programowania

programowania

2013 / 2014

2013 / 2014

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

2

2

1

1

Architektura 3

Architektura 3

-

-

warstwowa

warstwowa

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

3

3

1

1

Simple

Simple

Web

Web

App

App

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

4

4

1

1

Complex

Complex

Web

Web

App

App

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

5

5

1

1

Extended

Extended

Web

Web

App

App

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

6

6

1

1

Smart

Smart

Client

Client

App

App

background image

2

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

7

7

1

1

Application

Application

OS

OS

JVM

JVM

App

App

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

8

8

1

1

Applet

Applet

OS

OS

JVM

JVM

App

App

OS

OS

Browser

Browser

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

9

9

1

1

Servlet

Servlet

/ JSP

/ JSP

OS

OS

JVM

JVM

AS

AS

OS

OS

Browser

Browser

Container

Container

D

D

A

A

B

B

C

C

E

E

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

10

10

1

1

EJB

EJB

(

(

Entrprise

Entrprise

Java

Java

Bean

Bean

)

)

EJB Server

EJB Server

OS

OS

JVM

JVM

AS

AS

OS

OS

Browser

Browser

Container

Container

D

D

C

C

E

E

B

B

A

A

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

11

11

1

1

EJB

EJB

OS

OS

Browser

Browser

EJB Server

EJB Server

OS

OS

JVM

JVM

AS

AS

Container

Container

D

D

C

C

E

E

B

B

A

A

EJB Server

EJB Server

OS

OS

JVM

JVM

AS

AS

Container

Container

D

D

C

C

E

E

B

B

A

A

EJB Server

EJB Server

OS

OS

JVM

JVM

AS1

AS1

Container

Container

D

D

C

C

B

B

A

A

EJB Server

EJB Server

OS

OS

JVM

JVM

AS2

AS2

Container

Container

N

N

L

L

K

K

M

M

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

12

12

1

1

Czym jest Java ?

Czym jest Java ?





J

J

ę

ę

zyk programowania

zyk programowania





Niezale

Niezale

ż

ż

ny od platformy

ny od platformy





Program stworzony w otoczeniu systemu

Program stworzony w otoczeniu systemu

operacyjnego jednej maszyny ...

operacyjnego jednej maszyny ...





... bez modyfikacji pracuje na innej

... bez modyfikacji pracuje na innej





Program raz napisany i uruchomiony

Program raz napisany i uruchomiony

pracuje w dowolnym innym

pracuje w dowolnym innym

ś

ś

rodowisku

rodowisku





Java Virtual Machine (JVM)

Java Virtual Machine (JVM)





Interpretuje program w

Interpretuje program w

Java

Java

ie

ie

background image

3

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

13

13

1

1

Jak to dzia

Jak to dzia

ł

ł

a ?

a ?





Dwustopniowe t

Dwustopniowe t

ł

ł

umaczenie

umaczenie





Pierwotna kompilacja

Pierwotna kompilacja





Dokonywana przez programist

Dokonywana przez programist

ę

ę





Proces niezale

Proces niezale

ż

ż

ny od platformy

ny od platformy





Etap drugi

Etap drugi





Interpretacja realizowana przez

Interpretacja realizowana przez

JVM (Java Virtual

JVM (Java Virtual

Machine)

Machine)





Zale

Zale

ż

ż

ny od platformy

ny od platformy





Nie wymaga jakiejkolwiek dalszej interakcji z

Nie wymaga jakiejkolwiek dalszej interakcji z

u

u

ż

ż

ytkownikiem

ytkownikiem





Brak interakcji z plikiem

Brak interakcji z plikiem

ź

ź

r

r

ó

ó

d

d

ł

ł

owym programu

owym programu

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

14

14

1

1

Java

Java

-

-

zalety

zalety





Koszty

Koszty





Archite

Archite

k

k

tur

tur

a

a





Przeno

Przeno

ś

ś

no

no

ść

ść

(p

(p

ortability

ortability

)

)





Wielokrotne u

Wielokrotne u

ż

ż

ycie (r

ycie (r

eusability

eusability

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

15

15

1

1

Zalety

Zalety

-

-

koszty

koszty





Koszty zakupu oprogramowania stanowi

Koszty zakupu oprogramowania stanowi

ą

ą

zwykle istotny element koszt

zwykle istotny element koszt

ó

ó

w systemu

w systemu





Java

Java

dost

dost

ę

ę

pna jest nieodp

pna jest nieodp

ł

ł

atnie

atnie





... niezale

... niezale

ż

ż

nie od

nie od

łą

łą

cznej ilo

cznej ilo

ś

ś

ci u

ci u

ż

ż

ytkownik

ytkownik

ó

ó

w

w





Narz

Narz

ę

ę

dzia dla

dzia dla

development

development

u

u

s

s

ą

ą

r

r

ó

ó

wnie

wnie

ż

ż

dost

dost

ę

ę

pne nieodp

pne nieodp

ł

ł

atnie

atnie





E

E

dytory

dytory

,

,

ś

ś

rodowiska uruchomieniowe

rodowiska uruchomieniowe





Enterprise Servers

Enterprise Servers





Nieodp

Nieodp

ł

ł

atne narz

atne narz

ę

ę

dzia + nieodp

dzia + nieodp

ł

ł

atny j

atny j

ę

ę

zyk =

zyk =

kolejne nieodp

kolejne nieodp

ł

ł

atnie rozwi

atnie rozwi

ą

ą

zania

zania

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

16

16

1

1

Zalety

Zalety

-

-

architektura

architektura





Java rozpowszechniana jest

Java rozpowszechniana jest

nieodp

nieodp

ł

ł

atnie

atnie





Zarz

Zarz

ą

ą

dzana / rozwijana przez

dzana / rozwijana przez

spo

spo

ł

ł

eczno

eczno

ść

ść





ż

ż

adna z firm nie jest

adna z firm nie jest

w

w

ł

ł

a

a

ś

ś

cicielem

cicielem

Java

Java

y

y





Ka

Ka

ż

ż

dego dnia u

dego dnia u

ż

ż

ytkownicy dostarczaj

ytkownicy dostarczaj

ą

ą





nowych pomys

nowych pomys

ł

ł

ó

ó

w / idei

w / idei





nowego kodu (nowych klas)

nowego kodu (nowych klas)





rozwi

rozwi

ą

ą

za

za

ń

ń

sygnalizowanych problem

sygnalizowanych problem

ó

ó

w (b

w (b

łę

łę

d

d

ó

ó

w)

w)





Java znajduje si

Java znajduje si

ę

ę

pod kontrol

pod kontrol

ą

ą

ka

ka

ż

ż

dego z

dego z

programist

programist

ó

ó

w korzystaj

w korzystaj

ą

ą

cych z tego

cych z tego

ś

ś

rodowiska

rodowiska

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

17

17

1

1

Zalety

Zalety

-

-

przeno

przeno

ś

ś

no

no

ść

ść





Java

Java

jest niezale

jest niezale

ż

ż

na od platformy

na od platformy

sprz

sprz

ę

ę

towej

towej





program mo

program mo

ż

ż

e by

e by

ć

ć

wykonywany w

wykonywany w

r

r

ó

ó

ż

ż

nych otoczeniach sprz

nych otoczeniach sprz

ę

ę

towo

towo

-

-

programowych

programowych





Pliki skompilowane mog

Pliki skompilowane mog

ą

ą

by

by

ć

ć

kompresowane

kompresowane





Pliki skompresowane znane s

Pliki skompresowane znane s

ą

ą

jako pliki

jako pliki

Jar

Jar





Pliki typu

Pliki typu

Jar

Jar

s

s

ą

ą

wykonywane

wykonywane





proces wykonania nie wymaga oddzielnej fazy

proces wykonania nie wymaga oddzielnej fazy

dekompresji

dekompresji

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

18

18

1

1

Zalety

Zalety

-

-

reusability

reusability





Reusability

Reusability

mo

mo

ż

ż

liwo

liwo

ść

ść

wielokrotnego

wielokrotnego

wykorzystania raz napisanego kodu

wykorzystania raz napisanego kodu





uprzednio napisany kod wykorzystaj w

uprzednio napisany kod wykorzystaj w

bie

bie

żą

żą

cym projekcie

cym projekcie





niekoniecznie Tw

niekoniecznie Tw

ó

ó

j w

j w

ł

ł

asny kod

asny kod





Kto

Kto

ś

ś

inny wykona

inny wykona

ł

ł

prac

prac

ę

ę

koncepcyjn

koncepcyjn

ą

ą

i uruchomieniow

i uruchomieniow

ą

ą

za Ciebie

za Ciebie





Wykorzystaj prac

Wykorzystaj prac

ę

ę

innych (zgodnie z

innych (zgodnie z

warunkami licencji !!!)

warunkami licencji !!!)





Oszcz

Oszcz

ę

ę

dzaj czas ...

dzaj czas ...

background image

4

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

19

19

1

1

Java

Java

-

-

wady

wady





Rozmiar kodu

Rozmiar kodu





Wydajno

Wydajno

ść

ść





Do

Do

kumentacja

kumentacja





Dubluj

Dubluj

ą

ą

ca si

ca si

ę

ę

funkcjonalno

funkcjonalno

ś

ś

ć

ć





Classpath

Classpath

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

20

20

1

1

Wady

Wady

rozmiar kodu

rozmiar kodu





Kluczowym zagadnieniem jest rozmiar

Kluczowym zagadnieniem jest rozmiar

kodu

kodu





kodu programu

kodu programu





kodu pomocy (

kodu pomocy (

helper

helper

s

s

)

)





Virtual Machine (JVM)

Virtual Machine (JVM)





Program w

Program w

Java

Java

ie

ie

wymaga

wymaga

JVM

JVM





JVM

JVM

posiada du

posiada du

ż

ż

e rozmiary

e rozmiary





Istotnie wi

Istotnie wi

ę

ę

ksze zapotrzebowanie na pami

ksze zapotrzebowanie na pami

ęć

ęć





Du

Du

ż

ż

e rozmiary kodu utrudniaj

e rozmiary kodu utrudniaj

ą

ą

dystrybucj

dystrybucj

ę

ę

oprogramowania

oprogramowania

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

21

21

1

1

Wady

Wady

-

-

wydajno

wydajno

ść

ść





Kod interpretowany jest mniej wydajny

Kod interpretowany jest mniej wydajny

od kodu

od kodu

natywnego

natywnego





W pe

W pe

ł

ł

ni dynamiczne zarz

ni dynamiczne zarz

ą

ą

dzanie

dzanie

pami

pami

ę

ę

ci

ci

ą

ą

(

(

garbage

garbage

collector

collector

czas

czas

niezb

niezb

ę

ę

dny na odzyskiwanie

dny na odzyskiwanie

nieu

nieu

ż

ż

ywanych obiekt

ywanych obiekt

ó

ó

w)

w)





Mechanizmy zarz

Mechanizmy zarz

ą

ą

dzania pami

dzania pami

ę

ę

ci

ci

ą

ą

trwa

trwa

łą

łą

(

(

persistance

persistance

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

22

22

1

1

Wady

Wady

-

-

dokumentacja

dokumentacja





Nie

Nie

zawsze

zawsze

kompletna

kompletna





Napisana bardzo

Napisana bardzo

technicznym

technicznym

j

j

ę

ę

zykiem co wyd

zykiem co wyd

ł

ł

u

u

ż

ż

a czas nauczania

a czas nauczania





W efekcie programowanie w

W efekcie programowanie w

Java

Java

ie

ie

mo

mo

ż

ż

e

e

wymaga

wymaga

ć

ć

du

du

ż

ż

ego

ego

samozaparcia (w przypadku np.

samozaparcia (w przypadku np.

nieoczekiwanych

nieoczekiwanych

p

p

roblem

roblem

ó

ó

w

w

z

z

dzia

dzia

ł

ł

aniem programu)

aniem programu)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

23

23

1

1

Wady

Wady

mo

mo

ż

ż

e wszystko

e wszystko





Platforma trudna do wyboru

Platforma trudna do wyboru

a priori

a priori

w

w

ł

ł

a

a

ś

ś

ciwej technologii realizacji

ciwej technologii realizacji





nak

nak

ł

ł

adaj

adaj

ą

ą

ca si

ca si

ę

ę

funkcjonalno

funkcjonalno

ść

ść





Metoda pr

Metoda pr

ó

ó

b i b

b i b

łę

łę

d

d

ó

ó

w pozostaje cz

w pozostaje cz

ę

ę

sto

sto

jedynym ratunkiem (co oczywi

jedynym ratunkiem (co oczywi

ś

ś

cie

cie

wyd

wyd

ł

ł

u

u

ż

ż

a czas poszukiwania

a czas poszukiwania

rozwi

rozwi

ą

ą

zania)

zania)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

24

24

1

1

Java Development Kit (JDK)

Java Development Kit (JDK)

JDK 1.4

JDK 1.4

JDK 1.5 (JDK 5)

JDK 1.5 (JDK 5)

Java

Java

Control

Control

Panel

Panel

Wi

Wi

ę

ę

ksza wydajno

ksza wydajno

ść

ść

Funkcje

Funkcje

Wi

Wi

ę

ę

ksze bezpiecze

ksze bezpiecze

ń

ń

stwo

stwo

JDK 1.6 (JDK 6)

JDK 1.6 (JDK 6)

Ulepszono wydajno

Ulepszono wydajno

ść

ść

i stabilno

i stabilno

ść

ść

.

.

Zapewniono lepsz

Zapewniono lepsz

ą

ą

zgodno

zgodno

ść

ść

z wcze

z wcze

ś

ś

niejszymi

niejszymi

wersjami

wersjami

ś

ś

rodowiska JRE.

rodowiska JRE.

Dodano wa

Dodano wa

ż

ż

ne poprawki b

ne poprawki b

łę

łę

d

d

ó

ó

w.

w.

Aktualizacje automatyczne zapewniaj

Aktualizacje automatyczne zapewniaj

ą

ą

natychmiastowy dost

natychmiastowy dost

ę

ę

p do krytycznych poprawek

p do krytycznych poprawek

i aktualizacji.

i aktualizacji.

background image

5

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

25

25

1

1

Java Development Kit (JDK)

Java Development Kit (JDK)

JDK 1.7 (JDK 7)

JDK 1.7 (JDK 7)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

26

26

1

1

Java Development Kit (JDK)

Java Development Kit (JDK)

JDK 1.

JDK 1.

8

8

(JDK

(JDK

8

8

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

27

27

1

1

Kto

Kto

powinien

powinien

u

u

ż

ż

ywa

ywa

ć

ć

Java

Java

y

y

?

?





Programi

Programi

ś

ś

ci, kt

ci, kt

ó

ó

rzy

rzy

:

:





Implementuj

Implementuj

ą

ą

systemy klasy

systemy klasy

Enterprise

Enterprise

(w uproszczeniu

(w uproszczeniu

du

du

ż

ż

e systemy

e systemy

)

)





Komunikuj

Komunikuj

ą

ą

si

si

ę

ę

lub wsp

lub wsp

ó

ó

ł

ł

pracuj

pracuj

ą

ą

z innymi

z innymi

systemami oprogramowania pozostaj

systemami oprogramowania pozostaj

ą

ą

cymi

cymi

poza obszarem ich kontroli

poza obszarem ich kontroli





Oczekuj

Oczekuj

ą

ą

maksymalnej elastyczno

maksymalnej elastyczno

ś

ś

ci

ci





Zarz

Zarz

ą

ą

dzaj

dzaj

ą

ą

du

du

ż

ż

ymi serwerami

ymi serwerami

WEB

WEB

owymi

owymi

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

28

28

1

1

Java Development Kit (JDK)

Java Development Kit (JDK)

J2SE

J2EE

J2ME

JDK 1.4

JDK 1.*

JDK 1.7

JDK 1.8

J2SE

J2EE

J2ME

Java *

Java EE *

Java 7

Java EE 7

Java 8

Java EE 8

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

29

29

1

1

Chwila na refleksj

Chwila na refleksj

ę

ę

...

...

Czy dowiedzia

Czy dowiedzia

ł

ł

e

e

ś

ś

si

si

ę

ę

czego

czego

ś

ś

nowego ?

nowego ?

Czy dowiedzia

Czy dowiedzia

ł

ł

e

e

ś

ś

si

si

ę

ę

czego

czego

ś

ś

Twym zdaniem

Twym zdaniem

wa

wa

ż

ż

nego ?

nego ?

Czy dostrzegasz zwi

Czy dostrzegasz zwi

ą

ą

zek i przydatno

zek i przydatno

ść

ść

przekazanych tre

przekazanych tre

ś

ś

ci w zawodzie, kt

ci w zawodzie, kt

ó

ó

ry sobie

ry sobie

wybra

wybra

ł

ł

e

e

ś

ś

?

?

Masz ewentualne uwagi b

Masz ewentualne uwagi b

ą

ą

d

d

ź

ź

sugestie,

sugestie,

podziel si

podziel si

ę

ę

nimi ...

nimi ...

jrj@pk.edu.pl

jrj@pk.edu.pl

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

30

30

1

1

Dzi

Dzi

ę

ę

kuj

kuj

ę

ę

za uwag

za uwag

ę

ę


Wyszukiwarka

Podobne podstrony:
2013 ZTP 01
2013 07 01 BaRD W ST zagadnienia
b 34 2013 10 01
2013 ZTP 08
e 13 2013 10 01 ko
e 12 2013 05 01 ko
2013 ZTP 05
e 12 2013 10 01 ko
2013 ZTP 04
OM z 04 2013 05 01
e 12 2013 10 01
skydrive-2013-02-01(1), EKONOMIA, Rok 2, Ekonomia Integracji europejskiej
2013 ZTP 07
Katalog Produktow 2013 pl 01
Bilet odcinkowy imienny tabele od 2013 08 01
2013 ZTP 06
egzaminA06 2013 10 01 operator urzadzen przemyslu chemicznego 3str
e 13 2013 10 01
e 08 2013 10 01

więcej podobnych podstron