+ All Categories
Home > Documents > VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Date post: 07-Feb-2016
Category:
Upload: gabi
View: 67 times
Download: 0 times
Share this document with a friend
Description:
1. VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE. Zbyněk Šlajchrt http://java.vse.cz/4it447/HomePage. Část 1. Historické ohlédnutí – 5 revolucí. 2. 60. léta První multitaskingový OS 70. léta On-line pořizování dat 80. léta Osobní počítače SQL 90. léta Client-server aplikace - PowerPoint PPT Presentation
54
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE Zbyněk Šlajchrt http://java.vse.cz/4it447/HomePage Část 1. 1
Transcript
Page 1: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EEZbyněk Šlajchrthttp://java.vse.cz/4it447/HomePageČást 1.

1

Page 2: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Historické ohlédnutí – 5 revolucí60. léta

První multitaskingový OS70. léta

On-line pořizování dat80. léta

Osobní počítače SQL

90. léta Client-server aplikace Třívrstvé aplikace v druhé polovině desetiletí

2000 Java Enterprise Edition

2

Page 3: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

60. léta

První multitaskingový OS vyvinutý IBM (MVT/MFT)

Mainframes, počítače řady IBM System/360 8-bitové, později kvůli finančním tlakům 6/4-bitové

Děrné štítky Magnetické pásky s 9 stopami Diskové plotny po 7,25 MB (max 6), 85ms seek time, 156 kb/s transfer rate

Zpracování dat jednou denně dávkami psanými v COBOLu – tzv. batch night cycles

Nevýhoda: data nebyla aktuální, opožděná o den

3

Page 4: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

60. léta

Zdroj: http://en.wikipedia.org/wiki/IBM_System/360

Zdroj: http://www.columbia.edu/acis/history/cards.html

4

Page 5: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

70. léta

Ve znamení on-line pořizování datIBM CICS – Customer Information Control System transakční server pro mainframy terminálový přístup pro zadávání dat Assembler, PL/I, COBOL

IBM VSAM – Virtual Storage Access Method ukládání dat a jejich indexace pro rychlé vyhledávání

nezávislé na zařízení (tj. virtual)Výhoda: data byla aktuální

5

Page 6: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

80. léta

Počátek éry osobního počítače – Microsoft

Nahrazení zelených obrazovek terminálů IBM

SQL-86 – ANSI standard Zadávání příkazů databázi jazykem blízkým přirozenému

Původ v jazyku SEQUEL, výzkum 70. léta v IBM

1979 – Relational Software uvádí Oracle Database

Následují DB2, Progres, Informix, Sybase

Standard později upraven pro nedostatky – SQL-92

6

Page 7: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

90. léta

Microsoft prosazuje klient-server aplikace Klient zasílá požadavky na server prostřednictvím počítačové sítě a čeká na odpověď

Všechny údaje jsou uloženy na serveru - bezpečnost

Snadnější úpravy a modernizace serverové části

Nevýhody: snadno dochází k přetížení sítě, náchylnost k výpadkům kvůli centralizaci, náročná správa verzí klientských aplikací

Zdroj: http://cs.wikipedia.org/wiki/Klient-server

7

Page 8: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Přelom tisíciletí

Java Enteprise Edition - Sun Microsystems a další definují standard pro vývoj distribuovaných přenositelných aplikací

Navazuje na standardní Javu write once, run everywhere JDBC API – transparentní přístup k databázím

RMI –volání metod na vzdálených objektech

Přináší další, komponentové technologie Enterprise Java Beans (EJB) Servlety, portlety a JSP stránky Webové služby Java Connector API – integrace s legacy aplikacemi

8

Page 9: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Přehled Java EE

První specifikace 1999-2000, verze J2EE 1.2

Další verze J2EE 1.3, 1.4, Java EE 5 a Java EE 6 (2009)

Obsahuje sadu specifikací pro jednotlivé oblasti vývoje distribuovaných aplikací: vývoj webových aplikací – servlety, portlety, JSP, JSF

vývoj sdílené aplikační (business) logiky – EJB

ukládání a získávání dat z databází – JPA, dříve entity beans

vývoj webových služeb asynchronní zpracování dat – Java Messaging Service

integrace s legacy aplikacemi – Java Connector API

9

Page 10: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Referenční implementace (RI)Aplikační server kompletně podporující poslední specifikaci

Slouží především jako ukázka implementace nových rysů (features) v poslední specifikaci

Není určen k nasazení do produkčního prostředí

