Anda di halaman 1dari 38

Creating Web Applications for SAP BW and SAP Enterprise Portal with the SAP Java IDE (A Sneak

Peek!)

Sam Tingleff
Technology Product Management SAP Labs

Agenda

SAP Java IDE Overview Web Dynpro and the J2EE Toolset Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 2

Agenda

SAP Java IDE Overview Web Dynpro and the J2EE Toolset Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 3

What Is the SAP Java IDE?


New tool from SAP for developing enterprise applications
Full The

desktop application does not use SAPGUI Java development tool for SAP

Released with SAP Web Application Server 6.30 Will be used for
Web

application development on Web AS 6.30 component development Java development

Portal Other

SAP AG 2003, slide 4

ABAP Workbench vs. SAP Java IDE


ABAP
Server-oriented Design and runtime objects stored in same database SAP System determines scope

ABAP
Environment/Infrastructure Large Scale Application Support Local Editing Support for Standards Support for SAP Technology Offline Development

JAVA

Java
Operates on Local File System Design and runtime objects separated Development environment organized in local projects

Private Test Environment

+ + + -

+ + + +

SAP AG 2003, slide 5

ABAP vs. Java: Some Highlights


ABAP
One

frame (SE80) for all design-time tools

Logistics

seamlessly integrated into the Development Workbench


Build environment, Deployment, Software Logistics, etc.

Supports

SAP technologies

Structured logical, not physical, presentation of all SAP design-

time objects

Java
Local Development Environment
Editing Offline Private

support: Syntax Highlighting, Code Completion, etc. development

test environment (partially)

Support for Standard Technologies


J2SE,

J2EE, HTML, XML, etc.

SAP AG 2003, slide 6

Goal: Combine the Advantages of Both Approaches


Provide one frame for all tools and as integration point for all infrastructure components Provide convenient integrated infrastructure environment for large-scale application development Preserve the principle of local IDE Provide local editing support Enable offline development

Support standard and SAP technologies


Logically structure the presentation of design-time objects Enable graphical editing

SAP AG 2003, slide 7

Overall Java Development Infrastructure


Tool Integration Platform Software Logistics (SL)

DDIC

Web Dynp ro

Graphic s

Tool Service Layer Generic Model Abstraction Layer

DTR/CBS/SL Integration

Java

J2EE

Web Servi ce

Component Build Service (CBS)

Deploy

Run Time J2EE Serve r

Design-time Repository (DTR)

Local File System

SAP AG 2003, slide 8

IBMs Eclipse Is the Foundation


Open Source project "donated" by IBM
Written

in Java

Eclipse is only a framework


Very

small kernel (Platform Runtime) is a plug-in! UI approach (SWT/JFace)

Everything Own

Eclipse comes with a full Java (J2SE) IDE comes with Eclipse

SAP AG 2003, slide 9

IDE Overview: Java and Debug Perspective


Java Perspectiv e

Debug Perspecti ve

SAP AG 2003, slide 10

IDE Overview: IDE Features


Refactoring features
Move/rename

classes and

methods
Repackage Extract

methods
with try/catch

Surround

Pretty printing
Configurable

Code completion (IntelliSense) Import management


Configurable

Search features
References Definitions Read/write

access

Javadoc help as tooltip


SAP AG 2003, slide 11

SAP Java IDE: Benefits & Considerations


Java will not replace ABAP! Our goal is to provide maximum flexibility to customers
Currently

3-4 million registered Java developers

Often

taught as a first language in schools

When should you use Java?


ABAP
Java

still recommended for core business logic


on the project and your development team

excels at user interfaces, integration, etc.

Depends

SAP AG 2003, slide 12

SAP Java IDE: Prerequisites & Availability


Prerequisites
SAP Sun

Web Application Server 6.30 JDK 1.3.1/1.4 knowledge and experience

Java

Will be available via the service marketplace

SAP AG 2003, slide 13

Agenda

SAP Java IDE Overview Web Dynpro and the J2EE Toolset Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 14

What is Web Dynpro?


One component of the SAP Java IDE
Graphical

design tool for building Web-based business applications tool to Web-enable ABAP/Dynpro programs

Conversion

Key features
Complete Graphical

toolset based on the Eclipse IDE design of view composition and navigation flow

WYSIWYG Standard Efficient

view designer

Java editor for implementing event handlers

development cycle (edit build deploy run)

SAP AG 2003, slide 15

What is Web Dynpro?

(contd)

Web Dynpro User interfaces are


Professional looking Easy-to-use Highly interactive

Web Dynpro IDE


Model and develop presentation logic Design and compose user interfaces Backed by usability patterns
Web Dynpro
Tag libraries BSP, JSP*

Based on business datatype information

Runtime services
Open standards, runtime infrastructure Java and ABAP (JSP and BSP*)

Presentation Layer Business Layer

Tag libraries
Device independence Internationalization Easy to deploy and maintain
* ASP planned
SAP AG 2003, slide 16

J2EE/ABAP

SAP Web Application Server

Web Dynpro Benefits


Improves User Experience
Browser-based front end Flicker-free screen, minimal refreshes

Web Dynpro Tools

Web Dynpro Metadata

Minimal response times


Built-in personalization 508 accessibility compliance

Web Dynpro Runtime


.NET J2EE ABAP

Strategic development
Web Dynpro components can be reused
Supports Web Services & Databinding Separate Layout & Programming Logic

Independence
From platform From UI technology
SAP AG 2003, slide 17

Multi-Device Internet

What is the J2EE Toolset?


Contains creation wizards for
Projects:

