{"id":3219,"date":"2012-06-22T08:47:38","date_gmt":"2012-06-22T13:47:38","guid":{"rendered":"http:\/\/jianmingli.com\/wp\/?p=3219"},"modified":"2012-08-25T20:51:28","modified_gmt":"2012-08-26T01:51:28","slug":"z1-102-defining-java-enterprise-edition-terminology-and-architecture","status":"publish","type":"post","link":"https:\/\/jianmingli.com\/wp\/?p=3219","title":{"rendered":"Defining Java Enterprise Edition Terminology and Architecture"},"content":{"rendered":"<p>This is part of <a href=\"?p=3166\">1Z1-102: Oracle Weblogic Server 11g: System Administration I<\/a><\/p>\n<p><< <a href=\"?p=3194\">Previous<\/a><\/p>\n<span id=\"Describe_the_Technologies_in_Java_Enterprise_Edition_JEE\"><h2>Describe the <a href=\"http:\/\/www.oracle.com\/technetwork\/java\/javaee\/tech\/index.html\">Technologies in Java Enterprise Edition (JEE)<\/a><\/h2><\/span>\n<span id=\"Distributed_Systems\"><h3>Distributed Systems<\/h3><\/span>\n<p>* Distributed systems divide the work among multiple independent modules<br \/>\n* Failure of a single system does not bring down the whole system<br \/>\n* Distributed systems are more<br \/>\n&#8211; Available<br \/>\n&#8211; Scalable<br \/>\n&#8211; Maintainable<\/p>\n<span id=\"J2EE_Architecture\"><h3>J2EE Architecture<\/h3><\/span>\n<span id=\"\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_components.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_components-300x177.jpg\" alt=\"\" title=\"wlsadmin_jee_arch_components\" width=\"300\" height=\"177\" class=\"aligncenter size-medium wp-image-5086\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_components-300x177.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_components.jpg 697w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Web_Application_Technologies\"><h3>Web Application Technologies<\/h3><\/span>\n<p>* Servlet<br \/>\n* JSP<br \/>\n* JSTL<br \/>\n* JSF<br \/>\n* Debugging Support for Other Languages<\/p>\n<span id=\"Web_Services_Technologies\"><h3>Web Services Technologies<\/h3><\/span>\n<p>* JAX-RPC<br \/>\n* JAX-WS<br \/>\n* JAX-RS<br \/>\n* JAXB<br \/>\n* Implementing Enterprise Web Services<br \/>\n* Web Services metadata for the Java Platform<br \/>\n* JAX-Messaging<br \/>\n* JAX-R (Registry)<\/p>\n<span id=\"Enterprise_Application_Technologies\"><h3>Enterprise Application Technologies<\/h3><\/span>\n<p>* Contexts and Dependency Injection for Java (CDI, Web Beans)<br \/>\n* DI for Java<br \/>\n* Bean Validation<br \/>\n* EJB<br \/>\n* JCA<br \/>\n* Java Persistence (JPA)<br \/>\n* Common Annotations for the Java Platform<br \/>\n* JMS<br \/>\n* JTA<br \/>\n* JavaMail<br \/>\n* JNDI<\/p>\n<span id=\"Management_and_Security_Technologies\"><h3>Management and Security Technologies<\/h3><\/span>\n<p>* Java Authentication Service Provider Interface for Containers<br \/>\n* Java Authorization Contract for Containers<br \/>\n* Java EE Application Deployment<br \/>\n* J2EE Management<\/p>\n<span id=\"Java_EE_Related_Specs_in_Java_SE\"><h3>Java EE Related Specs in Java SE<\/h3><\/span>\n<p>* JAXP<br \/>\n* JDBC<br \/>\n* JMX<br \/>\n* JAF<br \/>\n* StAX<\/p>\n<span id=\"EJB\"><h3>EJB<\/h3><\/span>\n<p>* Distributed components written in Java<br \/>\n* Have well defined interface<\/p>\n<span id=\"JDBC\"><h3>JDBC<\/h3><\/span>\n<p>* Standard Java interface for accessing heterogeneous databases<\/p>\n<span id=\"JNDI\"><h3>JNDI<\/h3><\/span>\n<p>* Java API for accessing naming and directory services<br \/>\n* Built as a layer over DNS, LDAP, and so on<br \/>\n* Used to lookup JEE objects: EJB home stubs, JDBC data source, JMS connection factories and destinations, RMI stubs<\/p>\n<span id=\"JTA\"><h3>JTA<\/h3><\/span>\n<p>* Java API for demarcating transactions within a program<\/p>\n<span id=\"_1\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jta.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jta-300x101.jpg\" alt=\"\" title=\"wlsadmin_jee_arch_jta\" width=\"300\" height=\"101\" class=\"aligncenter size-medium wp-image-5087\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jta-300x101.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jta.jpg 495w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"JMS\"><h3>JMS<\/h3><\/span>\n<p>* Java API for accessing message oriented middleware (MOM)<br \/>\n* Supports<br \/>\n&#8211; point-to-point<br \/>\n&#8211; publish-subscribe<br \/>\n&#8211; guaranteed message delivery<br \/>\n&#8211; transaction participation<br \/>\n&#8211; dynamically configurable services<br \/>\n&#8211; application or system scoped services<br \/>\n&#8211; interop with other messaging systems<\/p>\n<span id=\"JAAS\"><h3>JAAS<\/h3><\/span>\n<p>* Java based security management framework<br \/>\n* Support<br \/>\n&#8211; SSO (single sign on)<br \/>\n&#8211; PAM (pluggable authentication module)<br \/>\n* Enables flexible control over authorization based on<br \/>\n&#8211; users<br \/>\n&#8211; groups<br \/>\n&#8211; roles<\/p>\n<span id=\"JMX_Java_Management_Extension\"><h3>JMX (Java Management Extension)<\/h3><\/span>\n<p>* Defines a standard infrastructure to manage a device from Java programs<br \/>\n* Decouples managed service from management tools (much like JDBC decouple data service from RDBMS)<br \/>\n* Based on MBeans which are building blocks of JMX<\/p>\n<span id=\"JCA_Java_Connector_Architecture\"><h3>JCA (Java Connector Architecture)<\/h3><\/span>\n<p>* JCA connects EIS with JEE container through resource adapters<br \/>\n* Resource adapters can be deployed in a RAR (resource adapter archive)<\/p>\n<span id=\"_2\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jca.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jca-300x106.jpg\" alt=\"\" title=\"wlsadmin_jee_arch_jca\" width=\"300\" height=\"106\" class=\"aligncenter size-medium wp-image-5088\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jca-300x106.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_jca.jpg 693w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<span id=\"Client_Application\"><h3>Client Application<\/h3><\/span>\n<p>* Client application interacts with WLS through:<br \/>\n&#8211; JRMP\/T3: RMI implementation<br \/>\n&#8211; IIOP:<br \/>\n&#8211; jCOM: allows bidirectional access between Java\/J2EE objects and Microsoft Active X components<br \/>\n* Client types:<br \/>\n&#8211; Stand-alone Java applications<br \/>\n&#8211; Applets within a browser<\/p>\n<span id=\"Web_Client\"><h3>Web Client<\/h3><\/span>\n<p>* A web client interacts with WLS via HTTP using servlets or JSP<br \/>\n* Two types of web clients:<br \/>\n&#8211; Web browser<br \/>\n&#8211; Web services<\/p>\n<span id=\"Proxy_Server\"><h3>Proxy Server<\/h3><\/span>\n<p>* Forward requests to other machines<br \/>\n* Can be used as a level of indirection and security (decouples client from actual servers)<br \/>\n* Can be used to load balance a system<br \/>\n* A reverse proxy is a web page cache<\/p>\n<span id=\"Web_Server\"><h3>Web Server<\/h3><\/span>\n<p>* Provides web content<br \/>\n* Communicate via HTTP, FTP, etc.<br \/>\n* Can also handle CGI requests<br \/>\n* Also can proxy some requests to app servers<\/p>\n<span id=\"Fire_Walls\"><h3>Fire Walls<\/h3><\/span>\n<p>* Provides filtering, authentication, authorization services<br \/>\n* Help keep out hackers<br \/>\n* Map port requests<br \/>\n* Also can act as proxy servers<br \/>\n* Can decrease back-end network activity<\/p>\n<span id=\"App_Servers\"><h3>App Servers<\/h3><\/span>\n<p>* Provide run time engine for deployed applications<br \/>\n* Handles heavier processing chores than web servers<\/p>\n<span id=\"Web_Application_Server_Configuration\"><h3>Web Application Server Configuration<\/h3><\/span>\n<span id=\"_3\"><h6><a href=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_appsvr_config.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_appsvr_config-300x194.jpg\" alt=\"\" title=\"wlsadmin_jee_arch_appsvr_config\" width=\"300\" height=\"194\" class=\"aligncenter size-medium wp-image-5089\" srcset=\"https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_appsvr_config-300x194.jpg 300w, https:\/\/jianmingli.com\/wp\/wp-content\/uploads\/2012\/06\/wlsadmin_jee_arch_appsvr_config.jpg 691w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/h6><\/span>\n<p>Next >> <a href=\"?p=3224\">Installing Oracle WebLogic Server 11g<\/a><\/p>\n<p>[mv_include id=&#8217;3268&#8242;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is part of 1Z1-102: Oracle Weblogic Server 11g: System Administration I > Installing Oracle WebLogic Server 11g [mv_include id=&#8217;3268&#8242;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[107,104],"tags":[],"class_list":["post-3219","post","type-post","status-publish","format-standard","hentry","category-certification","category-weblogic11g"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8cRUO-PV","_links":{"self":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3219","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3219"}],"version-history":[{"count":17,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3219\/revisions"}],"predecessor-version":[{"id":5694,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=\/wp\/v2\/posts\/3219\/revisions\/5694"}],"wp:attachment":[{"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3219"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3219"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jianmingli.com\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3219"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}