KEMBAR78
Introduction to java ee | PPT
Ranjan Kumar CDAC Mumbai Java EE – An Introduction to Java  Enterprise Edition
Agenda What is Java EE? Why Java EE? Java EE Deliverables (what and why?) ‏ Basic Architecture Components and Containers Roles Lifecycle
Overview A collection of enterprise technologies Provides a component based approach to the design, development, assembly and deployment of enterprise applications Enables solutions for developing, deploying and managing n-tier server-centric enterprise applications An open industry standard (initiative led by Sun Microsystems(now Oracle) ) ‏
To provide a platform-independent, portable, multi-user, secure, and standard enterprise-class platform for server side deployments written in the Java Language Implement a standardized execution environment for distributed enterprise applications Mission
The Java Platform Micro Edition (Java ME) ‏ Enterprise Edition (Java EE)  Standard Edition (Java SE) ‏ Hand-held devices Desktop High-end Servers Workgroup Servers
Java EE Bundle APIs and technology specification A collection / integration of various enterprise APIs Development and Deployment platform A unified platform for server-side development Reference Implementation Implements the Java EE specification & demonstrates its viability  Compatibility tests Certifies a Java EE product, confirms application portability Java EE Blueprints Programming model, patterns, guidelines, best practices
Why Java EE? Platform value for developers Can use any Java EE implementation for development and deployment Vast amount of Java EE community resources Can use off-the-shelf 3 rd  party components
Why Java EE? Platform value to vendors Vendors work together on specifications and then compete in implementations In the areas of Scalability, Performance, Reliability, and so on Freedom to innovate while maintaining the portability of applications
Why Java EE? Platform value to Business customers 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 & more Best of breed of applications and platforms Large developer pool
Evolution of Distributed Transactional Computing Overview of technologies leading to distributed computing 1 tier, 2 tier, 3 tier, n tier architecture Application Servers Proprietary Open standard
N-tier J2EE Architecture RMI-IIOP HTTP (JSP/Servlets) ‏ EJB Application Server Web Server Container
Java EE Architecture – Tiers and Components View Client Tier  Web Tier  Business Tier  Data Tier
Java EE Server and Containers Client Database Application  Client  Container EJB Container Web Container Application  Client Web Browser Enterprise  Bean Enterprise  Bean Servlet JSP Page Java EE Server
Java EE Components The Java EE platform uses a multi-tiered distributed application model The Java EE application components parts comprise: Client-tier components (run on the client machine).  Web-tier components (run on the Java EE server).  Business-tier components (run on the Java EE server).  Enterprise information system (EIS)-tier software (runs on the EIS server).   Essentially considered to be  three-tiered application , because of being distributed over client, J2EE server and the database.
Java EE Components: Client Tier Client Web clients (web-browser, web pages, applets) ‏ Application client (application user interface built using Swing or AWT, or a command line  interface) ‏ CORBA IIOP complaint clients
Java EE Components: Web-tier Web components Servlets or JSP pages Java Beans (optional) ‏
Java EE Components: Business tier Business Components Enterprise Beans handle the application logic Separates business process (session beans) and data component (entity beans) ‏ Applications requiring messaging facility use JMS
Java EE Components: Data tier Application Database Server Any relational database (eg Oracle, MS SQL, etc) ‏ Enterprise Information System (EIS) ‏ Includes enterprise systems like ERP, mainframe transaction processing, database systems and other legacy information systems J2EE applications often rely on this tier to store the enterprise’s business critical data
Container Services Security Transaction Management Naming and directory  Remote connectivity Lifecycle management Persistence Concurrency Resource Pooling
Container Types The deployment process installs Java EE application components in the Java EE containers EJB container Web container Application client container / Applet container The Java EE server provides EJB and Web containers and is the operating run-time environment
Java EE Technologies  Component Technology Applet, application clients, Enterprise beans, web components (JSP / Servlets) ‏ Service Technology JDBC, JNDI, JTS, Connector Architecture, Web Services etc Communication Technology RMI-IIOP Internet protocols (HTTP, SSL, TCP/IP) ‏ Messaging  (JMS, Java Mail) ‏
Java EE APIs (Bundled) ‏ Java SE Java SDK Java Standard APIs Java EE Enterprise JavaBeans (EJB) ‏ - Aritecture for building server-side components Java Remote Method Invocation (RMI) & RMI-IIOP - Method invocation across Java virtual machines. Can also integrate with other clients comfirming CORBA IIOP specification Java Naming and Directory Interface (JNDI) ‏ - Naming service for locating resources over the network Java Database Connectivity (JDBC) ‏ - Java interface to relational database Java Servlets & Java Server Pages (JSP) ‏ - Technology allowing dymanic web content generation Java Activation Framework (JAF) ‏ J2EE Connector Architecture
Java EE APIs (Bundled) contd … Java Messaging Service (JMS) ‏ Enables asynchronous communication, including point-to-point and publish/subscribe messing Java IDL Java technology based CORBA ORB implementing a subset of CORBA specification Java Mail Mailing APIs Java API for XML Parsing (JAXP) ‏ XML parsing and manipulation. Used to describe EJB components, file scripts Java Transaction API (JTA) and Java Transaction Service (JTS) ‏ Used to manage transactions Java Authentication and Authorization Service (JAAS) ‏ Security services API Others (performance specific, not mandated by the specification) ‏ Load balancing, data caching, transparent fail over, etc
Java EE Application Assembly and Deployment Applications are packaged into one or more standard units for deployment to any Java EE platform-compliant system Each unit contains  - a functional component or components (enterprise bean, JSP page, servlet, applet, etc.), - a standard deployment descriptor that describes its content,  - J2EE declarations which have been specified by the application developer and assembler. Once the unit is produced, is ready for deployment
Deployment  Descriptors (XML Files) ‏ EJB JSP Servlet HTML Deployment  Tool J2EE Server Java EE Unit (war, jar or ear) ‏ Deploy
Java EE Roles Java EE product provider One who designs and makes available the Java EE platform, APIs and other features defined in the Java EE specification Component Provider One who provides web components, enterprise beans, applets or application clients for use in J2EE applications. Application Assembler One who gets the components and assembles it into an application
Java EE Roles (continued…) ‏ Application Deplorer and Administrator One who configures and deploys the J2EE application, administers and monitors the deployment Tool provider One who creates development, assembly and packaging tools used by component providers, assemblers and deplorers
Java EE Lifecycle
Java EE Application Anatomies 4-tier Java EE applications HTML client, JSP/Servlets, EJB, JDBC/Connector 3-tier Java EE applications HTML client, JSP/Servlets, JDBC 3-tier Java EE applications EJB standalone applications, EJB, JDBC/Connector B2B Enterprise applications Java EE platform to Java EE platform through the exchange of JMS or XML-based message
References Java EE Tutorial, Sun Microsystems (now Oracle) Simplified guide to the Java EE Platform, Enterprise Edition, Sun Microsystems (now Oracle) Sun TechDays Conference 2000-2001 slides,  Sun Microsystems Mastering Enterprise JavaBeans, 3 rd  Edition By Ed Roman