Java EE 6 – referenční implementace GlassFish v3 open-source produkt (CDDL licence) firmy Sun Microsystems (nyní součástí Oracle)

10

Page 11: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Compatibility Test SuiteUtilita, která ověřuje, že daná implementace je kompatibilní se specifikací Java EE

Bez tohoto nástroje bychom neměli jistotu, že implementace splňuje vše podle specifikace

Různí výrobci by si mohli specifikaci vykládat po svém

To by vedlo k omezení výhod plynoucích z principu write once, run everywhere

11

Page 12: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

APM Blueprint

Application Programming Model Blueprint

Referenční příručka pro výuku vývoje distribuovaných aplikací na platformě Java EE

V posledních letech ztrácí na důležitosti a opodstatněnosti

Řada lidí je již z problematikou seznámena, případně využívá jiných knih

12

Page 13: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Schéma Java EE aplikací

Zdroj: http://edndoc.esri.com/arcobjects/9.2/Java/java/server/enterprise_adf/intro_eadf.htm

13

Page 14: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Typický scénář

Zdroj: http://edndoc.esri.com/arcobjects/9.2/Java/java/server/enterprise_adf/intro_eadf.htm

14

Page 15: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Dosavadní certifikované implementace Java EE 6

GlassFish v3 (RI) Sun GlassFish Enterprise Server v3 TmaxSoft JEUS 7

Java EE 5 Sun Java System Application Server 9.0 GlassFish JBoss Application Server JOnAS Apache Geronimo/Open EJB IBM WebSphere Oracle (BEA) Web Logic Oracle Containers for Java EE 11 SAP NetWeaver Application Server TmaxSoft JEUS 6 NEC WebOTX

15

Page 16: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní v Java EEJava Standard Edition (Java SE)

Java EE vychází ze standardní JavyJava Database Connectivity (JDBC)

Standardní API pro jednotné připojování k databázím bez ohledu na výrobce

RMI-JRMP RMI – Remote Method Invocation, API pro volání metod na vzdálených javovských objektech

JRMP – Java Remote Message Protocol, nativní protokol přenos zpráv mezi JVM

16

Page 17: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 2.Java Interface Definition Language (Java IDL) Služba, která umožňuje definovat Java rozhraní prostřednictvím jazyka Interface Definition Language

Součinnost s programy vyvinutými ve standardu CORBA

RMI/IIOP – RMI Over Internet Inter-ORB Protocol Umožňuje použít RMI API pro komunikaci s CORBA aplikacemi, které používají IIOP protokol

Enterprise Java Bean (EJB) Komponentová architektura pro vývoj a nasazování distribuovaných business aplikací

17

Page 18: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 3.Servlets

Komponenty pro komunikaci s webovým klientem

Komunikace probíhá ve stylu dotaz-odpověď

V principu není omezena na HTTP protokol

Náhrada CGI (Common Gateway Interface) skriptů

Java Server Pages (JSP) Šablony pro dynamické webové stránky, např. HTML, XML, WML

Java Standard Tag Library (JSTL) Standardní knihovny tagů pro JSP stránky

18

Page 19: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 4.Java Message Service (JMS)

API ke komunikaci s Message Oriented Middleware (MOM)

Topic – Publish/SubscribeJedna strana odesílá (publikuje) zprávuPříjemci jsou všichni, kteří se přihlásí k odběru

Po předání zprávy odběratelům se obvykle maže

Fronta – FIFO (First In First Out), Point-to-pointJedna strana vkládá zprávy do frontyPříjemce je právě jedenZpráva čeká ve frontě, dokud si ji příjemce nevyzvedne

19

Page 20: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 5.Java Naming and Directory Service (JNDI) API pro přístup k adresářovým službám (např. LDAP)

Java Transaction API (JTA) API pro řízení distribuovaných transakcí

JavaMail API pro odesílání a přijímání elektronické pošty

JavaBeans Activation Framework (JAF) API pro rozeznávání obsahu v libovolném vzorku dat

Např. rozeznání formátu obrázku z dat (JPEG)

20

Page 21: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 6Java Persistence API (JPA)

ORM framework, který umožňuje vývojářům spravovat relační data v aplikacích

Definuje Java Persitence Query Language (JPQL)

Nahrazuje entity beans z dřívějších specifikací Java EE

Java Authorization Contract for Containers (JACC) Vyjadřuje operace kontejnerů ve smyslu povolenek řídících přístupy k prostředkům systému (java.security.Permission)

21

