2013 ZTP 04

background image

1

4

4

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

4

4

EJB Server

EJB Server

Serwer EJB

Serwer EJB

serwer aplikacyjny

serwer aplikacyjny

realizuj

realizuj

ą

ą

cy obs

cy obs

ł

ł

ug

ug

ę

ę

kontenera EJB.

kontenera EJB.

Serwer EJB

Serwer EJB

dostarcza (implementuje)

dostarcza (implementuje)

wsp

wsp

ó

ó

lne us

lne us

ł

ł

ugi elementarne dost

ugi elementarne dost

ę

ę

pne

pne

dla wszystkich EJB. Rol

dla wszystkich EJB. Rol

ą

ą

serwera EJB

serwera EJB

jest ukrycie wysokiej z

jest ukrycie wysokiej z

ł

ł

o

o

ż

ż

ono

ono

ś

ś

ci tych

ci tych

us

us

ł

ł

ug przed korzystaj

ug przed korzystaj

ą

ą

cymi z nich

cymi z nich

komponentami (tworzonymi przez

komponentami (tworzonymi przez

developer

developer

ó

ó

w)

w)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

3

3

4

4

EJB Server

EJB Server

Przyk

Przyk

ł

ł

ady :

ady :

JBoss

JBoss

http://www.jboss.org

http://www.jboss.org

Glasfish

Glasfish

http://www.glasfish.dev.java.net

http://www.glasfish.dev.java.net

Uwaga :

Uwaga :

Tomcat

Tomcat

nie zawiera kontenera EJB

nie zawiera kontenera EJB

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

4

4

4

4

Services

Services

provided

provided

by Server

by Server

Naming

Naming

Transaction

Transaction

Security

Security

Persistence

Persistence

Concurrency

Concurrency

Life

Life

cycle

cycle

Messaging

Messaging

Timer

Timer

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

5

5

4

4

EJB

EJB

Container

Container

Kontener EJB (jako element serwera

Kontener EJB (jako element serwera

aplikacyjnego) funkcjonuje jako

aplikacyjnego) funkcjonuje jako

ś

ś

rodowisko

rodowisko

(runtime environment)

(runtime environment)

wspieraj

wspieraj

ą

ą

ce

ce

zarz

zarz

ą

ą

dzanie procesem wykonania EJB oraz

dzanie procesem wykonania EJB oraz

dostarczaj

dostarczaj

ą

ą

ce us

ce us

ł

ł

ug pierwotnych

ug pierwotnych

(elementarnych)

(elementarnych)

Kontener EJB odpowiada za zarz

Kontener EJB odpowiada za zarz

ą

ą

dzanie EJB

dzanie EJB

w ca

w ca

ł

ł

ym cyklu

ym cyklu

ż

ż

ycia oraz za identyfikacj

ycia oraz za identyfikacj

ę

ę

EJB.

EJB.

Kontener jest odpowiedzialny za tworzenie

Kontener jest odpowiedzialny za tworzenie

instancji EJB, zarz

instancji EJB, zarz

ą

ą

dzanie

dzanie

pol

pol

ą

ą

instancji oraz

instancji oraz

likwidacj

likwidacj

ą

ą

obiektu

obiektu

(destroy)

(destroy)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

6

6

4

4

Naming

Naming

Kontener EJB jest odpowiedzialny za

Kontener EJB jest odpowiedzialny za

wykonanie procesu rejestracji unikalnej

wykonanie procesu rejestracji unikalnej

nazwy komponentu EJB w przestrzeni

nazwy komponentu EJB w przestrzeni

nazw JNDI (Java

nazw JNDI (Java

Naming

Naming

and

and

Directory

Directory

Interface

Interface

) w momencie startu serwera

) w momencie startu serwera

oraz wykonanie procesu powi

oraz wykonanie procesu powi

ą

ą

zania

zania

(

(

binding

binding

) z w

) z w

ł

ł

a

a

ś

ś

ciwym obiektem w

ciwym obiektem w

