slidy z přednášky o Java a J2EE
Transkript
Java a J2EE Java a J2EE Cleverlance Lukáš Marek [email protected] Java a J2EE Java a J2EE Agenda: ! Java ve zkratce ! architektura aplikací ! aplikaèní servery a Enterprise Java ! DEMO ! enterprise aplikace ! zajímavé produkty vývojová IDE ! Cleverlance Java Java a J2EE Co je Java ! Plnì objektovì orientovaný jazyk ! Zdrojový kód je pøekládán do platformovì nezávislého byte-code ! Byte-code je interpretován v Java Virtual Machine (JVM) ! Pro každou platformu musí být specifická JVM ! existují JVM rùzných výrobcù (Sun, IBM, Blackdown, GNU Kaffe) Cleverlance Java a J2EE Java Java aplikace Java Virtual Machine Operaèní systém Hardware Cleverlance Java a J2EE Architektura Client - server server - C/C++.. client - C/C++.. Thin client server - WebForms, PHP... client - HTML Cleverlance Java a J2EE Architektura Výhody: - oddìlení obchodní logiky od dat - oddìlení obchodní a prezentaèní logiky - více typù klientù sdílí jednu obchodní logiku client Cleverlance business logic data storage Java a J2EE J2EE Co to je? ! aplikaèní server poskytuje kompletní tzv. middleware ! middle-ware = database connection, resource pooling, security, transactions, session-tracking, location transparency Komponenty: ! ! distribuované objekty rozdìl a panuj Proè J2EE standard? ! stejný kód funguje na rùzných platformách ! ! stejný kód funguje v aplikaèních serverech rùzných výrobcù platformy i AS jsou snadno porovnatelné z hlediska vlastností i výkonu Cleverlance J2EE Java a J2EE Co to je 'Enterprise' Java? ! Klíèová API: JDBC, RMI/IIOP, JNDI, EJB, Servlets, JSP, JMS, JTA ! Rozšiøující API: JAXP, JAAS, JCA, JavaMail, JMX ! Aplikaèní kontejner = RMI/IIOP + JNDI + EJB + JMS + JTA + JDBC ! Webový kontejner = Servlets + JSP Cleverlance EJB Java a J2EE EJB - serverová komponenta Session EJB ! reprezentuje logiku - akci, výpoèet apod. ! stateless, statefull Entity EJB ! reprezentuje data ! je persistentní ! mùže být ukládána programovì (BMP) nebo pomocí kontejneru (CMP) Message-driven EJB ! reakce na asynchronní (JMS) zprávu Cleverlance EJB Java a J2EE EJB - distribuovaný objekt objekt net stub ! ! ! skeleton stub, skeleton - objekty pro pøenos informací pøes sí• client ani objekt nemusí obsahovat komunikaèní logiku nezávislost na použitém sí•ovém (http, rmi) ani "datovém" (CORBA, XML-RPC) protokolu Cleverlance Java a J2EE J2EE client SOAP, UDDI, IIOP... HTTP (HTML, WML)... browser JSP EJB EJB JCA DB Cleverlance JMS legacy Java a J2EE DEMO Cleverlance Java a J2EE distribuované transakce Java a J2EE ! DB ck X Chyba: let je již obsazen Øešení = distribuované DB transakce ! nároèné na hotel prostøedky ! musí být podporováno db DB ! øešeno pomocí JTA ÈSA Cleverlance ! obtížnì øešitelný chybový stav vìtšinou vyžaduje lidský zásah Java a J2EE Java a J2EE infrastruktura DB lbb klient Cleverlance webserver AS ldap jBoss Java a J2EE Aplikaèní server JBoss ! Základ tvoøí 30kb mikrokernel, zbytek dokonale modulární ! Jako web kontejner lze použít Tomcat nebo Jetty, pro jednoduší instalaci existují pøedkonfigurované verze ! Clustering - propracovaný systém pro škálovatelnost výkonu, clusterované JNDI, ošetøení výpadku a load balancing RMI všech EJB typù a èásteènì MDB, replikace SFSB ! http://www.jboss.org Cleverlance Cleverlance Java a J2EE Java a J2EE JSP a servlety umí: ! ! umí oddìlit prezentaèní a business logiku resource pooling JSP a servlety neumí: ! ! sdílet logiku pro více frontendù data caching, distribuované objekty apod. kdy NEPOUŽÍT EJB: ! ! když je potøeba aplikaci udìlat relativnì rychle když je potøeba udìlat relativnì jednoduchou aplikaci Cleverlance JDBC Java a J2EE Java Database Connection ! ! ! ! ! ! standardní API pro pøístup k databázi pøístup je realizován JDBC driverem více typù driverù (JDBC-ODBC bridge) pøístup ke všem relaèním databázím je unifikován možnost rozšiøování standardní cestou transparentní pøipojení k více databázím (URL) Ukázka kódu Cleverlance Java a J2EE Java a J2EE TagLibs ! ! možnost definovat vlastní JSP tagy tag je normální Java tøída, implementující urèitý interface Jakarta taglibs ! sada JSP tagù, øešící obvyklé situace - pøístup k databázi, internacionalizace, logování, I/O operace apod. <i18n:ifndef key="specialDisclaimer"> <H3>DISCLAIMER</H3> <i18n:message key="specialDisclaimer" /> Only those locales that do NOT have a specialDisclaimer key in their ResourceBundle will see the special disclaimer text. </i18n:ifndef> Cleverlance Java a J2EE Java a J2EE MVC ! ! ! ! ! Model-View-Control standardní design pattern model - logika a øízení toku programu (data) control - ovládací prvky view - prezentace dat Jakarta Struts ! open-source implementace MVC pro JSP stránky <th align="right"> <bean:message key="prompt.username"/> <action </th> path="/logon" <td align="left"> type="example.LogonAction" <html:text property="username" size="16"/> name="logonForm" </td> scope="request" input="/logon.jsp" unknown="false" validate="true" /> Cleverlance Java a J2EE rychlost Javy http://dada.perl.it/shootout Cleverlance Cleverlance Java a J2EE ! ! ! IDE 100% pure Java subjektivnì pomalejší, potøebují více pamìti. využití vlastností jazyka - pro zobrazení tøíd, závislostí tøíd, inteligentní doplòování kódu, ladìní. vìtšinou umožòují snadnou tvorbu pluginù v Javì. Netbeans (Forte), JBuilder.... nativní rychlejší, potøebují málo pamìti. nenabízí takové možnosti jako èistì Javové IDE. JCreator... kombinace kombinuje vlastnosti obou typù prostøedí Eclipse, Visual Age Cleverlance Java a J2EE Java a J2EE Resources: http://java.sun.com http://jakarta.apache.org http://www.builder.cz http://dione.zcu.cz/java/ http://www.techware.cz http://www.netbeans.org http://www.eclipse.org http://www.intellij.com Cleverlance
Podobné dokumenty
Vážení studenti 1
prostředí (IDE - Integrated Development Environment), např.: JCreator, Eclipse, NetBeans, BlueJ. V prvním ročníku
využíváme vývojové prostředí JCreator. V tomto kurzu student získá dovedností při p...
CX8-525 page1,2 datasheet .cdr
Dr. Cristian Heil a Prof. Marcel Urban zapoèali výzkum, který završili pøesnými definicemi podmínek nezbytných
k efektivnímu kombinování individuálních zdrojù zvuku ve slyšitelném pásmu, k vytvoøen...
Pokročilé programování na platformě JAVA, letní semestr 2012
nejpozději do září – pátek 28. září 2012 12:00 (poledne)
odevzdání buď emailem nebo osobně (pokud to bude
nutné)
Článek
pomocí SMTP protokolu a přenosem zprávy mezi jednotlivými MTA. Samozřejmě obsahuje
také stručný popis protokolů POP3 a IMAP4, které slouží pro příjem elektronických zpráv
ze vzdáleného poštovního s...
Přednáška 11
zázemí apod.)
neměřitelné vlivy (neměřitelný vliv je náhodná složka) tak dělíme na
– v čase neměnné – fixed effects
– v čase proměnlivé – náhodná složka uit
jak bychom to řešili (odhad modelu)?
– p...
Jak na vysokou dostupnost dat a efektivní disaster recovery
primární lokality, kam se při běžném provozu replikují všechna kritická data.
Na trhu lze aktuálně najít různá řešení,
ovšem s rozdílnou výkonností a spolehlivostí. Pokud bychom brali v úvahu „so...