• No results found

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

N/A
N/A
Protected

Academic year: 2021

Share "SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG"

Copied!
38
0
0

Loading.... (view fulltext now)

Full text

(1)

SAP's Integrated

Development

Environment for Java

(2)

Agenda

è

Comparison ABAP Workbench /

Typical Java IDE

è

Eclipse

è

The SAP Framework

(3)

Comparison ABAP Workbench / Typical Java IDE

-+

Environment/Infrastructure

-+

Support for SAP

Technology

+

-Private Test Environment

+

-Offline Development

+

-Support for Standards

+

-Local Editing

-+

Large Scale Application

support

JAVA

ABAP

ABAP

n Server oriented

n Design Time and Run

Time Objects stored in

same database

n SAP System

determines „scope“

JAVA

n Operates on Local File

System

Design Time and Run

Time separated

n Development

environment

organized in local

„projects“

(4)

Comparison: ABAP / Java: Some highlights

ABAP

Ì

One frame (SE80) for all Design Time Tools

Ì

Highly convenient infrastructure environment seamlessly

integrated into Development Workbench

Ì

Build environment, Deployment, Software Logistics, ...

Ì

Proven environment for large-scale application development

Ì

Strong support for SAP Technologies

Ì

Structured „logical“, not physical, presentation of all SAP Design

Time Objects

Java

Ì

Local Development Environment

Ì

Editing support: Syntax Highlighting, Code Completion, ...

Ì

Offline development

Ì

Private test environment (partially)

(5)

SAP Java IDE

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 to

support large scale application development

Ì

Preserve principle of local IDE

Ì

Local editing support

Ì

Offline development

Ì

Optimal support for standard and SAP technologies

Ì

Logically structured presentation of all Design Time Objects

(6)

Local File System

Tool Integration Platform

Overall Java Development Infrastructure

Design

Time

Repository

(DTR)

Component

Build

Service

(CBS)

Software Logistics

(SL)

Run

Time

J2EE

Server

Deploy

DDIC

Web

Dynpro

Web

Service

DTR/CBS/SL

Integration

Generic Model Abstraction Layer

Graphics

Tool Service

Layer

(7)

Tool Integration Platform

Topics of this presentation

Design

Time

Repository

(DTR)

Component

Build

Service

(CBS)

Software Logistics

(SL)

Run

Time

J2EE

Server

DDIC

Web

Dynpro

Web

Service

DTR/CBS/SL

Integration

Generic Model Abstraction Layer

Graphics

Deploy

Tool Service

Layer

Local File System

(8)

Agenda

è

Comparison ABAP Workbench /

Typical Java IDE

è

Eclipse

è

The SAP Framework

(9)

Tool Integration Platform

Eclipse

Design

Time

Repository

(DTR)

Component

Build

Service

(CBS)

Software Logistics

(SL)

Run

Time

J2EE

Server

DDIC

Web

Dynpro

Web

Service

DTR/CBS/SL

Integration

Generic Model Abstraction Layer

Graphics

Deploy

Tool Service

Layer

Local File System

(10)

Eclipse

n

Open Source project "donated" by IBM

n

Eclipse is itself written in Java

n

Eclipse is only a framework:

Everything is a plugin!

n Formally defined Extension Points and Plugin dependencies

n Very small kernel (Platform Runtime): The framework itself is

implemented as a set of plugins

n Own UI approach (SWT / JFace)

n Workbench plugin as generic

framework for any tool

n Complete Java (J2SE) IDE comes with

Eclipse

u

Set of plugins

u

Open Source

n Eclipse is the basis of IBM‘s IDE WSAD

n Many vendors are providing Eclipse

(11)

Eclipse: Projects

n

Multiple projects can be

opened at the same time

n

Project dependencies can be

declared

n

Workspace principle: a

workspace defines the scope

of accessible resources

n

No workspace switch

at run time

(12)

