SlideShare uma empresa Scribd logo
1 de 22
Building web
            applications with
            J2EE
            Papapetrou P. Patroklos

            Software Engineer / Team Leader at
            OTS SA ( www.ots.gr ) since 1997
            Part-time lecturer at City College (MSc)
            Opensource projects contributor

            ppapapetrou76@gmail.com
            http://twitter.com/ppapapetrou76

Computer Science Department
Overview



    J2EE Introduction

    J2EE Technologies

    J2EE Servers

    A working example

    Q&A Session


           Computer Science Department
J2EE Introduction


    What does J2EE stand for?

    What is its purpose?

 Why should I learn to develop Web
Applications using J2EE technologies?

    Pros / Cons

    Differences with other possible solutions

    Required skills

             Computer Science Department
A glance at J2EE
      architecture




Computer Science Department
A glance at J2EE
               architecture

  End-to-End Architecture

  N-tier Layers

  Components: handle
   – Business Logic
   – Presentation
   – Persistence

  Containers
   – Vendor-specfic Implementations
   – Strictly follow same rules
         Computer Science Department
A glance at J2EE
                  architecture

 Containers -> work invisible. Provide
services for :
    – Security
    – Transaction
    – Persistence
    – Concurrency
    – Availability
    – Life-cycle Management

            Computer Science Department
J2EE Development
                  Lifecycle

    Develop components for
     – Persistence (Entities)
     – Business Logic (EJBs)
     – Presentation (JSF, XHTML)

    Configure/Prepare deployment descriptors

 Build Compoments in packages (JARs, WARs,
EARs)

    Deploy packages on Container (J2EE Server)

            Computer Science Department
J2EE Development
                   life-cycle - Tools

 All target to facilitate building
documentation and management of (Java)
projects

    Plethora of choices
     – Maven : stands for Accumulator of
       Knowledge
     – Ant
     – Ivy
     – Gradle
             Computer Science Department
J2EE Technologies


    Java Persistence API (JPA)

    Enterprise Java Beans (EJB)

    eXtended Markup Language (XML)

    Java Server Faces (JSF)

    Java API for XML RPC (JAX-RPC)

 eXtensible HyperText Markup Language
(XHTML)

    Service Oriented Architecture (SOA)

            Computer Science Department
Other Related
                   Technologies

    Cascading Style Sheets (CSS)

    JavaScript & Jquery

    Ajax

    Dependency Injection Frameworks
     – Google Guice
     – Spring Source
     – Jboss Weld

    ... coming more...
             Computer Science Department
EJB Overview


    What is EJB?
    
        A platform for building portable, reusable,
        and scalable business applications using
        Java
    
        a piece of Java code that executes in a
        specialized runtime environment called the
        EJB container
    
        EJB is both a component and a framework


               Computer Science Department
