You are on page 1of 28

SAP White Paper

mySAP TECHNOLOGY

WEB DYNPRO:
PROFESSIONAL
WEB-BASED
USER INTERFACES
VERSION 1.2
© Copyright 2002 SAP AG. All rights reserved. Citrix®, the Citrix logo, ICA®, Program Neighborhood®,
MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other
No part of this publication may be reproduced or transmitted Citrix product names referenced herein are trademarks of
in any form or for any purpose without the express permission Citrix Systems, Inc.
of SAP AG. The information contained herein may be changed
without prior notice. HTML, DHTML, XML, XHTML are trademarks or registered
trademarks of W3C®, World Wide Web Consortium,
Some software products marketed by SAP AG and its Massachusetts Institute of Technology.
distributors contain proprietary software components of
other software vendors. JAVA® is a registered trademark of Sun Microsystems, Inc.

Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and JAVASCRIPT® is a registered trademark of Sun Microsystems,
SQL Server® are registered trademarks of Microsoft Inc., used under license for technology invented and
Corporation. implemented by Netscape.

IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business
MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE,
pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, Management Cockpit, mySAP, mySAP.com, and other SAP
WebSphere®, Netfinity®, Tivoli®, Informix and Informix® products and services mentioned herein as well as their
Dynamic ServerTM are trademarks of IBM Corporation in USA respective logos are trademarks or registered trademarks of SAP
and/or other countries. AG in Germany and in several other countries all over
the world. MarketSet and Enterprise Buyer are jointly owned
ORACLE® is a registered trademark of ORACLE Corporation. trademarks of SAP Markets and Commerce One. All other
product and service names mentioned are the trademarks of
UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks their respective owners.
of the Open Group.

2
CONTENTS
mySAP TM Technology for Open E-Business Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Executive Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

Web Dynpro Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

The Usability of Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9


Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Support for Multiple Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Support for Multiple Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Support for Multiple Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Rapid Adaptability and Effective Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Customization and Personalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
– Appropriate Method of Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
– Globalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Architecture and Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
– The Design-Time Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
– The Runtime Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
– Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Migrating Dynpro-Based Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Glossary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

Document History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Version 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3
mySAP TECHNOLOGY FOR OPEN E-BUSINESS INTEGRATION

mySAP TM
TECHNOLOGY FOR OPEN E-BUSINESS INTEGRATION
To gain a sustainable competitive advantage, companies need • mySAP Technology powers enterprise, cross-boundary appli-
to drive collaborative business. And to implement collaborative cations, and collaborative business processes based on one
business, companies need to integrate their existing heteroge- common infrastructure for integration within and beyond
neous IT landscapes and extend this integration to their busi- company boundaries.
ness partners, customers, and suppliers. This integration will • mySAP Technology features syndicated Web services,
then create an open platform that provides existing applica- allowing for the integration of people, processes, and
tions as Web services and enables cross-applications – a new information based on shared collaboration knowledge.
type of application that combines existing and new Web services
that cross functional, technical, and organizational boundaries. And mySAP Technology does all this while protecting existing
As companies implement collaborative business, mySAP TM Tech- investments and achieving the lowest possible cost of owner-
nology enables them to manage heterogeneity and powers ship. mySAP Technology is the foundation of SAP ® R/3 ®
collaborative solutions. It does so for several reasons: Enterprise, all mySAP.com® solutions, and cross-applications.
• mySAP Technology is a native Web infrastructure based With mySAP Technology, SAP solves the integration challenge
on open standards for reliable e-business solutions. It from a business perspective.
is designed to operate in heterogeneous environments,
integrating any application from any vendor based on any
technology.

[1] mySAP Technology


A Web Services Architecture for Open E-Business Integration

[2] SAP Enterprise Portal [5] Security


People-Centric Collaboration Secure Business in Open Environments
[7] Web Dynpro
Professional Web-Based
User Interfaces
[8] SAP Business Information
Warehouse [6] IT Landscape Management
Structured Information Integration Life-Cycle Management of Distributed Environments
[3] SAP Web
Application Server
Reliable Web Services
Provision
[4] SAP Exchange Infrastructure
Process-Centric Collaboration [9] Globalization
Meeting Local and Global Requirements

5
mySAP TECHNOLOGY FOR OPEN E-BUSINESS INTEGRATION

