X33EJA Enterprise Java. Petr Šlechta Sun Microsystems petr.slechta@sun.com



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

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

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

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

X33EJA Enterprise Java

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

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

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

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

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

Architektury informačních systémů

Architektury informačních systémů

Úvod do Web Services

Platformy / technologie. Jaroslav Žáček

Komponentový návrh SW

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

ilé aspekty distribuovaných objektových systémů

Distribuované systémy a výpočty

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

PoskytovanéslužbyvsítiTUO-Net. PetrOlivka

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

KIV/PIA 2013 Jan Tichava

Pokročilé Webové služby a Caché security. Š. Havlíček

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

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

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

(Enterprise) JavaBeans. Lekce 7

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);

RMI - Distribuované objekty v Javě

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

Tvorba informačních systémů

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

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

Co je nového v Java EE 6

Technologie Java. Jaroslav Žáček

Michal Krátký, Miroslav Beneš

Common Object Request Broker Architecture

Softwarové komponenty a Internet

Internet Information Services (IIS) 6.0

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

Využití identity managementu v prostředí veřejné správy

Tvorba informačních systémů

Server-side technologie pro webové aplikace

Tvorba informačních systémů

SNMP Simple Network Management Protocol

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

1 Administrace systému Moduly Skupiny atributů Atributy Hodnoty atributů... 4

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

SOAP & REST služby. Rozdíly, architektury, použití

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

PDS. Obsah. protokol LDAP. LDAP protokol obecně. Modely LDAP a jejich funkce LDIF. Software pro LDAP. Autor : Petr Štaif razzor_at

Jak efektivně ochránit Informix?

Tvorba informačních systémů

Úvod do CORBY. Svetlozara Arabadzhieva

Osnova dnešní přednášky

Webové služby. Martin Sochor

CAL (CAN Application Layer) a CANopen

Příprava k certifikaci , TS: Windows 7, Configuring

Tvorba informačních systémů

Identifikátor materiálu: ICT-3-03

KAPITOLA 1 Instalace Exchange Server

Michal Krátký, Miroslav Beneš

RMI Remote Method Invocation

Použití Single Sign On (SSO) v IBM Informix Serveru

PoskytovanéslužbyvsítiTUO-Net. PetrOlivka

SPRÁVA ŽIVOTNÍHO CYKLU UŽIVATELE. Roman Pudil, SOITRON

Požadavky pro výběrová řízení TerraBus ESB/G2x

Spring framework 2.0. Roman Pichlík CZJUG

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

UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES

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

Č á s t 1 Příprava instalace

Architektury Informačních systémů. Jaroslav Žáček

Korporátní identita - nejcennější aktivum

Windows Server Novinky. Petr Špetlík Cloud & Server PTA

Komponentní technologie

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ

Různé tváře WebSphere Portal

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

X36PKO Jmenné služby Jan Kubr - X36PKO 1 4/2007

The Lightweight Directory Access Protocol version 3 (LDAPv3) is specified by this set of eleven RFCs:

Alcatel-Lucent VitalQIP DNS/DHCP & IP Management Software

IBM Connections pro firmy s Lotus Notes/Domino. Petr Kunc

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

RESTful web service v Javě

Web Services na SOAP

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

3.8 Elektronická pošta

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

Elektronická pošta... 3 Historie... 3 Technické principy... 3 Komunikační protokoly... 3 MBOX... 4 Maildir... 4 Jak funguje POP3...

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Instalační manuál aplikace

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

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Tvorba informačních systémů

Orbit. Workflow a Docflow System

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

FreeIPA a SSSD. Správa uživatelů pomocí Free Software. LinuxAlt 2009 Jakub Hrozek Martin Nagy 30. listopadu 2009

Transkript:

X33EJA Enterprise Java Petr Šlechta Sun Microsystems petr.slechta@sun.com

Web Services (dodatek)

Dynamické vyvolání WS Pomocí SAAJ (SOAP with Attachments API for Java) Dynamicky vytvořit SOAP zprávu (např. na základě dat vyčtených z WSDL) a poslat ji Ukázka kódu

Struktura SOAP zprávy v SAAJ

Java Naming and Directory Interface (JNDI)

JNDI Naming/directory/lookup služby (services) Mapování: jméno hodnota (object) Příklady: UNIX file system, DNS, LDAP Stromový/adresářový koncept Adresář má atributy a položky Základní akce: přidávání/modifikace atributů a položek, hledání informace Většinou 90% vyhledávání informací, jen 10% modifikace

JNDI podporované technologie Návrh JNDI je rozšiřitelný API / SPI koncept Standardně podporované technologie Lightweight Directory Access Protocol (LDAP) Common Object Request Broker Architecture (CORBA) Common Object Services (COS) name service Java Remote Method Invocation (RMI) RegistryPackages

JNDI

JNDI Vlastní hledání je jednoduché Printer printer = (Printer)ctx.lookup("Xerox-312");

