You are on page 1of 35

ESS & WebDynpro

Ralf Halbedel
Development Architect ESS, SAP AG

Dr. Christian Wiele


Principle Consultant NW Foundation, SAP AG

Agenda

ESS Employee Self Services

Reasons for a new UI

Project scope and design paradigms

Development process

Recognizing floorplans and interaction patterns

Using WebDynpro and JDI

Basic Architecture of ESS

Integration in SAP Enterprise Portal

Demo

Demo of an ESS service: Leave Request

ESS / WebDynpro Stabilization Project

2 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Why ESS got a new UI


Current status of ESS out in the market

High volume product (number of users in the millions) designed and


developed 1996 - 98
Considerable productivity gains with a transparent ROI

More user groups

Typical ESS-user used to be the educated computer-savvy white collar


employee in the service industry
ESS moves to every desktop and even into blue collar area (Kiosk-systems)

A new paradigm

the key to a high ROI is acceptance and usability


Priority: Usability beats functionality

Technology: a new generation

Replacement of the ITS by WebDynpro


Simplification of the system landscape by the Web Application Server
New standard in portal integration

A new face not a facelift

Replacement of a proven but aging product

3 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Project Scope
ESS design Outside-in approach

customer visits, analyst and customer workshops


UI First: extensive usability tests on UI prototypes with endusers

ESS reimplementation

Most popular services according to usage


Typically most user volume and highest frequency of usage
Coverage of all US and DE specific functionality

ESS Scenarios

Time recording (CATS)


Leave request
Benefits
Skills profile
Personal information: address, bank, family, previous employers ...
localized for up to 30 country versions
Remuneration statement, time statement
Travel expenses, travel planning
...

4 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

General design paradigms to improve usability


A casual ESS user knows how to use popular consumer
web-services like online banking, Amazon, Ebay, etc.
But not how to use R/3, Siebel, or PeopleSoft !
Design Rules

Intuition and trust instead of efficiency


Lead the user, confirmation of user action
Summary of all consequences (changes, cost, order etc...) on a
confirmation screen after save, send, enroll, order etc...
Minimalism:
only the relevant use-cases
dont mess up the UI with 10% cases
only the relevant information but the right context information on demand
only few controls and simplified versions of controls

Consistency: use of the same user interaction pattern


Use of real life metaphors (e.g. business card, calendar, )
No toolbar, buttons within the screens close to the relevant fields
Short instruction texts
5 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Header

Roadmap
Context Information

Formular

6 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Header

Roadmap
Review

7 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Header

Roadmap
Message Area
Confirmation

8 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

ESS Floorplan / Pattern


Header Pattern
Roadmap Pattern
Message Area

Header Pattern

Context Assistant Pattern

Roadmap Pattern
Message Area

Header Pattern

Review

Roadmap Pattern
Message Area

Object Manipulation Pattern

9 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Confirmation

ESS Pattern / Floorplan conclusions

There is a well defined Floorplan for the Self Service


Applications

There are some well defined Patterns that can be


implemented centrally and configured for the different Self
Service Applications. e.g. Roadmap Pattern, Header
Pattern,...

It is not possible to implement all patterns as central


configurable components due to the complexity of the
requirements, e.g. Object manipulation pattern

No decoupled backend layer according to the Enterprise


Service Architecture.

10 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Floorplan Manager
Floorplan Manager is the central WebDynpro Component
providing the framework for an application

Implementing different floorplans using configuration components

Initializing the application components

Dynamically building the view assembly

Provide an interface for building visual components and enable


reuse of the visual components.

Handling the event loop

Self service
application

Floorplan Manager
Component

Configuration
Component

Window

Screens
Configuration

11 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Events

Floorplan Manager Configuration for Self Services


Support for the Self Service specific Floorplan

Header

Menu and Area Pages

Roadmap

Message Area

Context Assistants

Handle different environments

Portal

Life and Work Events / Guided Procedures

ESS in Manager Self Service

User and Person Management

Handle Connections to the Backend

Roles and Authorizations

Later: Personalization

12 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Application Components
Perspectives

Edit
Header

Visual
Application
Components

Review
Header

Confirmation
Header

Roadmap

Roadmap

Roadmap

VcLeaveEdit

VcLeaveReview

VcLeaveConfirm

Business Logic
Components

RFC-Models

Backend
system

13 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

FcLeaveRequest

LeaveModel

Function modules

Application development
Application Configuration

Perspectives: visual app components

Navigation: events changing the perspective

Roadmap, Central Assistant configuration

Visual Application Components

Visual parts of the application

Reusable in different Self Service Applications

Business Logic Components

Provide efficient access to the business logic

Implementation with RFC-Models

Later switch to ESA-technology possible

14 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Highlevel UML model of Self Service applications


Floor Plan Manager
FPMComponent
Component
Controller

<uses>

FcEmployeeServices
FcNavigation
class FPM
Utility Components

Component
Interfaces