Exte
rnal
p s) Leg
xAp acy
s(
ion 3rd
licat 3rd
Par
ty
A pp
al Cus Par
i o n m t o t y
ct ySA me &
fun PB rD
ev.
r o ss- my
S I
, c AP
iv e my FIN
rat SA
bo

Web-Sphere
PC
o lla m yS R M
C AP
my PLM
SA
my PS 3
R/ ise

.NET/
SA CM
my PH S AP rpr
SA R te
SA
PS
RM En Organizational
PE Boundaries
n
ter
pr
ise
SA Po
P
Wa B r ta
re usi ls er Technology
ho ne rv Boundaries
us ss Se
e Inf n
o io
SA or
ma n pr cat
li
P tio Dy p
Ex
ch n eb Ap
an W eb
ge W
In P
fra SA
st
ru
ct
ur
e

The key building blocks of mySAP Technology are: • Web Dynpro: To design and operate powerful presentation
• SAP ® Enterprise Portal: Integrating people and unstruc- logic for professional, highly interactive user interfaces
tured information to empower individuals • Infrastructure services: Powerful and integrated services,
• SAP ® Business Information Warehouse: Integrating including security, IT landscape management, and globali-
structured information to make smarter decisions zation
• SAP ® Exchange Infrastructure: Integrating processes
to drive end-to-end collaborative business processes This white paper is part of a series of nine white papers explain-
• SAP ® Web Application Server: A reliable infrastructure ing the architecture and vision of mySAP Technology. This
for portals, warehouses, exchanges, and all application com- white paper describes SAP’s Web Dynpro technology and ex-
ponents, providing Web services in Java 2 Platform, Enterprise plains how professional, highly interactive user interfaces can
Edition (J2EE), and ABAP through open standards be designed using this open, standards-based environment.
The figure on the previous page lists all nine white papers.

6
Executive Summary

EXECUTIVE SUMMARY
New, native Web technologies, such as SAP ® Web Application Web Dynpro provides additional services for easy deployment
Server, include flexible, server-side scripting technology. But and maintenance, as well as device independence and inter-
that is not sufficient to create and maintain platform-inde- nationalized support of browser-based interfaces. Caching
pendent, fast, and highly interactive user interfaces that are mechanisms guarantee fast response for highly interactive user
consistent through several applications. Therefore, SAP Web interfaces.
Application Server uses Web Dynpro technologies to handle
the presentation logic of business Web applications. As an inte- In all these ways, SAP supports the development and operation
gral part of SAP Web Application Server, Web Dynpro technolo- of Web applications and Web services for professional user inter-
gy is a powerful presentation layer for creating easy-to-use user faces. Companies can use their favored runtime environment
interfaces that are fast, easy to develop, and provide a low cost and any Web browser to run their business Web applications.
of operations. Through Web Dynpro, SAP makes the benefits of a powerful
environment for user interface development available to devel-
Web Dynpro provides a design-time environment that is inde- opers using Java 2 Platform, Enterprise Edition (J2EE), ABAP TM,
pendent of the underlying runtime environment and enables and Microsoft .NET.
companies to model and design user interfaces cost-effectively
and precisely. Web Dynpro is backed by rich usability patterns,
exploits information about business data types, and runs on
multiple devices, networks, and platforms. Web Dynpro’s
design-time tools are integrated into the development environ-
ment that is an integral part of SAP Web Application Server.

7
WEB DYNPRO TECHNOLOGY

WEB DYNPRO TECHNOLOGY


SAP Web Application Server is a scalable and reliable com- ports location-independent rendering so that the decision
ponent platform. It supports the development and operation whether to create the user interface on the client or on the
of both J2EE and ABAP-based Web applications, as well as Web server can be made dynamically and automatically at runtime
services. For more information on the SAP Web Application based on client capabilities, computing power, or network
Server see the white paper entitled SAP Web Application Server: bandwidth availability.
Building Reliable Business Applications.
SAP's Web Dynpro technology closes the huge gap between
Web Dynpro provides a design-time environment that allows typical Web development tools and the need for cost-effective,
companies to model and create browser-based user interfaces. responsive, easily adaptable, maintainable, and professional
This environment leverages their ability to build cost-effective browser-based user interfaces for business solutions. Web Dyn-
and easy-to-use user interfaces for all kind of business pro technology uses declarative design principles similar to
solutions. SAP’s Dynpro technology. In fact, companies will be able to
migrate existing Dynpros into the new world of Web Dynpro.
Web Dynpro also provides a standards-based runtime environ- However, Web Dynpro goes far beyond the original Dynpro
ment that is device agnostic and bridges the gap between technology. Web Dynpro is a completely new technology
different platforms like J2EE, ABAP, and .NET, different Web designed for Web applications.
browsers, and different mobile devices. This environment sup-
Web Dynpro provides a design-time environment and a stan-
dards-based runtime environment. In the design-time environ-
SAP Web Application Server ment, developers construct a user interface on a unified meta-
model layer. Runtime objects and services are generated for
Web Dynpro
the different Web Dynpro runtime platforms – J2EE, ABAP,
Meta Model or.NET – from this meta-model layer.

J2EE ABAP

Figure 1: Web Dynpro: Integral part of the SAP Web Application Server

8
THE USABILITY OF WEB APPLICATIONS
Requirements

THE USABILITY OF WEB APPLICATIONS


Most Web applications lack the comfort and usability of familiar Support for Multiple Networks
PC software packages. They offer little or no help on entering Collaborative business scenarios cross the borders of local area
data in the right format. Web applications usually don’t honor networks and globally connect business partners via the Inter-
locale settings, forcing users to provide a date in exactly the net, virtual private networks, and satellite connections, and
format demanded – not the one they actually use. There is no they potentially access Web services through mobile devices.
such thing as a defined tab order to allow users to switch bet- Connections like these demand Web applications that reduce
ween entry fields quickly and conveniently. Error handling is bandwidth requirements and minimize the number of server
often poorly implemented, forcing users to reenter a lot of data round-trips.
if they make an invalid entry somewhere. And Web applications
usually don’t provide a stable, consistent user interface so after Support for Multiple Platforms
each data submission users are prompted with a completely Companies have made huge investments in a multitude of
new Web page. They rarely maintain context or state. hardware and software platforms. That means server platform
independence is critical for every Web technology that tries to
Web applications do not fail to provide a state-of-the-art user integrate itself into any existing infrastructure. Therefore, SAP’s
interface because of technical limitations. The real reason is the high-level Web programming environment supports ABAP and
immense effort required to develop and maintain user inter- J2EE, and it will be open to support new technologies, such as
faces with typical Web development tools. When it comes to Microsoft .NET.
working with mission-critical business data and exposing core
business processes in a Web browser, they simply fall short. Rapid Adaptability and Effective Maintenance
Companies must be able to rapidly adapt business processes
REQUIREMENTS to meet changing requirements. A Web development environ-
A professional Web application development and runtime ment for Web services has to offer ways to easily and efficiently
environment requires the following capabilities. change the look, feel, and behavior of applications. And the
adapted Web service has to be redeployed instantly.
Support for Multiple Devices
To let an entire company and ecosystem participate in collabo- Customization and Personalization
rative business scenarios, a subset of the Web services (at least) User interfaces need to fit the business processes, as well as
must be enabled for Web browsers on desktop PCs and mobile individual requirements and preferences. The look and feel of a
devices like personal digital assistants (PDAs), cellular phones, Web application needs to be adjusted to suit corporate branding
or touch-screen devices. Companies need a common program- and the flow of user interaction. To preserve the ability to easily
ming model, a common development environment, and a upgrade Web applications and to support modification-free
common runtime environment to cost-effectively develop branding, customization, and personalization, presentation
applications for multiple platforms. logic, and business logic must be strictly separated. A declara-
tive programming model helps to achieve that separation.

9
THE USABILITY OF WEB APPLICATIONS
Requirements
Architecture and Features

Appropriate Method of Interaction • The Design-Time Environment


Point-and-click functions provide good interaction for, say, a Presentation design, dialog logic, and business logic are sepa-
Web shop. But professional users like call center clerks entering rated following the broadly accepted model-view-controller
customer orders while on the phone often prefer a consistent, (MVC) paradigm. This allows for a role-driven development
more keyboard-based user interface that supports efficient data process that clearly separates user interface design from busi-
entry, improved focus handling, defined tab ordering, and ness logic implementation.
flicker-free screen updates. Maintaining a consistent look and
feel on the process, application, and simple or complex screen • The Runtime Environment
level requires adequate tools for choosing and implementing A common service layer is available on each of the supported
sophisticated usage patterns. platforms for processing applications. This layer provides
almost every standard, generic function found in a typical
Globalization business user interface.
Working in global markets means working with people of all
nationalities. Customers and partners expect a company to • Portability
adapt to their language and culture, not vice versa. If a call cen- Web Dynpro applications are highly portable because Web
ter crew speaks customers’ languages, so should the software Dynpro uses a meta-model based on Extensible Markup
they use. Language (XML) and location-independent rendering as the
foundation for the Web Dynpro runtime. The declarative
ARCHITECTURE AND FEATURES design-time environment generates the runtime code for
Web Dynpro technology is an integral part of mySAP Tech- J2EE, ABAP, and .NET runtime environments.
nology and SAP Web Application Server. Business applications
built with this technology seamlessly integrate into SAP ® Enter- The Design-Time Environment
prise Portal and can use the Web services provided through Runtime platform abstraction is a main design criteria of Web
SAP Web Application Server and SAP ® Exchange Infrastructure. Dynpro. This requires backing as many development aspects
Even though the tools, services, and interfaces are streamlined with metadata-based tools and exposing developers to as few
to operate in the mySAP.com® environment, the Web Dynpro runtime platform specifics as possible.
development and runtime components can potentially be used
in conjunction with arbitrary back-end or front-end infrastruc- When developers design an application, most of the metadata
tures. (data types, screen definitions, process or dialog flow, and
validation rules) is known before implementation. Using
Web Dynpro operates on the server; no additional coding is development tools to explicitly declare this information allows
needed on the client device. The programming model is based applications to automatically derive code for different run-
on portability, the design-time environment, and the runtime time environments. This considerably reduces the amount of
environment. manual coding, and it saves time and money on development,
customization, and maintenance.

10
THE USABILITY OF WEB APPLICATIONS
Architecture and Features

The Web Dynpro tools, which are part of the integrated devel- Dialog flow specification with a graphical user interface
opment environment of SAP Web Application Server, support allows developers to design and modify the dialog flow im-
the core functions. These functions include specifying dialog plemented by a particular Web application. Developers can
flows, designing and composing views (for example, the graphi- model a graph of an application’s dialog steps and the possible
cal presentation of a page), modeling business data types, and sequences – or transitions – of these steps. This allows for easy
customizing all of these aspects. For more information, see the modification and adaptation to changing business require-
white paper entitled SAP Web Application Server: Building ments with little or no code modification.
Reliable Business Applications.
A repository for business data types, which can be coupled
Designing views allows developers to specify the graphical with existing metadata repositories, such as the data dictionary
representation of a screen or part of a screen, composing them in the ABAP environment, holds metadata to automatically
from user interface elements like buttons, edit fields, or tables. generate code for features relevant to data type, such as input
These elements can be bound interactively to data sources validation and value help.
defined in a repository for business data types. Developers can
also flexibly group fields to field sets and define a view’s tab Customization helps to adapt the user interface at a cus-
order and many other layout aspects. View design can be spe- tomer site without changing business logic and ensures stability
cific to a class of devices, such as full-screen devices, quarter- during upgrades. Web Dynpro offers a catalog of different
screen handhelds, or Wireless Application Protocol (WAP) customization proceedings for typical changes in the user
phones. Web Dynpro’s tools support these different form interface. Each proceeding provides a special, wizard-guided
factors and device capabilities so developers can design views approach to simplify the customization process. For example,
that use the most appropriate features of the device. However, typical customization efforts include adding a company logo,
they use the same familiar set of controls whatever type of changing a layout, or entering default values.
browser or device they want to address.
The Runtime Environment
Composing views involves assigning interaction patterns or The runtime environment is based on the server-side scripting
views based on templates to all the Web pages of an application. programming model and platform-independent control
Developers can also describe the relations between these views. libraries. Web Dynpro also provides a set of runtime services
For example, a master-detail pattern can display a list of sales and framework components that reduce maintenance tasks
orders in the master view and the detail properties of an order and improve performance, as well as users’ experience.
in the detail view. The key of the selected order in the master
view determines which detail data is displayed on the detail BEST-OF-BREED CLIENT FEATURES
screen. This association is declared, and developers don’t need Applications based on the lowest common denominator of
to add glue code. Developers can also reuse composed views multiple target devices often perform poorly and have limited
(called ViewSets in Web Dynpro). functionality. Many applications only use a subset of current
standards. Differences in browser capabilities often lead devel-
opers to implement only what is possible on most browser
platforms, not on specific browsers.

11
THE USABILITY OF WEB APPLICATIONS
Architecture and Features

Web Dynpro does not follow the lower common denominator Web Dynpro uses the scripting capabilities of the browser for
approach to development. Instead, it encourages developers to other aspects as well, such as focus handling and support for
take advantage of the features of the targeted client device. But various input devices like mice, keyboards, touch screens, bar-
this doesn’t mean that Web Dynpro applications are restricted code scanners, and so on. Scripting also enables Web Dynpro to
to a single type of device. Because of the declarative nature of achieve flicker-free screens – page content is updated without
the Web Dynpro programming model, it can also support other visibly rebuilding the screen.
compatible devices. Incompatible devices can often be support-
ed with minimal configurations without breaking the func- One of the difficult aspects of developing browser-based Web
tionality of the supported devices. For example, a highly applications involves properly handling error situations. Web
responsive application written for Microsoft Internet Explorer Dynpro provides automatic input assistance combined with
5.x will also work on a Netscape 4.x browser with no additional default error handling for many typical scenarios, including:
configuration, but responsiveness may be reduced because of • Syntactic checks on the field level (like the date of a certain
different scripting capabilities. The same application may also format)
need to run on a handheld device, but this will require a • Checks based on the declared business data type of a field
certain amount of modifications (such as view definitions, (such as material number) or custom code
adapting the process or navigation flow, rendering on the • Combined checks based on not only a single data field, but
server, and so on). arbitrary sets of fields (like postal code and city)
• Semantic checks on multiple fields (like end date must be
INPUT ASSISTANCE AND ERROR HANDLING after start date)
Making use of advanced Web browser capabilities is an essential
strategy of Web Dynpro. This approach allows clients to handle Error handling also automatically marks the erroneous entries
many tasks without requiring a server round trip at all. in fields and helps users correct the mistake by setting the
input focus to the erroneous field and providing suggestions,
By using a declarative programming model, Web Dynpro can for example.
provide metadata that is automatically made available at run-
time for interpretation on the client. For example, input vali-
dation is based on the declared business data type of the field.
Client-side scripting can interpret the metadata representing
this declared business data type to help users enter values in the
correct format. This check does not need to be processed on
the server, which noticeably improves responsiveness.

12
THE USABILITY OF WEB APPLICATIONS
Architecture and Features

ROUND-TRIP AND BANDWIDTH OPTIMIZATION Because of the strict separation of layout and content (as
Caching is a key element to increase the responsiveness of shown in Figure 2), the framework supports location-inde-
browser-based Web applications. It is also one of the key per- pendent rendering (client-side versus server-side rendering).
formance features of Web Dynpro. Because of the declarative In other words, depending on the capabilities of the client
model, developers can create documents like screen layouts device, an HTML page can be rendered either on the server
or views at design or deployment time. This allows automatic or the client.
preloading and caching of these documents to improve the
response time.

Statistic Layout
(requested few times)

SAP Web Application Server

Product Overview
Web Dynpro Runtime
ID Description available

Choose a product from


Product Overview list to view the details.

ID Description available

10 ABC 40 yes
11 ABC Pro yes
User Client
12 ABC 50+ yes

Choose a product from


list to view the details.
Application
<Product
ID="11" Available="yes">
<Description>
ABC Pro
</Description>
</Product>

<Product
ID="12" Available="yes">
<Description>
ABC 50+
</Description>
</Product>

Dynamic Data
(requested more often)

Figure 2: Separation of Layout and Content

13
THE USABILITY OF WEB APPLICATIONS
Architecture and Features

As Figure 3 illustrates, a simple client (like an old browser or a figuration and does not require modification to either the
PDS browser) may not support client-side scripting or process application code or the presentation code. The Web Dynpro
XML transformations so this client may require that the server runtime can inspect the capabilities of the client and automa-
generate the HTML page before sending it to the browser. More tically decide on the right way to treat it. For example, a smart
powerful browsers (the “advanced clients” in the figure) can browser may still have to be given server-side generated HTML
inject the content into the page on the client using XML and if a company disables client-side JavaScript.
JavaScript. This location independence is driven purely by con-

Product Overview Web Dynpro Runtime


ID Description available

Chose a product from


list to view the details.
Data Merging

Product Overview Product Overview


ID Description available ID Description available
10 ABC 40 yes Simple 10 ABC 40 yes

User 11 ABC Pro


12 ABC 50+
yes
yes Client 11 ABC Pro
12 ABC 50+
yes
yes

Chose a product from Chose a product from


list to view the details. list to view the details.

<Product
ID="11" Available="yes">
<Description>
ABC Pro
</Description>
</Product>

<Product
ID="12" Available="yes">
<Description>
ABC 50+
Application
</Description>
</Product>

Product Overview
ID Description available

Chose a product from


list to view the details.
Data Merging

Product Overview
SAP Web
ID Description available

10 ABC 40 yes
Advanced Application
User 11 ABC Pro
12 ABC 50+
yes
yes
Client Server
Chose a product from
list to view the details.

<Product
ID="11" Available="yes">
<Description>
ABC Pro
</Description>
</Product>

<Product
ID="12" Available="yes">
<Description>
ABC 50+
</Description>
</Product>

Figure 3: Web Dynpro and Client Devices

14
THE USABILITY OF WEB APPLICATIONS
Architecture and Features

Another positive side effect of this process is the effective use INTERNATIONALIZATION
of the client browser’s cache. Views or layout definitions can With Web Dynpro, all parts of a Web application can be global-
be cached and reused if the client can merge the content with ized and displayed in a location-dependent manner. For exam-
the layout. This reduces bandwidth and substantially boosts ple, labels for input fields can be automatically displayed in
performance. On top of that, Web Dynpro uses an efficient different languages based on the translated texts maintained
delta mechanism that fetches only the updated content – in the business data type repository. Additional text data or
provided the client is powerful enough. In other words, only language-dependent images like icons are centrally maintained
a minimal set of the content data is transported between the in a globalization repository and are linked to translation tools.
client and the server where feasible. Where necessary, developers can attach location-specific views
to an application to deal with a user’s cultural background and
AUTOMATIC DATA BINDING TO APPLICATIONS aspects like writing direction. For detailed information about
Web Dynpro can automatically bind data from the model to internationalization aspects see the white paper entitled
the user interface elements that are displayed in the view. The Globalization: Meeting Global and Local Requirements.
binding is backed by the information stored in the repository
for business data types. Data is transparently transported Portability
between the view and the model. Still, application developers The Web Dynpro technology is a design-time and runtime
can intercept the automated transfer and adapt the binding environment based on a common meta-model description that
to the actual needs. generators use to create the required runtime structures. Each
runtime offers the same set of user interface controls to render
Because it is backed by repository information, the model is the application; identical controls are maintained across all
effectively protected from inconsistencies that result from runtime environments.
incorrectly entered data. Also, developers can focus on the
business semantics of data fields instead of spending time with
type checks and calling conversion functions.

15
THE USABILITY OF WEB APPLICATIONS
Architecture and Features
Migrating Dynpro-Based Applications

Control libraries foster reuse and consistent design of Web MIGRATING DYNPRO-BASED APPLICATIONS
applications. To make it easier to support a number of devices Web Dynpro technology leverages companies’ investments
and browsers, Web Dynpro provides recognition capabilities. in SAP technology by providing a migration path for existing
SAP provides libraries of standard user-interface elements to Dynpro-based applications, both for conventional SAP trans-
ensure the same look and feel across mySAP.com solutions and actions and Internet Application Components (IAC). This
applications within a company. It also offers more powerful allows unified maintenance of user interfaces for new and exist-
application patterns, which will form the basic means of reuse ing applications without rewriting older application code.
for application developers. Different groups can provide their
own libraries that might enhance or vary the standard library The benefit? One set of tools for creating, maintaining, cus-
according to the situation, for example, for corporate branding. tomizing, and personalizing screens. New user interface
Apart from the design aspect, libraries can encapsulate specific elements introduced with Web Dynpro can be integrated into
aspects of a group’s business logic, such as retrieving a set of migrated applications. Web Dynpro unifies automated data
data according to specific conditions. entry functions and automatic testing of applications with
user interfaces.
And because Web Dynpro clearly separates application logic
from the user interface, Web Dynpro applications are portable For typical Dynpro-based applications, screens are converted
by design. Application logic can often become very complex into the ABAP version of the Web Dynpro runtime environ-
and specific; user interfaces are better built using a few, generic ment. The other, programmatic parts of the Dynpro-based
principles. This makes the user interface an ideal candidate for applications remain unchanged. Of course, not every Dynpro
declarative instead of programmatic construction. With Web application can be successfully converted automatically, but
Dynpro, developers will be able to create the user interface of all applications running in SAP ® GUI for HTML can – and
real-live applications with only a few lines of plumbing code. that means the majority of the entire spectrum of SAP appli-
cations.

16
GLOSSARY

GLOSSARY
adapter: A component that eases the integration of existing business process: The execution of one or several Web services
applications with other applications or the infrastructure. An in a controlled way, driven by one or several individuals or
adapter provides technical connectivity and necessary business events.
logic.
Business Process Modeling Language (BPML): A speci-
ABAP TM: SAP’s object-oriented programming language and fication for the management of business processes that span
environment for developing, deploying, and operating multiple applications, corporate departments, or business
mySAP.com application components. partners and that go behind the firewall and over the Internet.
For more information, go to http://www.bpmi.org.
application: A set of functions or Web services that is typically
delivered as a single component. business scenario: A business process. In a business scenario,
more than one component provides Web services, more than
application programming interface (API): An interface that one person is involved, or business process control resides out-
applications use to offer Web services and to communicate with side a single, service-providing component.
each other.
cascading style sheets (CSS): A simple mechanism for adding
Audit Information System (AIS): An SAP auditing tool that style (for example, fonts, colors, or spacing) to Web documents,
improves the quality of system and business audits. AIS consists typically in HTML.
of an audit reporting tree and is a structured, preconfigured
collection of SAP standard programs. channel: Collections of iViews that can be built into role-
related work sets defined by the administrator. End users can
authentication: The process of identifying a person or system drag the iViews contained in channels onto portal pages to
component, usually as a prerequisite for allowing the person or personalize the portal.
component access to a system.
container-managed persistence (CMP): Simplifies the task
biometrics: Automated method of verifying or recognizing the of writing entity beans because the container generates the
identity of users of digital devices on the basis of certain physio- code to access the data source and manages the persistent state
logical characteristics, such as a fingerprint or iris pattern, or of the bean.
aspects of behavior, such as handwriting or keystroke patterns.
code page: Defines the mapping between a character set and
Business Application Programming Interfaces (BAPI ): ®
a sequence of one or more bytes. The code page determines
Open, stable, object-oriented interfaces through which the the characters that can be used in programs and that can be dis-
capabilities of mySAP.com applications can be accessed. BAPIs played on output devices (for example, printers and terminals).
are independent of the technical realization.

17
GLOSSARY

collaboration: Joint work and communication among people digital signatures: Security mechanism for protecting digital
and systems of a company – including business partners, sup- data. The digital signature serves the same function for the
pliers, and customers – to achieve a common business goal. processing of digital data as a handwritten signature serves for
paper documents. It is based on public-key cryptography.
collaboration knowledge: Describes how collaboration
works by detailing process descriptions, business rules, Web directory: Used to store and look up shared information.
services, interfaces, roles, and so on. Typically, directories are optimized for read access. In this
context, a directory is mainly used for information at con-
Common Information Model (CIM): A model for describing figuration time.
the overall management information in a network or enter-
prise environment. For more information, go to double-byte code page: Defines the mapping between a set
http://www.dmtf.org/standards/standard_cim.php. of characters and a sequence of one or more bytes. Some lang-
uages, such as Japanese, use more than 256 characters so the
Common Object Request Broker Architecture (CORBA): complete character set for these languages cannot be mapped
An open protocol for communication between distributed using a single-byte code page. In a double-byte code page, a
objects. character can be either one or two bytes long. For example,
in the Japanese code page (SJIS), if the first byte has a value
Component Object Model+ (COM+): A component model between 0x81 and 0x9F, then the second byte is also part of the
from Microsoft for communication between distributed representation of the current character. Otherwise, only one
objects. byte is used to identify a character.

component: Software that provides application functions and Drag&RelateTM: Trademarked name for the user operation
Web services. Components can be shipped and deployed inde- that reaps the benefit of unification. Drag&Relate is a user
pendently, and they have their own release cycle. drag-and-drop action.

demilitarized zone (DMZ): Security zone that exists between Dynamic Program (Dynpro): Screens elements of SAP trans-
two networks. It allows connections between the networks actions. Dynpros are the combination of the screen and its
while preventing unauthorized access to the systems located accompanying flow logic.
within the networks.
Eclipse: An open-source, extensible IDE platform for develop-
digital certificate: Digital document that acts as a user’s digi- ing and debugging applications. Written entirely in Java, Eclipse
tal identification card on the Internet. Digital certificates are is designed to be a unified development environment, includ-
used for authentication and for verifying digital signatures. ing testing, performance tuning, and debugging in multiple
programming languages.

18
GLOSSARY

Electronic Business XML (ebXML): Framework for an open, Extensible Stylesheet Language Transformations (XSLT):
XML-based infrastructure that enables the global use of elec- A specification for transforming XML documents into HTML
tronic business information in an interoperable, secure, and or other types of documents. For more information, go to
consistent manner by all parties. It is sponsored by OASIS and http://www.w3.org/Style/XSL.
other groups. For more information, go to
http://www.ebxml.org. Fast Common Gateway Interface (FastCGI): A standard for
interfacing external applications with information servers, such
electronic data interchange (EDI): A family of standards that as HTTP or Web servers. FastCGI is a language-independent,
facilitate the electronic exchange of information among differ- scalable, open extension to the CGI specification that provides
ent companies. high performance without the limitations of server-specific
APIs.
engine: Provides the runtime environment for dedicated func-
tions and Web services. Engines are part of components. File Transfer Protocol (FTP): An open protocol for exchang-
ing files.
enterprise portal: A single point of entry to all information,
applications, and services that people need to do their jobs Generic Security Services-Application Programming
according to their roles. Enterprise portals provide a way for Interface (GSS-API): Application-level interface (an API) to
suppliers, customers, partners, and employees to access all rele- network security systems. GSS-API allows the integration of
vant content easily and securely and to participate in all types security functions that are available from external security
of business processes. products, such as strong authentication or encryption.

eventing: The automatic passing of parameters from one iView globalization: Strategy that addresses all of the enterprise
to one or more related iViews. issues associated with making a company truly global. Glo-
balizing products and service involves integrating all of the
eXtensible Business Reporting Language (XBRL): An open internal and external business functions with marketing, sales,
specification that uses XML-based data tags to describe financial and customer support in the world market.
statements for both public and private companies. For more
information, go to http://www.xbrl.org. HR-XML: An independent, nonprofit organization dedicated
to developing and promoting standardized XML vocabularies
Extensible Markup Language (XML): The universal format for human resources. For more information, go to
for structured documents and data on the Web, XML is increas- http://www.hr-xml.org.
ingly becoming the general standard document format of
structured data. For more information, go to
http://www.w3c.org/XML.

19
GLOSSARY

HyperRelational Navigation Protocol (HRNP): A naming interface: An abstract definition of Web services. Interfaces
protocol tunneled through HTTP. HRNP manifests itself as a allow Web services that comply with these interfaces to be
link behind data represented to users. This HRNP link contains accessed. The interface defines which information and data
metadata about the source it is being dragged from and how it must be provided to use a Web service and how the result of
relates to the target it is being related to by the user. the Web service will be made available.

HyperRelational technology: Technology that leverages uni- internationalization: Provides the technical foundation to
fication to pass data and context to the portal through HRNP. enable programs to support multiple scripts and languages
without redesign or modification. Once a user has selected a
Hypertext Markup Language (HTML): The standard docu- language environment, all programs transparently alter their
ment format for display in Web browsers. runtime behavior to meet the expectations of the user.

Hypertext Transfer Protocol (HTTP): The open Internet Internet standards: A common set of open standards used for
standard protocol that is used to exchange documents. communication and integration over the Internet. Examples of
Internet standards are HTTP, XML, and WSDL.
Hypertext Transfer Protocol with Secure Sockets Layer
(HTTPS): The secure variant of HTTP using Secure Sockets iView: A self-contained, XML-based presentation element. A
Layer (SSL). well-defined set of interfaces displays content and the personal-
ization of the content elements presented as part of a portal
integrated development environment (IDE): A develop- page.
ment environment with easy integration into the development
and deployment process for applications. The Java IDE is used Java 2 Platform, Enterprise Edition (J2EE): The standard for
for Java development. developing multitier enterprise applications based on Java. This
standard has been defined by an open community, including
Intermediate Document (IDoc): SAP document standard for SAP, and is driven by Sun Microsystems Inc. For more informa-
electronic document exchange. tion, go to http://java.sun.com.

impersonation: Acting on behalf of a user. A component J2EE Connector Architecture (JCA): Defines standard Java
accesses another component, and the accessed component interfaces for simplifying the integration of enterprise applica-
assumes the access comes from a specific user. tions with J2EE-based Java applications. With these interfaces,
Java developers can access existing databases, e-business applica-
Interactive Financial Exchange (IFX) Forum: A family of tions, and legacy systems.
global business requirements and specifications that result in an
open and interoperable foundation for online financial services.
For more information, go to http://www.ifxforum.org.

20
GLOSSARY

Java Message Service (JMS): Provides a consistent set of APIs Lightweight Directory Access Protocol (LDAP): A standard
that gives developers access to the common features of different protocol for accessing directory services. It is typically used to
messaging system products. retrieve organizational and user data, as well as other resources,
such as files and devices, in both the public Internet and corpo-
Java Management Extensions (JMX): A universal, open rate intranets.
technology for managing the adapted legacy systems, imple-
menting new management solutions, and plugging into those localization: Making a product linguistically and culturally
of the future. JMX provides the tools for building distributed, appropriate to the target locale (country or region and
Web-based, modular, and dynamic solutions for managing language) where it will be used and sold.
Java-based devices, applications, and service-driven networks.
marketplace: Connect business communities and enhance
JavaScript: A basic scripting language that allows Web authors business processes by providing collaborative functions, stream-
to create dynamic pages that react to user interaction. lining operations, and improving efficiencies. Private market-
places are also called private exchanges.
Java Database Connectivity (JDBC): Provides uniform access
to relational databases like DB2, Oracle, Microsoft SQL Server, messaging: Exchanging documents. Messaging is the transfer
and SAP DB. of information among Web services that are provided by sepa-
rate components.
Java Data Objects (JDO): An API for transparent database
access. Developers can write code in the Java programming Microsoft .NET: A platform from Microsoft for XML-based
language that transparently accesses the underlying data store Web services. It includes tools to develop and deploy Web-based
without using database-specific code. applications. For more information, go to
http://www.microsoft.com/net.
JavaServer Pages (JSP): Allows Web developers and designers
to rapidly develop and easily maintain information-rich, model-view-controller (MVC): A design pattern for success-
dynamic Web pages. JSP technology separates the user interface fully and efficiently relating the user interface to underlying
from content generation, enabling designers to change the data models. It is widely used by developers as a useful pattern
overall page layout without altering the underlying dynamic to reuse object code. It significantly reduces the time required
content. to develop applications with user interfaces.

Kerberos: An authentication system that uses symmetric cryp- nonrepudiation: The inability to deny having performed an
tography to provide protection. For more information, go to action. For example, a nonrepudiation service can prove that a
http://web.mit.edu/kerberos/www/. person sent a message to another person. In electronic business,
this can be achieved by using public-key technology.

21
GLOSSARY

NT LAN Manager (NTLM): The authentication protocol that Remote Function Call (RFC): An SAP standard protocol
Windows NT uses to pass authentication information between for remote execution of functions and remote invocation of
the client and server when logging on. methods of business objects. RFC is available on most operating
systems and programming languages.
Object Linking and Embedding (OLE) Database (DB):
A low-level application programming interface for access to repository: A storage area for shared metadata and informa-
different data sources. OLE DB provides SQL-based access and tion. In this context, a repository is mainly used for information
other types of access to different data sources. at design time.

online analytical processing (OLAP): Enables users to easily role: A collection of content that users need to access to do
and selectively extract and view data from different points of their jobs. Roles are specific to individual groups of internal
view. To facilitate this kind of analysis, OLAP data is stored in a and external users, and they match their specific tasks with
multidimensional database. information or service needs.

Online Certificate Status Protocol (OCSP): Standard used RosettaNet: A consortium of high-tech companies working to
by client applications to check whether digital certificates are create and implement industrywide, open, e-business process
valid at the time of a given transaction. OCSP enables rapid ver- standards. For more information, go to
ification of the revocation status of digital certificates. http://www.rosettanet.org.

Organization for the Advancement of Structured SAP ® GUI: A universal client for accessing SAP functionality.
Information Standards (OASIS): A nonprofit, international SAP GUI works like a browser. It gets information from the SAP
consortium that creates interoperable industry specifications server like “what, where, when, and how” to display content in
based on public standards like XML and SGML. For more infor- its window.
mation, go to http://www.oasis-open.org.
SAP ® GUI for HTML: SAP client that dynamically emulates
personal digital assistant (PDA): A handheld information the screen elements of SAP transactions in a Web browser by
appliance that offers multiple communication features, includ- automatically mapping them to HTML.
ing address book, personal information manager, cellular
phone, calendar, and networking capabilities. PDAs use several Secure Network Communication (SNC): SAP interface that
different types of input technologies, including stylus, voice, links SAP systems to third-party security products for authen-
and keyboard. tication and encryption.

public-key infrastructure (PKI): System that manages the Secure Sockets Layer (SSL): A standard protocol for trans-
trust relationships involved with using public-key technology. mitting secure messages over the Internet using public-key and
The role of the public-key infrastructure is to make sure that private-key encryption.
digital certificates and certification authorities can be validated
and trusted.

22
GLOSSARY

Security Assertion Markup Language (SAML): An XML time stamp: Time and date of an event converted from local
security standard for exchanging authentication and autho- time to Coordinated Universal Time (UTC). UTC corresponds
rization information. For more information, go to to Greenwich mean time (GMT).
http://www.oasis-open.org/cover/saml.html.
time zone: Set of rules that dictate the offset of the user's local
Simple Mail Transfer Protocol (SMTP): An open protocol time from Coordinated Universal Time. The local time of a
for exchanging electronic mail. particular user depends on the user's location. The offset of a
location from UTC depends on geography, region, or country
single-byte code page: Defines the mapping between a set of and the use of daylight saving time (DST).
characters and a sequence of one or more bytes. In a single-byte
code page (for example, ISO 8859x), each character is mapped Unicode: An international standard (see ISO/IEC 10646) that
to a single byte. Therefore, a single-byte code page can only assigns characters from virtually every language and script a
contain a maximum of 255 characters. In ASCII-based code unique Unicode scalar value. Unicode currently defines more
pages, the first part of a code page table (0x20 Ox7F) contains than 90,000 characters, with room for more than one million
printable characters of the 7-bit ASCII character set (English characters. Unicode includes all characters used in business-
alphabet). The second half contains language-specific charac- relevant languages, as well as other symbols and icons. For
ters (for example, German umlauts or Greek characters). more information, go to http://www.unicode.org.

single sign-on (SSO): Mechanism that eliminates the need unification: Permits user-centric integration of data sources.
for users to enter passwords for every system that they log on Using Drag&Relate, users can understand how information in
to. Single sign-on allows users to authenticate themselves once one unified source correlates to information in another unified
and then log on to all the systems that operate in the single source.
sign-on environment without further intervention.
unifiers: Leverages the application architecture, user interfaces,
SOAP: A lightweight protocol for exchanging information in security, and all customization inherent in an application while
a decentralized, distributed environment. It is an XML-based surfacing the application with HyperRelational technology.
protocol that is typically used with HTTP. SOAP includes
conventions to represent method calls of objects or function Universal Description, Discovery, and Integration
calls and the respective responses, as well as conventions to (UDDI): A sweeping industry initiative to create a platform-
represent standardized data types. For more information, go to independent, open framework for describing Web services,
http://www.w3.org/TR/SOAP. discovering businesses, and integrating business services using
the Internet. Its purpose is to create an operational registry,
SQL-J: A technology that enables a Java program to access a which is available today. For more information, go to
database using embedded Structured Query Language (SQL) http://www.uddi.org.
statements.

23
GLOSSARY

virtual private network (VPN): A private data network that Web Services Interoperability Organization (WS-I): Open
uses the public telecommunication infrastructure while main- industry organization chartered to promote Web services inter-
taining privacy through security protocols. operability across platforms, operating systems, and program-
ming languages.
Web-Based Distributed Authoring and Versioning
(WebDAV): An extension of the HTTP protocol that allows file Windows Message Instrumentation (WMI): An implemen-
sharing over the Internet. It provides locking, property man- tation of the DMTF WBEM initiative for Microsoft Windows.
agement, and remote file management capabilities, and it makes
Web resources work like standard, local file sharing. Wireless Application Protocol (WAP): A standard defined
by the WAP Forum, an industry consortium with such mem-
Web-Based Enterprise Management (WBEM): A set of man- bers as Openwave, Ericsson, Nokia, Motorola, and Siemens. The
agement and Internet standard technologies developed to unify purpose of the standard is to enable wireless access to the Inter-
the management of enterprise computing environments. net and advanced telephony services. For more information,
For more information, go to go to http://www.wapforum.org.
http://www.dmtf.org/standards/ standard_wbem.php.
Wireless Markup Language (WML): Part of the application
Web service: A self-contained, modularized function, that can development environment of WAP. It is a markup language,
be published, discovered, and accessed across a network using similar to HTML, for wireless devices like mobile phones.
open standards. It is the implementation of an interface by a
component, as well as an executable entity. To the caller or work set: A collection of application screens and iViews on a
sender, a Web service is a black box that may require input and page or series of pages that allows users to better perform tasks
delivers a result. Web services provide integration within and defined in their roles.
across enterprises on top of any communication technology
stack (asynchronous or synchronous) and in any format. XML Common Business Library (xCBL): A cross-industry
XML component library for business-to-business e-commerce.
Web Service Choreography Interface (WSCI): XML-based It was originally developed by Commerce One Inc. For more
interface to deliver automated, application-to-application information, go to http://www.xcbl.org.
collaboration by describing the flow of messages exchanged by
a Web service in a particular process. XML Schema Definition Language (XSDL): A language
to express a shared vocabulary. It provides a way to define the
Web Services Description Language (WSDL): A specification structure, content, and semantics of XML documents.
for describing Web services as a set of end points operating on
messages. For more information, go to X.509: Widely used standard for digital certificates. The format
http://www.w3.org/TR/wsdl. requires certain standard information (for example, an e-mail
address) to identify the owner and the issuer of the certificate.

24
DOCUMENT HISTORY

DOCUMENT HISTORY
VERSION 1.2
• Information on Web Dynpro has been separated from the
SAP Web Application Server white paper.
• An executive summary has been added, describing key
benefits of Web Dynpro technology.
• A new overall figure is included.
• A section about migrating existing Dynpros has been added.
• This white paper reflects the relevant changes from the
updates of the other white papers in the series.

25
26
SAP AG
Neurottstraße 16
69190 Walldorf
Germany
T +49/180/5 34 34 24 *
F +49/180/5 34 34 20 *
* Subject to charge
www.sap.com

50 057 743 (02/08/13) Printed on environmentally friendly paper.