ESS & WebDynproRalf HalbedelDevelopment Architect ESS, SAP AG
Dr. Christian WielePrinciple Consultant NW Foundation, SAP AG
2 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Agenda
ESS – Employee Self ServicesReasons for a new UIProject scope and design paradigms
Development processRecognizing floorplans and interaction patternsUsing WebDynpro and JDIBasic Architecture of ESSIntegration in SAP Enterprise Portal
DemoDemo of an ESS service: Leave Request
ESS / WebDynpro Stabilization Project
3 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Why ESS got a new UI
Current status of ESS out in the marketHigh volume product (number of users in the millions) designed and developed 1996 - 98Considerable productivity gains with a transparent ROI
More user groupsTypical ESS-user used to be the educated computer-savvy white collar employee in the service industryESS 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 WebDynproSimplification 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
4 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Project Scope
ESS design – Outside-in approachcustomer visits, analyst and customer workshopsUI 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 ScenariosTime recording (CATS)Leave requestBenefitsSkills profile Personal information: address, bank, family, previous employers ...
localized for up to 30 country versionsRemuneration statement, time statementTravel expenses, travel planning...
5 © 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 RulesIntuition 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-casesdon‘t mess up the UI with 10% casesonly the relevant information but the right context information on demandonly 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 fieldsShort instruction texts
6 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Roadmap
Formular
Context Information
Header
7 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Roadmap
Review
Header
8 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Roadmap
Confirmation
Header
Message Area
9 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
ESS Floorplan / Pattern
Confirmation
Roadmap Pattern
Message Area
Header Pattern
Review
Roadmap Pattern
Message Area
Header Pattern
Object Manipulation Pattern
Context Assistant Pattern
Roadmap Pattern
Message Area
Header Pattern
10 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
ESS Pattern / Floorplan conclusions
There is a well defined Floorplan for the Self Service ApplicationsThere 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 patternNo decoupled backend layer according to the Enterprise Service Architecture.
11 © 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 componentsInitializing the application componentsDynamically building the view assemblyProvide an interface for building visual components and enable reuse of the visual components.Handling the event loop
Self service application
Floorplan Manager Component
Window
Configuration
•Screens
•Events
Configuration Component
12 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Floorplan Manager Configuration for Self Services
Support for the Self Service specific FloorplanHeaderMenu and Area PagesRoadmapMessage AreaContext Assistants
Handle different environmentsPortalLife and Work Events / Guided ProceduresESS in Manager Self Service…
User and Person ManagementHandle Connections to the BackendRoles and AuthorizationsLater: Personalization
13 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Application Components
Edit Review ConfirmationPerspectives
VcLeaveEdit
Roadmap
Header
VcLeaveReview
Roadmap
Header
VcLeaveConfirm
Roadmap
Header
VisualApplicationComponents
Backendsystem
Function modules
LeaveModelRFC-Models
FcLeaveRequestBusiness Logic Components
14 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Application development
Application ConfigurationPerspectives: visual app componentsNavigation: events changing the perspectiveRoadmap, Central Assistant configuration
Visual Application ComponentsVisual parts of the applicationReusable in different Self Service Applications
Business Logic ComponentsProvide efficient access to the business logicImplementation with RFC-ModelsLater switch to ESA-technology possible
15 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Highlevel UML model of Self Service applications
FPMComponent
<uses> class FPMComponent Controller
FPMComponent-Window
XSSApp
InterfaceIFPM
<implements>
VcXSSApp1
ComponentInterfaceController
<uses>
ApplicationProperties
<launch>
class MessageManager
<uses>
class ApplicationContext
Utility Classes
<supplies>
ComponentInterfaces
Floor Plan Manager
<implements>
FcEmployeeServicesFcNavigation
Utility Components
16 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
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 componentsDependencies between SCs are set at design-timeand are evaluated both at build- and at run-timeDevelopment components expose their interfaces via public partsReuse of functionality is made on DC-level bydeclarative usage of public parts
Granularity1 DC normally reflects 1 self service
17 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Software and development components for Self Services
Software ComponentsESS - 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!
18 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Java Development Infrastructure during development
Developer Studio
ComponentBuild Service
Cha
nge
Man
agem
ent S
ervi
ce
CentralTest
Server
ComponentModel
Design Time Repository
Local Test Server
Name Server
19 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Integration in SAP Enterprise Portal 6.0
ESS Applications Are integrated with the iView creator wizard into the portalHave no additional portal-specific code, but use the WebDynproAPIs to run there
Runtime integration handled by Floorplan ManagerNo additional code on application side necessaryPortal-specific WebDynpro APIs are implemented centrally in theFloorplan ManagerGeneric portal-specific UI processes handled centrally
confirm loss-of-data vs. work-protect modeuse menu navigation vs. toplevel navigationdisplay own header vs. usage of portal header
20 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
21 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Creating ESS WebDynpro iViews using the iView wizard
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 & WebDynproStabilization Process
Dr. Christian WielePrinciple Consultant NW Foundation, SAP AG
30 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Stabilization Process for ESS / Web Dynpro
OptimizationFunctional
StabilizationIncreasingComplexity
MTBF Scalability
morescenarios
includeportal
Development
31 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
KPIs: Stability/Scalability/Performance/Resources
• 24 Hrs no fail• Full system w/App• 1000 concurrent users• <3 sec response
• 12 Hrs no fail• Full system with App• 500 concurrent users• <3 sec response
• 8 Hr no fail• Platform without App• 200 concurrent users• <6 sec response
• 1 Hour no fail• Platform only• 50 concurrent users• Any response
• 2 Hr no fail• Application• 50 concurrent users• <6 sec response
June 1st Sep 1st Nov 1s Jan 1st Feb 15th
32 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Test Results
Number of simulated active ESS users
0200400600800
10001200
Oct-03 Nov-03 Dec-03 Jan-04 Feb-04
# ac
tive
user
s
1000 active users ~23.000 ESS scenarios / hour
33 © SAP AG 2004, Java Dev Day, ESS & WebDynpro, Ralf Halbedel
Test Configuration
Load generation• 1000 concurrent users• 10 sec think time
ESS Frontend (Engine)•6 AppServer•limit ~ 1000 concurrent users
ESS Backend (R/3)•7 AppServers / 1 DBServer•limit ~ 1000 concurrent usersSLD (Engine)
•1 AppServer
J2EEDatabase
pwdf2029(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
SLD
pwdf0257(4 x 550 MHz, 4GB)
LoadRunner7.8
HTTPjRFC
HTTP
SAP Web Dispatcher
pwdf2030(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2090(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2089(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2088(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2087(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
J2EEDatabase
pwdf2086(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2092(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2091(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2041(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2040(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2113(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2112(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
pwdf2111(2 x 2,4GHz, 4GB)
J2EE Engine 6.40
ESS Benefits
R/3Database
pwdf2048(2 x 2,4GHz, 4GB)
CentralInstance
HTTP
34 © 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 projectstart with single-user tests, increase complexity over time
35 © 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.