Czech Sun Training Day 2008 - Java Enterprise System

414 views

Published on

Presentation from training day for Sun Solaris customers to explain features of Sun Java Enterprise System.
Presentation covers following themes:
- architecture
- Directory server
- Web server
- Access manager
- Portal server

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
414
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Czech Sun Training Day 2008 - Java Enterprise System

  1. 1. Sun Training Day 2008 sekce JES Martin Červený M.Cerveny@computer.org
  2. 2. Architektura Sun Java Enterprise System Directory server Web server Access manager Portal server
  3. 3. Architektura Sun Java Enterprise System
  4. 4. Komponenty JES ● directory server ● directory proxy server ● web server ● web proxy server ● application server ● java DB ● HA session DB ● message queue ● access manager ● policy agent ● portal server ● portal server secure remote access ● cluster ● monitoring console ● service registry architektura
  5. 5. Licenční balíky ● Sun Java Enterprise System ● Sun Java Application Platform Suite ● Sun Java Availability Suite ● Sun Java Web Infrastructure Suite ● Sun Java Identity Management Suite – identity manager – federation manager ● Sun Java Communications Suite – calendar server – messaging server – instant messaging server ● Sun Java Composite Application Platform Suite – enterprise service bus, composite page designer, business process manager, business activity monitor, B2B integrator, data integrator, intelligent event processor, master index architektura
  6. 6. Historie ● < 1999 - Netscape ● 1999-2001 - AOL + Sun = iPlanet ● 2002-2003 - SunONE ● > 2003 - Sun Java Enterprise System ● > 2006 - opensource – GlassFish - application server – OpenSSO - access manager – OpenPortal- portal server – OpenHAC - cluster – FedoraDS – OpenDS architektura
  7. 7. Instalace ● požadavky – 6GB HDD, 4GB RAM ● platformy – solaris 9/10 SPARC/x86 – linux RHEL 3/4 – hp-ux 11i v1 PA-RISC – Microsoft Windows 2000 AE SP4, XP SP2, 2003 ES SP1 ● instalátor – interaktivní – GUI, TUI – dávková instalace „state file“ architektura
  8. 8. Škálovatelnost architektura GWGWGW GWGWMTA GWGWPS/WS GWGWAM/WS GWGWDS GWGWMTA GWGWMTA GWGWCE/WS GWGWAS GWGWWS GWGWCAL DB HA cluster
  9. 9. node agentnode agent Administrace, konfigurace a dohled ● vlastní konzole (webové, JSF) ● plná konfigurace z CLI ● JMX cacao – SNMP, JMX – autonomní monitor služeb v systémech – Common Monitoring Model (CMM/CIM) – cacaoadm(1m), mfwkadm(1m)... architektura systémový agent snmp JMX perf threshldstav alarm mbean mbean mbean hlavní agent mon. konzole
  10. 10. Více v kurzech ECR-2281* – přehled produktů DIR-2217, DIR-2340, DIR-3300* – directory server IAS-2489, IAS-4404*, IAS-3445*, IAS-4444* – application server ECR-2307* – web server AM-3480 – access manager PTL-2309*, PTL-4310* – portal server ES-345, ES-445 - cluster IDM-345, IDM-4485 - identity manager SB-CAP-0501, SB-CAP-0502, SB-CAP-0500, SB-CAP-0570, SB-CAP-0580, SB-CAP-0550 – java CAPS MSG-2222* – messaging server architektura kurzy
  11. 11. Directory server
  12. 12. Directory server 6 ● adresářový server ● hierarchická distribuovaná rozšířitelná objektová databáze ● X.500 ISO normy ● Lightweight Directory Access Protocol (LDAP) ● [search, compare, add, delete, modify, modify DN, bind, unbind, abandon] ● DSMLv2 over HTTP/SOAP ● rozšíření v JES ● definice rolí (roles) ● generované atributy (class of service) ● přístupová práva (aci) ● replikace (i filtrovaná) a zřetězení ● vývoj plugin modulů ● windows sync DS funkce
  13. 13. LDAP model ● objekty s atributy (Directory Information Tree, DIT) ● hierarchie objektů ● identifikace hierarchie objektů podle Distinguish Name (DN) ● schémata (atributů, tříd, jmenných vazeb) ● obecný zápis pomocí LDAP Data Interchange Format (LDIF) dn: identifikace objektu objectClass: třída objektu atribut: hodnota atribut: hodnota atribut: hodnota ... DS LDAP
  14. 14. DIT dn: o=firma, c=cz objectClass: top objectClass: organization o: firma dn: ou=people, o=firma, c=cz objectClass: top objectClass: organizationalUnit ou: people dn: ou=groups, o=firma, c=cz objectClass: top objectClass: organizationalUnit ou: groups dn: uid=jnovak, ou=people, o=firma, c=cz objectclass: person ... uid: jnovak cn: Jan Novak sn: Novak dn: uid=jnovak, ou=people, o=firma, c=cz objectclass: person ... uid: jnovak cn: Jan Novak sn: Novak dn: uid=jnovak, ou=people, o=firma, c=cz objectClass: person uid: jnovak cn: Jan Novak sn: Novak dn: cn=lyzari, ou=groups, o=firma, c=cz objectClass: groupofunique.. cn: lyzari uniqueMember: uid=jnovak, ou=people, o=firma, c=cz DS LDAP
  15. 15. Role ● managed roles ● nested roles ● filtered roles dn: cn=acctouting, ou=people, o=firma, c=cz objectClass: LDAPsubentry objectClass: nsRoleDefinition objectClass: nsComplexRoleDefinition objectClass: nsFilteredRoleDefinition cn: acctouting nsRoleFilter: (&(objectclass=person)(ou=acctounting)) dn: uid=jnovak, ou=people, o=firma, c=cz objectClass: person uid: jnovak ou: accounting nsRole: cn=acctouting, ou=people, o=firma, c=cz DS rozšíření
  16. 16. Class of service ● pointer CoS ● indirect CoS ● classic CoS dn: cn=cos-classic, o=firma, c=cz objectClass: ldapsubentry objectClass: cossuperdefinition objectClass: cosclassicdefinition cosSpecifier: l cosAttribute: postalcode cosTemplateDN: cn=psc,o=firma,c=cz dn: cn=Praha, cn=psc, o=firma, c=cz objectClass: LDAPsubentry objectClass: extensibleObject objectClass: cosTemplate postalCode: 10000 dn: uid=jnovak, ou=people, o=firma, c=cz objectClass: person uid: jnovak l: Praha postalCode: 10000 DS rozšíření
  17. 17. ACI ● definice přístupových práv mezi přihlášeným subjektem a manipulovaným objektem definice cíle (kde a co) target targetattr targetfilter přístup (jak) read/write add/delete search compare selfwrite proxy definice zdroje (kdo a kdy) userdn groupdn userdnattr ip/dns timeofday dayofweek authmethod aci: (cíl) (version 3.0; acl “name”, přístup zdroj) allow deny DS rozšíření
  18. 18. Propojení adresářů DS rozšíření S1 S2 1 2 3 4 S1 S2 1 4 2 3 odkazy (referral) zřetězení (chaining) S1 changelog repl. id S2 changelog repl. id S3 ro changelog repl. id S4 ro repl. id čti lokálně přeměruj při zápisu zápis replikace
  19. 19. Administrace a konfigurace ● nástroje (/opt/SUNWdsee/ds6/bin) – ldapsearch, ldapmodify – dsadm, dsconf, insync, entrycmp ... – webconsole (DSCC) ● datová instance (/var/opt/SUNWdsee/*) – db - data LDAP (formát BerkeleyDB) – config/dse.ldif - konfigurace instance – config/schema/* - schémata atributů a tříd – logs/access – logs/error – logs/audit – bak - zálohy (formát BerkeleyDB) – ldif - zálohy (formát LDIF) – confbak - zálohy konfigurace – instanční příkazy (start,stop,*2*) DS administrace
  20. 20. Více v kurzech DIR-2217 - Sun Java System Directory Server Enterprise Edition 6: Analysis and Planning DIR-3300* - Sun Java System Directory Server 5: Advanced Design and Deployment DIR-2340 - Sun Java System Directory Server Enterprise Edition 6: Maintenance and Operations DS kurzy
  21. 21. Web server
  22. 22. Web sevrer 7 ● řízení sady (cluster) serverů ● dynamický obsah ● Netscape Server API (NSAPI) ● CGI, fastCGI, Perl, PHP, ASP (proxy do JES ASP serveru) ● Java 5/6 (J2EE web container - presentation) ● Servlet API, JSP, JSTL, JSF, WSDL ● JNDI, JDBC connection pool, jiné zdroje, mail ● „session magers“ - replication, memory, file, iws60, mmap ● cash helper ● *.war deployment ● virtuální servery ● možnost omezení dotazů (QoS, DDoS) ● monitorování provozu ● reverzní proxy (load balancer) ● WebDAV ● hledací služba ● LDAP WS funkce
  23. 23. Funkční architektura WS rozšíření admin server w1.f.cz w2.f.cz systém 1 w1.f.cz systém 2 w1.f.cz systém 3 w2.f.cz wadm webconsole w2.f.cz konfigurace systém instance AN AN AN
  24. 24. Java web aplikace ● souborový strom *.war /static_directory - *.jsp, *.html ... /WEB_INF/classes - java classes /WEB_INF/lib - java *.jar /WEB_INF/*.tld - tag library descriptors /WEB_INF/web.xml – appl. specifications (Servlet Specification) ● parametry aplikačního kontextu ● definice servletů a JSP ● mapování URL na servlety a JSP ● mapování MIME ● chybové stránky ● bezpečnostní nastavení /WEB_INF/sun-web.xml ● bezpečnostní nastavení ● nastavení „session manager“ ● nastavení „cache“ ● classloader ● i18n WS rozšíření
  25. 25. Administrace a konfigurace WS administrace ● administrace – web konzole – příkazová řádka (/opt/SUNWwbsvr7/bin/) ● wadm, jspc, flexanlg ● skripty v TCL ● datová instance (/var/opt/SUNWwbsvr7/*) – config/server.xml - hlavní konfigurace – config/obj.conf - zpracování uri – config/magnus.conf - aktivace plugin – config/* - replik. z config-store – log/access – log/errors – bin/ - instanční příkazy – web-apps/, generated/, session/ - war – collections/ - hledací služba
  26. 26. konfigurace instance server.xml magnus.conf listen socket id IPAddr port SSLEnabled listen socket id IPAddr port SSLEnabled http-listener name ip port ssl ssl servercertnickname ssl2 ssl3 tls clientauth virtual-server name host http-listener document-root “obj.conf” “acl” 0..1 1..n WS administrace mime.types default.acl
  27. 27. obj.conf WS administrace ● řídí zpracování požadavku 1. AuthTras - popis případných autorizací 2. NameTrans - překlad virtuálních (URL) cest 3. PathCheck - kontrola platnosti cest a práv 4. ObjectType - nastavení typu objektu (MIME) 5. Input - předzpracování vstupu 6. Output - následné dopracování výstupů 7. Service - vytvoření výstupu 8. AddLog - vytvoření log záznamů 9. Error - případný popis chyby
  28. 28. obj.conf WS administrace <Object name=“default“> … NameTrans fn=… NameTrans fn=… name=“cgi“ PathCheck fn=… PathCheck fn=… ObjectType fn=… ObjectType fn=… Service fn=… Service fn=… … </Object> <Object name=“cgi“> ObjectType fn=… Service fn=… </Object>
  29. 29. Vývoj pro J2EE web container WS vývoj ● servlets ● JSP ● Java Architecture for XML Binding (JAXB) ● Java API for XML Messaging (JAXM) ● Java API for XML Processing (JAXP) ● Java API for XML Registries (JAXR) ● Java API for XML-based RPC (JAX-RPC) ● SOAP with Attachments API for Java (SAAJ) ● Web Services (WSDL) ● XML and Web Services Security ● XML Digital Signatures ● Java Server Faces (JSF) ● JavaServer Pages Standard Tag Library (JSTL) ● Sun Java Streaming XML Parser ● ...
  30. 30. Více v kurzech ECR-2307* - Sun Java System Web Server 6.1: Administration and Maintenance SL-314-EE5 - Web Component Development Wth Servlet and JSP Technologies DTJ-3109 - Developing Secure Web-Tier Applications DTW-3000 - Core JSF: JavaServer Faces in Action With Ajax DWS-4112-EE5 - Designing Java Web Services DWS-3111-EE5 - Creating Web Services Using Java Technology WS kurzy
  31. 31. Access manager
  32. 32. Access Manager 7 ● middleware (.war) pro řešení problému účtu ● autentizace (authentication, identity mgmt) – otevřený autentizační systém (JAAS), moduly – SSO (AM SSO, SAML, Liberty Aliance) – auto registrace ● autorizace (authorization, access) – řízení bezpečnostních politik (policy mgmt) ● audit – centrální logovací služba (logging service) ● data aplikací/služeb (service mgmt) – administrativní konzole (administration service) – možnost administrace vlastního konta (selfadmin) ● centrální data relací (session management) ● možnost delegované administrace, lokalizace AM funkce
  33. 33. Architektura AM access manager Sun LDAP identity management delegated administrator user management self management self registration access management policy authentication SSO/session logging service management registration configuration federation management liberty WS SAML admin GUI java/C SDK http LDAPv3 souborová db funkce MS AD client detection federated identity java/C XML SDK
  34. 34. Správa identit ● identita – organizace – kontejnery (organizační jednotky, uživatelé, skupiny...)uživatelé – role – skupiny – uživatelé AM identita
  35. 35. Projekt Liberty Alliace ● http://www.projectliberty.org ● fáze I. Federated Framework (ID-FF) ● implementuje SSO ● ochrana soukromí (opt-in) ● standardizované SSO ● global sign-out ● anonymity II. Web Services Framework (ID-WSF) ● definuje rámec pro vytvoření, objevení a používání služeb identit ● sdílení atributů na základě povolení III. Services Identity Specifications (ID-SIS) ● definuje interoperabilitu aplikací AM identita
  36. 36. atributy služby Správa služeb ● sada atributů které jako parametry využívá služba ● služba je definována popisným dokumentem xml ● atributy mohou být nastaveny v několika úrovních AM služba globálníorganizaceroleuživatel globální organizační dynamické uživatelské
  37. 37. Správa bezpečnostních politik ● autorizace – definice na úrovni organizace ● definice pravidel a vyhodnocení – typ politiky ● normální ● odkazová, delegace práv (referral) – obsah normální politiky ● název zdroje (objekty) (resource name) ● přístupová práva nebo akce (permission) ● subjekty (subjects) ● podmínky (conditions) AM politiky
  38. 38. Policy agent ● aplikace s využitím AM pro řízení přístupu – policy enforcement point (PEP) – chrání web a rozšiřuje dynamickou část – jako plugin pro řízení přístupu (ACL) pro většinu web serverů – plugin do J2EE aplikačních serverů (filter, mapování J2EE rolí) AM politiky web access manager enforced/nonenforced URL policyagent 2 1 3 redirect zpátky na data redirect na AM login policy
  39. 39. Administrace a konfigurace ● příkazy (/opt/SUNWam/) bin/ - amadmin, ampassword, amtune locale/ - l10n (.properties) samples/ - ukázky SDK i administrace web-src/ - sestavení AM aplikace (*.war) ● konfigurace (/etc/opt/SUNWam/) config/AMConfig.properties - konfigurace SDK config/xml - konfigurace pro základní služby config/serverconfig.xml - konfigurace serveru agents - konfigurace policy agenta ● data (/var/opt/SUNWam/) logs - centrální log debug - lokální debug AM administrace
  40. 40. Administrace dat ● úpravy všech dat ● přiřazení a zrušení přiřazení bezpečnostních politik ● vytvoření, odstranění a úpravy nastavení služeb na všech úrovních (globální, organizační, dynamické i uživatelské atributy služeb) ● vytvoření, odstranění a úpravy kontejnerů (organizačních jednotek, skupin a uživatelů) ● vytvoření, odstranění a úpravy federovaných autentizačních domén, poskytovatelů identit http://.../amserver/ amadmin -t requests.xml OrganizationRequests, SchemaRootNodeRequests, SchemaRequests, ServiceConfigurationRequests, ContainerRequests, PeopleContainerRequests, RoleRequests, GroupRequests, UserRequests, ListAccts, RealmRequests, IdentityRequests, DelegationRequests ldapmodify AM administrace
  41. 41. Administrace služeb amadmin -r/-s service.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ServicesConfiguration PUBLIC "=//iPlanet//Service Management Services (SMS) 1.0 DTD//EN" "jar://com/sun/identity/sm/sms.dtd"> <ServicesConfiguration> <Service name="A_Svc_Name" version="Svc_Version"> <Schema ... > <Global>... attribute definitions ...</Global> <Dynamic>... attribute definitions ...</Dynamic> <Policy>... attribute definitions ...</Policy> <Organization>... attribute definitions ...</Organization> <User>... attribute definitions ...</User> </Schema> </Service> </ServicesConfiguration> AM administrace
  42. 42. Modifikace a lokalizace ● modifikace a lokalizace GUI – systém dynamických adrsářů /opt/SUNWam/web-src/services/config/auth/* [realm|default][_locale]/[subrealm/][client/] .../realm_en/services/firma.cz/html/file .../realm_en/services/firma.cz/file ... .../realm/services/firma.cz/html/file .../realm/services/firma.cz/file .../realm/html/file .../realm/file ... .../default_en/services/firma.cz/html/file ... .../default/file ● lokalizace služeb /opt/SUNWam/locale/*[_locale].properties AM administrace
  43. 43. Vývoj pro access manager ● autentizační (client/server) ● Single-Sign-On (SSO) ● služby (data/definice služeb) ● vyhodnocení politiky přístupu (client/server) ● log služba ● password reset ● liberty aliance SSO, WebServices ● SAML AM vývoj
  44. 44. Více v kurzech AM-3480 - Access Manager 7.1: Configuration and Customization AM kurzy
  45. 45. Portal server
  46. 46. Portal server 7 ● portálová aplikace (*.war) ● základní funkce – agregace obsahu – konzistentní prezentace – individuální přizpůsobení obsahu – flexibilní rozšiřitelnost obsahu (.par) – integrace s access managerem ● SSO, služby, uživatelé – podpora různého přístupu ● iHTML, HDML, XHTML, cHTML, HTML, WML, VoiceXML – hledání ● implementace prezentovaného obsahu – vlastní provider/kanály, JSR168 a WSRP ● Secure Remote Access (SRA) – gateway, netlet, netfile, proxylet, rewriter PS funkce
  47. 47. Architektura portal server access manager content provider dektop servlet admin gui netmail search enginenetlet netfile sso adapter provider (container, leaf) content provider building block provider custom provider portlet WSRP display profile document rewriter subs- cription discus- sions template PS funkce wiki fileshare surveys rss event task
  48. 48. Distribuované nasazení SRA GWGWGW netlet proxynetlet proxy vpn imap, ftp.. portálhttps portál url scraper www policy agent rewriter proxy JSP XML/XSLT content prov. databases directory server access manager portlet WSRP provider http application server PS funkce
  49. 49. Display profile document PS DPD XML dokument display profile container channel leaf channel leaf channel leaf channel container channel container channel provider portlet provider provider provider
  50. 50. Použití DPD PS DPD ● popis – globální vlastnosti (properties) ● témata, nastavení ... – provider ● vazba na java třídy nebo portlet – kanál (channel) ● hierarchie kanálů ● parametry a vazba na provider/portet ● programově řízený slučovací mechanismus ● podmíněná data ● globální, organizace, role, uživatel <DisplayProfile> <Properties>...</Properties> <Channels>...</Channels> <Providers>...</Providers> </DisplayProfile>
  51. 51. Slučování DPD PS DPD <dp> <pr name=p/> <param name=u/> <ch name=o1/> <ch name=r1/> <ch name=r2/> </dp> <dp priority=“0“> <pr name=p/> </dp> [global] <dp priority=“10“> <ch name=o1/> <ch name=o2/> </dp> [org] <dp priority=“30“> <ch name=r1 merge=remove/> <ch name=r2/> </dp> [role] <dp priority=“20“> <ch name=r1 lock=true/> <ch name=o2 merge=remove/> </dp> [role] <dp priority=“user“> <param name=u/> </dp> [user]
  52. 52. Portlet / WSRP PS portlet ● portlet ● standardizováno JSR-168 ● vlastnosti servletu s generováním html fragmentu ● portlet container ● instalace pomocí *.war balíkem (s popisem portletu) / /WEB-INF/web.xml /WEB-INF/portlet.xml /WEB-INF/classes/*.class ● WSRP ● vzdálené portlety podle JSR-168 ● prezentačně orientovaná web služba (WSDL/ SOAP) ● WSRP producers/consumers
  53. 53. Rewriter ● přepisuje obsah stránek – vytváří netransparentní proxy – možnost přepisu cizích stránek – podpora html, ccs, částečně javascript, xml PS rewriter http://gw/http:/server/dir/page.html web server page.html: <a href=“other.html“>..</a> http:/server/dir/page.html page.html: <a href=“http://gw/http:/server/dir/other.html“>..</a> gw rewriter
  54. 54. Hledací služba ● „Netscape Compass Server“ ● robotické prohledávání webu ● podpora mnoha typů souborů ● klasifikace ● API pro RD ● Resouce Descriptors Messages ● Summary Object Interchange Format (SOIF) PS search
  55. 55. Administrace a konfigurace PS administrace ● příkazy (/opt/SUNWportal/) bin/ - psadmin, rdmgr, pstune locale/ - l10n (.properties) samples/ - ukázky web-src/, par_src/, portletapps/ - sestavení PS aplikace (*.war) http://.../portal/, http://.../psconsole/ ● konfigurace (/etc/opt/SUNWportal/) PSConfig.properties domains/*/PortalDomainConfig.properties ● data (/var/opt/SUNWportal/) logs/admin - logy administrace portálu ● instance portálu (/var/opt/SUNWportal/portals/*/) config/desktopconfig.properties - konfigurace desktopu logs - logy portálu desktop/* - dynamický adresář desktopu desktop/classes – aplikace desktopu ● instance srch (/var/opt/SUNWportal/searchservers/*/)
  56. 56. Modifikace a lokalizace ● dynamický adresář desktopu [desktoptype|default][_locale]/ [channenamel/|/provider][client/] desktoptype_locale/channelname/client/file desktoptype_locale/provider/client/file desktoptype_locale/channelname/file desktoptype_locale/provider/file desktoptype_locale/client/file desktoptype_locale/file desktoptype/channelname/clientPath/file … default_locale/channelname/clientPath/file … default/channelname/clientPath/file … default/file ● lokalizace služeb /opt/SUNWportal/locale/*[_locale].properties /var/opt/SUNWportal/portals/*/desktop/classes/ PS administrace
  57. 57. JSPTabContainer PS administrace
  58. 58. JSPTableContainer PS administrace
  59. 59. Vývoj pro portál server ● provider (leaf) – content provider – building block provider (BBP) ● URLScraperProvider ● XMLProvider ● JSPProvider – custom provider (PAPI) ● provider (conteiner) – building block provider – JSPTabContainer, JSPTableContainer, FrameTabContainer – custom provider ● portlet JSR-168 ● WSRP ● robot API PS vývoj
  60. 60. Více v kurzech PTL-2309* - Sun Java System Portal Server: Installation and Configuration PTL-4310* - Sun Java System Portal Server: Customization PS kurzy

×