Eclipse: Perspectives and Views

n Perspective

u

Is composed of all visual components (views) for one aspect of the

development

u

Examples

l

Java perspective: Package view, Java editor, Outline pane for Java

source/class files

l

Debug perspective: Java editor, thread display, breakpoint list, etc.

n Quick and easy switch

n Perspectives are personalizable

u

Add/remove views

u

Compose new perspectives from existing views

(13)

Java and Debug Perspective

Java

Perspective

Debug

Perspective

(14)

Eclipse: Java IDE

n

Refactoring features

u

Move/rename classes and

methods

u

Repackage

u

Extract methods

u

Surround with try/catch

n

Pretty Printing

u

Configurable

n

Code completion (IntelliSense)

n

Import management

u

Configurable

n

Search features

u

References

u

Definitions

u

Read/write access

(15)

Eclipse: Java IDE

n

Incremental Build

n

Ant based build support

n

Support for building

archives

n

State-of-the-Art Debugger

u

Local and remote

debugging

(16)

Eclipse: PlugIn Development

n

Runtime Workbench

u

debug possibility

n

PlugIn Development

Environment (PDE)

n

Lazy initialization of

PlugIns

n

Easy deployment

n

„Everything is a PlugIn“

u

PlugIn dependencies

u

PlugIn versioning

n

Extension Point technology

u

Every PlugIn extends other

PlugIns at predefined

Extension Points

u

Every PlugIn can provide

Extension Points

(17)

Eclipse: Presenting the Workspace

n Direct

presentation of files and folders structure (Resource

Perspective)

n Special

abstraction layer for Java Perspective:

package -> class -> method / attr.

n

No generic abstraction layer

Resource

Perspective

Java

(18)

Agenda

è

Comparison ABAP Workbench /

Typical Java IDE

è

Eclipse

è

The SAP Framework

è

The J2EE toolset

(19)

Tool Integration Platform

The SAP Framework

Design

Time

Repository

(DTR)

Component

Build

Service

(CBS)

Software Logistics

(SL)

Run

Time

J2EE

Server

Java

DDIC

J2EE

Web

Dynpro

Web

Service

DTR/CBS/SL

Integration

Generic Model Abstraction Layer

Graphics

Deploy

Tool Service

Layer

(20)

The SAP Framework

Technological Approach

n

Use Eclipse as Java IDE (J2SE)

n

Use Eclipse as Tool Integration Platform for all development related

tools

u

SAP Technology (WebDynpro, Java Dictionary, ...)

u

Standard Technologies not supported by Eclipse (J2EE, XML, ...)

u

Infrastructure (Repository, Build, Software Logistics, ...)

Drawbacks

n

Lack of generic Model Abstraction Layer

u

No generic support for presenting Design Time Objects in a logical (not

physical) way

u

No basis for generic graphics enabling

Service Layer not sufficient

n

SWT / JFace UI approach instead of Swing

u

Little documentation

(21)

IDE overview

Eclipse Platform

J2SE

Tools

Model Abstraction Layer

Model Abstraction Layer

J2EE

Tools

Java

Dictionary

View

Designer

Service Layer

Service Layer

Application

Modeler

(22)

Example: WebDynpro Application Modeler

Diagramming based on

Graphics Engine

Diagramming based on

Graphics Engine

Eclipse

Framework

Model View based on

Model Abstraction

Layer

Grahics based on

Model Abstraction

Layer

Grahics based on

Model Abstraction

Layer

(23)

Service Layer Example: SAP UI layer

(24)

n

Validation against DTD

n

Schema based editing support: XMLInsight

n

Pretty Printer

n

Used in multiple multi-page editors (J2EE, Component Editor, ...)

(25)

Agenda

è

Comparison ABAP Workbench /

Typical Java IDE

è

Eclipse

è

The SAP Framework

(26)

Tool Integration Platform

J2EE Toolset

Design

Time

Repository