EJB Overview (cont'd)


    EJB as a component
    
      Persistence
      
        Entity Beans
    
      Business Logic
      
        Session Beans
      
        Message-Driven Beans




            Computer Science Department
EJB Overview (cont'd)
EJB as a framework
 
   Out-of-the-box services
 
   Available to all components during
   execution via EJB Container
 
   Annotations : The magic wand
   
     Specify services, types and behavior
 
   Service Oriented Architecture
   
     Fast and easy Web Service Creation




         Computer Science Department
JSF Overview

What is Java Server Faces
 
     A component architecture
 
     A standard – extendable set of UI Widgets
 
     An application infastructure
Basic Characteristics
 
     Event oriented components
 
     Powerful architectures for different Uis
     (desktop browsers, mobile devices etc.)
 
     Flexible Navigation System
            Computer Science Department
JSF Overview (cont'd)

Basic Characteristics
 
     Syncronization with Java Objects through
     backing beans
 
     Internationaliztion
 
     Validators & Converters
 
     Several popular implementations
        • RichFaces
        • IceFaces
        • PrimeFaces
            Computer Science Department
XHTML Overview

Why XHTML instead of HTML?
 
     A more clean and standard way to write
     HTML
 
     Take advantages of all XML goodies
 
     Allows a larger percentage of browsers or
     code parsers to properly parse pages
 
     Use of Templates to facilitate page
     reusability and “inheritance”


            Computer Science Department
XHTML Overview

Differences with HTML
 
     XHTML elements must be properly nested
 
     XHTML elements must always be closed
 
     XHTML elements must be in lowercase
 
     XHTML documents must have one root
     element
 
     Documents can be validated much easier



           Computer Science Department
XHTML Overview

Differences with HTML
 
     Documents can be transformed via tools
     like XSLT into other documents for
     consumption by devices like handhelds
 
     Fragments of documents can be retrieved
     faster
 
     Text can be stored more effieciently in
     object oriented databases


            Computer Science Department
J2EE Servers

Servers supporting J2EE
 
     Oracle/Sun's Glassfish (
     http://glassfish.java.net)
 
     Apache's Jeronimo (
     http://geronimo.apache.org)
 
     RedHat's Jboss (http://www.jboss.org )
 
     IBM's Webshpere
 
     Oracle's WebLogic
 
     Caucho's Resin (http://www.caucho.com)
             Computer Science Department
J2EE Servers

not for EJBs...
 
     Tomcat
 
     Jetty
not for J2EE...
 
     IIS
 
     Apache HTTP
Can you figure out why??



             Computer Science Department
A working example

MyBlog Application
 
     MySQL as database layer
 
     Entities for persistence layer
 
     Session Beans for business logic layer
 
     XHTML pages for presentation layer
        • JSF2 Framework
        • Extended by PrimeFaces



            Computer Science Department
Q&A Session



        Thank you


Time for answers!!



Computer Science Department

Mais conteúdo relacionado

Mais procurados

Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
guest11106b
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
洪 鹏发
 

Mais procurados (20)

Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
Java Server Pages(jsp)
Java Server Pages(jsp)Java Server Pages(jsp)
Java Server Pages(jsp)
 
Java I/O
Java I/OJava I/O
Java I/O
 
Introduction to spring boot
Introduction to spring bootIntroduction to spring boot
Introduction to spring boot
 
WEB DEVELOPMENT USING REACT JS
 WEB DEVELOPMENT USING REACT JS WEB DEVELOPMENT USING REACT JS
WEB DEVELOPMENT USING REACT JS
 
Hibernate Presentation
Hibernate  PresentationHibernate  Presentation
Hibernate Presentation
 
Introduction Node.js
Introduction Node.jsIntroduction Node.js
Introduction Node.js
 
[Final] ReactJS presentation
[Final] ReactJS presentation[Final] ReactJS presentation
[Final] ReactJS presentation
 
Hibernate ppt
Hibernate pptHibernate ppt
Hibernate ppt
 
Basics of JavaScript
Basics of JavaScriptBasics of JavaScript
Basics of JavaScript
 
What Is Express JS?
What Is Express JS?What Is Express JS?
What Is Express JS?
 
Layouts in android
Layouts in androidLayouts in android
Layouts in android
 
enterprise java bean
enterprise java beanenterprise java bean
enterprise java bean
 
JPA and Hibernate
JPA and HibernateJPA and Hibernate
JPA and Hibernate
 
Introduction to Javascript
Introduction to JavascriptIntroduction to Javascript
Introduction to Javascript
 
Advance Java Topics (J2EE)
Advance Java Topics (J2EE)Advance Java Topics (J2EE)
Advance Java Topics (J2EE)
 
Spring Boot & Actuators
Spring Boot & ActuatorsSpring Boot & Actuators
Spring Boot & Actuators
 
JavaScript - Chapter 11 - Events
 JavaScript - Chapter 11 - Events  JavaScript - Chapter 11 - Events
JavaScript - Chapter 11 - Events
 
Express node js
Express node jsExpress node js
Express node js
 

Semelhante a J2EE Introduction

Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
Ranjan Kumar
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruiters
ph7 -
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
bputhal
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
Stefane Fermigier
 
Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead
Nitesh Dasari
 

Semelhante a J2EE Introduction (20)

J2EE day 1
J2EE day 1J2EE day 1
J2EE day 1
 
Introduction to java ee
Introduction to java eeIntroduction to java ee
Introduction to java ee
 
Java for Recruiters
Java for RecruitersJava for Recruiters
Java for Recruiters
 
J2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for womenJ2EE PPT --CINTHIYA.M Krishnammal college for women
J2EE PPT --CINTHIYA.M Krishnammal college for women
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
J2ee connector architecture
J2ee connector architectureJ2ee connector architecture
J2ee connector architecture
 
Presenter manual J2EE (specially for summer interns)
Presenter manual  J2EE (specially for summer interns)Presenter manual  J2EE (specially for summer interns)
Presenter manual J2EE (specially for summer interns)
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
 
Summer training java
Summer training javaSummer training java
Summer training java
 
What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009What's new in Nuxeo 5.2? - Solutions Linux 2009
What's new in Nuxeo 5.2? - Solutions Linux 2009
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Intorduction to struts
Intorduction to strutsIntorduction to struts
Intorduction to struts
 
soa1.ppt
soa1.pptsoa1.ppt
soa1.ppt
 
Summer training java
Summer training javaSummer training java
Summer training java
 
Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead Nitesh_Sr._Java_developer_Lead
Nitesh_Sr._Java_developer_Lead
 
Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.Introduction Java Web Framework and Web Server.
Introduction Java Web Framework and Web Server.
 
Jboss
JbossJboss
Jboss
 
Project report for final year project
Project report for final year projectProject report for final year project
Project report for final year project
 
J2EE Batch Processing
J2EE Batch ProcessingJ2EE Batch Processing
J2EE Batch Processing
 

Mais de Patroklos Papapetrou (Pat)

Mais de Patroklos Papapetrou (Pat) (9)

Voxxed Days Thessaloniki 2016 - JDK 9 : Big Changes To Make Java Smaller
Voxxed Days Thessaloniki 2016 - JDK 9 : Big Changes To Make Java Smaller Voxxed Days Thessaloniki 2016 - JDK 9 : Big Changes To Make Java Smaller
Voxxed Days Thessaloniki 2016 - JDK 9 : Big Changes To Make Java Smaller
 
The Art of Software Gardening
The Art of Software GardeningThe Art of Software Gardening
The Art of Software Gardening
 
Boost your development speed - ITAKE Unconference
Boost your development speed - ITAKE UnconferenceBoost your development speed - ITAKE Unconference
Boost your development speed - ITAKE Unconference
 
ITAKE Unconference - Holding down your technical debt with Sonarqube
ITAKE Unconference - Holding down your technical debt with SonarqubeITAKE Unconference - Holding down your technical debt with Sonarqube
ITAKE Unconference - Holding down your technical debt with Sonarqube
 
Thessaloniki rb-24
Thessaloniki rb-24Thessaloniki rb-24
Thessaloniki rb-24
 
Tracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQubeTracking and improving software quality with SonarQube
Tracking and improving software quality with SonarQube
 
Continous integration with jenkins
Continous integration with jenkinsContinous integration with jenkins
Continous integration with jenkins
 
Sonar platform
Sonar platformSonar platform
Sonar platform
 
Thessaloniki through history with images
Thessaloniki through history with imagesThessaloniki through history with images
Thessaloniki through history with images
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

J2EE Introduction

  • 1. Building web applications with J2EE Papapetrou P. Patroklos Software Engineer / Team Leader at OTS SA ( www.ots.gr ) since 1997 Part-time lecturer at City College (MSc) Opensource projects contributor ppapapetrou76@gmail.com http://twitter.com/ppapapetrou76 Computer Science Department
  • 2. Overview  J2EE Introduction  J2EE Technologies  J2EE Servers  A working example  Q&A Session Computer Science Department
  • 3. J2EE Introduction  What does J2EE stand for?  What is its purpose?  Why should I learn to develop Web Applications using J2EE technologies?  Pros / Cons  Differences with other possible solutions  Required skills Computer Science Department
  • 4. A glance at J2EE architecture Computer Science Department
  • 5. A glance at J2EE architecture  End-to-End Architecture  N-tier Layers  Components: handle – Business Logic – Presentation – Persistence  Containers – Vendor-specfic Implementations – Strictly follow same rules Computer Science Department
  • 6. A glance at J2EE architecture  Containers -> work invisible. Provide services for : – Security – Transaction – Persistence – Concurrency – Availability – Life-cycle Management Computer Science Department
  • 7. J2EE Development Lifecycle  Develop components for – Persistence (Entities) – Business Logic (EJBs) – Presentation (JSF, XHTML)  Configure/Prepare deployment descriptors  Build Compoments in packages (JARs, WARs, EARs)  Deploy packages on Container (J2EE Server) Computer Science Department
  • 8. J2EE Development life-cycle - Tools  All target to facilitate building documentation and management of (Java) projects  Plethora of choices – Maven : stands for Accumulator of Knowledge – Ant – Ivy – Gradle Computer Science Department
  • 9. J2EE Technologies  Java Persistence API (JPA)  Enterprise Java Beans (EJB)  eXtended Markup Language (XML)  Java Server Faces (JSF)  Java API for XML RPC (JAX-RPC)  eXtensible HyperText Markup Language (XHTML)  Service Oriented Architecture (SOA) Computer Science Department
  • 10. Other Related Technologies  Cascading Style Sheets (CSS)  JavaScript & Jquery  Ajax  Dependency Injection Frameworks – Google Guice – Spring Source – Jboss Weld  ... coming more... Computer Science Department
  • 11. EJB Overview  What is EJB?  A platform for building portable, reusable, and scalable business applications using Java  a piece of Java code that executes in a specialized runtime environment called the EJB container  EJB is both a component and a framework Computer Science Department
  • 12. EJB Overview (cont'd)  EJB as a component  Persistence  Entity Beans  Business Logic  Session Beans  Message-Driven Beans Computer Science Department
  • 13. EJB Overview (cont'd) EJB as a framework  Out-of-the-box services  Available to all components during execution via EJB Container  Annotations : The magic wand  Specify services, types and behavior  Service Oriented Architecture  Fast and easy Web Service Creation Computer Science Department
  • 14. JSF Overview What is Java Server Faces  A component architecture  A standard – extendable set of UI Widgets  An application infastructure Basic Characteristics  Event oriented components  Powerful architectures for different Uis (desktop browsers, mobile devices etc.)  Flexible Navigation System Computer Science Department
  • 15. JSF Overview (cont'd) Basic Characteristics  Syncronization with Java Objects through backing beans  Internationaliztion  Validators & Converters  Several popular implementations • RichFaces • IceFaces • PrimeFaces Computer Science Department
  • 16. XHTML Overview Why XHTML instead of HTML?  A more clean and standard way to write HTML  Take advantages of all XML goodies  Allows a larger percentage of browsers or code parsers to properly parse pages  Use of Templates to facilitate page reusability and “inheritance” Computer Science Department
  • 17. XHTML Overview Differences with HTML  XHTML elements must be properly nested  XHTML elements must always be closed  XHTML elements must be in lowercase  XHTML documents must have one root element  Documents can be validated much easier Computer Science Department
  • 18. XHTML Overview Differences with HTML  Documents can be transformed via tools like XSLT into other documents for consumption by devices like handhelds  Fragments of documents can be retrieved faster  Text can be stored more effieciently in object oriented databases Computer Science Department
  • 19. J2EE Servers Servers supporting J2EE  Oracle/Sun's Glassfish ( http://glassfish.java.net)  Apache's Jeronimo ( http://geronimo.apache.org)  RedHat's Jboss (http://www.jboss.org )  IBM's Webshpere  Oracle's WebLogic  Caucho's Resin (http://www.caucho.com) Computer Science Department
  • 20. J2EE Servers not for EJBs...  Tomcat  Jetty not for J2EE...  IIS  Apache HTTP Can you figure out why?? Computer Science Department
  • 21. A working example MyBlog Application  MySQL as database layer  Entities for persistence layer  Session Beans for business logic layer  XHTML pages for presentation layer • JSF2 Framework • Extended by PrimeFaces Computer Science Department
  • 22. Q&A Session Thank you Time for answers!! Computer Science Department