Závěrečný úkol KPI | podzim 2012
Upcoming SlideShare
Loading in...5
×
 

Závěrečný úkol KPI | podzim 2012

on

  • 180 views

 

Statistics

Views

Total Views
180
Views on SlideShare
180
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Závěrečný úkol KPI | podzim 2012 Závěrečný úkol KPI | podzim 2012 Document Transcript

  • Argumentace výběru tématuJava EE je velmi často používaná platforma pro tvorbu rozsáhlých podnikových aplikací a tedy proinformatiky aktuální. Pro mnohé je to však prázdný pojem. Text má definovat pojem a shrnout oněm odborné informace.Text je součást mé bakalářské práce a vybíral jsem jej tak, aby splňovalo podmínku citovanýchzdrojů a o délce textu. Název jsem takto zvolil, protože dává jasně najevo, co je obsahem textu.AnotaceText práce se zabývá pojmem Java Enterprise Edition (Java EE). Tento pojem definuje, popisujejeho vztah k Java SE. Dále popisuje, k tvorbě jakých aplikací se Java EE používá a na jaké části sedělí. Popisuje komponenty Java EE, jejich použití a tyto komponenty porovnává. Srovnávádoporučované návrhové vzory, jejich využití a výhody a nevýhody. Na konec diskutuje výhodyvyužití Java EE oproti jiným platformám.Klíčová slovaJava EE, Java, vývoj, aplikace, SW, software, komponenta, kontejner, návrhový vzor, MVC, vendorlock-inNázev práce: Java Enterprise Edition – shrnutíJava Enterprise Edition (Java EE, dříve J2EE)[1] je průmyslový standard a soubor specifikací,mající za cíl umožnit vývoj a poskytnout běhové prostředí pro vícevrstvé podnikové aplikace(multi-tier enterprise applications). Specifikace definují logické rozdělení na aplikační komponentya role zastoupené napříč celým životním cyklem aplikace (správu aplikace po nasazení do ostréhoprovozu nevyjímaje). Základ pro Java EE tvoří platforma Java SE. Java EE navíc poskytuje službyjako jsou nástroje pro persistenci dat, řízení transakcí, zabezpečení aj. Při vývoji podnikových aplikací pod Java EE se často používá model distribuované vícevrstvéaplikace. Aplikační logika je rozdělena na komponenty (components) logicky podle funkcí, kterémají být poskytovány. Java komponenta je složena ze tříd a rozhraní, sdružených do jednoho celku,poskytující konkrétní funkcionalitu. Komponenta je typicky navržena jako nezávislý celek k použitído různých aplikací. Java EE definuje čtyři typy komponent: klientská aplikace, Java applet,webová komponenta a serverová komponenta. Všechny však mají jednu společnou vlastnost – běžív prostředí nazývaném kontejner (container). Kontejner musí poskytnout běhové prostředí prokomponenty, mechanizmus identifikace a schopnost zpracovat datový formát souboru, použitý pronasazení (deployment) komponent do provozu a standardní služby, jichž komponenty využívají. Komponentově orientovaná abstrakce, použitá v Java EE, nabízí zásadní přednosti předdodnes používaným a populárním objektově orientovaným modelem.[3] U objektového schématu jeprogramátor nucen starat se jak o řídicí logiku aplikace, tak o v zásadě komplexní způsob používáníkolekce podpůrných služeb (transakční zpracování, perzistence objektů do databáze, paralelnízpracování, a jiné). Komponenty naopak obsahují jen aplikační logiku; podpůrné služby jsouk aplikaci připojeny prostřednictvím příslušného kontejneru v okamžiku nasazení do provozu.
  • Komponenty tedy s okolím komunikují prostřednictvím veřejného rozhraní služeb, poskytovanéhopříslušným kontejnerem. Jak již bylo zmíněno výše, existují tyto čtyři typy komponent. [2] • Klientské aplikace (klienti) jsou obvykle samostatné aplikace napsané v jazyce Java. Jsou spouštěny v JVM a schopné využívat standardních služeb Java EE k přístupu k dalším komponentám v rámci rozdílné vrstvy. Jednotlivé služby jsou klientovi k dispozici většinou skrze lokální instalaci Java SE, či jsou dodané přímo v distribuci samotné aplikace. • Applety jsou podobné klientské aplikaci, avšak jsou spouštěny v prostředí webového prohlížeče (či jiné aplikace, podporující applety). Mnoho webových prohlížečů má v sobě vestavěné JVM. Pomocí zásuvného modulu (Java plugin) lze vynutit použití konkrétní verze JVM. • Webové komponenty jsou komponenty na straně serveru, obecně užívané k předvedení prezentační vrstvy uživateli. Existují dva typy webových komponent: Java Server Pages (JSPs) a Java servlety. JSPs jsou velmi zjednodušeně podobné HTML stránkám, avšak obsahují i kód v Javě. Servlety jsou třídy v jazyce Java, využívající Java I/O API k produkci HTML stránek. Oba dva typy lze použít k produkci i jiných typů formátu. • Serverové komponenty jsou k mání ve formě Enterprise JavaBeans (EJBs). Jsou spravovány v EJB kontejneru, a používány hlavně při implementaci aplikační logiky. Ilustrace 1: Schéma vzoru model-view-controller (MVC) a 3-vrstvé architektury Java EE navíc doporučuje použití návrhového vzoru model-view-controller (MVC)[1]. MVCposkytuje schéma pro oddělení prezentační logiky (view), aplikační logiky (control) a dat (model).Jiný model, použitý pro implementaci serverových komponent (EJB), se nazývá třívrstváarchitektura. První vrstva, klientská, se skládá z klientských aplikací jako je webový prohlížeč činezávislý klient. Druhá vrstva (aplikační) je hostitelem pro distribuované aplikace a typicky jenazývána aplikační server. V něm jsou obsaženy kontejnery. Třetí vrstva (Enterprise InformationSystem, EIS) obsahuje systém pro správu zdrojů, databáze, systém pro podporu transakčníhozpracování aj. Vzhledem k výše zmíněným informacím lze tedy mluvit i o n-vrstvé architektuře,kde n je číslo, jež může nabývat hodnoty i větší než 3. Softwarový architekt tedy může rozdělitinformační systém do libovolného počtu vrstev, vycházejícího z potřeb aplikace a možnostívýpočetních prostředků, na nichž bude aplikace provozována. Všechny vrstvy jsou pak schopnyběžet na rozdílných strojích, i když to tak zpravidla nebývá a více vrstev bývá provozováno v rámcijedné platformy, např. v rámci aplikačního serveru. Rozdělení aplikace na vhodný počet vrstevpomáhá vypořádat se s řadou případů, při jejichž řešení obvykle vznikají problémy. Příklady
  • takových případů je udržovatelnost aplikace, její konzistence, flexibilita, bezpečnost, schopnostpropojení s jinými systémy, vypořádání se se zvýšenou zátěží na systém aj. Java EE je otevřená specifikace, a proto ji může implementovat v podstatě každý. Rozhodnutípro použití technologie J2EE má potenciál vyvarovat vytvoření závislosti na jednom konkrétnímposkytovateli (tzv. vendor lock-in) aplikačního serveru. V případě nespokojenosti se současnouimplementací není problém přecházet mezi „J2EE compliant“ řešeními a provozovat tu, kterávyhovuje konkrétním potřebám.Seznam použité literatury[1] MCGOVERN, James. Java 2 enterprise edition 1.4 bible. Indianapolis, IN: Wiley Pub., c2003, xxxii, 976 p. ISBN 07-645-3966-3. • Autor napsal již mnoho knih o Javě • Knihy na Amazonu velmi dobře hodnocené • Kniha pojednává o tématu do hloubky • Nejčtenější kniha o Java EE • Z mého pohledu nejhodnotnější zdroj o java EE[2] The Java EE 5 Tutorial: Java EE Containers. ORACLE. Oracle Documentation [online]. September 2010 [cit. 2013-01-05]. Dostupné z: http://docs.oracle.com/javaee/5/tutorial/doc/bnabo.html • Oficiální dokument od firmy Oracle • Autoři jsou tvůrci samotného standardu Java • Hloubka pokrytí problému • Relativně čerstvé/akualizované informace (rok 2010) • Text používán velmi velkou komunitou lidí[3] KAEGI, SR a DEUGO, D. Modular Java Web Applications. PROCEEDINGS OF THE 23RD ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING. 2009. • Článek vydán ke konferenci ACM SYMPOSIUM ON APPLIED COMPUTING, významné v oboru • Autor erudovaný v oboru • Relativně nové informace (rok 2009) • Nachází se v CONFERENCE PROCEEDINGS CITATION INDEX • Hluboké pokrytí problematiky
  • Vizualizace tématu