EJB, EJB Assembly, Web, Web Assembly, Enterprise EJB, Servlet, JSP, Filter, Listener, HTML

Apps
Objects:

SAP AG 2003, slide 18

What is the J2EE Toolset?


LAN SAP J2EE Engine

(contd)

Includes a Local Test & Debug Environment


Specify server settings in the Preferences" page Start/stop the local J2EE Engine from the J2EE View
SAP J2EE Engine Deployment Developers PC

Normal or debug mode

Directly test or debug servlets / JSPs on your local server

SAP Java IDE


Local Testing and Debugging

SAP J2EE Engine

SAP AG 2003, slide 19

Demo: J2EE Toolset

Demo

SAP AG 2003, slide 20

Agenda

SAP Java IDE Overview Web Dynpro and J2EE Tools Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 21

What is the Java Dictionary?


Similar to the ABAP data dictionary Will be part of Web AS 6.30 Will contain a datatype repository Independent of application code Content can be used in various places
Database persistence Fields of a Web Dynpro form

SAP AG 2003, slide 22

Simple Type Example

SimpleType
Core datatype information Restriction base

<simpleType name='Airline'> <restriction base='string'> <maxLength value='3'/> <enumeration value='LH '/> <enumeration value='UA '/> <enumeration value='AA '/> </restriction> <annotation> <fieldlabel value='Airline'/> <col_label value='Airline'/> </annotation> <annotation> <notNull value='true'/> </annotation> </simpleType>

Restriction base Restriction base Constraints

UI-related information

Database-related information

Web Service-related information

SAP AG 2003, slide 23

Java Dictionary Benefits


Datatypes can be used in all layers of application development Enhanced application portability
Development platform (Web Dynpro for ABAP, Java, .Net)

Database platform

Centralized source definition and maintenance


Reuse Central points for extension/modification Services are attached centrally

Seamless integration into the Java IDE


Java IDE based on Eclipse

Local, component-based development process

Fits well into declarative frameworks like Web Dynpro

SAP AG 2003, slide 24

Database Layer SAPs Goals


Support several RDBMSs
Platform-independent access to data Platform-independent definition of database objects

Performance
Caching of data Caching of statements SQL trace

Fit into local development process


Definition and deployment of database objects Checked usage of database objects

Support relational persistence + object relational persistence

SAP AG 2003, slide 25

Database Layer Open SQL for Java


Java program
Relational Persistence Object Relational Persistence

EJB CMP Open SQL/ SQLJ JDO portable SQL


Table buffer Table catalog Statement cache SQL trace

Open SQL/ JDBC unchecked SQL Open SQL/ Native SQL

Open SQL Engine


SQL Processor DB access layer

Vendor JDBC

Open SQL for Java

RDBMS
SAP AG 2003, slide 26

Database Layer Defining DB tables

SAP AG 2003, slide 27

Database Layer Defining DB tables

(contd)

SAP AG 2003, slide 28

Database Layer Defining DB tables

(contd)

SAP AG 2003, slide 29

Database Layer SQLJ (Embedded SQL)


Test.sqlj
String from, to, conn_id; String carr_id; #sql { SELECT CITYFROM, CITYTO FROM SFLIGHT INTO :from, :to WHERE CARRID = :carr_id AND CONNID = :conn_id }; System.out.println (from + ", " + to);

SFlight.dbtable
FieldName IsKey CARRID CONNID FLDATE ... Type Length 3 4 True Airline True String True Date

SQLJ Translator

SAP SQLJ Checker

SAP-specific SQLJ checker


Uses database object metadata instead of the database catalog

IDE integration
Displays translation errors (-> SQL syntax errors) Navigates to the position of errors in the code
SAP AG 2003, slide 30

Agenda

SAP Java IDE Overview Web Dynpro and J2EE Tools Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 31

What Is the Portal Development Kit?


Offline development & runtime environment for customer-specific iViews in Java Java API for Enterprise Portal HTML Business for Java

upload iViews to PDK

Supports full iView development cycle


Code & test Deploy

test iViews in the PDK


SAP AG 2003, slide 32

Java IDE Apps Can Be Deployed via SAP Enterprise Portal


Server Client

PAR File
Developed with IDE
Deploy

IRJ WebApp Test

local computer

Enterprise Portal

SAP AG 2003, slide 33

Demo: Building Portal Apps with the SAP Java IDE

Demo

See iviewstudio.com for specific how-to instructions

SAP AG 2003, slide 34

Agenda

SAP Java IDE Overview Web Dynpro and J2EE Tools Java Dictionary The Portal Development Kit Conclusion

SAP AG 2003, slide 35

For More Information


SAP resources
Portal Development Kit - http://www.iviewstudio.com/ SAP NetWeaver - http://www.sap.com/solutions/netweaver/ SAP NetWeaver Software http://service.sap.com/netweaver

Java & J2EE


http://java.sun.com/docs/overviews/java/java-overview-1.html http://java.sun.com/j2ee/tutorial/

Other Java development resources


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/) OREILLY (http://www.oreilly.com/)

SAP AG 2003, slide 36

For More Information

(contd)

With Web AS 6.30 SAP will offer a full-featured Java IDE


Based on the open source Eclipse platform Used for all NetWeaver Java development (Web AS, EP, etc.) Will include tools for Dynpro screen conversion and generation

Web AS 6.30 will include a Java Dictionary


Similar to the ABAP Dictionary Will provide a data type concept

The Portal Development Kit can be used to develop IDEs


Can also be used to deploy Java IDE apps via Enterprise Portals

SAP AG 2003, slide 37

Questions?

Q&A

SAP AG 2003, slide 38