(DTR)

Component

Build

Service

(CBS)

Software Logistics

(SL)

Run

Time

J2EE

Server

Java

DDIC

Web

Dynpro

Web

Service

DTR/CBS/SL

Integration

Generic Model Abstraction Layer

Graphics

Deploy

Tool Service

Layer

Local File System

(27)

J2SE

Tools

J2EE Toolset

n

J2EE 1.3 support

n

Diagramming

n

Direct support of SAP J2EE Engine 6.30

Eclipse Platform

Model Abstraction Layer

J2EE

Tools

Java

Dictionary

View

Designer

Service Layer

Application

Modeler

Standard J2EE 1.3

Support

SAP J2EE Engine

Integration

(28)

J2EE Toolset: Supported J2EE 1.3 features

EJB

n

EJB 2.0

u

Session, Entity, Message Driven

n

EJB Assembly (EJBJar)

Web

n

Servlet

n

JSP

n

Filter

n

Listener

n

HTML

n

Web Archive (WAR)

Enterprise

Standard J2EE 1.3

Support

SAP J2EE Engine

Integration

(29)

J2EE Toolset

(30)

J2EE Toolset

Creation wizards for

n

Projects: EJB, EJB Assembly, Web, Web Assembly, Enterprise

Application

(31)

J2EE Toolset

Multi-Page Editors for all deployment descriptors

n

ejb-jar.xml, web.xml, application.xml

(32)

J2EE Toolset: SAP J2EE Engine Integration

Standard J2EE 1.3

Support

SAP J2EE Engine

Integration

SAP J2EE Engine

Developer‘s PC

Deployment

Local testing and debugging

SAP J2EE Engine

SAP J2EE Engine

LAN

Deployment

(33)

SAP Java IDE

SAP J2EE Engine

Developer‘s PC

Deployment

Local testing and debugging

SAP J2EE Engine

SAP J2EE Engine

LAN

Deployment

EAR Deployment

n

Launching of Visual

Deployment Tool from J2EE

Perspective

n

Local storage and editing of

Deployment Configurations

(34)
(35)

SAP Java IDE

SAP J2EE Engine

Developer‘s PC

Local Testing and debugging

LAN

Deployment

SAP J2EE Engine

SAP J2EE Engine

Local Test and Debug

Environment

n

Specify Server Settings in

„Preferences“ page

n

Start / Stop local J2EE Engine

from J2EE View

u

Normal or debug mode

n

Direct testing or debugging of

servlets / JSPs on local server

(36)
(37)

Q&A

(38)

Feedback

Please complete your session

evaluation and drop it in the box on

your way out.

Be courteous — deposit your trash,

and do not take the handouts for the

following session.

References

Related documents

Outline THREE factors that a young entrepreneur needs to consider when deciding what form of organization his or her business should take.. .2- SECTION A MODULE

SSW events with an enhanced MCAO response in the Barents Sea are associated with a ridge over Greenland and a trough over Scandinavia, leading to an anomalous dipole pattern of

ADVANCED TOPICS IN COMPUTING 2 (Elective/Semester Course) .5 credit 2644 This course is intended for those students having a high interest in computers and having the desire

The hybrid parallelization of existing discrete-event individual-oriented MPI implementation may bring excellent results depending on the communication pattern among the MPI

EO data are also suited to automated image classification (pixel- or object- based) that enables mapping of large areas far quicker than manual interpretation. This is primarily due

3118) A class that is declared inside the class is called has member inner class. First we need to create the Object of outer class and using this Object or the reference we need to

Old Habit: Paper CRF Process Primary Investigator Source Document CRC CRFs CRFs DB1 Double Data Entry Master Clinical 6 Query Report Form Site Sponsor Query Report Form CDM

} Component Component Component Composite Implementation Java Implementation Binding Web Service SCA SLSB .... Reference WSDL Java Service WSDL Java Binding Web Service SCA