KEMBAR78
Summer training java | PDF
What is J2EE?
Challenges          Key          Products
Portability       Technologies   App Servers
Diverse           J2SE™          Web Servers
Environments      J2EE™          Components
Time-to-market      JMS          Databases
Core Competence     Servlet      Object to DB
Assembly            JSP          tools
Integration
                    Connector
                  XML
                                     Legacy
                    Data            Systems
                    Binding
                                 Databases
                    XSLT
                                 TP Monitors
                                 EIS Systems
   Open and standard based platform for
     developing, deploying and managing
     n-tier, Web-enabled, server-centric, and component-
      based enterprise applications
Java Technology   Java Technology   Workgroup   High-End
Enabled Devices   Enabled Desktop    Server      Server
Java 2 Platform Micro Edition
                                    (J2METM)



 Optional
 Packages


               Optional
               Packages



                             Personal       Personal
 Java 2       Java 2        Basis Profile    Profile
Enterprise   Standard
 Edition      Edition          Foundation Profile            MIDP
 (J2EE)       (J2SE)
                                                                           Java
                                        CDC                 CLDC           Card
                                                                           APIs


                      JVM                                     KVM          CardVM


                                              * Under development in JCP
   Use "component and container" model in
    which container provides system services in a
    well-defined and as industry standard

   J2EE is that standard that also provides
    portability of code because it is based on Java
    technology and standard-based Java
    programming APIs
Why J2EE?
   Can use any J2EE implementation for
    development and deployment
       Use production-quality standard implementation which
        is free for development/deployment
       Use high-end commercial J2EE products for scalability
        and fault-tolerance

   Vast amount of J2EE community resources
       Many J2EE related books, articles, tutorials, quality code
        you can use, best practice guidelines, design patterns etc.

   Can use off-the-shelf 3rd-party business
    components
   Vendors work together on specifications and
    then compete in implementations
       In the areas of Scalability, Performance, Reliability,
        Availability, Management and development tools,
        and so on
   Freedom to innovate while maintaining the
    portability of applications
   Do not have create/maintain their own
    proprietary APIs
   Application portability
   Many implementation choices are possible
    based on various requirements
     Price (free to high-end), scalability (single CPU to
      clustered model), reliability, performance, tools, and
      more
     Best of breed of applications and platforms
   Large developer pool
J2EE APIs &
Technologies
   J2SE 1.4 (improved)       Servlet 2.4
   JAX-RPC (new)             JSP 2.0
   Web Service for J2EE      EJB 2.1
   J2EE Management           JAXR
   J2EE Deployment           Connector 1.5
   JMX 1.1                   JACC
   JMS 1.1                   JAXP 1.2
   JTA 1.0                   JavaMail 1.3
                              JAF 1.0
   JAX-WS 2.0 & JSR 181
   Java Persistence
   EJB 3.0
   JAXB 2.0
   JavaSever Faces 1.2 – new to Platform
   JSP 2.1 – Unification w/ JSF 1.2
   StAX – Pull Parser – new to Platform
   Java™ objects which extend the functionality of
    a HTTP server
   Dynamic contents generation
   Better alternative to CGI, NSAPI, ISAPI, etc.
     Efficient
     Platform and server independent
     Session management
     Java-based
Request CGI1
Request CGI1                       Child for CGI1
                                   Child for CGI1
Request CGI2
                     CGI
                     CGI
Request CGI2        Based          Child for CGI2
                     Based         Child for CGI2
                   Webserver
                   Webserver
Request CGI1
Request CGI1                       Child for CGI1
                                   Child for CGI1

Request Servlet1
Request Servlet1       Servlet Based Webserver
                       Servlet Based Webserver
Request Servlet2                       Servlet1
                                       Servlet1
Request Servlet2
                     JVM
                     JVM
Request Servlet1                       Servlet2
                                       Servlet2
   Enables separation of business logic from
    presentation
     Presentation is in the form of HTML or
      XML/XSLT
     Business logic is implemented as Java Beans or
      custom tags
     Better maintainability, reusability

   Extensible via custom tags
   Builds on Servlet technology
   A server-side component technology
   Easy development and deployment of Java
    technology-based application that are:
       Transactional, distributed, multi-tier, portable,
        scalable, secure, …
