Tvorba informačních systémů

Podobné dokumenty
Semináˇr Java X J2EE Semináˇr Java X p.1/23

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Tvorba informačních systémů

(Enterprise) JavaBeans. Lekce 7

Architektury informačních systémů

Architektury informačních systémů

Softwarové komponenty a Internet

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

KIV/PIA 2013 Jan Tichava

Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno

Tvorba informačních systémů

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

Tvorba informačních systémů

UJO Framework. revoluční architektura beans. verze

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Technologie Java. Jaroslav Žáček

Tvorba informačních systémů

TÉMATICKÝ OKRUH Softwarové inženýrství

Tvorba informačních systémů

Tvorba informačních systémů

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

Enterprise Java Beans 3.0

Tvorba informačních systémů

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Tvorba informačních systémů

Michal Krátký, Miroslav Beneš

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Technologie JavaBeans

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB)

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Platformy / technologie. Jaroslav Žáček

DPKOM_2. Technologie Enterprise JavaBeans Řízení zdrojů a primární služby

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Základy objektové orientace I. Únor 2010

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Tvorba informačních systémů

Java Server-side. Štěpán Kuchař. VŠB-TUO FEI Katedra informatiky

Technologie Java. Jaroslav Žáček

Session Beans. Petr Aubrecht CA. Vtipy budou tentokrát o krizi:

Návrhové vzory pro J2EE

Michal Krátký, Miroslav Beneš

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

java remote method invocation Kateřina Fricková, Matouš Jandek

Spring framework 2.0. Roman Pichlík CZJUG

Komponenty v.net. Obsah přednášky

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

8 Třídy, objekty, metody, předávání argumentů metod

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition

10 Balíčky, grafické znázornění tříd, základy zapozdření

X33EJA Enterprise Java

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

PA165: Úvod do Java EE. Petr Adámek

Server-side technologie pro webové aplikace

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

TÉMATICKÝ OKRUH Softwarové inženýrství

Další vlastnosti Springu Moduly Springu. Spring Framework. Pavel Mička. Pavel Mička Spring Framework 1/18

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Databázové a informační systémy

Úvod do programovacích jazyků (Java)

Návrhové vzory pro J2EE. Miroslav Beneš

JAVA JavaBeans Java, letní semestr

X36WWW. Technologie aplikačních serverů. Miroslav Bureš,, Martin Klíma. X36WWW: 12. přednáška 1

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Technologie Java Server Pages

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

JavaServer Faces Zdeněk Troníček

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Dědění, polymorfismus

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Úvod do Web Services

Tvorba informačních systémů

Java a J2EE. Cleverlance. Lukáš Marek lukas.marek@cleverlance.com

Platformy / technologie. Jaroslav Žáček

Co je nového v Java EE 6

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Oddělení webového a aplikačního serveru. Běží zde několik aplikací.

Ověřování nahraditelnosti EJB komponent. Pavel Stuna

Vytváření a použití knihoven tříd

Java a Caché IV: Manipulace s objekty

Architektura aplikace

Abstraktní datové typy: zásobník

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Common Object Request Broker Architecture

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Java Platform, Enterprise Edition (Java EE)

Platforma J2EE. Lukáš Zapletal liberix.cz. Platforma Java 2 Enterprise Edition vývoj webových aplikací

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

KIV/PIA Semestrální práce

Transkript:

Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 1/25

Obsah, Enterprise. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 2/25

Znovupoužitelné softwarové komponenty založené na jazyce Java. Definujeme pouze prázdný konstruktor. Vlastnosti private přístup. Metody pro přístup k vlastnostem jsou vždy public, public <propertytype> get<property>() pro vlastnost property. Metody. Události. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 3/25

Zavedení JavaBean do JSP stránky Vytvoř instanci třídy definovanou parametrem class, instanci ulož do proměnné definované atributem id. <jsp:usebean id="name" class="package.class"/> Ekvivalentní s: <% package.class name = new package.class(); %> Značka jsp:usebean poskytuje více možností: <jsp:usebean id="name" class="package.class" scope="page request session application" type="package.class" beanname="package.class"/> c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 4/25

Hodnota atributu scope 1/2 page Implicitní hodnota, uložení do objektu pagecontext třídy PageContext po dobu trvání požadavku. Získání instance pomocí pagecontext.getattribute(). request bean se uloží do instance request třídy ServletRequest. Získání instance pomocí request.getattribute(). c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 5/25

Hodnota atributu scope 2/2 session bean se uloží do instance session třídy HttpSession. Získání instance pomocí session.getattribute(). application bean se uloží do instance application třídy ServlerContext. Objekt je sdílený v celé webové aplikaci, resp. mezi všemi servlety. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 6/25

Nastavení vlastností JavaBean Značka: <jsp:setproperty name = "bean <%= výraz %>" property = "someproperty" value = "string <%= výraz %>" param = "parameter" /> name odvolání na konkrétní komponentu. property nastavovaná vlastnost. Např. název name musí odpovídat metodě setname() v bean. Pro nastavení není možné použít JSP výraz. value nastavovaná hodnota. param nastavovaná hodnota, vlastnost bean není typu string. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 7/25