Introduction to java ee

  • 1.
    Ranjan Kumar CDACMumbai Java EE – An Introduction to Java Enterprise Edition
  • 2.
    Agenda What isJava EE? Why Java EE? Java EE Deliverables (what and why?) ‏ Basic Architecture Components and Containers Roles Lifecycle
  • 3.
    Overview A collectionof enterprise technologies Provides a component based approach to the design, development, assembly and deployment of enterprise applications Enables solutions for developing, deploying and managing n-tier server-centric enterprise applications An open industry standard (initiative led by Sun Microsystems(now Oracle) ) ‏
  • 4.
    To provide aplatform-independent, portable, multi-user, secure, and standard enterprise-class platform for server side deployments written in the Java Language Implement a standardized execution environment for distributed enterprise applications Mission
  • 5.
    The Java PlatformMicro Edition (Java ME) ‏ Enterprise Edition (Java EE) Standard Edition (Java SE) ‏ Hand-held devices Desktop High-end Servers Workgroup Servers
  • 6.
    Java EE BundleAPIs and technology specification A collection / integration of various enterprise APIs Development and Deployment platform A unified platform for server-side development Reference Implementation Implements the Java EE specification & demonstrates its viability Compatibility tests Certifies a Java EE product, confirms application portability Java EE Blueprints Programming model, patterns, guidelines, best practices
  • 7.
    Why Java EE?Platform value for developers Can use any Java EE implementation for development and deployment Vast amount of Java EE community resources Can use off-the-shelf 3 rd party components
  • 8.
    Why Java EE?Platform value to vendors Vendors work together on specifications and then compete in implementations In the areas of Scalability, Performance, Reliability, and so on Freedom to innovate while maintaining the portability of applications
  • 9.
    Why Java EE?Platform value to Business customers 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 & more Best of breed of applications and platforms Large developer pool
  • 10.
    Evolution of DistributedTransactional Computing Overview of technologies leading to distributed computing 1 tier, 2 tier, 3 tier, n tier architecture Application Servers Proprietary Open standard
  • 11.
    N-tier J2EE ArchitectureRMI-IIOP HTTP (JSP/Servlets) ‏ EJB Application Server Web Server Container
  • 12.
    Java EE Architecture– Tiers and Components View Client Tier Web Tier Business Tier Data Tier
  • 13.
    Java EE Serverand Containers Client Database Application Client Container EJB Container Web Container Application Client Web Browser Enterprise Bean Enterprise Bean Servlet JSP Page Java EE Server
  • 14.
    Java EE ComponentsThe Java EE platform uses a multi-tiered distributed application model The Java EE application components parts comprise: Client-tier components (run on the client machine). Web-tier components (run on the Java EE server). Business-tier components (run on the Java EE server). Enterprise information system (EIS)-tier software (runs on the EIS server). Essentially considered to be three-tiered application , because of being distributed over client, J2EE server and the database.
  • 15.
    Java EE Components:Client Tier Client Web clients (web-browser, web pages, applets) ‏ Application client (application user interface built using Swing or AWT, or a command line interface) ‏ CORBA IIOP complaint clients
  • 16.
    Java EE Components:Web-tier Web components Servlets or JSP pages Java Beans (optional) ‏
  • 17.
    Java EE Components:Business tier Business Components Enterprise Beans handle the application logic Separates business process (session beans) and data component (entity beans) ‏ Applications requiring messaging facility use JMS
  • 18.
    Java EE Components:Data tier Application Database Server Any relational database (eg Oracle, MS SQL, etc) ‏ Enterprise Information System (EIS) ‏ Includes enterprise systems like ERP, mainframe transaction processing, database systems and other legacy information systems J2EE applications often rely on this tier to store the enterprise’s business critical data
  • 19.
    Container Services SecurityTransaction Management Naming and directory Remote connectivity Lifecycle management Persistence Concurrency Resource Pooling
  • 20.
    Container Types Thedeployment process installs Java EE application components in the Java EE containers EJB container Web container Application client container / Applet container The Java EE server provides EJB and Web containers and is the operating run-time environment
  • 21.
    Java EE Technologies Component Technology Applet, application clients, Enterprise beans, web components (JSP / Servlets) ‏ Service Technology JDBC, JNDI, JTS, Connector Architecture, Web Services etc Communication Technology RMI-IIOP Internet protocols (HTTP, SSL, TCP/IP) ‏ Messaging (JMS, Java Mail) ‏
  • 22.
    Java EE APIs(Bundled) ‏ Java SE Java SDK Java Standard APIs Java EE Enterprise JavaBeans (EJB) ‏ - Aritecture for building server-side components Java Remote Method Invocation (RMI) & RMI-IIOP - Method invocation across Java virtual machines. Can also integrate with other clients comfirming CORBA IIOP specification Java Naming and Directory Interface (JNDI) ‏ - Naming service for locating resources over the network Java Database Connectivity (JDBC) ‏ - Java interface to relational database Java Servlets & Java Server Pages (JSP) ‏ - Technology allowing dymanic web content generation Java Activation Framework (JAF) ‏ J2EE Connector Architecture
  • 23.
    Java EE APIs(Bundled) contd … Java Messaging Service (JMS) ‏ Enables asynchronous communication, including point-to-point and publish/subscribe messing Java IDL Java technology based CORBA ORB implementing a subset of CORBA specification Java Mail Mailing APIs Java API for XML Parsing (JAXP) ‏ XML parsing and manipulation. Used to describe EJB components, file scripts Java Transaction API (JTA) and Java Transaction Service (JTS) ‏ Used to manage transactions Java Authentication and Authorization Service (JAAS) ‏ Security services API Others (performance specific, not mandated by the specification) ‏ Load balancing, data caching, transparent fail over, etc
  • 24.
    Java EE ApplicationAssembly and Deployment Applications are packaged into one or more standard units for deployment to any Java EE platform-compliant system Each unit contains - a functional component or components (enterprise bean, JSP page, servlet, applet, etc.), - a standard deployment descriptor that describes its content, - J2EE declarations which have been specified by the application developer and assembler. Once the unit is produced, is ready for deployment
  • 25.
    Deployment Descriptors(XML Files) ‏ EJB JSP Servlet HTML Deployment Tool J2EE Server Java EE Unit (war, jar or ear) ‏ Deploy
  • 26.
    Java EE RolesJava EE product provider One who designs and makes available the Java EE platform, APIs and other features defined in the Java EE specification Component Provider One who provides web components, enterprise beans, applets or application clients for use in J2EE applications. Application Assembler One who gets the components and assembles it into an application
  • 27.
    Java EE Roles(continued…) ‏ Application Deplorer and Administrator One who configures and deploys the J2EE application, administers and monitors the deployment Tool provider One who creates development, assembly and packaging tools used by component providers, assemblers and deplorers
  • 28.
  • 29.
    Java EE ApplicationAnatomies 4-tier Java EE applications HTML client, JSP/Servlets, EJB, JDBC/Connector 3-tier Java EE applications HTML client, JSP/Servlets, JDBC 3-tier Java EE applications EJB standalone applications, EJB, JDBC/Connector B2B Enterprise applications Java EE platform to Java EE platform through the exchange of JMS or XML-based message
  • 30.
    References Java EETutorial, Sun Microsystems (now Oracle) Simplified guide to the Java EE Platform, Enterprise Edition, Sun Microsystems (now Oracle) Sun TechDays Conference 2000-2001 slides, Sun Microsystems Mastering Enterprise JavaBeans, 3 rd Edition By Ed Roman