●   Leverages the benefits of component-model on
    the server side
●   Separates business logic from system code
     Container provides system services
●   Provides framework for portable components
     Over different J2EE-compliant servers
     Over different operational environments
●   Enables deployment-time configuration
     Deployment descriptor
Enterprise JavaBeans




     Synchronous communication           Asynchronous communication
   Session Bean        Entity Bean            Message-Driven Bean




Stateless   Stateful



             Bean managed      Container managed
              Persistence         Persistence
                (BMP)                (CMP)
   Messaging systems (MOM) provide
     De-coupled communication
     Asynchronous communication
     Plays a role of centralized post office
   Benefits of Messaging systems
       Flexible, Reliable, Scalable communication systems
   Point-to-Point, Publish and Subscribe
   JMS defines standard Java APIs to messaging
    systems
   Defines standard API for integrating J2EE
    technology with EIS systems
       CICS, SAP, PeopleSoft, etc.

   Before Connector architecture, each App server has
    to provide an proprietary adaptor for each EIS
    system
       m (# of App servers) x n (# of EIS's) Adaptors

   With Connector architecture, same adaptor works
    with all J2EE compliant containers
       1 (common to all App servers) x n (# of EIS's) Adaptors
m       n
 App      SAP
Server1
 App
          EIS
Server2    2

 App      EIS3
Server3
 App      EIS4
Server
   Pluggable authentication framework
       Userid/password
       Smartcard
       Kerberos
       Biometric


   Application portability regardless of
    authentication schemes underneath
       JAAS provides authentication scheme independent API
       Authentication schemes are specified Login configuration
        file, which will be read by JAAS
   Java Naming and Directory Interface

   Utilized by J2EE applications to locate
    resources and objects in portable fashion
     Applications use symbolic names to find object
      references to resources via JNDI
     The symbolic names and object references have to be
      configured by system administrator when the
      application is deployed.
   Provides standard Java programming API
    to relational database
       Uses SQL


   Vendors provide JDBC compliant driver
    which can be invoked via standard Java
    programming API
   Management applications should be able to
    discover and interpret the managed data of any
    J2EE platform
   Single management platform can manage
    multiple J2EE servers from different vendors
   Management protocol specifications ensure a
    uniform view by SNMP and WBEM
    management stations
   Leverages JMX
Tools                             J2EE Platforms
                     Standard
    IDEs          Deployment API
                (Universal Remote)


Vendor Deploy
    Tools




Management
   Tools
JMX API into              Dynamic Deployment
the J2EE 1.4 platform



       JMX


                                     JMX
                        App
    J2EE App Server


                                  JMX defacto

     A single technology for the J2EE platform
J2EE is an End-to-End
    Architecture
Web Tier   EJB Tier
J2EE
Component & Container
    Architecture
Applet Container                                    Web Container                                          EJB Container

         Applet                 HTTP/          JSP               Servlet
                                HTTPS                                                    RMI                       EJB

          J2SE




                                                                       RMI/IIOP




                                                                                                                              RMI/IIOP
                                                            JavaMail                                               JavaMail




                                                                                                                                         JDBC
                                                                                  JDBC
                                               JMS
                                        JNDI



                                                      JTA




                                                                                               JNDI

                                                                                                      JMS

                                                                                                             JTA
App Client Container
                                                              JAF                                                   JAF
           App                 HTTP/
          Client               HTTPS
                                                        J2SE

                                                        RMI
                  RMI/IIOP

                             JDBC
  JNDI
           JMS




           J2SE                                                                                              J2SE



                                                                                                            Database
Containers        Components
      Handle             Handle
   Concurrency       Presentation
   Security          Business Logic
   Availability
   Scalability
   Persistence
   Transaction
   Life-cycle
    management
   Management
   Containers do their work invisibly
    – No complicated APIs
    – They control by interposition
   Containers implement J2EE
    – Look the same to components
    – Vendors making the containers have great
      freedom to innovate
J2EE Application
  Anatomies
Web Server   EJB Server


                                         DB & EIS
                                        Resources



 Browser      Web Server   EJB Server



Stand-alone
●   4-tier J2EE applications
    – HTML client, JSP/Servlets, EJB, JDBC/Connector
●   3-tier J2EE applications
    – HTML client, JSP/Servlets, JDBC
●   3-tier J2EE applications
    – EJB standalone applications, EJB, JDBC/Connector
●   B2B Enterprise applications
    – J2EE platform to J2EE platform through the
      exchange of JMS or XML-based messages
●   Depends on several factors
     Requirements of applications
     Availability of EJB tier
     Availability of developer resource

Summer training java

  • 2.
  • 3.
    Challenges Key Products Portability Technologies App Servers Diverse J2SE™ Web Servers Environments J2EE™ Components Time-to-market JMS Databases Core Competence Servlet Object to DB Assembly JSP tools Integration Connector XML Legacy Data Systems Binding Databases XSLT TP Monitors EIS Systems
  • 4.
    Open and standard based platform for  developing, deploying and managing  n-tier, Web-enabled, server-centric, and component- based enterprise applications
  • 5.
    Java Technology Java Technology Workgroup High-End Enabled Devices Enabled Desktop Server Server
  • 6.
    Java 2 PlatformMicro Edition (J2METM) Optional Packages Optional Packages Personal Personal Java 2 Java 2 Basis Profile Profile Enterprise Standard Edition Edition Foundation Profile MIDP (J2EE) (J2SE) Java CDC CLDC Card APIs JVM KVM CardVM * Under development in JCP
  • 7.
    Use "component and container" model in which container provides system services in a well-defined and as industry standard  J2EE is that standard that also provides portability of code because it is based on Java technology and standard-based Java programming APIs
  • 8.
  • 9.
    Can use any J2EE implementation for development and deployment  Use production-quality standard implementation which is free for development/deployment  Use high-end commercial J2EE products for scalability and fault-tolerance  Vast amount of J2EE community resources  Many J2EE related books, articles, tutorials, quality code you can use, best practice guidelines, design patterns etc.  Can use off-the-shelf 3rd-party business components
  • 10.
    Vendors work together on specifications and then compete in implementations  In the areas of Scalability, Performance, Reliability, Availability, Management and development tools, and so on  Freedom to innovate while maintaining the portability of applications  Do not have create/maintain their own proprietary APIs
  • 11.
    Application portability  Many implementation choices are possible based on various requirements  Price (free to high-end), scalability (single CPU to clustered model), reliability, performance, tools, and more  Best of breed of applications and platforms  Large developer pool
  • 12.
  • 13.
    J2SE 1.4 (improved)  Servlet 2.4  JAX-RPC (new)  JSP 2.0  Web Service for J2EE  EJB 2.1  J2EE Management  JAXR  J2EE Deployment  Connector 1.5  JMX 1.1  JACC  JMS 1.1  JAXP 1.2  JTA 1.0  JavaMail 1.3  JAF 1.0
  • 14.
    JAX-WS 2.0 & JSR 181  Java Persistence  EJB 3.0  JAXB 2.0  JavaSever Faces 1.2 – new to Platform  JSP 2.1 – Unification w/ JSF 1.2  StAX – Pull Parser – new to Platform
  • 16.
    Java™ objects which extend the functionality of a HTTP server  Dynamic contents generation  Better alternative to CGI, NSAPI, ISAPI, etc.  Efficient  Platform and server independent  Session management  Java-based
  • 17.
    Request CGI1 Request CGI1 Child for CGI1 Child for CGI1 Request CGI2 CGI CGI Request CGI2 Based Child for CGI2 Based Child for CGI2 Webserver Webserver Request CGI1 Request CGI1 Child for CGI1 Child for CGI1 Request Servlet1 Request Servlet1 Servlet Based Webserver Servlet Based Webserver Request Servlet2 Servlet1 Servlet1 Request Servlet2 JVM JVM Request Servlet1 Servlet2 Servlet2
  • 18.
    Enables separation of business logic from presentation  Presentation is in the form of HTML or XML/XSLT  Business logic is implemented as Java Beans or custom tags  Better maintainability, reusability  Extensible via custom tags  Builds on Servlet technology
  • 20.
    A server-side component technology  Easy development and deployment of Java technology-based application that are:  Transactional, distributed, multi-tier, portable, scalable, secure, …
  • 21.
    Leverages the benefits of component-model on the server side ● Separates business logic from system code Container provides system services ● Provides framework for portable components Over different J2EE-compliant servers Over different operational environments ● Enables deployment-time configuration Deployment descriptor
  • 23.
    Enterprise JavaBeans Synchronous communication Asynchronous communication Session Bean Entity Bean Message-Driven Bean Stateless Stateful Bean managed Container managed Persistence Persistence (BMP) (CMP)
  • 25.
    Messaging systems (MOM) provide  De-coupled communication  Asynchronous communication  Plays a role of centralized post office  Benefits of Messaging systems  Flexible, Reliable, Scalable communication systems  Point-to-Point, Publish and Subscribe  JMS defines standard Java APIs to messaging systems
  • 27.
    Defines standard API for integrating J2EE technology with EIS systems  CICS, SAP, PeopleSoft, etc.  Before Connector architecture, each App server has to provide an proprietary adaptor for each EIS system  m (# of App servers) x n (# of EIS's) Adaptors  With Connector architecture, same adaptor works with all J2EE compliant containers  1 (common to all App servers) x n (# of EIS's) Adaptors
  • 28.
    m n App SAP Server1 App EIS Server2 2 App EIS3 Server3 App EIS4 Server
  • 30.
    Pluggable authentication framework  Userid/password  Smartcard  Kerberos  Biometric  Application portability regardless of authentication schemes underneath  JAAS provides authentication scheme independent API  Authentication schemes are specified Login configuration file, which will be read by JAAS
  • 33.
    Java Naming and Directory Interface  Utilized by J2EE applications to locate resources and objects in portable fashion  Applications use symbolic names to find object references to resources via JNDI  The symbolic names and object references have to be configured by system administrator when the application is deployed.
  • 34.
    Provides standard Java programming API to relational database  Uses SQL  Vendors provide JDBC compliant driver which can be invoked via standard Java programming API
  • 35.
    Management applications should be able to discover and interpret the managed data of any J2EE platform  Single management platform can manage multiple J2EE servers from different vendors  Management protocol specifications ensure a uniform view by SNMP and WBEM management stations  Leverages JMX
  • 36.
    Tools J2EE Platforms Standard IDEs Deployment API (Universal Remote) Vendor Deploy Tools Management Tools
  • 37.
    JMX API into Dynamic Deployment the J2EE 1.4 platform JMX JMX App J2EE App Server JMX defacto A single technology for the J2EE platform
  • 38.
    J2EE is anEnd-to-End Architecture
  • 39.
    Web Tier EJB Tier
  • 40.
  • 41.
    Applet Container Web Container EJB Container Applet HTTP/ JSP Servlet HTTPS RMI EJB J2SE RMI/IIOP RMI/IIOP JavaMail JavaMail JDBC JDBC JMS JNDI JTA JNDI JMS JTA App Client Container JAF JAF App HTTP/ Client HTTPS J2SE RMI RMI/IIOP JDBC JNDI JMS J2SE J2SE Database
  • 42.
    Containers Components Handle Handle  Concurrency  Presentation  Security  Business Logic  Availability  Scalability  Persistence  Transaction  Life-cycle management  Management
  • 43.
    Containers do their work invisibly – No complicated APIs – They control by interposition  Containers implement J2EE – Look the same to components – Vendors making the containers have great freedom to innovate
  • 44.
  • 45.
    Web Server EJB Server DB & EIS Resources Browser Web Server EJB Server Stand-alone
  • 46.
    4-tier J2EE applications – HTML client, JSP/Servlets, EJB, JDBC/Connector ● 3-tier J2EE applications – HTML client, JSP/Servlets, JDBC ● 3-tier J2EE applications – EJB standalone applications, EJB, JDBC/Connector ● B2B Enterprise applications – J2EE platform to J2EE platform through the exchange of JMS or XML-based messages
  • 47.
    Depends on several factors Requirements of applications Availability of EJB tier Availability of developer resource