Page 22: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Aplikační rozhraní – část 7Java API for XML Web Services (JAX-WS) API pro vývoj webových služeb založeno na anotacích

Java Architecture for XML Binding (JAXB) API pro mapování javovských tříd do XML

Umožňuje objekty ukládat do XML (marsall) a načítat je zpět z XML (unmarshall)

22

Page 23: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Kontejnery v Java EE

Kontejnery poskytují podporu Java EE aplikačním komponentám – komfortní vývoj aplikací

Komponenty používají metody a protokoly kontejneru ke komunikaci s ostatními komponentami a službami aplikačního serveru

Java EE zavádí čtyři druhy kontejnerů Klientský kontejner Kontejner appletů Webový kontejner EJB kontejner

23

Page 24: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Klíčové pojmy

Separation of Concerns (SoC) oddělení zájmů "sebestředné" komponenty

Inversion of Control (IoC) Aplikační logika je pasivní, tj. čeká na událost (callback)

Hollywood principle: "Don't call us, we will call you!"

Dependency Injection (DI) Aplikace se nestará o získávání služeb, které potřebuje

Kontejner injektuje závislosti do komponent

24

Page 25: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SoC - Separation of ConcernsRozdělení programu do částí (komponent), jejichž funkcionalita se pokud možno nepřekrývá a je úplná

Pozitivně ovlivňuje řadu tzv. systémových kvalit Udržovatelnost (Maintainability) – snadná výměna komponent

Testovatelnost Škálovatelnost a další

Objektově orientované programování velmi napomáhá tomuto procesu

25

Page 26: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SoC – Separation of ConcernsPříklad: Bankovní aplikace-Založení bankovního účtu

Příjem HTTP dotazu – dříve (procedurálně)1. poslouchej na TCP portu 802. analyzuj HTTP dotaz3. přečti z konf. souboru parametry db

připojení4. otevři spojení5. sestroj SQL příkaz pro založení účtu6. zadej příkaz7. vyhodnoť odpověď8. ukonči spojení (commit)9. předej odpověď klientovi

Aplikace

26

Page 27: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SoC – Separation of ConcernsPříklad: E-Shop-NákupPříjem HTTP dotazu – dříve (procedurálně)1. poslouchej na TCP portu 802. analyzuj HTTP dotaz3. přečti z konf. souboru parametry db

připojení4. otevři spojení5. sestroj SQL příkaz aktualizaci skladu6. zadej příkaz7. proveď platbu kreditní kartou8. ukonči spojení (commit)9. předej odpověď klientovi

Aplikace

27

Page 28: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SoC – Separation of Concerns

Příklad: Založení bankovního účtu

Příjem HTTP dotazu – oddělení zájmů1. poslouchej na TCP portu 802. analyzuj HTTP dotaz3. přečti z konf. souboru

parametry db připojení4. otevři spojení5. sestroj SQL příkaz pro založení

účtu6. zadej příkaz7. vyhodnoť odpověď8. ukonči spojení (commit)9. předej odpověď klientovi

Kontejner Aplikace

(Business Logic)

28

Page 29: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Separation of Concerns

ssssAplikaceAplikace

Kontejner

1

2

3 4

5

67

89

1

2

3 4

5

6

29

Page 30: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SoC – Separation of ConcernsZpracování požadavku klienta1. Příjem požadavku a příprava

komponenty2. Aplikační logika3. Finalizace a předání odpovědi

na klientaBody 1 a 3 se příliš nezávisí na aplikační logice

Informace o aplikaci spravované kontejnerem se zapisují deklarativně prostřednictvím konfiguračního XML souboru nebo anotací.

30

Page 31: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

IoC – Inversion of ControlHollywood principle: "Don't call us, we will call you!"

Princip událostmi řízeného programování(použito např. v knihovně Swing)

Aplikace principu SoC Nezabývej se tím, jak otevřít připojení k databázi nebo vyhledat službu pro ověření kreditní karty. Kontejner ti nastaví vše, co potřebuješ. (Konfigurační aspekt IoC)

Neřeš příjem požadavku z klienta ani čekání na zprávu ve frontě. Kontejner tě zavolá, až přijde ta správná chvíle. (Behaviorální aspekt IoC)

31

Page 32: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

DI - Dependency InjectionŘeší konfigurační aspekt IoC

nastavování parametrů, připojení a služeb

Dotaženo v Java EE 5 Inspirace: Spring, NanoContainer, Avalon

AA

BB

CC

new A()

new B()