przestrzeni nazw JNDI

przestrzeni nazw JNDI

background image

2

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

7

7

4

4

Transaction

Transaction

Kontener EJB

Kontener EJB

mo

mo

ż

ż

e realizowa

e realizowa

ć

ć

obs

obs

ł

ł

ug

ug

ę

ę

transakcji automatycznie

transakcji automatycznie

, zale

, zale

ż

ż

nie od typu

nie od typu

komponentu EJB oraz atrybutu okre

komponentu EJB oraz atrybutu okre

ś

ś

laj

laj

ą

ą

cego

cego

żą

żą

dany typ transakcji

dany typ transakcji

oba te elementy s

oba te elementy s

ą

ą

zewn

zewn

ę

ę

trzne w stosunku do komponentu i

trzne w stosunku do komponentu i

opisywane w jego deskryptorze.

opisywane w jego deskryptorze.

W przypadku obs

W przypadku obs

ł

ł

ugi transakcji przez kontener

ugi transakcji przez kontener

aplikacja mo

aplikacja mo

ż

ż

e by

e by

ć

ć

tworzona bez u

tworzona bez u

ż

ż

ycia

ycia

jawnego kodu obs

jawnego kodu obs

ł

ł

ugi demarkacji (np.

ugi demarkacji (np.

begin

begin

,

,

commit

commit

,

,

rollback

rollback

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

8

8

4

4

Security

Security

Kontener EJB jest odpowiedzialny za

Kontener EJB jest odpowiedzialny za

egzekwowanie strategii bezpiecze

egzekwowanie strategii bezpiecze

ń

ń

stwa

stwa

okre

okre

ś

ś

lonej na etapie tworzenia komponentu

lonej na etapie tworzenia komponentu

realizuje t

realizuje t

ę

ę

funkcjonalno

funkcjonalno

ść

ść

w oparciu o listy

w oparciu o listy

ACL (Access

ACL (Access

Control

Control

Lists

Lists

). ACL jest

). ACL jest

wykazem u

wykazem u

ż

ż

ytkownik

ytkownik

ó

ó

w, grup do kt

w, grup do kt

ó

ó

rych

rych

nale

nale

żą

żą

oraz wynikaj

oraz wynikaj

ą

ą

cych z tego uprawnie

cych z tego uprawnie

ń

ń

efektywnych.

efektywnych.

Kontener EJB zapewnia,

Kontener EJB zapewnia,

ż

ż

e u

e u

ż

ż

ytkownicy

ytkownicy

uzyskuj

uzyskuj

ą

ą

dost

dost

ę

ę

p wy

p wy

łą

łą

cznie do tych zasob

cznie do tych zasob

ó

ó

w

w

oraz mog

oraz mog

ą

ą

wykona

wykona

ć

ć

tylko te zadania, do

tylko te zadania, do

kt

kt

ó

ó

rych posiadaj

rych posiadaj

ą

ą

uprawnienia (

uprawnienia (

granted

granted

permissions

permissions

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

9

9

4

4

Persistence

Persistence

Kontener EJB jest odpowiedzialny za

Kontener EJB jest odpowiedzialny za

zarz

zarz

ą

ą

dzanie sp

dzanie sp

ó

ó

jno

jno

ś

ś

ci

ci

ą

ą

danych r

danych r

ó

ó

ż

ż

nych

nych

typ

typ

ó

ó

w komponent

w komponent

ó

ó

w

w

poprzez

poprzez

synchronizacj

synchronizacj

ę

ę

stanu instancji

stanu instancji

bean

bean

’ó

’ó

w

w

utrzymywanych w pami

utrzymywanych w pami

ę

ę

ci z

ci z

powi

powi

ą

ą

zanym rekordem w odpowiednim

zanym rekordem w odpowiednim

zewn

zewn

ę

ę

trznym

trznym

ź

ź

r

r

ó

ó

dle danych

dle danych

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

10

10

4

4

Concurrency

Concurrency

Kontener EJB obs

Kontener EJB obs

ł

ł

uguje proces

uguje proces

zarz

zarz

ą

ą

dzania r

dzania r

ó

ó

wnoczesnym dost

wnoczesnym dost

ę

ę

pem

pem

do komponent

do komponent

ó

ó

w, zgodnie z regu

w, zgodnie z regu

ł

ł

ami

ami

okre

okre

ś

ś

lonymi dla r

lonymi dla r

ó

ó

ż

ż

nych typ

nych typ

ó

ó

w EJB

w EJB

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

11

11

4

4

Life

Life

cycle

cycle

Kontener EJB kontroluje komponenty w ca

Kontener EJB kontroluje komponenty w ca

ł

ł

ym

ym

cyklu ich

cyklu ich

ż

ż

ycia. W miar

ycia. W miar

ę

ę

jak nadchodz

jak nadchodz

ą

ą

żą

żą

dania (

dania (

client

client

requests

requests

) do komponent

) do komponent

ó

ó

w

w

EJB, kontener dynamicznie tworzy niezb

EJB, kontener dynamicznie tworzy niezb

ę

ę

dn

dn

ą

ą

instancj

instancj

ę

ę

obiektu w pami

obiektu w pami

ę

ę

ci, decyduje o jej

ci, decyduje o jej

usuni

usuni

ę

ę

ciu lub ponownym u

ciu lub ponownym u

ż

ż

yciu (

yciu (

reuse

reuse

)

)

zale

zale

ż

ż

nie od potrzeb.

nie od potrzeb.

Kontener mo

Kontener mo

ż

ż

e dostarcza

e dostarcza

ć

ć

mechanizmy

mechanizmy

optymalizacji wykorzystania zasob

optymalizacji wykorzystania zasob

ó

ó

w, oraz

w, oraz

wspieraj

wspieraj

ą

ą

ce zarz

ce zarz

ą

ą

dzanie pul

dzanie pul

ą

ą

obiekt

obiekt

ó

ó

w.

w.

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

12

12

4

4

Messaging

Messaging

Kontener EJB wspiera niezawodny

Kontener EJB wspiera niezawodny

routing

routing

asynchronicznych komunikat

asynchronicznych komunikat

ó

ó

w

w

przesy

przesy

ł

ł

anych przez klient

anych przez klient

ó

ó

w (JMS) do

w (JMS) do

sterowanych komunikatami

sterowanych komunikatami

bean

bean

ó

ó

w

w

EJB (MDB

EJB (MDB

-

-

Message

Message

Driven

Driven

Beans

Beans

).

).

Komunikaty mog

Komunikaty mog

ą

ą

by

by

ć

ć

przetwarzane

przetwarzane

zar

zar

ó

ó

wno technik

wno technik

ą

ą

peer

peer

-

-

to

to

-

-

peer

peer

(kolejki)

(kolejki)

jak r

jak r

ó

ó

wnie

wnie

ż

ż

w modelu

w modelu

publisher

publisher

-

-

subscriber

subscriber

(temat, tre

(temat, tre

ść

ść

)

)

background image

3

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

13

13

4

4

Timer

Timer

Aplikacje modeluj

Aplikacje modeluj

ą

ą

cz

cz

ę

ę

sto procesy, kt

sto procesy, kt

ó

ó

re s

re s

ą

ą

zale

zale

ż

ż

ne od zdarze

ne od zdarze

ń

ń

wyst

wyst

ę

ę

puj

puj

ą

ą

cych w

cych w

okre

okre

ś

ś

lonych momentach czasu. Do obs

lonych momentach czasu. Do obs

ł

ł

ugi

ugi

tego typu rozwi

tego typu rozwi

ą

ą

za

za

ń

ń

kontener musi

kontener musi

implementowa

implementowa

ć

ć

pewn

pewn

ą

ą

, transakcyjn

, transakcyjn

ą

ą

us

us

ł

ł

ug

ug

ę

ę

EJB

EJB

Timer

Timer

Service, kt

Service, kt

ó

ó

ra umo

ra umo

ż

ż

liwia

liwia

odwo

odwo

ł

ł

ania do zaplanowanych (

ania do zaplanowanych (

scheduled

scheduled

)

)

zale

zale

ż

ż

nych od czasu zdarze

nych od czasu zdarze

ń

ń

. Zdarzenia

. Zdarzenia

mog

mog

ą

ą

by

by

ć

ć

planowane na okre

planowane na okre

ś

ś

lony moment

lony moment

czasu, po up

czasu, po up

ł

ł

ywie okre

ywie okre

ś

ś

lonego odcinka czasu

lonego odcinka czasu

lub jako powtarzaj

lub jako powtarzaj

ą

ą

ce si

ce si

ę

ę

z

z

żą

żą

danym

danym

okresem.

okresem.

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

14

14

4

4

EJB

EJB

-

-

klasyfikacja

klasyfikacja

Session Beans

Session Beans

Stateless

Stateless

Stateful

Stateful

Entity Bean

Entity Bean

Bean Managed Persistency

Bean Managed Persistency

Container Managed Persistency (CMP)

Container Managed Persistency (CMP)

Message Bean

Message Bean

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

15

15

4

4

Session

Session

bean

bean

Bean

Bean

y

y

sesyjne graj

sesyjne graj

ą

ą

wa

wa

ż

ż

n

n

ą

ą

rol

rol

ę

ę

w fazie

w fazie

implementacji logiki

implementacji logiki

bussines

bussines

owej

owej

. W EJB

. W EJB

2.1 i wcze

2.1 i wcze

ś

ś

niej

niej

bean

bean

y

y

sesyjne by

sesyjne by

ł

ł

y cz

y cz

ę

ę

sto

sto

u

u

ż

ż

ywane. Wg. specyfikacji EJB 3.0 proces

ywane. Wg. specyfikacji EJB 3.0 proces

definiowania

definiowania

bean

bean

a

a

sesyjnego staje si

sesyjnego staje si

ę

ę

prosty i bardzo zbli

prosty i bardzo zbli

ż

ż

ony do definiowania

ony do definiowania

typowej klasy Java (lub POJO).

typowej klasy Java (lub POJO).

Skrajnie wa

Skrajnie wa

ż

ż

ne jest w

ne jest w

ł

ł

a

a

ś

ś

ciwe zrozumienie

ciwe zrozumienie

poj

poj

ę

ę

cia sesji oraz podstawowych koncepcji

cia sesji oraz podstawowych koncepcji

zwi

zwi

ą

ą

zanych z poj

zanych z poj

ę

ę

ciem stanu (

ciem stanu (

stateless

stateless

/

/

stateful

stateful

)

)

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

16

16

4

4

Co nazywamy sesj

Co nazywamy sesj

ą

ą

?

?

Sesja

Sesja

to po

to po

łą

łą

czenie (

czenie (

connection

connection

)

)

pomi

pomi

ę

ę

dzy klientem i serwerem

dzy klientem i serwerem

istniej

istniej

ą

ą

ce w pewnym ograniczonym

ce w pewnym ograniczonym

przedziale czasu.

przedziale czasu.

Sesja mo

Sesja mo

ż

ż

e by

e by

ć

ć

bezstanowa (

bezstanowa (

stateless

stateless

)

)

z sytuacj

z sytuacj

ą

ą

tak

tak

ą

ą

mamy do czynienia w

mamy do czynienia w

przypadku, gdy stan

przypadku, gdy stan

żą

żą

dania nie jest

dania nie jest

obs

obs

ł

ł

ugiwany w jakikolwiek spos

ugiwany w jakikolwiek spos

ó

ó

b

b

pomi

pomi

ę

ę

dzy kolejnymi wo

dzy kolejnymi wo

ł

ł

aniami.

aniami.

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

17

17

4

4

Stateless Session Bean

Stateless Session Bean

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

18

18

4

4

Czym jest sesja ?

Czym jest sesja ?

Żą

Żą

danie HTTP oraz sesja musz

danie HTTP oraz sesja musz

ą

ą

obs

obs

ł

ł

ugiwa

ugiwa

ć

ć

(zachowywa

(zachowywa

ć

ć

) stan

) stan

(

(

stateful

stateful

) je

) je

ż

ż

eli ma on by

eli ma on by

ć

ć

zachowany

zachowany

pomi

pomi

ę

ę

dzy nast

dzy nast

ę

ę

puj

puj

ą

ą

cymi po sobie

cymi po sobie

kolejnymi wo

kolejnymi wo

ł

ł

aniami

aniami

Np. : sesja Telnet, w kt

Np. : sesja Telnet, w kt

ó

ó

rej u

rej u

ż

ż

ytkownik

ytkownik

wysy

wysy

ł

ł

a kilka kolejnych komend do

a kilka kolejnych komend do

serwera, ka

serwera, ka

ż

ż

da z komend jest

da z komend jest

oddzielnym wo

oddzielnym wo

ł

ł

aniem, a stan musi by

aniem, a stan musi by

ć

ć

utrzymywany (np.

utrzymywany (np.

uid

uid

u

u

ż

ż

ytkownika )

ytkownika )

background image

4

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

19

19

4

4

Stateful Session Bean

Stateful Session Bean

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

20

20

4

4

Entity Bean

Entity Bean

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

21

21

4

4

Session and Entity Beans

Session and Entity Beans





Wymagane

Wymagane





Reprezentuj

Reprezentuj

ą

ą

okre

okre

ś

ś

lonego klienta

lonego klienta

(1

(1

instancja / klient

instancja / klient

)

)





Kr

Kr

ó

ó

tkotrwa

tkotrwa

ł

ł

e

e





Chwilowy (

Chwilowy (

transient

transient

)

)





Dowolna klasa

Dowolna klasa

Java

Java

y

y





Mo

Mo

ż

ż

e by

e by

ć

ć

transakcyjny

transakcyjny





Business Logic Beans

Business Logic Beans





Opcjonalne

Opcjonalne





Reprezentuj

Reprezentuj

ą

ą

pewien

pewien

obiekt danych lub

obiekt danych lub

kontekst

kontekst

(wsp

(wsp

ó

ó

ł

ł

dzielona

dzielona

instancja

instancja

)

)





D

D

ł

ł

ugi okres

ugi okres

ż

ż

ycia

ycia





Trwa

Trwa

ł

ł

y (

y (

persistent

persistent

)

)





Klasa mapowana na

Klasa mapowana na

obiekt danych

obiekt danych

(

(

np

np

.

.

database)

database)





Zawsze jest

Zawsze jest

transakcyjny

transakcyjny





Reprezentuje dane

Reprezentuje dane

Session Beans

Entity Beans

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

22

22

4

4

Message Bean

Message Bean

2014

2014

-

-

02

02

-

-

06

06

©

©

2014, Jerzy R. Jaworowski

2014, Jerzy R. Jaworowski

23

23

4

4

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

24

24

4

4

Dzi

Dzi

ę

ę

kuj

kuj

ę

ę

za uwag

za uwag

ę

ę


Wyszukiwarka

Podobne podstrony:
2013-03-04, histopatologia
Orange na Karte promocja Konto wazne rok [2013.03.04]
2013 ZTP 08
2013 ZTP 05
Analiza otoczenia organizacji, W.4. - 03.04.2013, 10.04.2013
2013 10 04
To już pora na wigilie -opracowanie, Flety -2013-12-04
To już pora na wigilie -opracowanie, Głos -2013-12-04
2013 ZTP 07
2013 11 04 gor ból UMP 2013
KONFIGURACJA POZ, $$$$prace 2013$$$, energa, 04.MBST 20-1000 i 1600 POZ
2013 ZTP 06
2013 ZTP 00
2013 ZTP 03
2013 ZTP 02
2013 ZTP 01
2013-03-04, histopatologia
2013 11 04

więcej podobnych podstron