JEE Course - JEE  Overview
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

JEE Course - JEE Overview

on

  • 4,792 views

Slides I prepared for a JEE course I lectured - this is the first chapter - JEE Overview

Slides I prepared for a JEE course I lectured - this is the first chapter - JEE Overview

Statistics

Views

Total Views
4,792
Views on SlideShare
4,790
Embed Views
2

Actions

Likes
0
Downloads
108
Comments
0

1 Embed 2

http://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

JEE Course - JEE Overview Presentation Transcript

  • 1. JEE Overview Copyright © Oded Nissan 2009
  • 2.
    • What is JEE ?
    • The JEE Architecture
    • Overview of JEE technologies
    • JEE Application Servers
    • The JEE Development Environment
    • Exercise
    • Summary
    JEE Overview Copyright © Oded Nissan 2009
  • 3.
    • A set of technologies for developing enterprise applications in Java
    • Specified by Sun and the Java Community Process (JCP).
    • Implemented by JEE vendors.
    • Implementations of JEE technologies are provided within Application Servers.
    • Previously named J2EE (until version 1.4) current version is JEE 5.
    What is JEE ? Copyright © Oded Nissan 2009
  • 4.
    • The Java Platform
    What is JEE ? Copyright © Oded Nissan 2009 High-End Server Java Technology Enabled Desktop Workgroup Server Java Technology Enabled Devices
  • 5. The Java Platform Copyright © Oded Nissan 2009 Optional Packages Java Enterprise Edition (JEE) JVM Java Card APIs CardVM Optional Packages Personal Basis Profile Personal Profile Foundation Profile CDC MIDP CLDC KVM * Under development in JCP Java Standard Edition (JavaSE) Java Platform Micro Edition (JavaME TM )
  • 6.
    • Distribution
    • Transactions
    • Security
    • Scalability
    • Persistence
    Why do we need JEE ? Copyright © Oded Nissan 2009
  • 7.
    • Can use any JEE implementation for development and deployment
      • Use production-quality standard implementation which is free for development/deployment
      • Use high-end commercial JEE products for scalability and fault-tolerance
    • Vast amount of JEE community resources
      • Many JEE related books, articles, tutorials, quality code you can use, best practice guidelines, design patterns etc.
    • Can use off-the-shelf 3rd-party business components
    Value to developers. Copyright © Oded Nissan 2009
  • 8.
    • 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
    Value to vendors Copyright © Oded Nissan 2009
  • 9.
    • Component provider
      • Bean provider
    • Application assembler
    • Deployer
    • Platform provider
      • Container provider
    • Tools provider
    • System administrator
    JEE Development Roles Copyright © Oded Nissan 2009
  • 10. The JEE Life Cycle Copyright © Oded Nissan 2009 Creation Assembly Deployment Created by Component Developer Assembled and Augmented by Application Assembler Processed by Deployer Deploy Enterprise Components JEE Container JEE APP JEE Modules
  • 11. The JEE Architecture Copyright © Oded Nissan 2009
  • 12.
    • N-tier architecture
    • Comprised of technologies for the business tier the presentation tier and other system services.
    • Runs within the application server and within specific containers (web container, EJB container) within the Application server.
    The JEE Architecture Copyright © Oded Nissan 2009
  • 13.
    • Uses the "component and container" model in which container provides system services in a well-defined and as industry standard
    • JEE is a standard that also provides portability of code because it is based on Java technology and standard-based Java programming APIs
    The JEE Architecture Copyright © Oded Nissan 2009
  • 14.
    • Single Tier – a simple desktop application.
    • Two Tier – A thin or a fat client and a server.
    • Three Tier – A presentation tier a business tier and a Data tier.
    About N-Tier Architecture Copyright © Oded Nissan 2009
  • 15. Three-Tier architecture Copyright © Oded Nissan 2009
  • 16. JEE Tier Architecture Copyright © Oded Nissan 2009
  • 17. JEE Technologies Copyright © Oded Nissan 2009
  • 18.
    • Web services technologies
      • JAX-WS 2.0
      • JAXR
      • JAXB 2.0
      • Others…
      • These technologies enable the implementation of web services in the JEE framework.
    JEE 5 Technologies Copyright © Oded Nissan 2009
  • 19.
    • Presentation tier technologies
      • Servlets 2.5
      • Java Server Pages (JSP) 2.1
      • Java Standard Tag Library
      • Java Server Faces (JSF) 1.2
      • These technologies enable the implementation of a presentation tier in the JEE framework.
    JEE 5 Technologies Copyright © Oded Nissan 2009
  • 20.
    • Enterprise Application Technologies
      • Enterprise Java Beans (EJB) 3.0
      • Java Persistence API (JPA) 1.0
      • Java Connector Architecture (JCA) 1.5
      • Java Messaging Services (JMS) 1.1
      • Java Transaction API (JTA) 1.1
      • These technologies enable the implementation of the business tier in the JEE framework.
    JEE 5 Technologies Copyright © Oded Nissan 2009
  • 21.
    • What is a Web Service ?
      • A web service is a software system identified by a URI, whose public interfaces and bindings are defined and described using XML. Its definition can be discovered by other software systems. These systems may then interact with the Web service in a manner prescribed by its definition, using XML-based messages conveyed by Internet protocols.
    Web Services Copyright © Oded Nissan 2009
  • 22.
    • Provide a way to connect heterogonous systems in a Language neutral, platform neutral manner.
    • Use the HTTP protocol to pass messages in the SOAP protocol.
    • Described by a Web Services Description language (WSDL) document.
    • Vendors provide tools to generate web service clients from a WSDL.
    • Web services can be registered and looked up in a UDDI directory.
    Web Services Copyright © Oded Nissan 2009
  • 23. Web Services Architecture Copyright © Oded Nissan 2009
  • 24.
    • Web services are a platform neutral standard, JEE provides its own platform implementation.
    • JEE provide tools for exposing JEE components such as EJBs as web services.
    • JEE also provides tools for generating web service clients from existing WSDL documents and an API for accessing the services.
    Web Services in JEE Copyright © Oded Nissan 2009
  • 25.
    • What is EJB ?
      • EJB is a standard JEE technology developed by Sun and the Java community
      • A component architecture for building distributed applications.
      • A server side technology.
      • Usually used to implement the application’s business logic.
    Enterprise Java Beans (EJB) Copyright © Oded Nissan 2009
  • 26.
    • Distributed components
    • Transaction management support
    • Security
    • Scalability and fail-over
    • Asynchronous
    • Persistence – object relational mapping.
    Benefits of EJB Copyright © Oded Nissan 2009
  • 27.
    • Stateless Session beans
    • Stateful Session beans
    • Message driven beans – asynchronous, based on JMS.
    • Entities – Java Persistence architecture (JPA). Object-relational mapping.
    EJB Types Copyright © Oded Nissan 2009
  • 28. EJB Example Copyright © Oded Nissan 2009
  • 29.
    • 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
    Java Messaging Services (JMS) Copyright © Oded Nissan 2009
  • 30.
    • 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 JEE compliant containers
      • 1 (common to all App servers) x n (# of EIS's) Adaptors
    Java Connector Architecture (JCA) Copyright © Oded Nissan 2009
  • 31.
    • 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
    Servlets Copyright © Oded Nissan 2009
  • 32. Servlet Example Copyright © Oded Nissan 2009 A Servlet receives an HTTP request performs an action and generate output,
  • 33.
    • 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 (JSP is compiled into a Servlet).
    Java Server Pages (JSP) Copyright © Oded Nissan 2009
  • 34.
    • <%@ page import=&quot;java.util.*&quot; %>
    • <HTML>
    • <BODY>
    • <%     System.out.println( &quot;Evaluating date now&quot; );
    •     Date date = new Date(); %>
    • Hello!  The time is now <%= date %>
    • </BODY>
    • </HTML>
    JSP Example Copyright © Oded Nissan 2009
  • 35.
    • JavaServer Faces technology is a server-side user interface component framework for Java technology-based web applications.
    • Implemented on top of the Servlet and JSP technologies.
    • Makes use of JSP tag libraries.
    • Provides an MVC based web framework.
    Java Server Faces (JSF) Copyright © Oded Nissan 2009
  • 36. Java Server Faces (JSF) Copyright © Oded Nissan 2009
  • 37.
    • JTA (Java Transaction API)
    • JAAS (part of JavaSE)
    • JNDI (part of JavaSE)
    • JMX (part of JavaSE)
    Other Relevant Technologies Copyright © Oded Nissan 2009
  • 38.
    • The Java™ Transaction API (JTA) allows applications to perform distributed transactions, that is, transactions that access and update data on two or more networked computer resources.
    • The JTA specifies standard Java interfaces between a transaction manager and the parties involved in a distributed transaction system: the application, the application server, and the resource manager that controls access to the shared resources affected by the transactions.
    Java Transaction API Copyright © Oded Nissan 2009
  • 39.
    • A JTA transaction is controlled by the Java EE transaction manager.
    • JEE support declarative transactions, called Container Managed Transactions.
    • The JTA API can also be used directly by the developer.
    • JTA supports XA transactions.
    Java Transaction API (JTA) Copyright © Oded Nissan 2009
  • 40.
    • 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 Authentication and Authorizations Service (JAAS) Copyright © Oded Nissan 2009
  • 41. JAAS Pluggable Authentication Copyright © Oded Nissan 2009
  • 42.
    • 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.
    JNDI Copyright © Oded Nissan 2009
  • 43.
    • JMX technology provides a simple, standard way of managing resources such as applications, devices, and services.
    • JMX is used to monitor and manage the JVM itself (the jconsole application is an example).
    • In JEE JMX is used to manage server configuration and resources.
    • All applications server vendors provide JMX beans, which manage their servers.
    Java management Extensions (JMX) Copyright © Oded Nissan 2009
  • 44. Java management Extensions (JMX) Copyright © Oded Nissan 2009
  • 45. Putting it All Together Copyright © Oded Nissan 2009
  • 46. Putting it All Together Copyright © Oded Nissan 2009
  • 47. JEE Application Servers Copyright © Oded Nissan 2009
  • 48.
    • JEE vendors provide their implementation of JEE technologies within an Application Server.
    • Each application server has its own implementation of JEE standards as well as some proprietary features.
    • Comprised of a Web Container,EJB Container and other server services.
    JEE Application Servers Copyright © Oded Nissan 2009
  • 49. The App server and JEE containers. Copyright © Oded Nissan 2009
  • 50.
    • WebSphere 7.0 – (IBM)
    • Weblogic 10.0 – (formerly BEA now Oracle)
    • Oracle Application Server 11.0 – Oracle.
    • Sun Application Server 9.0 – (formerly Sun now Oracle)
    • WebSphere leads in market share.
    Popular Commercial Application Servers (JEE 5 Complient) Copyright © Oded Nissan 2009
  • 51.
    • JBoss 5.0 - Redhat
    • Glassfish 2.1- (formerly Sun now Oracle)
    • Geronimo 2.1 – (Apache and IBM)
    • JBoss is the most popular,Glassfish’s future is uncertain after the Oracle acquisition, it is said to be very fast after some extensive code rewrites.
    Popular Open source Application Servers (JEE 5 Compliant) Copyright © Oded Nissan 2009
  • 52.
    • Tomcat 6.0 – Apache
    • Resin 3.0 – Caucho
    • Provide a web server and a web container without an EJB container JMS and some other features.
    • Very fast and lightweight. Good choice if you are only developing a web application.
    Popular Open source Web Containers Copyright © Oded Nissan 2009
  • 53. The JEE Development Environment Copyright © Oded Nissan 2009
  • 54.
    • Provided by Application Server vendors or open source projects.
    • Usually provided as plugins to popular IDEs such as Eclipse or NetBeans.
    • The tools help developers create JEE resources, debug and deploy them.
    JEE Development Tools Copyright © Oded Nissan 2009
  • 55.
    • IBM – provides the RAD product (based on Eclipse) for developing for WebSphere.
    • JBoss and Weblogic provide plugins for Eclipse.
    • Sun provides plugins and integration with Netbeans.
    • The Eclipse project provides open source plugins for most application servers.
    JEE Development Tools Copyright © Oded Nissan 2009
  • 56.
    • A JEE application is packaged into an EAR file.
    • The EAR file contains Web modules, EJB modules and utility jars.
    • The Web application is packaged into a WAR file, and the WAR file is packaged into the EAR.
    • The EJB’s are packaged into a special jar file which is the EJB module, which is packaged into the EAR file.
    JEE Application Structure Copyright © Oded Nissan 2009
  • 57. JEE Application Structure Copyright © Oded Nissan 2009
  • 58. The EAR File Structure Copyright © Oded Nissan 2009
  • 59. JEE projects in Eclipse Copyright © Oded Nissan 2009
  • 60. Exercise Copyright © Oded Nissan 2009
  • 61. The JEE Life Cycle- Development Copyright © Oded Nissan 2009 Creation Assembly Deployment Created by Component Developer Assembled and Augmented by Application Assembler Processed by Deployer Deploy Enterprise Components JEE Container JEE APP JEE Modules
  • 62.
    • Intergration Frameworks
      • JBoss Seam
      • Spring Framework
    • Web Frameworks
      • Spring MVC
      • JSF
      • Wicket
      • GWT
      • Tapestry
    Popular JEE Frameworks Copyright © Oded Nissan 2009
  • 63.
    • What is JEE ?
    • The JEE Architecture
    • Overview of JEE technologies
    • Putting it All Together
    • JEE Application Servers
    • JEE Development Environment
    Summary – What did we learn ? Copyright © Oded Nissan 2009