AA

BB

CC

new A()

new B()

new C()

setB(B)

setA(A)

Container

Tradiční styl: DI:

32

Page 33: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Lookup Service

Alternativní metoda pro implementaci konfigurační stránky IoC, kdy komponenta sama vyhledává službu pomocí tzv. vyhledávací služby (Lookup Service)

Využíváno v dřívějších verzích Java EE AA

BB

CC

lookup(A)

lookup(B)

LookupLookup

33

Page 34: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Klientský kontejner

Pro klientské aplikace psané v jazyce Java

Poskytuje tyto služby: Vzdálená volání (RMI) Připojení k databázi Vyhledávací služba

Např. k vyhledávání databázových zdrojů, EJB a MOM prostředků podle jména

Klientský kontejner obsahuje tato API: J2SE, JMS, JNDI, RMI-IIOP a JDBC

34

Page 35: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Kontejner appletů

Poskytuje služby javovským appletům

Applet je program napsaný v Javě, který běží ve webovém prohlížeči – kontejneru

Kontejner appletů musí poskytovat Java SE API

35

Page 36: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Webový kontejner

Poskytuje podporu servletům a JSP stránkám

Servlety a JSP stránky jsou komponenty pro přípravu, zpracování a formátování dynamického obsahu určeného k zobrazení

Zajišťuje bezpečnostní aspekty jako ověřování uživatele a autorizaci přístupu uživatelů ke stránkám.

Musí podporovat následující API: Java SE, JMS, JNDI, JTA, JavaMail, JAF, RMI-IIOP, JDBC, JPA ad.

36

Page 37: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

EJB kontejner

Poskytuje služby pro: řízení transakcí správu stavů komponent resource pooling bezpečnostní kontroly

EJB komponenty obsahují business logiku aplikace

Jsou jádrem distribuované aplikaceKontejner musí poskytovat tato rozhraní: Java SE, JMS, JNDI, JTA, JavaMail, JAF, RMI-IIOP, JDBC, JPA ad.

37

Page 38: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Integrace s dřívějšími aplikacemiJava Connector Architecture (JCA)Je zapotřebí propojit Java EE aplikace s jinými, které nejsou vyvinuty na platformě Java EE

Důležitá vlastnost Java EE významně přispívající k jejímu rozšíření

JDBC hraje podobnou roli na poli databází

JCA má širší záběr: Mainframes, SAP, Siebel, PeopleSoft, LDAP

http://java.sun.com/j2ee/connector/products.html

38

Page 39: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Novinky v Java EE 6

Profily – podmnožiny technologií z Java EE ušité na míru nějaké oblasti použití Web Profile, Full Profile

WebBeans 1.0 Sjednocuje JSF, JPA a EJB3 Inspirováno Seam, Google Guice a Spring

Zjednodušuje práci s JSFJava Server Faces 2.0 (JSF)

Zavádí tzv. facelets, alternativu k JSP

Využívá anotací, podpora AJAXu Zabudovaná podpora pro obrázky, skripty, CSS atp.

39

Page 40: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Novinky v Java EE 6 – část 2.EJB 3.1

Singleton beans – jediná instance v aplikace, thread safe by default

Plánování úloh v cron stylu (5 * * * ? *)

Možnost volání session beanů asynchronně

EJB 3.1 Lite – ořezaná verze pro webový profil

JPA 2.0 Modelování kolekcí, které nereprezentují relaci mezi entitami

Criteria API – umožňuje vytvářet dotazy objektově-orientovaným a typově bezpečným způsobem

40

Page 41: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Novinky v Java EE 6 – část 3.Servlet 3.0

Zavádí užitečné anotace, redukuje web.xml

Fragmenty web.xml – jednotlivé moduly aplikace mohou přispívat vlastním fragmentem

Možnost programově přidávat servlety, filtry a posluchače – usnadňuje práci webovým frameworkům

JAX-RS 1.1 REST alternativa JAX-WS REST – REpresentational State Transfer

URL reprezentují prostředky na webuObsah prostředku představuje stavHTTP metody GET, POST, DELETE a další mají obecnější význam a představují operace nad prostředkem

41

Page 42: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SunTone AM Methodology

Převzato ze SUNTONE ARCHITECTURE METHODOLOGY A 3-DIMENSIONAL APPROACH TO ARCHITECTURAL DESIGN

42

Page 43: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SunTone AM Methodology

Architektonická metodologie pro vývoj mission-crtical enterprise aplikací

