Post on 19-Dec-2015
An Overview to J2EE Technology
Marc Chan, SAP Labs
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 2
Agenda
A Piece of History Introduction to Java/J2EE J2EE Components and Services Java Development at SAP Conclusions
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 3
The Big Deal of Multi-Tier-Architecture
ApplicationServer
ClientsClients DataDataBusiness ServicesBusiness Services
Web Browser Databases
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 4
Early Achievement of the Paradigm
Network TCP/IP
Datenbases Oracle Sybase Informix MS SQL-Server
Enterprise Technology TP-Monitors CORBA
Operating Systems Unix NT OS/390 AS/400
Communication RMI RMI/IIOP HTTP SOAP
User Interface Windows Motif Web Browser
ApplicationsApplications
Applications with Distributed Environments
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 5
ApplicationsApplications
Transaction Management
Availab
ility
Scalability Security
Web Application Server – Hiding the Complexity
Additional Benefits Unified Interface Hiding the complexity Innovative Middleware Approach
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 6
Why does SAP Build on Java Based Technology?
Java is a widely accepted open standard Java based software market grows rapidly Java developer community grows rapidly
And this is because of....
Java technology is platform independent Runs on all major hardware platforms Runs on all major operating systems
The language is Object-Oriented Non proprietary And has many features to make programmer’s life easier (on system
level!)
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 7
Agenda
A Piece of History Introduction to Java/J2EE J2EE Components and Services Java Development at SAP Conclusions
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 8
What is Java?
Java is an object-oriented programming language
Source code is compiled into byte-code
Byte-code is interpreted by a Java Virtual Machine (JVM)
Java is platform independent All you ever need to run the
programs is a JVM on the targeted platform
Java technologies are fueled by the Java community process
Java Specification Request (JSR)
package flightdemo.ejb;
import java.rmi.*; import javax.ejb.*; import javax.naming.*; import java.util.Vector;
public class FlightSearchingBean implements SessionBean {
private SessionContext sessionContext; public void ejbCreate() { } public void ejbRemove() throws RemoteException { } public void ejbActivate() throws RemoteException { } public void ejbPassivate() throws RemoteException { } public void setSessionContext(SessionContext sessionContext) throws RemoteException { this.sessionContext = sessionContext; }
//public business methods public FlightTable searchGuest(String airportFrom, String irportTo, String departureDate, String airline) throws FlightdemoException { try { if(getMode().equals("offline"))…
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 9
What is J2EE?
Java 2 Platform Enterprise Edition
=
Platform for developing, deploying and managing n-tiered business applications using Java technologies
Defined by Java community Collection of different standards and
specifications SAP Web Application Server 6.20 - J2EE 1.2 SAP Web Application Server 6.30 - J2EE 1.3
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 10
What is Defined to J2EE 1.2 / 1.3?
Java 2 Standard Edition (J2SE) 1.2 / 1.3
Java Virtual Machine (JVM) Java Database Connectivity
(JDBC) Remote Method Invocation
(RMI / IIOP) Java Naming and Directory
Interface (JNDI)
Java Servlet 2.2 / 2.3
Java Server Pages (JSP) 1.1 / 1.2
Enterprise JavaBeans (EJB) 1.1 / 2.0
JDBC 2.0 Extensions
Java Transaction API (JTA) 1.0
Java Message Service (JMS) 1.0.2
Java Authentication and Authorization Service (JAAS) 1.0
J2EE Connector Architecture (JCA) 1.0
JavaMail 1.1 / 1.2
JavaBeans Activation Framework (JAF)
Java API for XML Parsing (JAXP) 1.1 supports XSLT, SAX and DOM
...
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 11
Agenda
A Piece of History Introduction to Java/J2EE J2EE Components and Services Java Development at SAP Conclusions
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 12
Business Applications
Presentation Layer Presentation logic Navigation Interaction with client (GUI,
browser, mobile device)
Business Layer Business rules and processes State management Interaction with data storage
Integration Layer Interaction with external
resources
Presentation Layer
Business Layer
Bu
sin
ess
Ap
plic
atio
n
Integration
Layer
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 13
BrowserBrowser
mySAP component
J2EE ServicesPresentation Layer
J2EE Application Server
Web Server J2EE Application Server
DB Server
Business Layer
JDBC JNDI JAAS
JMS JTA JCA
...
DB Server
EJB Server Legacy
EJB Container
Session Bean
Entity Bean
Web Container
ServletJava
Server Page
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 14
Java Servlets
Servlet is a Java class that Handles HTTP communication Runs on a Web server Generates dynamic Web pages
Servlets can directly access resources like Enterprise JavaBeans components, JDBC …
EJB Container
Response
Servlet
HTTP Request
EJB
Browser Web Container
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 15
Java Server Page (JSP)
Response
Servlet JSP
HTTP Request
Browser Web Container
<%@ page import="flightdemo.generated.*" %> <%@ page import="flightdemo.*" %> <html> <head> <title> FlightAnswerList </title> </head> <body> <jsp:useBean id="flightdemoBean" scope="session“ class="flightdemo.FlightdemoBean" /> <h1> Answers for Request </h1> <table border=1> <th>From</th> <th>To</th> <th>Date</th> <th>Time</th> <%-- Loop through the list and display the fields for which table headings are defined above --%> <% FlightdemoBean bean = new FlightdemoBean(); bean.setAirportFrom("Frankfurt"); bean.setAirportTo("New York"); bean.searchFlights(); BapisfldatTypeList list = bean.getFoundFlights(); BapisfldatType[] entries = list.toArrayBapisfldatType(); for(int i=0; i<entries.length; i++) { %> <tr> <td><%=" " + entries[i].getAirline()%></td> <td><%=" " + entries[i].getAirportfr()%></td> <td><%=" " + entries[i].getAirportto()%></td> <td><%=" " + entries[i].getCityfrom()%></td> <td><%=" " + entries[i].getCityto()%></td> <td><%=" " + entries[i].getFlightdate()%></td> <td><%=" " + entries[i].getConnectid()%></td> </tr> <% } %> </table> </body> </html>
Java Server Page is text file that
Is written with markup language (HTML, XML, WML)
Includes Java code to bring dynamic information to the page
Will always be converted to servlet at execution time
Java Server Page hides HTTP complexity from programmer
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 16
Enterprise Java Bean
Message-driven Bean
Session Bean Entity Bean
Stateless Session Bean
Stateful Session Bean
Container- managed
persistence
Bean-managed
Persistence
Types of Enterprise Java Beans
EJB 1.1 EJB 2.0
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 17
Session Bean Represents process object
(sales order creation, sales order confirmation)
Transient Server-side service
performing tasks for a client such as accessing databases or performing calculations
Private resource for a single client
Stateless or can maintain conversational state across methods and user dialogues
Container manages state
Entity Bean Represents business object
(sales order, customer, supplier)
Persistent Central resource that can be
shared by several clients at the same time
Can be transactional Recoverable Container-managed persistence
Container automatically manages all data retrieval and storage operations on behalf of the bean
Bean-managed persistence Bean manages its own
persistence
Enterprise Java Beans (EJB)
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 19
Agenda
A Piece of History Introduction to Java/J2EE J2EE Components and Services Java Development at SAP Conclusions
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 20
Local Development
IDE
Deploy
JSPServletFile System
Load
Local J2EE Engine
Save
J2EEServices
Development Plugins
Development
Test
Data retrieval from/to ABAP
Engine
Local PC
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 21
Deployment to Web Application Server
IDE
File System
Local J2EE Engine
Development
Web Application Server
ABAPABAPJ2EEJ2EE
BrowserBrowser
Internet Communication ManagerInternet Communication Manager
HTMLHTML
JSPJSP
EJBEJB
Local PC
Final Deploy
Application Component
Provider
HTMLHTML
JSPJSP
EJBEJB
Local PC
HTMLHTML
JSPJSP
EJBEJB
Final Deploy
HTMLHTML
JSPJSP
EJBEJB
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 22
Agenda
A Piece of History Introduction to Java/J2EE J2EE Components and Services Java Development at SAP Conclusions
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 23
What J2EE Does NOT Define
Platform-independent persistence layer
Development environment
Software logistics and software life-cycle management
Remote support
… and many other things that are necessary to develop and run mission-critical business applications
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 24
Competitive Information
Key Players / Product BEA / Weblogic IBM / Websphere Sun / iPlanet Oracle / 9iAS Borland / Borland Application Server and several open source products
Do NOT compare J2EE with ABAP in terms of reliability or scalability! If the going gets tough our competitors use their legacy heavyweight
Enterprise Iron (Tuxedo, MQSeries…) Let’s do it the same way: We have always ABAP in the background.
They are no different from the rest of us!
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 25
Java and J2EE Resources
Want an overview about Java itself? http://java.sun.com/docs/overviews/java/java-overview-1.html
Want to know more about J2EE? http://java.sun.com/j2ee/tutorial/
General resources for J2EE and Java Flashline (http://www.flashline.com/) Java Developer's Journal (http://www2.sys-con.com/java/) the serverside.com (http://theserverside.com/home/index.jsp) JavaWorld (http://www.javaworld.com/) O’REILLY (http://www.oreilly.com/)
SAP Labs 2003, Marc Chan, An Overview to the J2EE Technology 26
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation.
IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries.
ORACLE® is a registered trademark of ORACLE Corporation.
UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.
Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.
HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
JAVA® is a registered trademark of Sun Microsystems, Inc.
JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One.
SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are trademarks of their respective companies.
Copyright 2003 SAP AG. All Rights Reserved