JNDI kompletní příklad Hashtable env = new Hashtable(); env.put(context.initial_context_factory, "com.sun.jndi.ldap.ldapctxfactory"); env.put(context.provider_url, "ldap://localhost:389/o=jnditutorial"); DirContext ctx = new InitialDirContext(env); try { // Create the initial directory context DirContext ctx = new InitialDirContext(env); // Ask for all attributes of the object Attributes attrs = ctx.getattributes("cn=ted Geisel, ou=people"); // Find the surname attribute ("sn") and print it System.out.println("sn: " + attrs.get("sn").get()); } catch (NamingException e) { System.err.println("Problem getting attribute:" + e); }

LDAP (Lightweight Directory Access Protocol) Protokol pro přístup k serverům s adresářovými službami (LDAP servery) LDAP server Distribuovaná stromová databáze Obsahuje většinou údaje o zaměstnancích a organizační struktuře firmy U každého zaměstnance mohou být uloženy konfigurační data pro různé aplikace (hesla,...) Typicky je systém i jeho zpráva distribuovaná Optimalizováno na čtení dat, zápisování není časté Centrální authentikace uživatele (SSO)

Nástroje pro práci s LDAP servery JXplorer Java prohlížeč obsahu LDAP databáze Ukázka Offline prohlížení LDIF souboru o=organization, ou=organization unit, cn=common name, c=country, gn=given name, sn=surname, st=state,...

JNDI na aplikačním serveru JNDI je součást Java EE specifikace Použití pro přístup ke konfiguračním datům AS a pro vyhledávání instancí objektů vytvořených AS EJB, JDBC connection pool, JMS destination, Ukázka Příklad kódu v NB

Java Mail API

Java Mail API pro čtení, tvorbu a odesílání e-mailů Podporované technologie (lze rozšiřovat, SPI) Simple Mail Transfer Protocol (SMTP) Zasílání e-mailů přes SMTP server Post Office Protocol (POP) Definuje mailbox pro uživatele, nejrozšířenější Internet Message Access Protocol (IMAP) Více složek na straně serveru, lze je sdílet Méně rozšířený, klade větší požadavky na mail server Multipurpose Internet Mail Extensions (MIME) Definuje jak zakódovat obsah e-mailu: části zprávy, přílohy,...

Java Mail Balíčky javax.mail, javax.mail.event, javax.mail.internet, javax.mail.search, javax.mail.util Ukázka kódu

Java Mail na AS Anotace a injection @Resource private javax.mail.session session; Konfigurace na straně serveru

Java Transaction API (JTA)

JTA Definuje API pro interakci mezi transakčním managerem a Resource managerem Aplikačním serverem Aplikací používající transakce Podporuje distribuované transakce nad více zdroji JSR 907 Balíčky javax.transaction, javax.transaction.xa

JTA Transakce musí být ACID Atomic (lze provést rollback), Consistent (přechody pouze mezi konzistentními stavy databáze), Isolated (mezivýsledky nejsou viditelné pro ostatní), Durable (výsledek je uložen) Distribuované transakce Zdroj můsí implementovat JDBC 2.0 + XADataSource, XAConnection (javax.sql) + XAResource (javax.transaction.xa) Dvoufázový commit, transakční log Ukázka kódu

Java Transaction Service (JTS)

JTS Jedna z implementací JTA Transakční manažer využívající Object Transaction Service od OMG (Object Management Group) z CORBA specifikace CORBA (Common Object Request Broker Architecture) využívá GIOP na propagaci transakcí mezi různými transakčními manažery GIOP = General Inter-ORB Protocol IIOP = Internet Inter-ORB Protocol Umožňuje provádět transakce nad více zdroji na různých počítačích spojených sítí

JTS

Java EE Connector Architecture (JCA)

JCA Integrace AS s ostaními (většinou legacy) systémy EIS = Enterprise Information System ERP = Enterprise Resource Planning CRM = Customer Relationship Management Jiné databáze, aplikace, mainframes Resource Adapter Implementuje JCA Umožňuje přístup k danému zdroji Přístup pomocí API, které je podobné JDBC

JCA Hlavní podoporované oblasti Connection management, transaction management, a security Common Client Interface (CCI) Standardní deployment (RAR soubor) Balíčky javax.resource, javax.resource.cci, javax.resource.spi, javax.resource.spi.* Vstupní bod javax.resource.spi.resourceadapter

Security

Security konfigurace Security se konfiguruje (jako většina nastavení pro AS) ve dvou deskriptor souborech web.xml standardizovaná část xxx-web.xml část specifická pro daný AS (např. sun-web.xml pro Glassfish, nebo jboss-web.xml pro JBoss)

Security constraints Nejdříve je nutné definovat, které části aplikace budou mít omezený přístup a kdo k nim bude moci přistupovat web.xml: <security-constraint> <web-resource-collection> <web-resource-name>catalog</web-resource-name> <description>cust's catalog</description> <url-pattern>/catalog/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>registereduser</role-name> </auth-constraint> </security-constraint>

Login Dále je nutno specifikovat jak má probíhat přihlašování uživatele web.xml: <login-config> <auth-method>basic</auth-method> <realm-name>shop Realm</realm-name> </login-config>

Login Podporované metody přihlášení (autentikace) None bez přihlašování uživatele Digest klient spočítá digest (pomocí obsahu zprávy a svého hesla) a tím se autentikuje Client certificate klient (popř. i server) si pošlou veřejné certifikáty a pomocí nich ověří svoji totožnost (jako digitální podpis, X.509 standard) Basic ověření jména a hesla v realmu Form specifikované JSP stránky jsou použity pro kontrolu přihlašovacích údajů

Ochrana přenášených dat User data constraint v web.xml None žádná ochrana Integral je požadována ochrana před pozměněním zprávy v průběhu přenosu Confidential je požadována ochrana obsahu zprávy při přenosu (obsah zprávy nesmí být dostupný třetí straně)

Mapování rolí Role definované ve webové aplikaci je nutno namapovat na uživatele a skupiny definované v aplikačním serveru Toto mapování se provádí v deskriptoru specifickém pro daný AS Ukázka (Glassfish)

Form-based autentikace <form action="j_security_check" method="post"> Name: <input type="text" name="j_username"> Password: <input type="password" name="j_password"> <input type="submit" value="log me in!"> </form> web.xml: <login-config> <auth-method>form</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config>