an overview to j2ee technology marc chan, sap labs

25
An Overview to J2EE Technology Marc Chan, SAP Labs

Post on 19-Dec-2015

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: An Overview to J2EE Technology Marc Chan, SAP Labs

An Overview to J2EE Technology

Marc Chan, SAP Labs

Page 2: 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

Page 3: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 4: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 5: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 6: An Overview to J2EE Technology Marc Chan, SAP Labs

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!)

Page 7: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 8: An Overview to J2EE Technology Marc Chan, SAP Labs

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"))…

Page 9: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 10: An Overview to J2EE Technology Marc Chan, SAP Labs

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

...

Page 11: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 12: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 13: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 14: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 15: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 16: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 17: An Overview to J2EE Technology Marc Chan, SAP Labs

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)

Page 18: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 19: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 20: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 21: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 22: An Overview to J2EE Technology Marc Chan, SAP Labs

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

Page 23: An Overview to J2EE Technology Marc Chan, SAP Labs

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!

Page 24: An Overview to J2EE Technology Marc Chan, SAP Labs

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/)

Page 25: An Overview to J2EE Technology Marc Chan, SAP Labs

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