Získání vlastností JavaBean <jsp:getproperty name = "bean" property = "prop" /> Ekvivalentní s <%= bean.getprop(); %> Uložení hodnoty: <% String s = bean.getprop(); %> c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 8/25

Příklad Bean 1/3, index.html <form action= " enter. j s p " > <input type= " t e x t " name= "name" > <input type= " submit " name= " submit " value= "OK" > < / form> c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 9/25

Příklad Bean 2/3, index.html <%@ page language = " java "%> <%@ page contenttype= " t e x t / html "%> <%@ page import="bean " %> < j s p : usebean i d = " bean " scope= " page " class="bean " / > < j s p : setproperty name= " bean " p r o p e r t y = "name" value= "<%= request. getparameter ( "name")%>" / >... c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 10/25

Příklad Bean 3/3, index.html public class Bean { private S t r i n g name ; } public void setname ( S t r i n g name) { this. name = name ; } c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 11/25

Automatické nastavení vlastností z parametrů požadavku HTTP <jsp:setproperty name = "bean" property = "*"/> Není nutné postupné nastavování vlastností bean. Musíme dodržet stejná jména parametrů a vlastností. Např. login vs. setlogin(). c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 12/25

Podmíněné vytváření Bean jsp:usebean vytváří novou instanci pouze tehdy když v kontextu (hodnota atributu scope) neexistuje žádná komponenta se stejným id. Obsah elementu jsp:usebean <jsp:usebean...>... </jsp:usebean> je vykonán pouze při vytváření nové komponenty. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 13/25

Poznámky Motivace: Aplikační rámce jako Struts (http://struts.apache.org/) využívají bean pro zapouzdření logiky aplikace. JavaBean v adresářové struktuře Webové aplikace: CATALINA_HOME/webapps/aplikace/ WEB-INF/classes Nutná kompilace. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 14/25

Reference http://java.sun.com/products/ javabeans/index.jsp. JSP & http://interval.cz/serialy/ javaserver-pages-pro-vsechny/. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 15/25

Specifikace architektury pro vývoj a nasazení distribuovaných transakčních objektových komponent na straně serveru. Konvence + sada rozhraní (EJB API). Zajištění kompatibility mezi produkty různých výrobců. komponenty, kontejner. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 16/25

Enterprise Java Beans c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 17/25

EJB kontejner Prostředí, v němž běží komponenty. vzdálený přístup, bezpečnost, transakce, souběžný přístup. přístup ke zdrojům a jejich sdílení. izolace komponent od aplikací. nezávislost na dodavateli kontejneru, zjednodušení tvorby aplikací. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 18/25

Vlastnosti komponent EJB Obsahují aplikační logiku. Instance se vytváří a spravuje kontejnerem. Nastavení atributu odděleno od implementace. Přenositelnost beanu mezi kontejnery. Možnost práce s beanem bez nutnosti úpravy zdrojového kódu nebo rekompilace. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 19/25

Typy komponent EJB Session Beans. bezstavové služby, stavové objekty v rámci sezení. Entity Beans perzistentní objekty spravované uživatelem (BMP), perzistentní objekty spravované kontejnerem (CMP). Message-Driven Beans bezstavové služby volané asynchronně příchodem JMS zpráv. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 20/25

Typy klientů Lokální klient v rámci JVM, přímý přístup ke komponentám, efektivnější přístup. Vzdálený klient v jiném procesu než komponenta, využívá standardní Java RMI rozhraní, vyžaduje serializaci / deserializaci. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 21/25

Session Beans Zapouzdření logiky aplikace do neperzistentních objektů. Obvykle je definována množina operací, které se musí vykonat jako transakce. Např. vykonání platby, zapsání platby, zaslání mailu. stavové (state) / bezstavové (stateless) stavové spravují instanční proměnné pro různé klienty. bezstavové sdílejí instanční proměnné pro různé klienty. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 22/25

Entity Bean Obvykle reprezentuje jeden řádek v tabulce. Klienti přistupující ke stejnému záznamu využívají stejnou instanci EJB. Perzistentní komponenta, stav je ukládán. Řízení perzistence Container-Managed Persistence (CMP) perzistence je řízena kontejnerem. Bean-Managed Persistence (BMP) perzistenci zajišt uje programátor. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 23/25

Message-Driven Beans Nově definovány specifikací EJB 2.0. Volají se asynchronně jako výsledek přijetí JMS zpráv. Nemají rozhraní pro klienty. Metoda onmessage(message msg). Neudržují si stav týkající se klienta. Všechny instance jsou ekvivalentní. Příchozí požadavek může zpracovat libovolná instance. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 24/25

Reference Enterprise http://java.sun.com/products/ejb/. Enterprise http://interval.cz/serialy/ ejb-2-x-enterprise-javabeans-2-x/. c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních systémů 25/25