mgr in¼. Micha‚ Paluch - .komponenty EJB, aplikacje webowe lub oddzielne aplikacje...

download mgr in¼. Micha‚ Paluch - .komponenty EJB, aplikacje webowe lub oddzielne aplikacje klienckie. W

of 48

  • date post

    01-Mar-2019
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of mgr in¼. Micha‚ Paluch - .komponenty EJB, aplikacje webowe lub oddzielne aplikacje...

mgr in. Micha Paluch

Technologie JAVA

Java Platform Standard Edition JSE

Java Platform Enterprise Edition JEE

Java Platform Micro Edition

Wersje

Rnice

mgr in. Micha Paluch

Java Enterprise Edition

mgr in. Micha Paluch

Java EE to platforma umoliwiajca tworzenie oraz uruchamiania rozproszonych aplikacji wielowarstwowych, wykorzystywanych w Internecie

Java EE skada si z:

zbioru bibliotek standardowych

zbioru zasad projektowania, implementowania i instalowania aplikacji Java EE

serwera aplikacji Java EE, stanowicy rodowisko uruchomieniowe dla aplikacji Java EE

Struktura warstwowa JEE

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

mgr in. Micha Paluch

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

Komponenty w JEE

Aplikacje klienckie i aplety

Komponenty technologii Java Servlet,

JSF, JSP

EJB

mgr in. Micha Paluch

Klienci JEE

Klient przegldarkowy

Aplikacje klienckie

Aplety

mgr in. Micha Paluch

Komunikacja z serwerem JEE

mgr in. Micha Paluch

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

Komponenty Webowe

mgr in. Micha Paluch

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

Komponenty Biznesowe oraz

Warstwa Danych

mgr in. Micha Paluch

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

Kontenery JEE

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

mgr in. Micha Paluch

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

Budowanie i wdraanie aplikacji

rdo: http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.html

mgr in. Micha Paluch

http://docs.oracle.com/javaee/6/tutorial/doc/bnafd.htmlhttp://www.oracle.com/technetwork/java/javaee/jsp/index.html

SOAP

Simple Object Access Protocol

Oparty na XML, protok komunikacyjny

Struktura komunikatu skada si z:

-

-

-

-

Tryby wywoa

- RPC

- dokumentowy

mgr in. Micha Paluch

Przykad dania wysanego

protokoem SOAP

Przykad odpowiedzi

WSDL

Web Services Description Language

mgr in. Micha Paluch

Suy do opisywania usug sieciowych

Struktura dokumentu:

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

EJB

Enterprise JavaBeans

Komponenty zarzdzane przez kontener

serwera aplikacji

Realizuj logik biznesow aplikacji

S wykorzystywane do budowy zoonych

aplikacji

Obsuguj lokalnych i zdalnych klientw

Klientami mog by zarwno aplikacje jak

serwlety, strony JSP

mgr in. Micha Paluch

Typy komponentw EJB

Sesyjne:

- bezstanowe,

- stanowe,

- singleton;

sterowane komunikatami (message-driven)

mgr in. Micha Paluch

Sesyjny komponent EJB

Posiada odpowiedni adnotacj

Posiada publiczny, bezparametrowy

konstruktor

Klasa jest publiczna i nie moe by

abstrakcyjna ani finalna,

Klasa nie jest abstrakcyjna, ani finalna

Implementuje metody biznesowe,

mgr in. Micha Paluch

Przykad Komponentu Sesyjnego

(min. 2 pliki) package com.my.lecture;

import javax.ejb.LocalBean;

import javax.ejb.Stateless;

@Stateless

@LocalBean

public class Calc implements CalculatorRemote, CalculatorLocal

{

public float add(int a, int b)

{

return a + b;

}

public float subtract(int a, int b)

{

return a - b;

}

}

public interface CalculatorLocal

{

public float add(int a, int b);

public float subtract(int a, int b);

}

mgr in. Micha Paluch

Komponent sterowane

komunikatami

Nie posiadaj stanu

Wykorzystuj Java Message Service

(JMS)

Skada si wycznie z klasy beana

Umoliwia asynchroniczne

przetwarzanie komunikatw

mgr in. Micha Paluch

Interfejsy EJB

Sesyjne EJB mog udostpnia dwa rodzaje interfejsw:

- Lokalny, ktry moe zosta zadeklarowany jako interfejs Javy lub by w postaci publicznej metody implementacji EJB. Klienci w takim wypadku musz znajdowa si na tej samej maszynie

- Zdalny, mog z niego korzysta inne komponenty EJB, aplikacje webowe lub oddzielne aplikacje klienckie. W tym przypadku klienci nie musz znajdowa si na tej samej maszynie

mgr in. Micha Paluch

Komponent EJB

Skada si z:

- Klasy implementujcej funkcjonalno

- Interfejsu biznesowego

- Remote

- Local

- Opcjonalnych deskryptorw

mgr in. Micha Paluch

Transakcje w JEE

Czym jest transakcja?

Cechy transakcji.

Rodzaje transakcji:

- Zarzdzane przez komponent

- Zarzdzane przez kontener

mgr in. Micha Paluch

Atrybuty Transakcji

Required

RequiresNew,

Mandatory,

NotSupported,

Supports,

Never

mgr in. Micha Paluch

mgr in. Micha Paluch

Czym jest Framework?

Zestaw narzdzi, sprawdzonych

rozwiza, szkielet do budowy aplikacji.

Definiuje struktur oraz oglny

mechanizm dziaania aplikacji.

Narzuca przepyw sterowania.

Poszczeglne komponenty Frameworka

s rozszerzalne przez programist.

mgr in. Micha Paluch

Cikie Frameworki

Technologie, ktrych aplikacje wymagaj serwera aplikacyjnego jako rodowiska do dziaania.

Mona do nich zaliczy m.in.:

- Apache Geronimo

- JBoss Application Server

- JOnAS

- Oracle WebLogic Server

- IBM Websphere Application Server

- Oracle AS

mgr in. Micha Paluch

Lekkie Frameworki

Mniejsze wymagania sprztowe wobec

serwera.

Moliwo wykonywania testw

jednostkowych, bez wdroenia aplikacji

na serwer.

Moliwo uruchomienia aplikacji na

kontenerze webowym

Moliwo wykorzystania frameworka w

aplikacjach desktopowych.

mgr in. Micha Paluch

Spring Framework

Wielowarstwowy szkielet aplikacji Java/Java EE

Lekki kontener komponentw JavaBean

Obsuga JDBC Integracja z Hibernate

Obsuga transakcji

Programowanie aspektowego

Model MVC

Integracja ze Struts

Integracja z technologiami szablonw JSP, JSF

mgr in. Micha Paluch

Architektura

Spring Framework

rdo: http://www.springbyexample.org/examples

mgr in. Micha Paluch

http://www.springbyexample.org/examples

Inversion of Control (IoC)

rdo: http://www.springbyexample.org/examples

mgr in. Micha Paluch

http://www.springbyexample.org/examples

Wstrzykiwanie zalenoci

Przykad

rdo: http://www.springbyexample.org/examples

mgr in. Micha Paluch

http://www.springbyexample.org/examples

Przykad 2

Wstrzykiwanie przez konstruktor

rdo: http://www.springbyexample.org/examples

mgr in. Micha Paluch

http://www.springbyexample.org/examples

Przykad 3

Setter injection

rdo: http://www.springbyexample.org/examples

mgr in. Micha Paluch

http://www.springbyexample.org/examples

Przykad 4

Wstrzykiwanie przez referencj

mgr in. Micha Paluch

rdo: http://www.springbyexample.org/examples

http://www.springbyexample.org/examples

Spring AOP

Czym jest aspekt?

Celem jest integracja AOP wewntrz

Spring IoC

Wywoanie metody jest jedynym

punktem zczenia

Konfiguracja poprzez kontener

mgr in. Micha Paluch

Spring AOP

Umoliwia modularyzacj kodu na szersz skal.

Likwidacja nakadajcych si problemw przekrojowych

Aspekty mog modyfikowa zachowanie kodu

Podstawowe pojcia AOP:

- aspect problem przekrojowy

- advice dodatkowa czynno, ktra zostanie wykonana w punkcie zczenia

- join point punkt w aplikacji w ktrym zostanie zastosowana rada(advice)

mgr in. Micha Paluch

Rodzaje rad w Spring AOP

around advice: wykonywany jest przed i po

punkcie styku, ma moliwo przerwania

przepywu kontroli programu poprzez zwrcenie

wasnej wartoci lub wyjtku,

before advice: wykonuje si przed punktem

styku, nie moe zablokowa przepywu kontroli