Má svůj původ v RUPHlavní předměty zájmu v enteprise aplikacích zobrazuje jako kostku, jejíž tři dimenze jsou: Tiers - aplikační vrstva, list(?) Layers - technologická vrstva, sloj(?)

Systémové kvality (bezpečnost, dostupnost...)

Řeší se systémové kvality pro všechny kombinace tier vs. layer

43

Page 44: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Tiers

Popisují, jak je distribuovaná aplikace rozložená do modulů kvůli redukci provázanosti a lepší pružnosti

Client tier – web browser, standalone Java application, web service clients

Web presentation tier – přijímá HTTP požadavky a odpovídá např. HTML, obsahuje servlety a JSP

Business logic tier – obsahuje moduly s business logikou, typicky EJB

Integration tier – obsahuje moduly pro připojování a komunikaci s Enterprise resource tier, typicky JPA, JMS

Enterprise resource tier – typicky non-Java systémy, databáze a mainframy

44

Page 45: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Tiers - obrázek

Převzato z http://java.sun.com/javaee/5/docs/tutorial/doc/bnaay.html

45

Page 46: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Layers

Popisují, jak je distribuovaná aplikace implementována na vrcholu infrastruktury platformy

Aplikační vrstva – obsahuje všechny aplikační moduly, vývoj probíhá zde

Virtuální platforma – obsahuje rozhraní k modulům z vrstvy Aplikační infrastruktura, definováno JCP

Aplikační infrastruktura – obsahuje middleware produkty, databáze, aplikační servery

Enterprise service layer – typicky operační systémy

Compute and storage layer – hardware, disky, paměť, procesory

Network infrastructure – síťová infrastruktura, karty, routery, load balancers,

46

Page 47: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Layers - obrázek

Příklad technologických vrstev v business tier

Sun Blade X6440 – compute and storage layerSun Blade X6440 – compute and storage layer

Solaris 10 OS – enterprise service layerSolaris 10 OS – enterprise service layer

Hot Spot Java 6 - virtuální platformaHot Spot Java 6 - virtuální platforma

Glassfish v3 – aplikační infrastrukturaGlassfish v3 – aplikační infrastruktura

MyPetStoreApp EJB beans – aplikační vrstvaMyPetStoreApp EJB beans – aplikační vrstva

EJB 3.1 – virtuální platformaEJB 3.1 – virtuální platforma

CISCO Network InfrastructureCISCO Network Infrastructure

47

Page 48: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Systémové kvality

Vlastnosti systému, které tvoří základ kvality služeb poskytovaných systémem

Různé systémové kvality mají odlišný vliv na celkový design systému, občas protichůdný

Čtyři skupiny Manifest qualities –interakce uživatele se systémem

Operational qualities – vlastnosti běžícího systému, které bezprostředně nedotýkají uživatele

Developmental qualities – vlastnosti vývoje systému

Evolutionary qualities – jak se systém chová, když je třeba jej upravit nebo povýšit (upgrade)

48

Page 49: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Systémové kvality - příkladyVýkonnostSpolehlivostDostupnostBezpečnostSnadná správaTestovatelnostRealizovatelnostPlánovatelnostŠkálovatelnostRozšiřitelnostFlexibilita

49

Page 50: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Role ve vývoji Java EE aplikacíVelkou výhodou Java EE aplikací je, že přirozeně vedou k rozdělení vývoje do rolí, ve kterých se uplatňují lidé s odlišnými dovednostmi. Např. EJB Developer Web Component Developer

GrafikProgramátor stránek a servletů

Application Client Developer Application Assembler Application Deployer and Administrator

50

Page 51: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Iterativní vývoj

Životní cyklus vývoje Java EE aplikací

Vývoj JEE komponentVývoj JEE komponent

Sestavení (assembly

)

Sestavení (assembly

)

Nasazení (deploymen

t)

Nasazení (deploymen

t)

TestyTesty

51

Page 52: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Java EE programovací vzorySada ověřených řešení opakovaně se vyskytujících problémů při vývoji Java EE řešení

Vycházejí ze zkušenosti Java EE komunity

Výhody: Ověřená řešení Znovupoužitelnost (reusability) Navrženy s ohledem na lepší výkon ... a další systémové kvality (maintainability)

V tomto kurzu se budeme věnovat hlavním vzorům

52

Page 53: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

Java EE programovací vzory

53

Page 54: VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA EE

SUN certifikace

Zdroj: http://www.sun.com/training/certification/java/index.xml

54


Recommended