class ApplicationContext
<implements>
class MessageManager

FPMComponentWindow
Interface
IFPM
<implements>

<launch>

XSSApp
VcXSSApp1
Component
Interface
Controller

Application
Properties

15 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Utility Classes

<supplies>

<uses>

<uses>

Component Architecture
Self Service applications make use of software
components from 3 layers

TECHDEV: Basis functionality of J2EE, WebDynpro


etc.

PCUI_GP: Floorplan Manager, Utilities,

ESS: all Employee Self Services

Integration of components

Dependencies between SCs are set at design-time


and are evaluated both at build- and at run-time

Development components expose their interfaces


via public parts

Reuse of functionality is made on DC-level by


declarative usage of public parts

Granularity

1 DC normally reflects 1 self service

16 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Software and development components for Self Services

Software Components

ESS - Employee Self Services


~150 Development Components
~180 Self Service Applications
~780 WebDynpro components

PCUI_GP - Reusable parts for all self


service applications
8 Development Components
~40 WebDynpro Components

MSS Manager Self Services


Development has started!

17 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Java Development Infrastructure during development

Component
Build Service

Design Time
Repository
Component
Model

Name Server
Local Test Server

18 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Change Management Service

Developer Studio

Central
Test
Server

Integration in SAP Enterprise Portal 6.0


ESS Applications

Are integrated with the iView creator wizard into the portal

Have no additional portal-specific code, but use the WebDynpro


APIs to run there

Runtime integration handled by Floorplan Manager

No additional code on application side necessary

Portal-specific WebDynpro APIs are implemented centrally in the


Floorplan Manager

Generic portal-specific UI processes handled centrally


confirm
use

loss-of-data vs. work-protect mode

menu navigation vs. toplevel navigation

display

own header vs. usage of portal header

19 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

20 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Creating ESS WebDynpro iViews using the iView wizard

21 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

22 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

23 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

24 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

25 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

26 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

27 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

28 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

ESS & WebDynpro


Stabilization Process
Dr. Christian Wiele
Principle Consultant NW Foundation, SAP AG

Stabilization Process for ESS / Web Dynpro

Optimization
Development

Functional
Stabilization

MTBF

Increasing
Complexity

Scalability
more
scenarios

30 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

include
portal

KPIs: Stability/Scalability/Performance/Resources

1 Hour no fail
Platform only
50 concurrent users
Any response

June 1st

2 Hr no fail
Application
50 concurrent users
<6 sec response

8 Hr no fail
Platform without App
200 concurrent users
<6 sec response

12 Hrs no fail
Full system with App
500 concurrent users
<3 sec response

24 Hrs no fail
Full system w/App
1000 concurrent users
<3 sec response

Sep 1st

Nov 1s

Jan 1st

Feb 15th

31 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Test Results

Number of simulated active ESS users

# active users

1200
1000
800
600
400
200
0
Oct-03

Nov-03

Dec-03

Jan-04

Feb-04

1000 active users ~23.000 ESS scenarios / hour

32 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Test Configuration
Load generation
1000 concurrent users
10 sec think time

SLD (Engine)
1 AppServer

HTTP

SAP Web
Dispatcher

HTTP

J2EE
Database

HTTP

pwdf2092
(2 x 2,4GHz, 4GB)

pwdf2090
ESS
(2 x 2,4GHz,
4GB)
Benefits
pwdf2089
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40

SLD
J2EE
Engine 6.40

ESS Backend (R/3)


7 AppServers / 1 DBServer
limit ~ 1000 concurrent users

pwdf2030
(2 x 2,4GHz, 4GB)

pwdf2029
(2 x 2,4GHz, 4GB)

pwdf0257
(4 x 550 MHz, 4GB)
LoadRunner
7.8

ESS Frontend (Engine)


6 AppServer
limit ~ 1000 concurrent users

pwdf2088
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2087
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2086
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
ESS
J2EE
Benefits
Engine 6.40
J2EE
Engine 6.40
J2EE
Database

pwdf2091
ESS
(2 x 2,4GHz,
4GB)
Benefits

jRFC

pwdf2041
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2040
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2113
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2112
ESS
J2EE
(2 x 2,4GHz,
4GB)
Benefits
Engine
6.40
pwdf2111
ESS
J2EE
(2 x 2,4GHz,
Benefits
Engine4GB)
6.40
pwdf2048
ESS
J2EE
(2 x 2,4GHz,
4GB)
Benefits
Engine 6.40
Central
J2EE
Instance
Engine 6.40
R/3
Database

33 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Conclusion
ESS / Web Dynpro
Web Dynpro is a robust technology for large scale ESS
deployments with very good performance
Project management (projects with lots of customer code)
Stabilization takes time !

plan the stabilization process in an early stage of the project

start with single-user tests, increase complexity over time

34 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

Copyright 2003 SAP AG. All Rights Reserved

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, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver 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 the trademarks of their respective companies.

35 SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel

You might also like