Anda di halaman 1dari 38

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


Sam Tingleff
Technology Product Management SAP Labs


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

SAP AG 2003, slide 2


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

application development on Web AS 6.30 component development Java development

Portal Other

SAP AG 2003, slide 4

ABAP Workbench vs. SAP Java IDE

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

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


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


frame (SE80) for all design-time tools


seamlessly integrated into the Development Workbench

Build environment, Deployment, Software Logistics, etc.


SAP technologies

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

time objects

Local Development Environment
Editing Offline Private

support: Syntax Highlighting, Code Completion, etc. development

test environment (partially)

Support for Standard Technologies


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)


Web Dynp ro

Graphic s

Tool Service Layer Generic Model Abstraction Layer

DTR/CBS/SL Integration



Web Servi ce

Component Build Service (CBS)


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

in Java

Eclipse is only a framework


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

classes and

Repackage Extract

with try/catch


Pretty printing

Code completion (IntelliSense) Import management


Search features
References Definitions Read/write


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

3-4 million registered Java developers


taught as a first language in schools

When should you use Java?


still recommended for core business logic

on the project and your development team

excels at user interfaces, integration, etc.


SAP AG 2003, slide 12

SAP Java IDE: Prerequisites & Availability


Web Application Server 6.30 JDK 1.3.1/1.4 knowledge and experience


Will be available via the service marketplace

SAP AG 2003, slide 13


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

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


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?


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


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


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

From platform From UI technology
SAP AG 2003, slide 17

Multi-Device Internet

What is the J2EE Toolset?

Contains creation wizards for

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


SAP AG 2003, slide 18

What is the J2EE Toolset?



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


Local Testing and Debugging

SAP J2EE Engine

SAP AG 2003, slide 19

Demo: J2EE Toolset


SAP AG 2003, slide 20


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

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

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


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

SAP AG 2003, slide 26

Database Layer Defining DB tables

SAP AG 2003, slide 27

Database Layer Defining DB tables


SAP AG 2003, slide 28

Database Layer Defining DB tables


SAP AG 2003, slide 29

Database Layer SQLJ (Embedded SQL)

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

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


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

IRJ WebApp Test

local computer

Enterprise Portal

SAP AG 2003, slide 33

Demo: Building Portal Apps with the SAP Java IDE


See for specific how-to instructions

SAP AG 2003, slide 34


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 - SAP NetWeaver - SAP NetWeaver Software

Java & J2EE

Other Java development resources

Flashline ( Java Developer's Journal ( the ( JavaWorld ( OREILLY (

SAP AG 2003, slide 36

For More Information


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



SAP AG 2003, slide 38