Sunteți pe pagina 1din 44

SAP NetWeaver Developer's Guide

PDF download from SAP Help Portal:


http://help.sap.com/saphelp_nw70/helpdata/en/8b/0b674240449c60e10000000a1550b0/content.htm
Created on December 05, 2016

The documentation may have changed since you downloaded the PDF. You can always find the latest information on SAP Help
Portal.

Note
This PDF document contains the selected topic and its subtopics (max. 150) in the selected structure. Subtopics from other structures are not included.

2016 SAP SE or an SAP affiliate company. 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 SE. The information contained herein may be changed without prior notice. Some software products marketed by SAP
SE and its distributors contain proprietary software components of other software vendors. National product specifications may vary. These materials are
provided by SAP SE and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP
Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set
forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional
warranty. SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE in
Germany and other countries. Please see www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.

Table of content

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 1 of 44

Table of content
1 SAP NetWeaver Developer's Guide
1.1 Release Notes
1.2 Development Concepts and Architecture
1.3 Fundamentals
1.3.1 Using ABAP
1.3.2 Using Java
1.3.3 Secure Programming
1.3.4 Creating First-Class User Interfaces
1.3.5 Enabling Enterprise Services
1.3.6 Creating Composite Applications
1.3.7 Modeling Applications with SAP NetWeaver Visual Composer
1.3.8 Making Applications Enterprise-Ready
1.3.8.1 Supportability for Developments Under SAP NetWeaver
1.3.8.2 Search Integration Capabilities
1.3.8.3 Developing Forms Using Interactive Forms Based on Adobe Software
1.3.8.4 Secure Programming
1.3.8.5 Developing Data Archiving Solutions
1.3.8.5.1 Introduction to Data Archiving (CA-ARC)
1.3.8.5.2 Archive Development Kit
1.4 IT Scenario-Driven Enhancements to Applications
1.4.1 Developing, Configuring, and Adapting Applications
1.4.1.1 Developing Java Applications Using Web Dynpro
1.4.1.2 Leveraging J2EE Standards for Porting and Adopting Applications
1.4.1.3 Creating Composite Applications
1.4.1.4 Developing ABAP Applications Using Web Dynpro
1.4.2 Running an Enterprise Portal
1.4.3 Enabling User Collaboration
1.4.4 Enterprise Knowledge Management
1.4.5 Business Planning and Analytical Services
1.4.6 Enterprise Reporting, Query, and Analysis
1.4.7 Enterprise Data Warehousing
1.4.8 Enabling Application-to-Application Processes
1.4.9 Enabling Business-to-Business Processes
1.4.10 Business Process Management
1.4.11 Business Task Management
1.4.12 Enabling Enterprise Services
1.4.13 SAP NetWeaver Operations
1.4.13.1 Developing and Enhancing in the CCMS Monitoring Infrastructure
1.4.13.1.1 Getting Involved
1.4.13.1.2 Go and Create
1.4.13.1.3 Core Development Tasks
1.4.13.1.4 Ensuring Quality
1.4.13.1.5 Reference
1.4.13.1.5.1 Creating a Data Supplier for the CCMS Alert Monitor
1.4.13.1.5.1.1 Elements of the CCMS Monitoring Infrastructure
1.4.13.1.5.1.2 Checklist for Implementation
1.4.13.1.5.1.2.1 Example Decision Table: Organizational Decisions
1.4.13.1.5.1.2.2 Decision Table: Monitoring Attributes for the Attribute Types
1.4.13.1.5.1.3 Data Supplier for the Users Currently Logged On
1.4.13.1.5.1.3.1 Data Supplier for Users Logged On: Decision Tables
1.4.13.1.5.1.3.2 Data Supplier for Users Logged On: Report RSDSUSER
1.4.13.1.5.1.3.3 Data Supplier for Users Logged On: Settings in RZ21
1.4.13.2 Developing and Enhancing the Java Monitoring Framework with JMX
1.4.13.3 Logging in Java Technology
1.4.13.4 Printing
1.4.13.5 Background Processing
1.4.13.6 Alert Management
1.4.13.7 Supportability for Developments Under SAP NetWeaver
1.4.13.8 Developing Data Archiving Solutions
1.4.13.8.1 Introduction to Data Archiving (CA-ARC)

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 2 of 44

1.4.13.8.2 Archive Development Kit


1.4.14 Software Life Cycle Management
1.4.15 Authentication and Single Sign-On
1.4.16 Integrated User and Access Management

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 3 of 44

1 SAP NetWeaver Developer's Guide

Taking You to the next Level of Development


SAP NetWeaver is the technology basis of the mySAP Business Suite solutions, SAP xApps, and the industry-specific applications from SAP. In
addition, SAP NetWeaver is also the integration platform for SAP systems and non-SAP applications.
The SAP NetWeaver Developers Guide aims to provide all information that you require to:

Develop new applications


Extend existing SAP applications
Integrate legacy systems and non-SAP applications
Develop business content
Develop composite applications

SAP NetWeaver Developers Guide: Structure


To make it easier for you to find your way around, the structure of the SAP NetWeaver Developers Guide on SDN is identical to that in this documentation.
The documentation is the heart of the SAP NetWeaver Developers Guide and is supplemented with additional information on SDN.
You can find the following sections:

Development Concepts and Architecture


This section provides an overview of some of the fundamental concepts that underlie the architecture of modern business applications and outlines the
technologies and infrastructure that SAP NetWeaver delivers to support enterprise-scale development projects.
Fundamentals
This section provides information that you require for classical programming with ABAP and Java and information that explains the modeling approach. In
addition, you learn how to create composite applications and how to design your software so that it satisfies the high requirements (for example, performance,
internationalization, and security) demanded of enterprise applications.
IT Scenario-Driven Enhancements to Applications
With SAP NetWeaver 7.0, SAP AG is moving away from presenting its software in terms of components and individual function modules and towards ITrelevant application examples, the IT scenarios.
This section presents the design-time aspects of these IT scenarios. Among other things, you learn how you can use SAP developer tools to add workflow
capabilities to your applications, make them available through the portal or enable integration with other applications.

How to Read this Guide


SAP has designed this guide so that you can easily find the topics that interest you in the navigation structure. However, you do not have to read the topics in
full, instead you should note that below Getting Involved you can find an introduction to the concepts, the topic, and the development environment. In the
next section, Go & Create, you can find introductory tutorials if you prefer a hands-on approach.
In the Core Development Tasks section, we have put together the information regarding topics such as business logic, presentation logic, and performance,
to name a few. Together with the Reference section, this is the entry point for experienced developers who want to learn about selected aspects of
development
Ensuring Quality contains the procedures for testing, logging, and solving errors.
In the Integration section, where this is included, you can find references to documentation for OEM software that is shipped with NetWeaver.
At the end is the reference section, which includes API documentation, all tutorials, and checklists.

Restrictions
Please note that any software coding and/or code lines/strings ("Code") included in this documentation are only examples and are not intended to be used in a
production system environment. The Code is only intended to better explain and visualize the syntax and phrasing rules of certain coding. SAP does not
warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code,
except if such damages were caused by SAP intentionally or grossly negligent.

1.1 Release Notes


For information about changed, new, and deleted functions compared to the previous software release of SAP NetWeaver, see the release notes. For more
information, see http://help.sap.com/ Documentation SAP NetWeaver English SAP NetWeaver Library Whats New in SAP NetWeaver
7.0 Release Notes.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 4 of 44

Development Concepts and Architecture


SAP NetWeaver is the leading integration and application platform. The driving force of SAP NetWeaver is to build interoperable, collaborative, and processcentered applications based on its new Service Oriented Architecture (SOA) and Enterprise Services Architecture (ESA). SAP NetWeaver is an application
server and Web services package that adheres to industry standards and interacts with Microsofts .NET, IBMs WebSphere, J2EE and SAP ABAP languages.
SAP NetWeaver contains the tools and infrastructure to develop new applications as well as to adapt and migrate existing ones. The SAP NetWeaver
philosophy for new applications is to create highly re-usable and service enabled applications, so called composite applications. Existing applications can be
adapted to SAP NetWeaver by using the supported industry standards.
This chapter gives an overview of the basic structure of business applications, the new architectural concepts and design patterns for composite applications
as well as the standards and SAP technologies that are involved.

1.3 Fundamentals
Business Benefit
The SAP NetWeaver platform heralds a new approach to IT development and applications. It brings together the disparate worlds of packaged applications
and custom development in a single ecosystem, in which enterprise applications as we know them become the building blocks of a new generation of serviceoriented applications.
Custom development with SAP NetWeaver is about the very latest in application development practices. Efficiency and flexibility are the watchwords.
Application development is based on the model-driven paradigm as little coding as possible, paired with maximum application robustness and flexibility with
regard to front-ends. It is about visual, pattern-based programming that still offers complete control for the power developer.
In this Fundamentals section, you will learn everything you need for modeling as well as coding in the traditional way. You will learn about ABAP, how to use
Java, and about the Composite Application Framework.
In addition, you will learn about application management for developers, which contains information about data archiving and databases for instance.

Architectural Background
SAP NetWeaver is based on a dual-stack architecture based on ABAP and Java. While ABAP has been with SAP for years and provides a robust and
scalable development and runtime environment for any type of business programming, Java is based on open standards and leverages SAP NetWeaver to the
broad community of Java developers. In a service-oriented environment, however, the programming languages boundaries disappear, since components
written in one language (for example, ABAP) can expose their capabilities as services that are used by components written in another language (for example,
Java). The interoperability is achieved through Web service standards that have been implemented for both stacks. Likewise, SAPs user interface strategy is
built on top of the Web Dynpro programming model that is supported seamlessly both in the Java space and in the ABAP space.
The question of which environment you should use when depends on a couple of criteria that have to be weighed up carefully.
ABAPs strength lies in its proven application server architecture. The language is based on a strong integration of OPEN SQL and manages large data sets
known as internal tables. This allows use of ABAP in transaction-oriented environments with good performance. The development environment (ABAP
Workbench) is tightly integrated in the application server. Since ABAP is essentially a server-based development infrastructure, working in large development
teams is organized by the correction and transport system in a distributed development landscape. ABAP support a variety of data types that are optimized for
business processes. Many important engines in SAP NetWeaver, such as the BI OLAP engine or the XI integration engine, are implemented in ABAP.
Java focuses more on the user-interface side although more and more applications make use of the entire Java stack from user interface to business logic
and persistence. Many of the ABAP scalability features have been adapted for the Java stack, such as the proven scalability by means of a J2EE dispatcher
and J2EE server nodes (that correspond to the ABAP dispatcher and work processes). The NetWeaver Development Infrastructure organizes distributed
development in teams by means of central repository, build and transportation services similar in philosophy to ABAPs change and transport system.
However, there are subtle differences that have to be taken into account. Java development is carried out on the client side in the NetWeaver Developer
Studio. A local J2EE engine makes it easy for Java developers to work offline and subsequently integrate their work into a central test system. Sources are
checked out locally so that you only need to connect to the development infrastructure from time to time. SAP has implemented a lot of SAP NetWeaver
components in Java such as the J2EE server itself, the Portal, the Developer Studio to name just a few.
ABAP and Java are code-based environments. Although they offer model-driven and highly graphical tools, such as the Web Dynpro View Designer and the
Web Dynpro Data Modeler, you end up in editor and debugger sessions, since most of the developers work has to be done here. This excludes other types of
roles, such as the business analyst, who typically has a lot of technical insight, but lacks coding skills in most cases. Here, SAP focuses on purely modeldriven tools, such as the Visual Composer. The Visual Composer allows you to model the flow of your application or iView, helps to integrate various data
sources, and makes deployment to the portal easy. It enables rapid prototyping.
Finally, it is important to note that SAP NetWeaver is in transition from an integration platform to a composition and business process platform.
Composite applications can be developed on top of SAP NetWeaver and are supported by the SAP Composite Application Framework (CAF) and Guided
Procedures.
Both technologies accelerate composition on top of SAP NetWeaver, but are integrated in the Developer Studio and leverage existing technologies such as
Web Dynpro and Adobe Forms integration.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 5 of 44

1.3.1 Using ABAP


Being able to use ABAP effectively requires more than just knowledge of the keywords. As a programmer, you need to have a basic understanding of the
architecture of the SAP NetWeaver Application Server ABAP and how specific fundamental concepts are implemented in ABAP and its infrastructure.
The aim of this guide is to enable you to use the possibilities of ABAP and the NW Application Server ABAP as effectively as possible. It is to provide you
with guidelines on how best to solve certain standard tasks, which are part of any business programming.
Determining the best method to solve a problem in ABAP also means finding the most useful of the various possibilities this language provides. In ABAP,
there are often a number of different ways of achieving the same goal. This is the price that has to be paid for evolutionary development and downward
compatibility. If old constructs are still required in a new release, because they appear in important application programs, they remain part of the language.
Programmers can continue to use them, but should be aware in which cases there are now more effective ways of solving a specific task.
Not only does the ABAP Developer Guider provide programmers with an overview of working with ABAP, but also show the best solution to standard problems
of business programming. In any cases where there are multiple, equally useful solutions, this guide is to provide information on their advantages and
disadvantages.
The section Getting Involved introduces the basic features of the ABAP language and the SAP NetWeaver Application Server ABAP. You will learn how ABAP
and its tools support the entire lifecycle of an application and what tailor-made, business programming features the language offers. You will also be
familiarized with the three-layer architecture of the server and learn why you do not develop locally with ABAP but always centrally on the server.
Programming is a practical experience, and the best way to get an impression of the possibilities of a language and its infrastructure is to write a small
program in this language and thus understand its development. The tutorial in the section Go and Create shows how easily you can use ABAP to create a
database table declaratively and with metadata control with the relevant fields and attributes. A simple ABAP Objects program manages the data of this
table.
With the knowledge gained from these two sections, you are ready to understand how specific basic programming concepts are implemented in ABAP. The
section Core Development Tasks provides an overview of the following topics:
UI Technology: The standard Web user interface is Web Dynpro. For special requirements, Business Server Pages can be configured.
ABAP Objects offers a number of advantages, even if you want to continue using procedural programming. If you want to use new ABAP features, you
have to use object-oriented interfaces anyway.
Sharing Data: With ABAP shared objects, you can aggregate data once at a central location and the different users and programs can then access this
data without the need for copying.
Exception Handling: With the class-based exception concept of ABAP, you can define a special control flow for a specific error situation and provide the
user with information about the error.
Developing Persistency: For permanent storage of data in ABAP, you use relational database tables by means of database-independent Open SQL, which
is integrated in ABAP. However, you can also store selected objects transparently or access the integrated database or other databases using proprietary
SQL.
Using Connectivity and Interoperability: The Exchange Infrastructure and Web services are the means by which developers can implement a serviceoriented architecture. With Web services, you can provide and consume services independently of implementation or protocol. Furthermore, you can do so
within NetWeaver and in the communication with other systems. With the features of the Exchange Infrastructure, you can enable, manage, and adapt
integration scenarios between systems.
Making Enhancements: With the Enhancement Framework, you can enhance programs, function modules, and global classes without modification as well
as replace existing code. The Switch Framework enables you activate only specific development objects or enhancements in a system.
Testing is an essential part of the software development cycle. The ABAP development environment also provides support for this. The section Ensuring
Quality introduces the basic features of ABAP Unit, a framework with which you can take advantage of unit testing in ABAP. The relevant tools are fully
integrated in the standard development environment (SE80, SE24, SE37, SE38) and the code required for testing is implemented in ABAP Objects.

1.3.2 Using Java


The following development manual introduces technologies and the infrastructure for developing Java-based, multi-tiered business applications. In particular, it
discusses in detail how these technologies are implemented in the SAP NetWeaver Developer Studio and how you as a Java developer are supported by this
development environment.
In short, this manual deals with the subject of Java development at SAP.

Topics
Getting Involved
Provides an overview of the architecture of the development environment and
introduces the basic concepts and features of the tools that SAP currently delivers.
Go and Create
Provides selected tutorials that introduce you to working with the Developer Studio.
Here you are given step by step instructions on using the Developer Studio to
create, implement, deploy, and finally execute your own Web Dynpro and J2EE
applications on a test server.
Core Development Tasks
Makes up the central part of the development manual and covers topics relevant to
the development phase. Subjects discussed are UI technologies (Web Dynpro and
J2EE Web applications), the development of business logic, as well as the concepts
and infrastructure for accessing relational databases. The topics of Web services,
security, and connectivity are also covered in detail.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 6 of 44

Working with the Development Infrastructure


Deals with the development process from the point of view of the SAP-specific
development infrastructure, which includes in particular the Design Time Repository
(for central resource management), the component model and component build
service, as well as the Change Management System.
Ensuring Quality
Discusses testing, logging and tracing, as well as debugging Java applications on
the J2EE server.
Reference
Provides a central access point for API documentation and all tutorials available in
the development manual.

1.3.8.4 Secure Programming


Purpose
This documentation provides an overview about developing secure applications based on the SAP NetWeaver platform. It describes common security errors
and weaknesses to watch out for as well as approved procedures so that your application functions securely. Guidelines are provided for the development
languages ABAP and Java. See:
Secure Programming - ABAP
Secure Programming - Java

Creating First-Class User Interfaces


SAP's UI Strategy
These days a powerful, highly-interactive, but also usable and accessible user interface (UI) is more important than ever before. Thanks to the World Wide
Web, people are getting more and more used to easy Web designs and expect such designs not only when browsing the WWW, but also when working with
powerful business applications.
Within SAP NetWeaver 7.0, SAP addresses this requirement as follows:
1. SAP NetWeaver Portal provides an intuitive, personalizable frontend to access any types of applications, information, and services through a Web
browser.
2. Web Dynpro provides a powerful programming model for developing professional Web UIs for business applications running in the portal.
Of course, other UI technologies, such as BSP and SAP GUI, are still supported and also described in this section. However, it is highly recommended to use
Web Dynpro for new applications to benefit from new technical paradigms in UI development and future development improvements.

Model-Based User-Interface Development Using Web Dynpro


Web Dynpro is the strategic approach of SAP to building professional Web UIs for business applications running in SAP Enterprise Portal. It combines the
strengths of the GUI/Dynpro approach offered in Application Server ABAP, which includes dictionary-based field validation and error handling, and seamless
integration in a software lifecycle and distribution infrastructure. It handles all installation, upgrade, administration, and monitoring tasks with Internet
innovations such as zero installation, worldwide access, and integration of arbitrary content with hyperlinks. Web Dynpro comes in two flavors:
Web Dynpro Java and
Web Dynpro ABAP
Web Dynpro provides declarative, code-free design of sets and sequences of screens, interactions, data bindings, and more. This greatly expands the scope
of UI programming beyond control libraries such as HTMLB, basic Server Page technologies such as ABAP Business Server Pages or Java Server Pages
(including tag library approaches), and pure gateway approaches such as SAP GUI for HTML.
Advantages for the application developer:
Higher productivity through declarative approaches to modeling instead of programming, layout, screen usage, navigation, and data binding.
Data dictionary integration for UI services (for example, automatic value help, type support, reuse of central, localization-dependent texts, text strings,
table headings, and so on).
Automatic error handling, extending the error handling in classic Dynpros.
Cutting-edge efficiency for Java development through full integration in the Java Development Infrastructure (JDI) avoiding error-prone tasks such as
building, distributing, and installing components.
Client independency for wireless browsers on mobile devices
Libraries
Modification-free end-user personalization
Interoperability between Web Dynpro applications and application based on different Web frameworks, such as JSF. Struts is featured by new APIs calling
Suspend and Resume.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 7 of 44

Web Dynpro Client for Windows and Java for a non-browser-based look and feel.

Other Supported UI Technologies: ITS, BSP, and HTML for Business


HTML Business for Java (
Portal.

HTMLb) and Business Server Pages (

BSPs) are fully supported in the future and are tightly integrated in SAP NetWeaver

To guarantee a seamless user experience, all SAP UI technologies follow the unified rendering approach to guarantee a consistent look and feel; portal
services such as client-side eventing and WorkProtect mode can be used to interact between Web Dynpro applications and non-Web Dynpro applications.
With SAP NetWeaver, the
Server.

SAP GUI for HTML of the ITS and the Internet Application Component (IAC) runtime is integrated in the NetWeaver Application

SAP NetWeaver Portal Integration


SAP NetWeaver Portal is SAP's strategic approach to access any kind of application, information, and service using a Web browser.
It provides a single point of access to the complete range of enterprise information sources and applications. It allows users to search internal and external
sources for targeted information, personalize portal content to suit their working style, and access both structured and unstructured information across the
organization.
The smallest visible unit in the portal is an iView (portlet), the basic element of a portal page. It is a mini application that retrieves information, processes it,
and displays it in your portal. For more information about creating iViews, see the

Running an Enterprise Portal scenario in this guide.

1.4.12 Enabling Enterprise Services


From Data-Model-Oriented to Service-Oriented Development
The architecture of the established SAP R/3 system provides a good scalability of the overall system. This is reflected in the three tiers of the front end (GUI),
the application server, and the database. The programming on the ABAP application server based itself on the structures defined by the database model.
With the growing heterogeneity of the systems and programming languages, the need to extend this architecture has also grown. In extending the architecture,
the aim is to develop software according to a service-oriented paradigm: Rather than reaccessing database structures for each new development, the idea is to
use services that encapsulate this access, so that the flexibility of the software development can be increased and the reusability improved. Due to the
growing heterogeneity, it is also becoming more and more important to homogenize development tools and modeling techniques at various levels of
abstraction. This makes it possible to clearly represent and better control those processes of a company that are automated using software. Services that are
essential for the execution and understanding of these processes are referred to as Enterprise Services . The term Enterprise Service-Oriented Architecture
( Enterprise SOA ) covers all concepts around which this new software development is oriented. SAP NetWeaver is the platform that provides increasingly
more functions to technically support these concepts.

Service-Oriented Variants in SAP NetWeaver 7.0


SAP NetWeaver 7.0 already supports the first Enterprise SOA concepts, and focuses mainly on cross-application communication (company-internal and
cross-company) based on open standards. The development or publication of services based on Web Service Description Language (WSDL) is an important
milestone in this area. There are generally two different development approaches:
Inside-Out Development
Existing functions that software developers have developed in ABAP or Java in a system are made accessible using a Web service. For this purpose, the
WSDL description of this Web service is published to the 'outside world' (on a UDDI server, for example). Consumers of a Web service can use this
description to include a call in their program code. If ABAP or Java developers want to call a Web service, they create client proxies in the application
system by using the ABAP Workbench or SAP NetWeaver Developer Studio.
Outside-In Development
Development is not begun in a system that restricts the software developer to a particular platform and programming language, but is begun outside such
a system, in the Integration Builder. Using this development tool, the developer specifies the WSDL description in a central Integration Repository
independent of the programming language. From this description, the actual function can be implemented in the application system (as a server proxy ).
The call to this function can also be implemented (using a client proxy ).
The publication of Web services (inside-out development) is intended for point-to-point communication. The central development of interfaces in the Integration
Repository (outside-in development) is part of SAP NetWeaver Exchange Infrastructure (SAP NetWeaver XI) and is intended for communication using the
Integration Server. These scenario variants are summarized in the following table:
Scenario Variants for Enabling Enterprise Services
Scenario Variant

Development Approach

Service-Based Integration (Point-to-Point)

Inside-Out

Brokered Service-Based Integration

Outside-In
and

More Information
Web Services
Enabling Application-to-Application Processes in
the SAP NetWeaver Developers Guide

Inside-Out

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 8 of 44

In the second scenario variant, the development approaches are combined, since the Integration Builder also supports the import of interface descriptions into
the Integration Repository to facilitate communication between SAP and non-SAP systems. The first scenario variant is generally intended for simple,
synchronous, cross-application communication, whereas additional integration services of the Integration Server (such as routing and mapping) can be used in
the second scenario variant. The advantage of the first variant is that it involves a relatively short adjustment period compared to the second variant.

Development Environment and Programming Model


Outside-in and inside-out development both use a WSDL description to represent the interface of a service language-independently. This common feature is
already used in the ABAP environment in SAP NetWeaver 7.0 to make it possible to select between the scenario variants outlined above, independent of the
original outside-in development approach. If synchronous communication using the Integration Server does not use integration services or protocols that are
specific to SAP NetWeaver XI, developers can switch to point-to-point communication using Web services. (See also
ABAP Proxy Runtime). In ABAP,
developers work with the ABAP Workbench for both scenario variants. The common features of the scenarios are summarized in the following table:
Approach

Development Tools

Application

Inside-Out

SAP NetWeaver Developer Studio

Creation of client proxies for calling Web

(Creation of Java proxies)

services (point-to-point). Communication

ABAP Workbench
(Creation of ABAP proxies)
Outside-In

using the Integration Server is possible


using the

SOAP adapter.

Creation of client and server proxies for


direct communication using the
Integration Server or point-to-point
communication.
Integration Builder

Creation of client and server proxies for

(Creation of Java proxies)

direct communication using the


Integration Server.

In ABAP, the programming model for the communication between client and server proxies is independent of whether or not the communication is made using
the Integration Server. This does not yet apply to Java in SAP NetWeaver 7.0.

1.4.1.3 Creating Composite Applications


Composite applications are built and deployed on top of data and functions provided as services by platforms and applications, combining these into usercentric processes and views, supported by their own business logic and specific user interfaces. Composite applications are loosely coupled to the backend
systems on which they are based, resulting in a new logical application tier which can be deployed and upgraded independently of the backend infrastructure.
The SAP Composite Application Framework (SAP CAF) provides a set of tools and environment for creating and running composite applications.
This documentation explains how you use SAP CAF to build composites.

Topics
Developing Composite Applications with CAF Core
Describes how you use CAF Core tools to create the business object layer of composites.
Developing Composite Applications with CAF GP
Describes how you leverage the CAF Guided Procedures framework to implement process logic and service orchestration.

1.3.7 Modeling Applications with SAP NetWeaver Visual


Composer
This manual describes the SAP NetWeaver Visual Composer application, explaining how to create and modify applications using Visual Composer tools.

Topics
Getting Involved
Go and Create
Core Development Tasks
Ensuring Quality
Reference

Caution
Be sure to read the SAP Central Note that is relevant to your version of SAP Visual Composer. The Central Note gives you the latest information
about limitations, known issues, and workarounds for SAP Visual Composer.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 9 of 44

The following Central Notes are available for SAP Visual Composer:
SAP NetWeaver 7.0: 919388
SAP NetWeaver 7.0 including Enhancement Package 1: 1169887
SAP NetWeaver 7.0 including Enhancement Package 2: 1331228
You can find the SAP Notes at SAP Service Marketplace at service.sap.com/notes.

Making Applications Enterprise-Ready


Applications that are written for use in critical business processes must satisfy particular requirements. In addition to the business logic, security,
performance, archiving, and maintenance are especially important for enterprise applications. However, localization, and accessibility to applications are
becoming increasingly important during the conception and development of software.
Generally, considerations of these characteristics is coupled with the technology and the development tools. Therefore, you can find these topics primarily in
the Core Development Tasks section in the individual units.
This unit described the general technologies that can be applies to all applications developed on the NetWeaver platform independent of the programming
language or the programmer.

Topics
Supportability for Developments On SAP NetWeaver
In this section, you learn how to ensure that your application can be integrated in the SAP NetWeaver monitoring environment.
Search Integration Capabilities
This section describes how you can use the search framework to search uniformly for structured data (business objects) and unstructured data
(documents).
Developing Forms Using Interactive Forms Based on Adobe Software
In this section, you learn how to use Adobe PDF technology to include electronic forms in your applications and fill them automatically with data from your
applications. In addition, you can use this technology to control print output for your application.
Developing Data Archiving Solutions
This section familiarizes you with the data archiving essentials that help you decide on, plan, and design new data archiving solutions for your application.
You learn how to develop archiving objects and the corresponding archiving programs, and how to integrate them into the SAP data archiving framework.

Supportability for Developments Under SAP NetWeaver


If you want to create an application under SAP NetWeaver yourself, you need to ensure that the application can be monitored, that is, that you instrument the
application for the standard SAP NetWeaver monitoring tools. Ensure that you have dealt with the following points, depending on whether your application is to
run under AS ABP or AS Java:

AS ABAP
The CCMS monitoring infrastructure is the basis for monitoring across systems and components. It collects values using data suppliers and sends them to a
central monitoring system using CCMS agents. If errors occur, alerts are triggered, to which you can assign auto-reaction methods. You can display the
collected data in the
alert monitor (transaction RZ20) or in
SAP NetWeaver Administrator. This data also forms the basis for monitoring in the SAP
Solution Manager. You can also include analysis methods in the monitoring infrastructure, with which you can perform a detailed investigation of the
corresponding component directly from the alert monitor.
To be able to meaningfully monitor an application with the monitoring infrastructure, at least the following information is required:
Status of the application (such as active , configured , stopped , and so on)
Availability or information about the current function of the application (Health Check); this should certainly include information about critical workloaddependent resources (such as available threads)
Response time behavior or throughput for the applications requests
Number of requests that the application has processed per time unit, if a corresponding value is meaningful for this application
Important events of the application as text messages (note, however, that you only have limited storage space available in the monitoring segment)
Status of the communication interfaces of the application (if they exist)
Information about caches (such as hits, quality) that the application uses
Information that should be written when the application is started:
Date and time of the start
Version (or Release, Build, or Patch Level) of the component
All configuration parameters of the application (such as configuration files, and, under Microsoft Windows, the entries in the registry)
Operating system environment variables used
To instrument the application for the monitoring infrastructure, you need to perform the following steps:
Write a data supplier that collected the above data for the application and transfers it to the monitoring infrastructure. For more information, see the
document Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area,
select the specified document.
This information should be displayed in a separate Alert Monitor monitor. In the case of components with multiple instances, the instance-dependent
information should form a separate subtree in each case. For information about creating corresponding monitor definitions, see

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Editing Monitors and

Page 10 of 44

Monitor Sets.

AS Java
You should connect Java applications to the monitoring framework of SAP NetWeaver using JMX, that is, the application should deliver the most important
data about its current status, in the same way as above (see Developing and Enhancing the Java Monitoring Framework with JMX).
You should monitor the availability of the application using the Generic Request and Message Generator (GRMG). For more information, see
Instrumenting an Application.
The application must use the logging infrastructure of the J2EE Engine. For more information, see

GRMG:

How to Write Useful Log and Trace Messages.

All of this monitoring data is automatically transferred to the CCMS and is therefore also available centrally in the Alert Monitor or in the SAP NetWeaver
Administrator.

1.3.8.2 Search Integration Capabilities


Purpose
Enterprise Knowledge Management, Search Engine Service (SES), and Search and Classification (TREX) provide a framework for enterprise-wide search
technology to search structured data (business objects) and unstructured data (documents).
For more information, see:
Document Search with Enterprise Knowledge Management
Enterprise Knowledge Management provides a document repository framework that allows users to search across documents (unstructured data) using
the search engine technology of Search and Classification (TREX).
Business Object Search with Search Engine Service (SES)
Search Engine Service (SES) provides a search and indexing framework that allows users to search for business objects (structured data) using the
search engine technology of Search and Classification (TREX).
Search and Classification Engine (TREX)
Search and Classification (TREX) is the central SAP NetWeaver search engine that offers underlying search technology and functions for Enterprise
Knowledge Management and Search Engine Service (SES).
The following graphic illustrates how KM, SES, and TREX are integrated in a single framework:

SAP Applications Using SAP Search Integration Capabilities


Structured Data: Searching For Business Objects
To search across structured data (business objects), SAP applications have two options for using the search capabilities of Search and Classification (TREX)
and Search Engine Service (SES):
SAP applications using TREX directly to search structured data
SAP applications using SES to search structured data
SAP Applications Using TREX Directly to Search Structured Data
PLM (Product Lifecycle Management)
BW (Business Information Warehouse)
CRM (Customer Relationship Management)
CRM ISA (Internet Sales)
CRM SAF/CIC (Software Agent Framework, Customer Information Center)
CRM e-Selling,
HR-HCM (Human Resources/Human Capital Management) e-Recruiting, e-Learning, and Expert Finder
SRM (Supply Relationship Management)

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 11 of 44

SAP Application Using SES to Search Structured Data


Asset Accounting
Automotive DBM
Controlling
Enterprise Asset Management
Financial Accounting
Industry Accounting
IPPE
Learning Solution
Master Data Management
PLM Master Data Management
Public Sector Accounting
Quality Management
Real Estate

Unstructured Data: Searching For Documents


To search unstructured data (documents), SAP applications use the capabilities of the following components:

Enterprise Knowledge Management (Repository Framework)


Enterprise Portal (Graphical User Interface)

Developing Forms Using Interactive Forms Based on Adobe


Software
Purpose
In their daily operations, companies of any size depend heavily on the use of formalized documents reflecting their individual corporate identity and containing
crucial business information from live systems.
To support customers in creating reusable form templates for their business processes and filling the forms with current data, SAP joined in a partnership with
Adobe systems Inc. with the goal to automate and streamline forms-based communications.
With the integration of Adobe PDF technology into its solutions, SAP further extends its offerings of end-to-end business solutions by
Providing the capabilities of Adobe's interactive PDF-based forms for the first time
Integrating PDF documents into business processes that are driven by SAP applications
Offering its customers enhanced printing capabilities, in particular for interactive Web applications

Integration
All SAP forms development efforts will focus solely on Interactive Forms.

To protect customer investments made in existing forms solutions, the existing SAP forms solutions Smart Forms and SAPscript will continue
to be supported by SAP in their current functional scope.

Features
SAP and Adobe have combined their development efforts and expertise to provide their customers with new collaborative business solutions.
Business processes that use forms to communicate, for example in HR or the public sector, can provide visually accurate representations of forms on the
desktop, which allow end users to capture the data required in the backend.
With Interactive Forms based on Adobe software, users can

Process forms online with a connection to the system and offline on a local computer
Capture a form's appearance and data in one object
Fill in forms with specific data from SAP applications and transmit them securely to their intended recipients
Automatically check documents for consistency
Activate additional functions, such as inserting comments or digital signatures
Transmit completed forms back to the SAP application, updating the business data automatically
Create templates for interactive forms that include logos or images

Example
Online Interactive Forms
A user logs on to the company intranet to fill in a form required by the HR department (for example, a Non-Disclosure Agreement to be signed by a new
employee). The form is displayed in the browser.
As the user is logged on in the background to the company's HR system, her master data is displayed in the form. The user enters the required information in

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 12 of 44

the fillable fields of the interactive form, and sends the data back to the system by pushing a button. The system extracts the data from the form and saves it
in the database.

Offline Interactive Forms


The purchasing department of a company creates a bid in its Enterprise Resource Planning (ERP) system and selects the potential vendors. Based upon this
data, the system automatically creates interactive bidding forms with specific vendor information, such as address or contact person.
The forms are transmitted to the vendors by e-mail. The vendors can fill out the forms offline (without being connected to the system that created the forms)
and transmit them back to the company. The company then processes the forms automatically; the data provided by the vendors is written to the ERP
system. The purchasing department uses the data to evaluate the quotation and then issues an order.

Forms for High-Volume Printing, E-Mailing, or Faxing


Interactive Forms provides all the features and functions you need to create form-based output, such as order confirmations, invoices or pay slips, for mass
printing or sending by e-mail or fax.

1.3.8.4 Secure Programming


Purpose
This documentation provides an overview about developing secure applications based on the SAP NetWeaver platform. It describes common security errors
and weaknesses to watch out for as well as approved procedures so that your application functions securely. Guidelines are provided for the development
languages ABAP and Java. See:
Secure Programming - ABAP
Secure Programming - Java

Developing Data Archiving Solutions


Use
The basic technology of data archiving is part of the SAP Net Weaver Application Server and is available in two versions, which offer you different options
when developing a data archiving solution:
ADK-based Data Archiving
XML-based Data Archiving

ADK-based Data Archiving


Most
archiving objects are based on the
Archive Development Kit (ADK). For
XML-based data archiving you need XML archiving objects (see below).
The ADK and XML Archive API both offer basic services and functions for the development and execution of archiving programs. For both, the Archive
Administration is used to customize and execute data archiving. For a detailed description of the data archiving functions and how to use them, see the
documentation, Introduction to Data Archiving.
SAP offers a wide range of standard archiving objects, which in most cases are sufficient to cover the archiving of application data in an SAP system.
However, if you need additional archiving objects for ADK-based archiving, to archive data from customer-specific tables, for example, ADK offers you the
option to develop your own archiving objects and programs. For more information see the Archive Develoment Kit documenation, "Developing Archiving
Solutions".

XML-based Data Archiving


XML-based archiving mainly uses XML archiving objects, which are used by ABAP applications with XML interfaces. In the case of JAVA applications,
archiving sets are used.

Note that XML-based data archiving has not been released for customer-specific development. Therefore, documentation is not yet available
for this function.
For more information on how to use XML-based data archiving and how it differs from ADK-based data archiving, see

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

XML-based Data Archiving.

Page 13 of 44

1.4.13.8.1 Introduction to Data Archiving (CA-ARC)


Data Archiving a service provided by SAP NetWeaver removes mass data that the system no longer needs online, but which must still be accessible at a
later date if required, from the database. The following graphic illustrates the archiving process: Archiving objects are used to write documents to archive files,
which can be stored on other media.

Data in the database can only be archived using archiving objects, which describe the data structure and context.

Financial Accounting documents are archived using the archiving object FI_DOCUMNT. It includes the document header, company codedependent postings, change documents, SAPscript texts, and other elements.
In addition to the aforementioned technology SAP also offers XML-based archiving, as of SAP Web Application Server 6.40. With this new procedure XML
archiving objects are used to write data in the form of resources either to a file system or directly to a WebDAV system, which takes on the role of the storage
system shown in the figure above.

Integration
For the majority of the archiving objects the SAP Data Archiving concept is based on the Archive Development Kit (ADK). As of SAP Web AS 6.40 SAP
offers an additional technology especially designed for XML-based archiving. This new technology comprises the XML Data Archiving Service (XML DAS) and
the XML DAS Connector. Both ADK-based and XML-based archiving are carried out with the help of Archive Administration, transaction SARA.
For some applications it is possible to start archiving directly from the application menu. In these cases the application-specific parameters, such as the
archiving object or the archiving program appear as default values.
Archiving objects for each application component are predefined in the system. Their structures are described in the application-specific sections.

Features
The archiving procedure is divided into three main steps:
Creation of archive files
In the write phase the data to be archived is written sequentially into newly created archive files.
Delete from the database
The delete program reads the data from the archive files and then deletes it from the database.
Storage of archive files
The newly created archive files can then be moved to a storage system or copied to a tape. The removal to an external storage system can be triggered
manually or automatically. It is also possible to store the data before the delete phase.
In XML-based archiving this phase does not exist as a separate step. The data can be written directly to a WebDAV system.
The archiving programs are generally scheduled in the background. However, they can also run in online mode.
The following documentation describes ADK-based archiving. It is important that you understand the basic archiving concepts described in this documentation
before you begin with XML-based archiving. The differences between the two technologies and processes are described under XML-based Archiving.

1.4.13.8.2 Archive Development Kit


Purpose
When you implement an SAP solution, data archiving has to be taken into account from the onset. As the amount of transaction and master data can expand
rapidly during production operation, you have to consider how to control data growth. Often, data grows faster than technology can handle it (in terms of certain
database limits, hard disk sizes, tape sizes, and so on). With data archiving, you can keep the size of the database under control and ensure long-term
access to your data. Data no longer required for daily operations or accessed less frequently is moved from the database to archive files.

Data archiving should be a periodic process, planned and scheduled on a regular basis.
The Archive Development Kit (ADK), which is delivered with SAP NetWeaver, is the technical framework and basis for SAPs data archiving solution. ADK is a

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 14 of 44

development environment and an application program interface between SAP applications, the database, and the archive files where your data is stored. It is
available in every standard mySAP.com e-business solution and is also used by SAP. ADK ensures that data archiving is independent of hardware and
release changes and provides you with the tools you need for data archiving.
As of SAP Web Application Server 6.10 (SAP Web AS), ADK also supports Unicode. This means you can:
Archive data created in a system that supports Unicode
Develop data archiving solutions for a Unicode environment
Access both Unicode and non-Unicode archives

You do not have to convert your existing archive files.

Features
ADK includes:
Archive Administration functions
An application programming interface (API) you can use to develop your own archiving programs
The development of an archiving program is based on the definition of an Archiving Object, which specifies which tables comprise a business object.
Archiving objects are complex objects of interdependent tables.
Archiving-specific function modules
This includes the ADK Interface and Class Interface function modules. You do not need to know the technical details of the archiving procedures, as
they are localized in the function modules.
The data archiving functions provided by these function modules include:
Automatic job scheduling
File management using the SAP Content Management Infrastructure
Automatic conversion of archived data
Compression during archiving
Connection to a storage system
Ability to archive while system is running
Access to individual data objects in the archive
Sample programs and documentation
See Also
Archiving Application Data (CA-ARC)

IT Scenario-Driven Enhancements to Applications


You are planning to develop an application, or are already doing so, or you are planning to extend an existing application based on the SAP NetWeaver
platform. You are familiar with the fundamentals of application development, know how to handle the software logistics for ABAP and/or Java development.
But what makes a good application built in ABAP or Java a really powerful application?
It can be integrated with other applications.
It can make use of services provided by other applications or a business process platform.
It can expose services to other applications for reuse.
Its persisted data can be leveraged in a knowledge management scenario.
It can be integrated in a centralized monitoring infrastructure.
It can make use of advanced concepts, such as adaptive computing, for efficient hardware resource consumption.
And these are just a few examples.

The units in this section of the NW Developers Guide describe how to approach each of these integration topics when planning and executing your
development project. Each of these topics is embedded in an IT scenario view.

An IT scenario provides a process-oriented view of a certain subset of SAP NetWeaver capabilities, suitable for implementing those capabilities in a project.
There are different kinds of scenarios, ranging from pure development through supporting a particular integration goal to setting up or operating the IT
infrastructure in a certain way.

Typical aspects covered in these units answer questions like the following:
What do you have to do when planning and developing your application in order to make it fit into a service-oriented architecture, that is, how and where
do you need to model your data types and business objects in order for them to be exposed to other applications?
What do you have to do to have your application's data easily integrated into an enterprise data warehousing scenario?
What do you have to do to ensure that your application can easily participate in integrated access management and user management, and provide
single sign-on capabilities, for example, for UI integration in the portal?
Once again, these are just a few examples... Read on to find out more about those important development topics.

Developing, Configuring, and Adapting Applications


Purpose
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 15 of 44

This IT scenario comprises a variety of ways to develop, configure, extend and adapt applications. The scenario covers all aspects of application
development, starting with elementary questions of software logistics and continuing with the development of both back-end logic and Web-based user
interfaces for subsequent deployment in the portal.

Features
Depending on the use case of your development project, you can choose any of the following scenario variants:
Variant Name

Description

Developing Java Applications Using Web Dynpro

With Web Dynpro, organizations can use a model-driven approach to designing


user interfaces that still allows them to add their own custom coding for specialized
routines. Web Dynpro for Java comes with a comfortable tool environment to create,
modify, configure and adapt applications easily, and is great for building portalaware applications.

Leveraging J2EE Standards For Porting And Adopting Applications

Organizations that have adopted the Java 2 Platform, Enterprise Edition (J2EE)
standard are offered the methodology and tools to easily port their applications to
SAP NetWeaver. After the migration, they can maintain their applications with SAPs
complete Java tool set, including the SAP NetWeaver Developer Studio and the
SAP NetWeaver Development Infrastructure.

Creating Business Applications using ABAP

In the SAP standard applications, ABAP is still the prevailing technology. This
variant focuses on how to customize and extend SAPs custom applications in
customer projects, using the so-called switch framework and enhancement
framework.

Developing ABAP Applications Using Web Dynpro

The comfortable Web Dynpro technology for building user interfaces is also
available for the ABAP world, and can thus be used to put modern, professional
user interfaces on top of existing ABAP applications.

Creating Composite Applications

Composite applications combine services from many different sources, and make
heavy use of collaboration and knowledge management features to support groups
of end users in innovative ways. SAP NetWeavers composite application
framework (CAF) offers a special set of tools to generate, adapt and maintain
composite applications.

Developing Java Applications Using Web Dynpro


Complete descriptions of the IT processes, which are part of this scenario variant, can be found under
the documentation section IT Scenarios At a Glance .

Developing Java Applications Using Web Dynpro in

Steps
The current scenario variant comprises the following phases, which you process in the context of Web Dynpro application development:
1. Model the complete Java Web Dynpro application, including the back end to be used.
a. Plan the back end to be called, which obtains the data for your Web Dynpro application. The back end is specified by means of the
model definition and use access.

Web Dynpro

b. Arrange the Web Dynpro application into development components, which are infrastructure entities. This step is carried out in the context of
Web Dynpro project to be set up.

the

c. The
navigation within the Web Dynpro application and the
Portal Navigation must be taken into account during the modeling. You will usually
first plan the navigation between the views of the application. However, you should already consider at an early stage what function your application
is to have within the SAP Enterprise Portal (EP).
2. Develop the Java Web Dynpro application using the
design time tools in the development environment, the SAP NetWeaver Developer Studio. All Java
Web Dynpro tools are available in the Web Dynpro perspective.
a. Implement the back-end model, such as the Adaptive Remote Function Call (Adaptive RFC) model, using the

Web Dynpro Model Tools.

b. Define the
data binding. The term data binding refers to the data flow between a UI element and the controller context or between the controller
context and a back-end model. For this reason, SAP has added Web Dynpro-specific properties to the standard Eclipse Properties view, which
enable direct navigation to the controller context for definition purposes.
c. Implement the view layout in the graphical
View Designer tool. Choose the required UI elements from the range provided. There is also a
Favorites category, which lists the most frequently use elements.
d.

Deploy the application on the Java engine of the SAP Web Application Server. During Web Dynpro development, you can query the current status
of your engine using the J2EE view.

e.

Debug and
process.

test the Web Dynpro application, including functional application tests. A separate perspective is available for the debugging

f. Manage the lifecycle of the Web Dynpro application: The


SAP NetWeaver Development Infrastructure NWDI is used for the management and
versioning of Web Dynpro applications. Explicit integration via context menu entries is available for the check-in and check-out process for the
individual application entities.
g. In the NW Developer Studio, choose Window Preferences SAP J2EE Engine and enter the server settings for the Java engine of the SAP
Web Application Server.
h. If necessary, you can use the
Configuration Service provided by Web Dynpro for application settings. Furthermore, a Web Dynpro application can
also define files for the configuration.
i. If you have used the Adaptive RFC model, you can
map the logical systems. This enables you to use functions from different SAP back-end
systems in a Web Dynpro application integrated in the EP.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 16 of 44

3. Adapt the Java Web Dynpro application for the end user, or enable the end user to adjust the application to suit his or her requirements.
a.

Internationalize the user interface to ensure that the application is multilingual. SAP supports the Java standard and creates resource files, but
also provides an input form. Developers are thus able to send users detailed information electronically.
b. Personalize the Web Dynpro application using the corresponding functions of the Portal, as described under User Guide Personalization .
c. If necessary, carry out an
implicit configuration of the Web Dynpro application to adapt the user interface accordingly. Examples of implicit
configurations are the role-specific altering of labels or changing the visibility of fields.

Leveraging J2EE Standards for Porting and Adopting Applications


You can find the complete description of the IT processes that this variant consists of in
under the IT Scenarios At a Glance documentation suite.

Leveraging J2EE Standards for Porting and Adopting Applications

Steps
The implementation of this scenario variant includes the following processes and steps:
1. Port existing application from a different vendor to your NetWeaver-based development environment.
a. Do your migration planning using the J2EE Migration Kit. For more information, see SAP Developer Network at sdn.sap.com.
b. Import the application sources in the SAP NetWeaver Developer Studio as described in
2. Create a model of your application using the tools in the SAP NetWeaver Developer Studio.

Importing J2EE Sources.

a. Structure the components of your J2EE application according to the SAP NetWeaver
Component Model.
b. Define the application components and interactions between them in UML notation using the built-in Borland Together UML modeling tool. For more
information, refer to the tools documentation in the Eclipse help.
3. Implement applications components.
a. Build the presentation layer of your application using JSPs and servlets as described in
b. Implement the business logic of the application using enterprise beans as described in
OpenSQL/JDBC technology to build the persistence layer as described in

Developing Java Persistence.

c. Enhance your application to provide connectivity with other components using


Connector Architecture. Increase interoperability using the widely-accepted
d. Test your application by executing static

Developing J2EE Web Applications.


Developing Enterprise Beans. Use the portable

JMS, or to connect it to other back-end systems using

J2EE

Web services technology.

JLin tests. Use the integrated tools for remote debugging to pin-point errors in your application as

described in
Remote Debugging in the Developer Studio.
4. Configure and adapt your application to fit into the SAP NetWeaver development and runtime infrastructure.
a. Configure the declarative settings of the application using the UI editors of the SAP NetWeaver Developer Studio as described in
Deployment Descriptors.

Editors for

b. Configure the security aspects for your application such as security roles, authorization and authentication properties, as described in
Security Functions.
c. Deploy your J2EE application directly from your SAP NetWeaver Developer Studio project as described in
use the standalone deployment options listed in

Integrating

Deploying EARs. Alternatively, you can

Deployment: Putting It All Together.

d. Manage the life cycle of your application using the services that the SAP NetWeaver Development Infrastructure provides as described in
with the SAP NetWeaver Development Infrastructure.

Working

1.4.1.3 Creating Composite Applications


Steps
The implementation of this scenario variant includes the following processes and steps:
1. Model your composite application using the tools for process modeling that SAP NetWeaver provides:
a. Design business processes with ARIS for SAP NetWeaver.
b. Implement the process flow in Guided Procedures (GP) design time.
c. Create or reuse existing blocks and actions.
d. Design the data model using the built-in capabilities of Borland Together UML modeling tool into the SAP NetWeaver Developer Studio.
e. Model the portal navigation and workcenter aspects of the application.
For more information about this phase of the scenario variant implementation, see
User Guide .
2. Implement the composite application in the SAP NetWeaver Developer Studio:
a. Integrate external services into the application, as described in

Developing, Configuring and Adapting Applications in the Power-

Importing External Services.

b. Create entity services to implement the data model. For more information, see

Modeling Entity Services

c. Implement the business logic of an application service following the instructions in


d. Develop the user interfaces of the composite application, as in
3. Configure the composite application:

Modeling Application Services

Implementing Web Dynpro Callable Objects.

a. Create and configure the callable objects that you need for the process, as described in
b. Personalize your process.
c. Maintain the process authorizations.
Steps b and c are typically done by a power user. For more information, see
d. Set up the services of the application. See

Exposing Applications as Callable Objects.

Developing, Configuring and Adapting Applications.

Services and Concepts for more information.

e. Configure Web Dynpro components. See


Implementing Web Dynpro Callable Objects.
f. Set up portal roles and pages.
4. Adapt the application to fit your business purposes. You can:
a. Modify the process flow.
b. Adapt the building elements of the process (blocks and actions).

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 17 of 44

c. Enhance the implementation of the services in the composite application.


d. Improve the user interfaces by enhancing the Web Dynpro components.
e. Finally, you update the portal integration of your application to leverage the enhancements you have done.

Developing ABAP Applications Using Web Dynpro


This scenario variant focuses on the programming model of

Web Dynpro fr ABAP.

You can find the complete description of the IT processes that this variant comprises in
Scenarios At a Glance documentation suite.

Developing ABAP Applications Using Web Dynpro under the IT

Development Process
Working with this scenario variant means programming user interfaces for business applications using the UI technology Web Dynpro for ABAP. The following
sections of the Web Dynpro ABAP programming manual help you in this task:

Basics
This section contains the information on how to build a simple Web Dynpro application.

Cross-Component Programming
In this section, the previous topics are extended to allow communication across multiple components.

Dynamic Programming
This section contains information about the dynamic manipulation of the context or layout, for example. Dynamic programming requires good knowledge of
ABAP Objects.

Advanced Concepts
This section covers different topics relevant to advanced projects with Web Dynpro for ABAP. These topics are self-contained and do not build on one
another. See also:

Portal Integration

Internationalization and Translation

Personalization and Configuration

Enhancements

Running an Enterprise Portal


Purpose
This section describes how to build applications for the portal. The guide explains how to build portal applications and how to make use of services provided by
the portal or the underlying J2EE engine.
The guide is divided into the following sections:
Getting Involved: Describes basic concepts about the portal that you need in order to build portal applications. It also describes the SAP NetWeaver
Developer Studio features that enable you to more easily build applications.
Portal Applications can be built using one of the following technologies:
Portal Runtime: The Portal Runtime (PRT) is the underlining engine on which the portal runs. The PRT provides the infrastructure for creating PRTbased portal components, which generate HTML for display, and portal services, which provide general functionality to components and other
services.
Web Dynpro: This is the preferred method for building user interfaces. You can build Web applications with Web Dynpro, and then display the
applications in the portal.

Web Dynpro is described in detail in


Web Dynpro for Java and
Web Dynpro for ABAP. The best method for displaying Web Dynpro applications
in the portal is described in Web Dynpro Applications for the Portal.
Go and Create: Describes how to build a simple portal application using the PRT.
Developing Applications: Describes what you can do within a portal application with the help of built-in portal services.
Ensuring Quality: Describes the techniques for making sure that your applications are written properly.
Reference: Provides the Javadocs for portal and portal runtime APIs, as well as other vital information about the portal.

Prerequisites
The guide assumes that you have the basic knowledge of the following areas:
Java and servlet programming.
Basic operating system commands for navigating in the file system, copying and editing files.
Some portal services require knowledge of the following:
JSP (Java Server Pages)
HTML

1.4.3 Enabling User Collaboration


The Enabling User Collaboration scenario allows efficient collaboration in your company portal. It allows individual users and teams to communicate and
collaborate within their business processes and access shared data in virtual rooms.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 18 of 44

This documentation describes, how to develop and integrate new services and extensions in order to enhance the collaboration capabilities of SAP
NetWeaver.

Prerequisites
Developers that want to enhance the Enabling User Collaboration scenario with custom developments need to have a basic understanding of the underlying
technical components. The following table lists the knowledge required as prerequisites for this documentation:
Prerequisite

Description

Technical usage type for SAP NetWeaver

The Collaboration capabilities of SAP NetWeaver are part of the Enterprise Portal
(EP) usage type.

IT scenario variants

The Enabling User Collaboration scenario comprises the following variants:

Ad-hoc collaboration
Collaboration in virtual rooms.
See the description of the
Development environment

Enabling User Collaboration scenario

In order to develop the enhancements for Collaboration within SAP NetWeaver you
need the knowledge of Java.

How to Use This Documentation


If you are not yet familiar with Collaboration applications, start with the following sections:
Getting Involved
Informs about the basics of Collaboration development
Go and Create
Guides you to basic tutorials
If you are already experienced in enhancing Collaboration applications, you can use the remaining sections for reference purposes:
Development Details
Informs from different points of view about the possibilities of enhancing Collaboration applications and also provides links to tutorials and samples that
illustrate common programming tasks.
Ensuring Quality
Informs about possibilities to ensure the quality of your enhancements
Integration
Provides an overview on special aspects like the integration of third-party-solutions
Reference
Offers all the available tutorials, Javadocs, samples and checklists

Disclaimer
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive
system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the
correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such
damages were caused by SAP intentionally or grossly negligent.

Enterprise Knowledge Management


The Enterprise Knowledge Management scenario offers users a wide range of functions to work with documents and information. It offers services to create,
publish, retrieve, and share information that is distributed to different locations and backend systems. Underlying the scenario, at a technical level, is the
Knowledge Management (KM) capability of SAP NetWeaver. The capability provides an infrastructure to access documents that are stored in heterogeneous,
distributed repositories at a central point and offers services to handle these in a uniform manner. Regardless of how or where documents are stored,
Knowledge Management makes it possible to:
Navigate through documents
Search and classify documents
Work with documents in a collaborative environment
Manage documents

Topics
Developers that want to enhance the 1.4.4 Enterprise Knowledge Management scenario with custom developments need to have a basic understanding of
the underlying Knowledge Management platform and the development options. The following documentation provides information on various aspects of the
platform and points out the most effective ways in which developers can use and extend the platform.
Getting Involved
Briefly introduces the architecture of Knowledge Management and then explains the main components: the repository framework layer, the Knowledge
Management layer and extensions. It describes the role of repository managers and focuses in detail on the functions that are available for objects when they
are exposed as resources within the repository framework. Further sections focus on the Knowledge Management layer, which implements functions that are
available for users on the UI, and extensions, which are plugged into the framework to enhance its capabilities.
For developers that are familiar with the basic concepts of Knowledge Management and want to get started with development work, this section gives useful

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 19 of 44

information for setting up the development environment and defining development projects.
Go and Create
Provides a tutorial for creating a repository manager that integrates a document store into Knowledge Management, enabling read access for clients. The
tutorial offers a link to a deployable sample program.
Core Development Tasks
Informs about the details of programming with Knowledge Management. Developers can build applications on top of the existing implementation or develop
extensions for the implementation. The documentation describes both these approaches and provides links to tutorials and samples that illustrate common
programming tasks. Further topics deal with the UI technologies which Knowledge Management supports, the development of configurable applications and
performance optimization.
Reference
Provides links to Javadocs, tutorials and sample programs. A check list summarizes points that must be taken into consideration during the development
process to avoid errors.

Disclaimer
Any software coding and/or code lines / strings ("Code") included in this documentation are only examples and are not intended to be used in a productive
system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the
correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such
damages were caused by SAP intentionally or grossly negligent.

Business Planning and Analytical Services


Purpose
Various BI interfaces and tools are available if you want to modify the Business Planning and Analytical Services scenario.

Advantages for Application Development


Business planning allows developers to create and operate planning scenarios or other applications. Business planning provides the following planning tools for
these purposes:
BI Integrated Planning, a solution that is completely integrated into the BI system
BW-BPS (Business Planning and Simulation)
We recommend that you use the new BI Integrated Planning functionality when you implement new scenarios. We only recommend that you continue to use
BW-BPS for small enhancements to existing BW-BPS solutions. For more information, see
For a comparison of BW-BPS and BI Integrated Planning, see

Business Planning and Simulation (BW-BPS).

Release and Upgrade Management.

Also see the information in the SAP NW Technical Operations Manual about the

Migration of BW-BPS to BI Integrated Planning.

BI Integrated Planning and analysis process design (for data mining solutions, for example) are now explained in more detail.
BI Integrated Planning

You can develop your own data models and planning-specific metadata objects for your business planning.
You can use the BEx Query Designer to define input-ready queries for the manual entry of plan data.
In the BEx Analyzer and Web Application Designer, you can develop planning applications that support manual data entry and automatic changes to data.
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. Within the BI system, you can use customer exits
and BAdIs to make enhancements in the Query Designer and the Web Application Designer.

Analysis Process Design


You use the Analysis Process Designer to define analysis processes that explore and identify hidden or complex relationships between BI data.
You use the Data Mining Workbench to create models. This allows you to apply the methods according to your requirements.

Prerequisites
Area

Prerequisites

BI Integrated Planning: Modeling the data basis

BI Integrated Planning: Modeling planning-specific metadata objects

BI Integrated Planning: Definition of an input-ready query

BI Integrated Planning: Creating Web templates

Proficiency in standard markup languages

Enhancements using function exits and BAdIs

ABAP proficiency

Analysis process design

Data mining

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 20 of 44

1.4.6 Enterprise Reporting, Query, and Analysis


Purpose
You can use various BI interfaces and tools to adapt the Enterprise Reporting, Query and Analysis scenario to your needs.

Advantages for Application Development


With BI, you can define your own queries, reports, and Web applications to best represent the processes of your enterprise.
Customers and partners of BI can develop their own content and deliver it to their business units. You can also make limited modifications and changes to
BI Content.
Business Explorer Web application design allows you to apply generic OLAP navigation to BI data in Web applications and Business Intelligence cockpits.
You can implement this for all scenarios, from simple scenarios to highly specialized scenarios. You can use standard markup languages and Web design
APIs to implement highly individual scenarios with user-defined interface elements.
The Visual Composer provides functions that allow you to integrate BI queries into analytical applications. You use the BI integration wizard to define
queries for any type of data service that is connected using BI Java connectors.
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. You can use customer exits and BAdIs for
enhancements within query design und Web application design.
Services that are based on the SAP NetWeaver Internet Communication Framework (ICF) are delivered with BI. The BI HTTP services allow you to
display or exchange BI data using a URL.
The report-report interface allows you the flexibility to call a jump target (receiver) online from a BEx query (sender) within or outside of the BI system.
BI provides interfaces for evaluating data for reporting with third-party front-end tools.
You use the BI Java SDK to create analytical applications with which you access both multidimensional (Online Analytical Processing or OLAP) and
tabular (relational) data. You can also edit and display this data.

Prerequisites
Area

Prerequisites

Development of BI content: queries, reports, Web applications

Developing customer and partner content

ABAP development license

Web application design

Proficiency in standard markup languages

BI in Visual Composer

Enhancements using function exits and BAdIs

ABAP proficiency

ICF services

ABAP proficiency

Report-report interface

Connecting to third-party front-end tools

For more information about the technical prerequisites, see


Interfaces.

BI Java SDK

Java programming proficiency; Business Intelligence experience

Open Analysis

How to Use This Documentation


If you have no experience of working with Enterprise Reporting, Query, and Analysis , start with the following sections:
Working with the Development Environment
Go and Create
These sections contain information about the basic principles, as well as introductory tutorials.
If you have previous experience of working with Enterprise Reporting, Query, and Analysis , you can use these sections as a reference for specific details.

1.4.7 Enterprise Data Warehousing


Purpose
Various BI interfaces and tools are available if you want to modify the Enterprise Data Warehousing scenario.

Advantages for Application Development


With BI, you can develop your own data models that best represent the processes within your enterprise.
Customers and partners of BI can develop their own content and deliver it to their business units. You can also make limited modifications and changes to
BI Content.
BI uses heterogeneous interfaces to provide an open architecture, in various directions: You can use third-party tools to extract data from various source

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 21 of 44

systems into a BI system, and use third-party tools to distribute this data into further non-SAP systems.
BI allows you to implement routines for transferring data.
With the SAP enhancement concept, you can make enhancements to the standard in the BI system. In the BI system, customer exits and BAdIs are
used in open hub destinations, the formula editor and documents to enable enhancements.
Services that are based on the SAP NetWeaver Internet Communication Framework (ICF) are delivered with BI. The HTTP services of BI allow you to
display or swap BI metadata using a URL. You can also display user-specific documentation on metadata.

Prerequisites
Area

Prerequisites

Extraction of data and metadata to a BI system using third-party tools

ABAP proficiency

Distribution of data to non-SAP systems

ABAP proficiency

Modeling BI objects

ABAP proficiency

Developing customer or partner content

ABAP proficiency, ABAP development license

Implementing routines

ABAP proficiency

Enhancements using function exits and BAdIs

ABAP proficiency

ICF services

ABAP proficiency

How to Use This Documentation


If you have no experience of working with Enterprise Data Warehousing , start with the following sections:
Working with the Development Environment
Go and Create
These sections contain information about the basic principles, as well as introductory tutorials.
If you already have experience of working with Enterprise Data Warehousing , you can use the other sections. These specifically aim to cover the details.

Enabling Application-to-Application Processes


Purpose
This documentation describes how to centrally design processes to integrate applications within a company as part of the e nabling application-to-application
processes IT scenario. The applications to be integrated can be SAP or non-SAP applications.

Prerequisites
The following table lists the prerequisites for this documentation:
Prerequisites

Description

Technical usage type for SAP NetWeaver

PI Process Integration (XI)

Tools

Integration Builder (Integration Repository and Integration Directory)

How to Use This Documentation


If you do not have any experience with enabling application-to-application processes , start with the following sections:
Getting Involved
Go and Create
These sections contain information about the basic principles of process integration, as well as examples and an introductory tutorial.
If you already have experience with enabling application-to-application processes , use the remaining sections for reference purposes.

Enabling Business-to-Business Processes


Purpose
This documentation describes how to define XML-based business processes between business partners that use industry standards. It also explains how to
define, configure, and monitor these processes.
Smaller business partners can exchange XML documents by using an easy-to-use client.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 22 of 44

Prerequisites
The following table lists the prerequisites for this documentation:
Prerequisite

Description

Technical usage type for SAP NetWeaver

Process Integration (PI)

IT scenarios

Scenario Enabling Application-to-Application Processes


This scenario describes the basic principles of message-based process integration
in SAP NetWeaver and the tools used.

Tools

Integration Builder (Integration Repository and Integration Directory)


For more information, see the Enabling Application-to-Application Processes
scenario .

1.4.10 Business Process Management


Purpose
Within the scope of the process automation variant, the IT scenario business process management enables you to define your own processes. You can
define the following types of automated processes:
Processes embedded in SAP applications
Cross-system or cross-application processes
Documentation Structure
The following documentation contains detailed information about the development environment, and how to define, test, and monitor a process. Various
tutorials and examples are used to introduce you to each topic.
Embedded Processes (SAP Business Workflow)
Describes how to develop embedded processes with SAP Business Workflow.
Unbounded Processes (Integration Processes)
Describes how to develop cross processes in the graphical process editor in the Integration Builder.
See also:
For more information about combining embedded and cross processes, see SAP Service Marketplace at service.sap.com/nw-howtoguides CrossComponent Technical Scenarios .

1.4.11 Business Task Management


Purpose
Business task management is the ability to generate actions for users in the system, either as a response to a step in a business process being reached, or
as a result of a spontaneous desire to create a task by a user.

Prerequisites
The following table lists the prerequisites for using this documentation:
Prerequisites

Description

Technical knowledge of SAP NetWeaver usage types

Enterprise Portal (EP)

IT Scenarios

This scenario is related to Business Process Management but concentrates on the


user interaction with tasks.

Other knowledge requirements

This scenario does not require advanced development skills.


If you want to implement interactive forms in WebDynpro, you need knowledge of
WebDynpro for Java or ABAP.

Topics
PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 23 of 44

Getting Involved
Gives an overview of the business task management concepts and the development tools used to implement this scenario.
Go and Create
Enables you to get started with scenario development by creating a simple form-based process.
Core Development Tasks
Provides detailed instructions on how you implement development aspects of business task management.
Integration
Outlines integration aspects of this scenario.
Reference
Includes tutorials that show you how you implement different aspects of business task management.

1.4.12 Enabling Enterprise Services


From Data-Model-Oriented to Service-Oriented Development
The architecture of the established SAP R/3 system provides a good scalability of the overall system. This is reflected in the three tiers of the front end (GUI),
the application server, and the database. The programming on the ABAP application server based itself on the structures defined by the database model.
With the growing heterogeneity of the systems and programming languages, the need to extend this architecture has also grown. In extending the architecture,
the aim is to develop software according to a service-oriented paradigm: Rather than reaccessing database structures for each new development, the idea is to
use services that encapsulate this access, so that the flexibility of the software development can be increased and the reusability improved. Due to the
growing heterogeneity, it is also becoming more and more important to homogenize development tools and modeling techniques at various levels of
abstraction. This makes it possible to clearly represent and better control those processes of a company that are automated using software. Services that are
essential for the execution and understanding of these processes are referred to as Enterprise Services . The term Enterprise Service-Oriented Architecture
( Enterprise SOA ) covers all concepts around which this new software development is oriented. SAP NetWeaver is the platform that provides increasingly
more functions to technically support these concepts.

Service-Oriented Variants in SAP NetWeaver 7.0


SAP NetWeaver 7.0 already supports the first Enterprise SOA concepts, and focuses mainly on cross-application communication (company-internal and
cross-company) based on open standards. The development or publication of services based on Web Service Description Language (WSDL) is an important
milestone in this area. There are generally two different development approaches:
Inside-Out Development
Existing functions that software developers have developed in ABAP or Java in a system are made accessible using a Web service. For this purpose, the
WSDL description of this Web service is published to the 'outside world' (on a UDDI server, for example). Consumers of a Web service can use this
description to include a call in their program code. If ABAP or Java developers want to call a Web service, they create client proxies in the application
system by using the ABAP Workbench or SAP NetWeaver Developer Studio.
Outside-In Development
Development is not begun in a system that restricts the software developer to a particular platform and programming language, but is begun outside such
a system, in the Integration Builder. Using this development tool, the developer specifies the WSDL description in a central Integration Repository
independent of the programming language. From this description, the actual function can be implemented in the application system (as a server proxy ).
The call to this function can also be implemented (using a client proxy ).
The publication of Web services (inside-out development) is intended for point-to-point communication. The central development of interfaces in the Integration
Repository (outside-in development) is part of SAP NetWeaver Exchange Infrastructure (SAP NetWeaver XI) and is intended for communication using the
Integration Server. These scenario variants are summarized in the following table:
Scenario Variants for Enabling Enterprise Services
Scenario Variant

Development Approach

Service-Based Integration (Point-to-Point)

Inside-Out

Brokered Service-Based Integration

Outside-In
and

More Information
Web Services
Enabling Application-to-Application Processes in
the SAP NetWeaver Developers Guide

Inside-Out

In the second scenario variant, the development approaches are combined, since the Integration Builder also supports the import of interface descriptions into
the Integration Repository to facilitate communication between SAP and non-SAP systems. The first scenario variant is generally intended for simple,
synchronous, cross-application communication, whereas additional integration services of the Integration Server (such as routing and mapping) can be used in
the second scenario variant. The advantage of the first variant is that it involves a relatively short adjustment period compared to the second variant.

Development Environment and Programming Model


Outside-in and inside-out development both use a WSDL description to represent the interface of a service language-independently. This common feature is
already used in the ABAP environment in SAP NetWeaver 7.0 to make it possible to select between the scenario variants outlined above, independent of the
original outside-in development approach. If synchronous communication using the Integration Server does not use integration services or protocols that are
specific to SAP NetWeaver XI, developers can switch to point-to-point communication using Web services. (See also
ABAP Proxy Runtime). In ABAP,
developers work with the ABAP Workbench for both scenario variants. The common features of the scenarios are summarized in the following table:
Approach

Development Tools

Application

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 24 of 44

Inside-Out

SAP NetWeaver Developer Studio


(Creation of Java proxies)
ABAP Workbench
(Creation of ABAP proxies)

Outside-In

Creation of client proxies for calling Web


services (point-to-point). Communication
using the Integration Server is possible
using the

SOAP adapter.

Creation of client and server proxies for


direct communication using the
Integration Server or point-to-point
communication.
Integration Builder
(Creation of Java proxies)

Creation of client and server proxies for


direct communication using the
Integration Server.

In ABAP, the programming model for the communication between client and server proxies is independent of whether or not the communication is made using
the Integration Server. This does not yet apply to Java in SAP NetWeaver 7.0.

1.4.13 SAP NetWeaver Operations


This section deals with important administrative needs of SAP NetWeaver. In addition to basic administration, this includes fundamental aspects of system
monitoring. Since the architectures of ABAP and Java are different, this also applies for the resulting development requirements.
The focus is on the Computing Center Management System (CCMS), which has been familiar for a number of years as the central administration point for the
usage type AS ABAP. CCMS also covers the central monitoring of usage type AS Java. Overall, it should be possible to perform as many administrative
activities as possible from a central location to ensure optimal, cost-efficient IT operation.
Chapter

Description

Developing and Enhancing in the CCMS Monitoring Infrastructure

This section introduces the CCMS monitoring infrastructure. It forms an important


basis for central monitoring of a SAP NetWeaver system landscape. The focus here
is on AS ABAP.

Developing and Enhancing the Java Monitoring Framework with JMX

This section shows what developers need to do to integrate Java components into a
central CCMS monitoring.

Logging in Java Technology

This section focuses on the efficient writing of log files in Java using the SAP
Logging API.

Printing

In the area of printing, the XOM and XDC programming interfaces provided by SAP
are of particular interest from a developers point of view.

Background Processing

SAP completely transfers control of background processing to an external


scheduler through the XBP interface. The local internal scheduling API is also
presented.

Alert Management

SAP Alert Management ensures that business-critical alerts are delivered to those
responsible quickly. This section describes how alerts can be triggered and
managed.

Supportability for Developments Under SAP NetWeaver

Supportability describes which important values an application or component


should deliver so that they can be securely and efficiently monitoring and
maintained.

Developing Data Archiving Solutions

Data archiving for ABAP and Java is a core requirement for efficient and legal
operation of business applications. This section describes how data archiving can
be provided for ABAP and Java applications.

Development Environments and Main Development Focuses


This table provides an overview of the main development tasks in the area of SAP NetWeaver Operations, arranged by programming languages and topic
areas. The ABAP development is performed as usual in the SAP ABAP Workbench, while the SAP NetWeaver Development Infrastructure (NWDI) provides
optimal support for Java development.
Language

Area

ABAP

Monitoring

Integration into the CCMS monitoring


infrastructure by programming data collection
methods, which provide all support-relevant
information

Printing

Processing of print data, which can be


accessed using the XDC and XOM interfaces

Background Processing

Complete control of SAP background


processing using the XBP interface
Automated background processing using the
local programming interface

Alert Management

Triggering of business alerts and their


forwarding to SAP Alert Management

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Focuses

Page 25 of 44

Java

Monitoring

Integration into the CCMS monitoring


infrastructure by programming JMX monitors,
which provide all support-relevant information
Implementation of a component or scenario
heartbeat by creating a GRMG application in
Java

Logging

Correct writing of log messages using the SAP


Logging API

Developing and Enhancing in the CCMS Monitoring Infrastructure


This section explains how you can extend the functions of the CCMS monitoring infrastructure with your own developments. The monitoring infrastructure
allows you to centrally monitor your IT environment by centrally displaying performance values, availability data, and messages. Problems are displayed as
alerts as soon as they occur. You can also centrally switch to the relevant special transactions of the remote components for error analysis and correction.
Monitoring infrastructure is displayed in the following applications, for example:

The Alert Monitor

SAP NetWeaver Administrator

The monitoring infrastructure is open for extensions. You can therefore use your own developments to:
Instrument your own components, that is, report data to the monitoring infrastructure
Read monitoring infrastructure into your own application for further use
The methods available for both scenarios are introduced in the following sections.

1.4.13.1.1 Getting Involved


You can use the CCMS monitoring infrastructure to centrally monitor any IT environments (see
Concept of the Monitoring Architecture). The concept is to
make all required information available in a central monitoring system; this system is referred to here as CEN.
Problems are displayed in the alert monitor of CEN as soon as they occur; all log files are also accessible from a central location, which reduces the time for
error identification and correction. Additional configuration steps allow advanced technologies such as automatic notifications, meaning that administrators no
longer need to actively investigate systems for alerts.

Development Possibilities
In principle, you can extend the possibilities of the monitoring infrastructure with your own developments at two points:
Reporting monitoring data to the monitoring infrastructure, such as instrumenting additional components
Reading monitoring infrastructure monitoring data, for example, to display the data in your own display tool

Reporting Data to the Monitoring Infrastructure


To instrument an ABAP component for display in the Alert Monitor, develop a corresponding

Data Supplier. In this way, you can report any data (

Performance Attributes,
Status Attributes, and
Log Attributes in any tree structure of the monitoring infrastructure.
For information about this topic, see Creating a Data Supplier for the CCMS Alert Monitor.
In the case of smaller projects, you can also create the desired attributes using XML documents that are transferred using an HTTP client of the
monitoring infrastructure. The certifiable interface BC-XMW is available for this purpose.

If you are using both methods, you should also


the Alert Monitor.

create rule-based monitors, so that the reported monitoring data can be clearly displayed in

The
Generic Request and Message Generator (GRMG) is also available to monitor the availability of components or business processes. You can
instrument your own components for monitoring with GRMG. Scenarios with different software components (especially if there are no active data suppliers
available for these components) and Web-based business scenarios are typical examples of applications that you can usefully monitor with the GRMG
(see

GRMG: Instrumenting an Application).

Reading Monitoring Infrastructure Data


You can use the certifiable interface BC-XAL to read monitoring architecture data for additional processing. You can read both values of the various attributes
and alerts. On the SAP side, the interface consists of a collection of function modules that external programs can call by RFC (Remote Function Call).
See also:
For precise information about the possibilities described here, see Reference.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 26 of 44

1.4.13.1.2 Go and Create


Instructions for starting development are available for the following areas:

Creating a Data Supplier for the Alert Monitor


To instrument an ABAP component for display in the Alert Monitor, develop a corresponding Data Suppliers (see
Concept of the Monitoring Architecture).
As a possible starting point, there is example code available to you for monitoring performance data in Creating a Data Supplier for the CCMS Alert Monitor.

Reporting Monitoring Data Using XML Documents


You can also create the desired monitoring data using XML documents that are transferred to the monitoring infrastructure. As an introduction to transferring
the XML documents simply, example code is available for a Java HTTP client, among other things. You can also find examples of the XML documents
themselves in the below document.
To download the relevant document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP Integration and Certification Center Quick
Link. Choose Integration Scenarios SAP Web Application Server (Technology) , and, in the Alerts and Monitoring area, select the BC-XMW interface.
Choose the document Interface for Transferring Monitoring Data to the CCMS Monitoring Architecture Using XML Documents . The code mentioned above is
in the Appendix .

Creating a Rule-Based Monitor


If you report monitoring data to the monitoring infrastructure with one of the above methods, you should define your own monitor to display this data more
clearly. For information about this, see

Creating and Changing Monitors. There is also a relevant SAP Tutor available on the SAP Service Marketplace .

To download the SAP Tutor, start the SAP Service Marketplace , and go to the System Monitoring and Alert Management area
(http://service.sap.com/monitoring). Choose Education & Workshops , and select the document Creating a Rule-Based-Monitor from the list.

Instrumenting an Application with GRMG


The

Generic Request and Message Generator (GRMG) is also available to monitor the availability of components or business processes. To monitor the

availability of a new application with the GRMG, develop a corresponding GRMG application. For a corresponding example, see
GRMG Application.

Example Coding for a

1.4.13.1.3 Core Development Tasks


For information about the various options with which you can extend the possibilities of the monitoring infrastructure with your own developments, see the
relevant documentation under Reference.

1.4.13.1.4 Ensuring Quality


When troubleshooting your own developments in the monitoring infrastructure, note that the infrastructure itself is instrumented, meaning that, by default,
powerful self-monitoring is therefore available. The results of this monitoring are displayed in the

CCMS Selfmonitoring monitor.

There are also specific methods for troubleshooting and error analysis for the methods described in Getting Involved:

Creating a Data Supplier for the Alert Monitor


If you are creating a data supplier yourself, you can and should report messages to the self-monitoring of the monitoring infrastructure. These messages are
usually reported in the Data Supplier Log log attribute in the
document Writing a Data Supplier .

CCMS Selfmonitoring Monitor for Instance-Specific Data. For more information, see the

To download the relevant document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area, select
the Writing a Data Supplier document. The coding that you require is in the section Issuing Self-Monitoring Messages .

Reporting Monitoring Data Using XML Documents


The most important error messages and status information for the certifiable interface BC-XMW are displayed in the XML_Selfmonitoring subtree in the
CCMS Selfmonitoring Monitor for System-Wide Data. You can also activate a detailed logging of the processing of XML documents in the transferred XML
document itself, by setting the element auditlevel=1. You can display this analysis in transaction RZ15.
For detailed information, see the Error Analysis and Self-Monitoring section of the document Interface for Transferring Monitoring Data to the CCMS
Monitoring Architecture Using XML Documents .
To download the relevant document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP Integration and Certification Center Quick
Link. Choose Integration Scenarios SAP Web Application Server (Technology) , and, in the Alerts and Monitoring area, select the BC-XMW interface.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 27 of 44

Instrumenting an Application with GRMG


To monitor the correct functioning and configuration of the

Generic Request and Message Generator (GRMG), use the

GRMG Selfmonitoring Monitor.

Reading Monitoring Infrastructure Data Using the XAL Interface


If you use the certifiable interface BC-XAL to read monitoring architecture data for additional processing, you use a collection of function modules on the SAP
side. These function modules output data for any error messages in the return variable RETURN.
For detailed information, see the Error Messages of the Function Modules section of the document Including External System Management Programs in the
CCMS Monitoring Architecture .
To download the relevant document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP Integration and Certification Center Quick
Link. Choose Integration Scenarios SAP Web Application Server (Technology) , and, in the Alerts and Monitoring area, select the BC-XAL interface.

1.4.13.1.5 Reference
For more information about the topics covered in Getting Involved, see the following:
Topic

Additional Information

Creating a Data Supplier for the Alert Monitor

Creating a Data Supplier for the CCMS Alert Monitor

Reporting Monitoring Data Using XML Documents


(BC-XMW interface)

Interface for Transferring Monitoring Data to the CCMS Monitoring Architecture


Using XML Documents
To download the document, start the SAP Developer Network (http://sdn.sap.com),
and go to the SAP Integration and Certification Center Quick Link. Choose
Integration Scenarios SAP Web Application Server (Technology) , and, in the
Alerts and Monitoring area, select the BC-XMW interface.

Instrumenting an Application with GRMG

GRMG: Instrumenting an Application

Reading Monitoring Infrastructure Data Using the BC-XAL Interface

Including External System Management Programs in the CCMS Monitoring


Architecture
To download the document, start the SAP Developer Network (http://sdn.sap.com),
and go to the SAP Integration and Certification Center Quick Link. Choose
Integration Scenarios SAP Web Application Server (Technology) , and, in the
Alerts and Monitoring area, select the BC-XAL interface.

Creating a Data Supplier for the CCMS Alert Monitor


Purpose
The CCMS monitoring infrastructure makes the most important overview data and alerts for an entire system landscape available centrally. It is a flexible
infrastructure that can be extended as required: you can easily add monitoring and alert functions for every SAP NetWeaver component. This means that the
component is visible in the
CCMS Alert Monitor of SAP NetWeaver and can be monitored: a system operator can then monitor the status of the component
using the Alert Monitor (and other CCMS monitors).
Integration into the CCMS monitoring infrastructure provides the following advantages:
The component can be monitored locally or centrally.
Online monitoring data and alerts can be displayed and administered for the component.
Online data and alerts are available through interfaces to other applications
SAP NetWeaver Administrator,
SAP Solution Manager, or certified
system management products.
Programs can be automatically started based on alerts (for example, notification by mail).
If an alert occurs, you can provide assistance for the administrator to solve the problem through an analysis method.
Performance values can be stored centrally, transferred to a BW, and analyzed centrally there.
Every developer (SAP, partner, or customer) can add components to the CCMS monitoring infrastructure; he or she only needs to write a data supplier to do
this. A data supplier is an ABAP program that is connected to the CCMS monitoring infrastructure and forwards information about the component to be
monitored to the CCMS monitoring infrastructure. The CCMS monitoring infrastructure displays the component, its data and alerts in the alert monitor
(transaction RZ20), SAP NetWeaver Administrator, SAP Solution Manager, and so on.
This document explains the creation of a data supplier using the ABAP interface contained in the CCMS monitoring infrastructure. For information about
creating a data supplier for Java, see

Monitoring and Management.

The term data supplier is used here for all programs that provide monitoring functions. There are two types of data suppliers:
Passive data suppliers or data collection methods
These data suppliers are periodically started by the monitoring architecture and are formally defined there. Passive describes the behavior of the data
supplier: it is started by the CCMS monitoring infrastructure.

A passive data supplier collects the users logged on to the system every five minutes.
Active data suppliers
These data suppliers are started by the monitored application itself and not by the CCMS monitoring infrastructure. These data suppliers are active in
their start behavior in relation to the CCMS monitoring infrastructure.

If a message is written to the system (transaction SM21), it is also reported to the CCMS monitoring infrastructure at the same time.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 28 of 44

The following overview documentation confines itself to passive data suppliers under ABAP. For a complete description of the interface, see the document
Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link. Choose
Application Development System Management System Management Development , and in the ABAP System Management area, select the
specified document.

Example
For a detailed description of a data supplier that reports the number of users currently logged on to the CCMS monitoring infrastructure, see Data Supplier for
the Users Currently Logged On.

Elements of the CCMS Monitoring Infrastructure


Definition
The hierarchical structure of a monitor is the alert monitoring tree. In this tree, you can check the status of your IT system landscape. The MTEs are nodes of
this tree, where the root node also has the name of the monitor. Different MTEs are element of the alert monitoring tree: monitoring summary nodes,
monitoring objects, and monitoring attributes (see also

Elements of the Alert Monitoring Tree.

Virtual Nodes and Summary Nodes


Monitoring summary nodes (summary MTEs) provide a better overview in the tree, without performing a monitoring function themselves. They act as titles or
headings in the Alert Monitor. No alerts can be triggered for summary MTEs. Alert statuses and alert messages can, however, be displayed, since these are
propagated upward in the alert monitoring tree. There are two kinds of monitoring summary node:
Real monitoring summary nodes (summary nodes)
These nodes are stored in the monitoring segment and have been created by the data supplier to improve clarity. You can identify summary nodes in the
alert monitoring tree by the fact that they are the only nodes without an icon after the node name.
Virtual monitoring summary nodes (
)
These nodes are not stored in the monitoring segment, but exist only to provide a clearer display of real MTEs in a monitor Virtual nodes are created in
the monitor definition.

Monitoring Objects
Monitoring objects are particular components of your systems that the monitoring architecture monitors (such as SpaceManagement or CPU ). Like the
summary nodes, they are created by the data suppliers. The objects combine various monitoring attributes that belong to the same component or the same
attribute of the SAP system. They are identified in the alert monitoring tree by the icon

Monitoring Attributes
Monitoring attributes are data types that can be reported for a particular monitoring object. The monitoring object CPU , for example, has the attributes CPU
utilization and 5MinuteLoadAverage , among others. A data supplier reports data for these attributes, and the alert monitor triggers alerts for the attributes if
the data violates the defined alert thresholds.
There are various types of monitoring attributes:
attribute type

Description

Performance attribute

Collects reported performance values and calculates the average; a performance


attribute contains a numerical value for a performance parameter.

Status attribute

Reports error message texts and alert statuses; a status attribute contains individual
messages (such as individual status, warning, and error messages)

Log attribute

If your component might output multiple related messages, you can use a log
attribute instead of a status attribute to report the messages to the Alert Monitor. The
log attribute presents the messages as a log. This means that the user can see the
messages in context. Use a log attribute to implement a log or trace for your
component. The monitoring architecture provides the log function. You only need to
report your messages to the log attribute.

Log attributes can use an existing log mechanism, such as the SAP system log,
or they can be used by an application for the implementation of a separate log.
Allows a data supplier to report information that does not have an alert value; the
text can be updated if required; use text attributes for text information for a
monitoring object that is seldom changed (such as an ID).

Text attribute

Structure of the Alert Monitoring Tree


Summary MTEs and monitoring objects do not contain any information about the status of the monitored system themselves; they structure the alert
monitoring tree. The monitoring objects form the last level of the hierarchy above the monitoring attributes. The attributes represent the end of the branches of
a monitoring tree and contain the actual data. Summary nodes are above the monitoring objects in the monitoring tree, and can form any number of hierarchy
levels (see also

Alert Monitoring Tree):

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 29 of 44

Methods
You can assign
methods to monitoring attributes, and use transaction RZ21 of the alert monitor to access the method definitions. A method can be a report,
a function module, an SAP transaction, or a URL that is to be executed as a reaction to an alert. You can execute these methods within the Alert Monitor. If
you double click, for example, the MTE for prematurely terminated jobs, the monitoring architecture automatically starts the job management transaction, in
which the job reported in the MTE is already selected.
The following methods exist:
Data Collection Methods
These methods allow the collection of information about the SAP system and its environment that is then reported to the monitoring architecture. The
method starts automatically or is automatically started by the Alert Monitor at specified time intervals.
Auto-Reaction Methods
These methods start automatically when an alert is triggered. There are multiple predefined auto-reaction methods in the monitoring architecture, which
you can assign to MTE classes (see also
Selected Methods of the Alert Monitor):
Sending an e-mail
Executing an operating system command
Executing an auto-reaction in the central monitoring system
Analysis Method
This method allows an analysis of error situations without leaving the Alert Monitor. You start an analysis method manually. An analysis method is, for
example, an ABAP program for displaying information about a node in the monitoring tree and for collecting information about the problem that triggered an
alert in this node.

The following methods are assigned to the MTE class R3UsersLoggedIn (and therefore to all corresponding attribute nodes of all instances):
Data collection method CCMS_User_Collect; this regularly collects the number of users logged on
Analysis method CCMS_User_Analyse; this shows the number of users currently logged on if there is a problem

MTE Classes and Attribute Groups


The alert monitoring tree consists of individual MTEs. These MTEs are assigned to

MTE classes and attribute groups in the monitoring infrastructure:

An MTE class describes the general properties (such as assigned help texts) and method assignments that are common to a particular group of MTEs.
An attribute group describes the specific properties that are shared for a particular attribute type, such as threshold values for alerts in the case of
performance attributes.

The attribute group R3DialogResponseTime defines that a yellow alert is to be displayed if the average response time exceeds two seconds. A
red alert is displayed if the average response time exceeds three seconds.
MTE classes and attribute groups simplify the Customizing of the Alert Monitor, since you do not need to change threshold values, properties, or methods
individually for every MTE, but only for the corresponding attribute group or MTE class.

Assign a separate MTE class to each type of monitoring object or attribute.


MTE classes also simplify the creation of your own rule-based monitors, since you do not need to specify every MTE individually when constructing the alert
monitoring tree, but rather only the corresponding MTE classes (see also

Creating and Changing Monitors).

You can easily define a monitor that displays the number of users logged on for all systems in the landscape. This monitor selects all nodes of
the MTE class R3UsersLoggedIn for all registered systems.
Start Page Creating a Data Supplier for the CCMS Alert Monitor

1.4.13.1.5.1.2 Checklist for Implementation


The CCMS monitoring infrastructure was designed as an open infrastructure. If a new component is to be monitored, the developers design a new data
supplier, which is integrated into the CCMS monitoring infrastructure. From then on, the new data supplier delivers the most important monitoring data about
the component.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 30 of 44

In addition to the data supplier, developers define an analysis method that provides additional information about the component if a problem occurs. If
necessary, an auto-reaction can also be defined, which is automatically started if an alert occurs.
The CCMS monitoring infrastructure provides the periodic start of the data supplier and the display and alert administration services. The quality and
usefulness of the monitoring data for your component depend entirely on the developer of the component.

Points to Consider Before Installation


1. What information does a user require to monitor and administer your component? You also need to implicitly decide what monitoring and administering
your component means:
Does the monitoring include one or more performance values?
Does it include the operator waiting for particular messages to appear?
Does it include a combination of these two possibilities?

Report only the most important information. Nothing is worse than an Alert Monitor overloaded with data, which is always red, and with which
no customer can work. If errors occur, the analysis method can collect detailed information and display it centrally.
2. How can the information be collected reliably and precisely? Do you have a function module or a report that collects the required information? Can you
build this function module or report into your data supplier? Does your component contain the necessary instrument to collect the required data?
3. How can the user react to problems (alerts)? Do you have an analysis method a transaction, a report, or an external operating system command with
which the user can obtain additionally required information or take the required action to correct the problem?
4. Do you have a tool that can automatically react to an alert (auto-reaction method)? Or is there a standard action that is to be taken when an alert occurs
(such as the informing of an administrator or the sending of a mail to a call center)?

Process Flow
To instrument your component for the CCMS monitoring infrastructure, proceed as follows:
1. Design monitoring of the component
Consider how you want to monitor your component.
2. Design the monitor in the CCMS monitoring infrastructure
Decide how you want to add your component to the CCMS monitoring infrastructure. This is essentially about the structure of the tree in the Alert Monitor
(transaction RZ20).
3. Attribute design
Consider whether you require particular functions of the CCMS monitoring infrastructure to implement your design. The attribute types to be used depend
on this.
4. Preparation for programming
Produce the prerequisites for the programming, such as preparing messages (short and long texts) for display in the Alert Monitor, preparing data
collection and analysis methods, and so on.
5. Implementation
Perform the programming of the data supplier and the definition of the methods
6. Test
For detailed information about the above steps, see the following sections:
Decision Table: Organizational Decisions
Decision Table: Monitoring Attributes for the Attribute Types

If you do not have time for detailed design decisions, or simply want to create a prototype, you can copy one of the following examples reports
and change them to meet your requirements:
Rsdssmpl_performancecreates a monitoring object and a performance attribute that displays numbers, such as:
Dialog Response Time = 1000ms
Rsdssmpl_singlemsgcreates a monitoring object and a status attribute that displays individual messages, such as an ABAP short dump:
Short dump: [Error SYSTEM_CORE_DUMPED occured. P1=0] (Client 000) (User SAPSYS)
Rsdssmpl_log creates a monitoring object and a log attribute that displays multiple messages, such as an SAP system log.
Productive data supplier RSDSUSER for collecting the users currently logged on to the instance (see also Data Supplier for the Users
Currently Logged On).
For more information about this, see SAP Note 429381.
Start Page Creating a Data Supplier for the CCMS Alert Monitor

Example Decision Table: Organizational Decisions


Work through the following table to make your design decisions and to provide the information that you require to implement your data supplier. Use the results
to adjust one of the template reports available in the system (see Data Supplier for Users Logged On: Report RSDSUSER). Your data supplier will then be
ready to use.
The table starts with organizational and structural decisions. These are adopted in the function modules for the creation of monitoring objects and attributes
(function modules SALI_*_CREATE_ATTACH). For information about the object-specific and attribute-specific implementation decisions that you need to
make, see Decision Table: Monitoring Attributes for the Attribute Types.
Design Consideration

Possibilities and Specifications

Monitoring Data
(What type of information is to be reported?)

Use the following


monitoring attributes, depending on which data you want to
display in the alert monitor:

Performance attributes
Status attributes

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 31 of 44

Log attributes
Text attributes
The attribute determines the function module of the monitoring architecture that you
need to use.
Scope of your data supplier

Start of the data supplier (how is your program started?)

Is the data supplier to be started only once for each SAP NetWeaver
system ( system-wide data supplier )?
Is the data supplier to be started on one or on all SAP NetWeaver
instances ( local data supplier )?
If the Alert Monitor is to start the data supplier:

Should the alert monitor start the data collection method in a dialog work
process, and how often should it do so (every so many seconds)?
Should the alert monitor start the data collection method in a background
work process, and how often should it do so (every so many hours)?
Other specifications about the start behavior (you determine here how and where
a data supplier runs)

Behavior of the data collection method at the system start:

Should the data collection method be automatically started when SAP


NetWeaver is started?
Should the instrumented component execute the data supplier as
required?
Execution location of the data collection method:

Should the method be executed on the server or instance specified in the


MTE?
Should the method be executed on any server or instance?
Should the method be executed on the database server?
Start behavior of the data collection method when the Alert Monitor is started:

Should the method of each MTE be started individually?


Should the method be started for all associated MTEs? If possible,
choose this option.
You need to set these options manually in the definition of a data collection method
in the Alert Monitor (transaction RZ21); see Data Supplier for Users Logged On:
Settings in RZ21.
Messages (define the associated message IDs and numbers for the monitoring
objects, attributes, and alerts)

Define message IDs and numbers from table T100 for the following objects:

Which messages (ID/numbers) describe the monitoring objects or your


component in the Alert Monitor?
Which messages (ID/numbers) describe the individual monitoring
attributes in the Alert Monitor?
Which messages (ID/numbers) describe the alerts generated for the
monitoring attributes?
Messages in status and log attributes are T100 messages and therefore
automatically have access to F1 help.

Properties of the MTE classes and attribute groups

Assign the nodes that you want to create using the data supplier to
and attribute groups:

MTE classes

MTE class for the object


MTE classes for each monitoring attribute
Attribute groups for the monitoring attributes (attribute groups exist only
for monitoring attributes)
Summary MTEs (enter any summary MTEs to structure your monitoring tree)

Structure your alert monitoring tree:

Which headings are required for structural elements (summaries for the
display) to group subordinate MTEs (length of the name up to 20
characters)?
At which points in your monitoring tree are the summaries to appear in the
form of summary MTEs? What are the parent nodes?

Start Page Creating a Data Supplier for the CCMS Alert Monitor

Decision Table: Monitoring Attributes for the Attribute Types


Work through the following table to make your design decisions and to provide the information that you require to implement your data supplier. Use the results
to adjust one of the template reports available in the system (see Data Supplier for Users Logged On: Report RSDSUSER). Your data supplier will then be
ready to use.
This table contains the object-specific and attribute-specific decisions that you need to make. For example, you need to define alert threshold values and
assign a criticality level to status and log messages. For the table containing organizational and structural decisions, see Decision Table: Organizational
Decisions.
Design Consideration

Possibilities and Specifications

Definition of the performance attribute

Set the following values for every performance attribute:

Name of the attribute in the Alert Monitor


Superordinate MTE in the monitoring tree
Unit (up to four characters)
MTE class
Attribute group
Define whether alerts are to be triggered when the threshold value is
exceeded or when the reported values fall below it.
Define whether alerts are to be ignored during the warm-up period (period
after the instance is started).

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 32 of 44

Threshold values (do not choose identical values to avoid constant


switching of the status):

Definition of the status attribute

Yellow alert (warning)


Red alert (problem)
Resetting of status from red to yellow
Resetting of the status from yellow to green

Set the following values for every status attribute:

Name of the attribute in the Alert Monitor


Superordinate MTE in the monitoring tree
Color of the basic status of the attribute:
Green: If there is no message and no unprocessed alert, the attribute is
green (everything is OK).
White: If there is no message and no unprocessed alert, the attribute is
white (attribute is inactive, no values available).

Determine when alerts are to be generated for status messages:


Always
Only if the criticality level changes (a higher criticality level is reported)
Only if a new message (new number), criticality, or severity, is reported.
Never
Definition of the log attribute

Set the following values for every log attribute:

Name of the attribute in the Alert Monitor


Superordinate MTE in the monitoring tree
Message that is to be displayed in the Alert Monitor:
Last message added to the log attribute
Currently most-important message (highest criticality and severity in the
log)
Most important message in the last few minutes; set the length of the
period in this case
Definition of the text attribute

Name of the attribute in the Alert Monitor

Superordinate MTE in the monitoring tree


Text to be displayed (up to 256 characters)

Start Page Creating a Data Supplier for the CCMS Alert Monitor

Data Supplier for the Users Currently Logged On


The number of users logged on is to be displayed for each SAP instance. All of the questions asked in the checklist for implementation are now answered
using the example. The answers are italicized .
1.

What information does a user require to monitor and administer your component? You also need to implicitly decide what monitoring and administering
your component means:
Does the monitoring include one or more performance values?
Does it include the operator waiting for particular messages to appear?
Does it include a combination of these two possibilities?
Answer:
Only the number of users logged on is reported for each instance. This is therefore a performance value.
2. How can the information be collected reliably and precisely? Do you have a function module or a report that collects the required information? Can you
build this function module or report into your data supplier? Does your component contain the necessary instrument to collect the required data?
Answer:
The function module TH_USER_LIST determines the number of users for each instance.
3. How can the user react to problems (alerts)? Do you have an analysis method a transaction, a report, or an external operating system command with
which the user can obtain additionally required information or take the required action to correct the problem?
Answer:
Transaction AL08, which displays the number of users currently logged on, is suitable as an analysis method .
4. Do you have a tool that can automatically react to an alert (auto-reaction method)? Or is there a standard action that is to be taken when an alert occurs
(such as the informing of an administrator or the sending of a mail to a call center)?
Answer:
Alerts are not to be traced further. It is therefore not necessary to define an auto-reaction.

For more information about this example, see the following sections:
Data Supplier for Users Logged On: Decision Tables
Data Supplier for Users Logged On: Report RSDSUSER
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor

Data Supplier for Users Logged On: Decision Tables


The number of users logged on is to be displayed for each SAP instance. All questions asked in the decision tables (Decision Table: Organizational Decisions
and Decision Table: Monitoring Attributes for the Attribute Types) are answered here using the example. The answers are italicized .

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 33 of 44

Example Decision Table: Organizational Decisions


Design Consideration

Possibilities and Specifications

Monitoring Data
(What type of information is to be reported?)

A performance attribute is to display the number of users logged on for each


instance.

Scope of your data supplier

A local data supplier is to be executed once on each instance.

Start of the data supplier (how is your program started?)

If the Alert Monitor is to start the data supplier:

The Alert Monitor should start the data collection method every 300
seconds in a dialog work process.
Other specifications about the start behavior (you determine here how and where
a data supplier runs)

How should the data collection method behave at the system start?

The data collection method should be automatically started when SAP


NetWeaver is started.
Where should the data collection method be executed?

On the server or instance specified in the MTE

If the data collection method is started by the Alert Monitor, for which MTEs should it
be started?

One start for each individual MT E


Messages (define the associated message IDs and numbers for the monitoring
objects, attributes, and alerts)

Define message IDs and numbers from table T100 for the following objects:

A description of the monitoring object is not required, since the


attribute node will hang under the existing monitoring object Dialog.
Message RT 068 is assigned to the monitoring attribute (Application
server: Number of logged-on users)).
Alerts for this attribute are assigned message RT 577 (&1 > &2
Number of users logged on to application server exceeds threshold).

Properties of the MTE classes and attribute groups

No new MTE classes for monitoring objects (see above)


MTE class for all of the monitoring attributes: R3UsersLoggedIn
Attribute group for all of the monitoring attributes: R3UsersLoggedIn

Summary MTEs (enter any summary MTEs to structure your monitoring tree)

Headings for structural elements


No new structural elements

Position in your monitoring tree:


The node is at the following point in the tree structure: <System>
<instance> Dialog UsersLoggedIn

Example Decision Table: Monitoring Attributes for Performance Values


Design Consideration

Possibilities and Specifications

Definition of the performance attribute

Name of the attribute in the Alert Monitor: UsersLoggedIn


Superordinate MTE in the monitoring tree: Dialog
Unit (up to four characters): No unit
MTE class: R3UsersLoggedIn
Attribute group: R3UsersLoggedIn
Alerts are to be triggered if the threshold values are exceeded.
Alerts during the warm-up time are to be ignored.
Threshold values for:

Yellow alert (warning): 50


Red alert (problem): 70
Resetting of status from red to yellow: 60
Resetting of the status from yellow to green:

40

Threshold values are not really meaningful here. To deactivate alert


generation, you could also set the threshold values to MAXINT.

For more information about this example, see the following sections:
Data Supplier for Users Currently Logged On
Data Supplier for Users Logged On: Report RSDSUSER
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor

Data Supplier for Users Logged On: Report RSDSUSER


The data supplier RSDSUSER allocates memory for the new performance attribute in which the number of users logged on is reported. It then determines the
number of users on its own instance and reports this to the monitoring architecture.
*&--------------------------------------------------------------------*
*& Report
*&

RSDSUSER

*&--------------------------------------------------------------------*
*&
*&

*
*

*&--------------------------------------------------------------------*
REPORT

RSDSUSER.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 34 of 44

* important INCLUDES of CCMS Monitoring Infrastructure


INCLUDE RSALEXTI.
INCLUDE RSALOLDI.
INCLUDE RSALSMI.
INCLUDE RSALSMFI.
*--

global variables of program --*

DATA: MOTID

LIKE ALGLOBTID,

SELF_MONI_TID LIKE ALGLOBTID,


NUSR_TID LIKE ALGLOBTID,
AN_ERROR_OCCURED(1) VALUE SPACE,
NUMBER_OF_USERS TYPE I.

*--

Start of the main program --*

START-OF-SELECTION.
* get tid for for self-monitoring message log
perform create_datasupplier_log_node
changing self_moni_tid.
* self moni

send rt 39 ("gestartet")

perform send_selfmon_msc_message
using

self_moni_tid

039

sy-repid

space

sy-repid.

* Create Monitor attribute for NUmberOfUsers


PERFORM CREATE_MA_NBRUSER.
* Get number uf users
PERFORM GET_NBRUSER.
* Report number of users
PERFORM REPORT_NBRUSER.
* send ok status for self-monitoring single message, if no error occure
if an_error_occured is initial.
* self moni

Send RT 101 ("OK")

PERFORM SEND_SELFMON_MSC_MESSAGE
USING

SELF_MONI_TID

101

SY-REPID

SPACE

SY-REPID.

endif.
** end of the main program

FORM

GET_NBRUSER.

DATA: BEGIN OF USER_TBL OCCURS 100.


INCLUDE STRUCTURE UINFO.
DATA: END OF USER_TBL.
** Function call to determine the users logged on to the local instance
CALL FUNCTION 'TH_USER_LIST'
TABLES
LIST

= USER_TBL

EXCEPTIONS
OTHERS = 1.
DESCRIBE TABLE USER_TBL LINES NUMBER_OF_USERS.
ENDFORM.

*-----------------------------------------------*
*-- CREATE_MA_NBRUSER

-----------------------*

*-----------------------------------------------*
FORM CREATE_MA_NBRUSER.

* First, get the TID of the parent node R3Services\Dialog


* DIALOG_FULLNAME TYPE ALMTNAME_L-ALMTFULLNM VALUE
* '\&SY\&INSTANCE_NAME\R3Services\Dialog',
call function 'SALI_MT_GET_TID_BY_NAME'
exporting

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 35 of 44

MT_FULL_NAME

= DIALOG_FULLNAME

importing
TID

= MOTID

exceptions
unable_to_expand_name = 1
name_not_found

= 2

communication_failure = 3
other_problem
others

= 4

= 5.

* If something is wrong, reports the value to the self-monitoring


* single message. Then, exits from the program.
if sy-subrc <> 0.
AN_ERROR_OCCURED = 'X'.
* self moni

Send RT 34

PERFORM SEND_SELFMON_MSC_MESSAGE
USING

SELF_MONI_TID

039

DIALOG_FULLNAME

SPACE

SY-REPID.

exit.
endif.

* Main call to create a new performance attribute


CALL FUNCTION 'SALI_PERF_CREATE_ATTACH'
EXPORTING
PARENT_TID
*

MTE_NAME
*

= MOTID

the parent node


= NUSR_NAME

the name of the new attribute node R3UsersLoggedIn


MTE_CLASS

= NUSR_CLASS_NAME

MTE_NUMRANGE

= AL_NR_AUTO

MTE_SECONDS_TIL_COLLECTINGTOOL = 240
*

collecting interval
MTE_SECONDS_UNTIL_SET_INACTIVE = 900

MTE_F1_HELP_TEXT_MSGID

= CCMS_SELFMON_MSGID

MTE_F1_HELP_TEXT_MSGNO

= 068

describing text
PERF_CUSTOMIZING_GROUP

= NUSR_CLASS_NAME

PERF_THRESHOLD_DIRECTION

= AL_THRESHDIR_ABOVE

PERF_THRESHOLD_GREEN_TO_YELLOW = 50
PERF_THRESHOLD_YELLOW_TO_RED

= 70

PERF_THRESHOLD_YELLOW_TO_GREEN = 400
PERF_THRESHOLD_RED_TO_YELLOW
PERF_UNIT_TO_DISPLAY
*

PERF_DECIMALS

thresholds

= 0

PERF_ALERT_TEXT_MSGID

= 'RT'

PERF_ALERT_TEXT_MSGNO
*

= 600

= SPACE

= 577

alert text
TOOL_COLLECTING

= 'CCMS_User_Collect'

data collection method definition in RZ21

TOOL_ONALERT

No auto reaction method

TOOL_ANALYZE
*

= 'CCMS_User_Analyse'

analysis method definition in RZ21


IMPORTING
NEW_TID

= NUSR_TID

EXCEPTIONS
INVALID_TID

= 1

UNABLE_TO_EXPAND_NAME
INVALID_PARAMETERS

= 2

= 3

COMMUNICATION_FAILURE
OTHER_PROBLEM
WRONG_SEGMENT

= 4

= 5
= 6

INTERNAL_FAILURE_SALS
OTHERS

= 7

= 8.

if sy-subrc <> 0.
AN_ERROR_OCCURED = 'X'.
* self moni

Send RT 31

PERFORM SEND_SELFMON_MSC_MESSAGE
USING

SELF_MONI_TID

031

NUSR_NAME

SPACE

SY-REPID.

exit.
endif.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 36 of 44

ENDFORM.

*&--------------------------------------------------------------------*
*&

Form

REPORT_NBRUSER

*&--------------------------------------------------------------------*
*

text

*---------------------------------------------------------------------*
*

-->

p1

text

<--

p2

text

*---------------------------------------------------------------------*
FORM REPORT_NBRUSER.
DATA: REPORTEDBY(16).
REPORTEDBY = SY-REPID.
* Main call to report number of users logged in
call function 'SALI_PERF_REPORT_VALUE'
exporting
TOTAL_OF_REPORTED_VALUES
*

= NUMBER_OF_USERS

number_of_reported_values = 1
REPORTEDBY

= REPORTEDBY

changing
TID

= NUSR_TID

exceptions
invalid_tid

= 1

wrong_typeclass

= 2

invalid_parameters

= 3

communication_failure
other_problem
others

= 4

= 5

= 6.

if sy-subrc <> 0.
* self moni

Send RT 33

PERFORM SEND_SELFMON_MSC_MESSAGE
USING

SELF_MONI_TID

033 NUSR_NAME SPACE SY-REPID.

an_error_occured = 'X'.
endif.
ENDFORM.

" REPORT_NBRUSER

Explanations for Report RSDSUSER


This example report creates the new attribute and fills it with data. Attribute creation and data retrieval can also be performed separately.
If a data supplier is to create a new node, the following happens:
a. The data supplier determines the TID of the parent node with:
CALL FUNCTION 'SALI_MT_GET_TID_BY_NAME'
b. The data supplier creates a new node with:
CALL FUNCTION 'SALI_PERF_CREATE_ATTACH'
(there are analogous SALI* calls for the other attribute types)
The TID of the parent node is specified when doing so.
c. As of this point, you can report values in this node with:
CALL FUNCTION 'SALI_PERF_REPORT_VALUE'
(there are analogous SALI* calls for the other attribute types)
The data supplier is started under the user SAPSYS. This means that the authorization restrictions that apply for SAPSYS also apply to the data supplier
(for example, no RFC authorization).
A report acts as the data collection method. You can alternatively use a function module. Function modules have the advantage that an internal table with
the structure MT_TOOL_INFO can be passed to them. In addition to information about the node to be called, you can also use this structure to pass
parameters that can be specified in the method definition of transaction RZ21 (for example, the data collection method CCMS_GEN_TAB_R contains a
range of parameters).

You can also call the function modules SALI_MT_GET_TID_BY_NAME and SALI_PERF_CREATE_ATTACH (or the corresponding call for
other attribute types) directly from the coding of your component. In this case, you have created an active data supplier that is not called by
the CCMS monitoring infrastructure (and therefore does not appear in the method definitions, or in the assigned methods for the node).
An active data supplier makes sense, for example, if values are only to be reported if certain conditions are fulfilled on the application server
(such as the occurrence of an error).

For more information about this example, see the following sections:
Data Supplier for Users Currently Logged On
Data Supplier for Users Logged On: Decision Tables
Data Supplier for Users Logged On: Settings in RZ21
Start Page Creating a Data Supplier for the CCMS Alert Monitor

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 37 of 44

Data Supplier for Users Logged On: Settings in RZ21


This section presents the settings that you can use to integrate the data supplier for the users currently logged on, presented as an example, into the CCMS
monitoring infrastructure.
1. Properties of the data collection method
a. Start transaction RZ21, and select the Method definitions radio button in the Methods group box. Choose the
b. Select the method CCMS_User_Collect and choose

Display Overview button.

Edit Data .

The settings for the existing method are presented here as an example; to instrument your component, you need to create a corresponding
method of your own.
c. The Execution tab page shows, in the Execute method on group box, that the report RSDSUSER is to be executed on The local server of the
MTE to be processed . The report described above collects the number of users logged on individually on each instance.
d. On the Control tab page, in the Startup Method group box, you can see that the data supplier is started by the CCMS monitoring infrastructure
immediately after the instance start. It is then started periodically in a dialog work process (passive data supplier).
e. On the Release tab page, you can see that the method has been released and can therefore be used as a Data Collection Method in the context of
the CCMS monitoring infrastructure.
f. Exit the screen by choosing Back (
2. Properties of the Analysis Method

).

a. Select the method CCMS_User_Analyse and choose


Edit Data . This method is to be executed as an analysis method.
b. The Execution tab page shows, in the Execute method on group box, that the report RSUSR000 (transaction AL08) is to be executed on The local
server of the MTE to be processed . This report displays the number of users logged on across instances.
c. In the Execute Method group box on the Control tab page, you can see that the method can only be executed manually.
d. On the Release tab page, you can see that the method has been released and can therefore be used as an Analysis Method in the context of the
CCMS monitoring infrastructure.
e. Exit the screen by choosing Back (
3. Properties of the MTE class

a.
b.
c.

d.
e.
f.
g.

).

The following properties are set by parameters in the function module SALI_PERF_CREATE_ATTACH (see Data Supplier for Users Logged
On: Report RSDSUSER), this means that you also do not need to set these properties in transaction RZ20/RZ21 for your own
instrumentations. The intention here is simply to show you where you can view (and change) these properties in the user interface.
Start the Alert Monitor by calling transaction RZ20.
Expand the monitor set SAP CCMS Monitor Templates , and start the Entire System monitor.
Expand the following path in the monitoring tree:
<SysID> <Application Server> <instance> R3Services Dialog
The node UsersLoggedIn is displayed at the end of the list of nodes.
Select the node UsersLoggedIn , and choose Properties .
You can see on the PerformanceAttribute tab page that the performance properties are assigned by the attribute group R3UsersLoggedIn ; you can
also see the properties that have been assigned to the node in the report RSDSUSER in the Threshold values and Alert text group boxes.
On the General tab page, you can see, among other things, that message RT 068 is assigned to the MTE class of the node.
On the Methods tab page, you can see, among other things, that the data collection method CCMS_User_Collect and the analysis method
CCMS_User_Analyse are assigned to the MTE class of the node.

Start Page Creating a Data Supplier for the CCMS Alert Monitor

Developing and Enhancing the Java Monitoring Framework with


JMX
Resources such as Java applications and services can use the Monitoring Framework of SAP NetWeaver to write monitoring data. The technology used to do
this is based on the Java Management Extensions (JMX) standard. Using the monitoring infrastructure, the monitoring data can be forwarded to the central
monitoring system and monitored there. Data that is provided by monitored resources to the Computing Center Management System (CCMS) of the central
monitoring system can be displayed in SAP NetWeaver Administrator, in SAP Solution Manager, and in the CCMS itself.
Two steps are required to extract monitoring data with the JMX technology:
Write an XML file for the resource, in which you define the monitors, objects, and so on that are to be added to the display the extracted data in the tree
structure of the monitor. This XML file is deployed together with the resource. For more information about this XML file, see
monitor-configuration.xml
Structureand Creating the monitor-configuration.xml.
Add a monitoring MBean to the resource. This MBean is required by the monitors to extract the monitoring data at runtime. For more information about the
monitoring MBean, see Registering Resource MBean(s).

Reference
For an example application, see
Example of Application Instrumented with Monitoring. For information about the types of monitor that you can use, see
Types of Monitors and Their Usage.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 38 of 44

1.4.13.3 Logging in Java Technology


Logging means the writing and storing of logs for particular events to store and analyze those events. The log usually contains information about the data
source, time stamp, a message text, and an urgency level that specifies the importance of the message. Since the logs contain all of the important
information about an event that an administrator needs to know to check the status of a system, the database, and the applications, the logs are very
important for monitoring the system landscape.
Logging consists of two components:
The implementation of logging during development. The implementation of logging is described in the Development Manual under
How to Write Useful
Log and Trace Messages.
The configuration of the logging (during development and at runtime): the configuration is defined in the file log-configuration.xml, which is deployed
together with the resource. For information about configuring logging, see

Log Configuration.

The logging configuration can be changed at runtime. Adjusting the logging configuration is one of the administrators tasks. For more information, see
Log Configuration.

Reference
For a basic introduction to the functions of logging, see

SAP Logging API.

1.4.13.4 Printing
The following interfaces might be relevant for developers in the area of printing:
XOM Generic interface to the SAP spool system for external output management systems
You can integrate the SAP spool system into an external output management system (OMS) so that you can use the functions of the OMS from your
SAP system. To do this, you require the XOM application programming interface.
XDC Interface for external document converters
To be able to print documents from SAP systems with an external format, you require an external converter. This interface allows the connection of a
converter of this type. It was created due to the need to print documents created with SAP systems together with attachments that were not created in
SAP system, such as an invoice created with SAP Smart Forms with the payment conditions as a Microsoft Word document appendix. Technically, the
XDC interface is implemented using RFC calls between the SAP system and the external converter. The interface is defined in such a way that, in
addition to the formats DOC, PPT; or XLS, it can optionally also support other input formats (such as TIF, PDF) and other output formats for the
conversion (such as PDF, TIF).

Reference
For more information, see the corresponding certification documentation in the SAP Developer Network (http://sdn.sap.com) under the path SAP Integration
and Certification Center Integration Scenarios SAP Web Application Server (Technology) . In the Background Processing and Output
Management area, select the BC-XOM or BC-XDC interface.

1.4.13.5 Background Processing

Reference
The following points are relevant for developers in the area of background processing:
XBP interface for connecting external job management systems to the SAP background processing system.
This interface allows external job scheduling software outside the SAP system to schedule, start, and monitor jobs.
For more information, see the corresponding certification documentation in the SAP Developer Network (http://sdn.sap.com) under the path SAP
Integration and Certification Center Integration Scenarios SAP Web Application Server (Technology) . In the Background Processing and
Output Management area, select the BC-XBP interface.
For information about programming in the SAP background processing system, see

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Programming with the SAP Background Processing System.

Page 39 of 44

Alert Management
Alert Management (ALM) comes into play, when business-critical problems occur. Within ALM, conditions for critical situations are predefined. When an alert
is triggered in ALM that meets these conditions, responsible or interested parties are determined and informed immediately. Examples of critical situations
might be an important customer terminating a contract or a budget being exceeded.
The alerts are polled from the UWL of the Enterprise Portal, application-specific display programs, or the alert inbox. These display programs can be
personalized due to the users needs. In addition, the users can receive alerts as e-mail, SMS, and fax, if these external methods of communication are
configured in SAPconnect. End users can personalize their alert notifications, for example, create notification variants or determine a substitute.

Integration
The following picture shows the components that participate in the generation and delivery of an alert.

First, a situation arises in an application. An application-independent decision tool decides whether or not an alert has to be triggered. If the decision tool
comes to the conclusion that an alert has to be triggered, the triggered alert is pushed to ALM. ALM takes care of the correct and timely alert delivery to the
display programs such as the Universal Worklist in the Enterprise Portal and to external media such as fax, e-mail, and SMS.

Reference
The following list shows you the basic steps of alert triggering with ALM together with links where to find further information:
Every alert belongs to an alert category, which contains alert meta data. This meta data has to be configured before raising an alert. For further information
see

Alert Category.

The various possibilities for triggering an alert are explained in


Triggering Alerts. Especially interesting for you as developer is the section about the
direct call of a function module.
The alerts will be sent to the recipients, who can personalize the alert view and define alert notification variants. How you can add a recipient to an alert
category is described in
Recipient Determination.
In addition, a number of Business Add-Ins (BAdIs) are available to enable you to make enhancements without having to perform a modification. For further
information see

Business Add-Ins.

You find the main entry to the ALM documentation under

Alert Management.

On the SAP Service Marketplace (quicklink /alert ), you find more information, such as SAP Tutors.

Supportability for Developments Under SAP NetWeaver


If you want to create an application under SAP NetWeaver yourself, you need to ensure that the application can be monitored, that is, that you instrument the
application for the standard SAP NetWeaver monitoring tools. Ensure that you have dealt with the following points, depending on whether your application is to
run under AS ABP or AS Java:

AS ABAP
The CCMS monitoring infrastructure is the basis for monitoring across systems and components. It collects values using data suppliers and sends them to a
central monitoring system using CCMS agents. If errors occur, alerts are triggered, to which you can assign auto-reaction methods. You can display the
collected data in the
alert monitor (transaction RZ20) or in
SAP NetWeaver Administrator. This data also forms the basis for monitoring in the SAP
Solution Manager. You can also include analysis methods in the monitoring infrastructure, with which you can perform a detailed investigation of the
corresponding component directly from the alert monitor.
To be able to meaningfully monitor an application with the monitoring infrastructure, at least the following information is required:
Status of the application (such as active , configured , stopped , and so on)
Availability or information about the current function of the application (Health Check); this should certainly include information about critical workloaddependent resources (such as available threads)

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 40 of 44

Response time behavior or throughput for the applications requests


Number of requests that the application has processed per time unit, if a corresponding value is meaningful for this application
Important events of the application as text messages (note, however, that you only have limited storage space available in the monitoring segment)
Status of the communication interfaces of the application (if they exist)
Information about caches (such as hits, quality) that the application uses
Information that should be written when the application is started:
Date and time of the start
Version (or Release, Build, or Patch Level) of the component
All configuration parameters of the application (such as configuration files, and, under Microsoft Windows, the entries in the registry)
Operating system environment variables used

To instrument the application for the monitoring infrastructure, you need to perform the following steps:
Write a data supplier that collected the above data for the application and transfers it to the monitoring infrastructure. For more information, see the
document Writing a Data Supplier .
To download the document, start the SAP Developer Network (http://sdn.sap.com), and go to the SAP NetWeaver Developers' Guide Quick Link.
Choose Application Development System Management System Management Development , and in the ABAP System Management area,
select the specified document.
This information should be displayed in a separate Alert Monitor monitor. In the case of components with multiple instances, the instance-dependent
information should form a separate subtree in each case. For information about creating corresponding monitor definitions, see
Monitor Sets.

Editing Monitors and

AS Java
You should connect Java applications to the monitoring framework of SAP NetWeaver using JMX, that is, the application should deliver the most important
data about its current status, in the same way as above (see Developing and Enhancing the Java Monitoring Framework with JMX).
You should monitor the availability of the application using the Generic Request and Message Generator (GRMG). For more information, see
Instrumenting an Application.
The application must use the logging infrastructure of the J2EE Engine. For more information, see

GRMG:

How to Write Useful Log and Trace Messages.

All of this monitoring data is automatically transferred to the CCMS and is therefore also available centrally in the Alert Monitor or in the SAP NetWeaver
Administrator.

Developing Data Archiving Solutions


Use
The basic technology of data archiving is part of the SAP Net Weaver Application Server and is available in two versions, which offer you different options
when developing a data archiving solution:
ADK-based Data Archiving
XML-based Data Archiving

ADK-based Data Archiving


Most
archiving objects are based on the
Archive Development Kit (ADK). For
XML-based data archiving you need XML archiving objects (see below).
The ADK and XML Archive API both offer basic services and functions for the development and execution of archiving programs. For both, the Archive
Administration is used to customize and execute data archiving. For a detailed description of the data archiving functions and how to use them, see the
documentation, Introduction to Data Archiving.
SAP offers a wide range of standard archiving objects, which in most cases are sufficient to cover the archiving of application data in an SAP system.
However, if you need additional archiving objects for ADK-based archiving, to archive data from customer-specific tables, for example, ADK offers you the
option to develop your own archiving objects and programs. For more information see the Archive Develoment Kit documenation, "Developing Archiving
Solutions".

XML-based Data Archiving


XML-based archiving mainly uses XML archiving objects, which are used by ABAP applications with XML interfaces. In the case of JAVA applications,
archiving sets are used.

Note that XML-based data archiving has not been released for customer-specific development. Therefore, documentation is not yet available
for this function.
For more information on how to use XML-based data archiving and how it differs from ADK-based data archiving, see

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

XML-based Data Archiving.

Page 41 of 44

1.4.13.8.1 Introduction to Data Archiving (CA-ARC)


Data Archiving a service provided by SAP NetWeaver removes mass data that the system no longer needs online, but which must still be accessible at a
later date if required, from the database. The following graphic illustrates the archiving process: Archiving objects are used to write documents to archive files,
which can be stored on other media.

Data in the database can only be archived using archiving objects, which describe the data structure and context.

Financial Accounting documents are archived using the archiving object FI_DOCUMNT. It includes the document header, company codedependent postings, change documents, SAPscript texts, and other elements.
In addition to the aforementioned technology SAP also offers XML-based archiving, as of SAP Web Application Server 6.40. With this new procedure XML
archiving objects are used to write data in the form of resources either to a file system or directly to a WebDAV system, which takes on the role of the storage
system shown in the figure above.

Integration
For the majority of the archiving objects the SAP Data Archiving concept is based on the Archive Development Kit (ADK). As of SAP Web AS 6.40 SAP
offers an additional technology especially designed for XML-based archiving. This new technology comprises the XML Data Archiving Service (XML DAS) and
the XML DAS Connector. Both ADK-based and XML-based archiving are carried out with the help of Archive Administration, transaction SARA.
For some applications it is possible to start archiving directly from the application menu. In these cases the application-specific parameters, such as the
archiving object or the archiving program appear as default values.
Archiving objects for each application component are predefined in the system. Their structures are described in the application-specific sections.

Features
The archiving procedure is divided into three main steps:
Creation of archive files
In the write phase the data to be archived is written sequentially into newly created archive files.
Delete from the database
The delete program reads the data from the archive files and then deletes it from the database.
Storage of archive files
The newly created archive files can then be moved to a storage system or copied to a tape. The removal to an external storage system can be triggered
manually or automatically. It is also possible to store the data before the delete phase.
In XML-based archiving this phase does not exist as a separate step. The data can be written directly to a WebDAV system.
The archiving programs are generally scheduled in the background. However, they can also run in online mode.
The following documentation describes ADK-based archiving. It is important that you understand the basic archiving concepts described in this documentation
before you begin with XML-based archiving. The differences between the two technologies and processes are described under XML-based Archiving.

1.4.13.8.2 Archive Development Kit


Purpose
When you implement an SAP solution, data archiving has to be taken into account from the onset. As the amount of transaction and master data can expand
rapidly during production operation, you have to consider how to control data growth. Often, data grows faster than technology can handle it (in terms of certain
database limits, hard disk sizes, tape sizes, and so on). With data archiving, you can keep the size of the database under control and ensure long-term
access to your data. Data no longer required for daily operations or accessed less frequently is moved from the database to archive files.

Data archiving should be a periodic process, planned and scheduled on a regular basis.
The Archive Development Kit (ADK), which is delivered with SAP NetWeaver, is the technical framework and basis for SAPs data archiving solution. ADK is a
development environment and an application program interface between SAP applications, the database, and the archive files where your data is stored. It is

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 42 of 44

available in every standard mySAP.com e-business solution and is also used by SAP. ADK ensures that data archiving is independent of hardware and
release changes and provides you with the tools you need for data archiving.
As of SAP Web Application Server 6.10 (SAP Web AS), ADK also supports Unicode. This means you can:
Archive data created in a system that supports Unicode
Develop data archiving solutions for a Unicode environment
Access both Unicode and non-Unicode archives

You do not have to convert your existing archive files.

Features
ADK includes:
Archive Administration functions
An application programming interface (API) you can use to develop your own archiving programs
The development of an archiving program is based on the definition of an Archiving Object, which specifies which tables comprise a business object.
Archiving objects are complex objects of interdependent tables.
Archiving-specific function modules
This includes the ADK Interface and Class Interface function modules. You do not need to know the technical details of the archiving procedures, as
they are localized in the function modules.
The data archiving functions provided by these function modules include:
Automatic job scheduling
File management using the SAP Content Management Infrastructure
Automatic conversion of archived data
Compression during archiving
Connection to a storage system
Ability to archive while system is running
Access to individual data objects in the archive
Sample programs and documentation
See Also
Archiving Application Data (CA-ARC)

1.4.14 Software Life Cycle Management


Software Life Cycle Management is available for the Java and ABAP technologies.

Java Development
The SAP NetWeaver Development Infrastructure (NWDI) is designed for the development and maintenance of business applications. It provides the services
for all development steps that are part of the software life cycle: from the administrator creating the development landscape using the central and projectspecific administration of source files and archives of the developers, to consolidation and test phases of quality management through to the final delivery and
production of support packages.
The NWDI offers the following services:
Administration of development landscape and transport management in the Change Management Service (CMS)
Central archive and build management in the Component Build Service (CBS)
Central management of source files in the Design Time Repository (DTR)
The NWDI is integrated into the process by means of the System Landscape Directory (SLD).
As a developer, you use the SAP NetWeaver Developer Studio to access the services stated above. When you use the NWDI for your development, the
development steps follow the Component Model. This enhances your options for structuring Java-based applications and forms the basis for a build process at
component level.
For more information, see

Working with the Development Infrastructure.

ABAP Development
You administer ABAP developments using the Change and Transport System of your SAP system.
For more information, see:

Change and Transport System - Overview (BC-CTS)

Transport Organizer (BC-CTS-ORG)

Transport Management System (BC-CTS-TMS)

1.4.15 Authentication and Single Sign-On


The IT scenario Authentication and Single Sign-On describes an example for integrating different systems into a single sign-on (SSO) environment. Single
sign-on not only reduces complexity for end users, saving them valuable time, but also reduces administration effort for resetting passwords, thereby
contributing to TCO reduction.
When implementing this scenario, users are initially authenticated in the SAP NetWeaver Portal using information that is stored in an external LDAP
(Lightweight Directory Access Protocol) directory. After being authenticated, they are issued a logon ticket from the portal that they can use to access the
various systems (SAP or non-SAP) in the backend.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 43 of 44

The example shown in this scenario does not involve any development tasks, however, depending on your system landscape, you may be interested in
providing additional authentication and SSO functions that are not explained in this scenario, for example, the use of the Java Authentication and Authorization
Service (JAAS) to provide for custom login modules for Java applications.
Therefore, for more information about what is available and how to implement additional authentication and SSO services with SAP NetWeaver, see the
following:
Java:

Integrating Security Functions in the section for Authentication and Single Sign-On .

ABAP: See

System Logon for Web Dynpro for ABAP and

Security Aspects for BSP.

For other technologies, see the corresponding documentation that applies to the technology.

Integrated User and Access Management


The IT scenario 1.4.16 Integrated User and Access Management provides two of the recommended ways to implement integrated user and access
management. It addresses companies' needs to store and manage user information and to control user access to data, while at the same time reducing
redundancy. SAP's mature, fine-grained authorization concept allows detailed control of access rights. Consolidating user and authorization information
reduces complexity and increases transparency, which is helpful both in terms of security and from a governance perspective. Integrated user and access
management enables customers to leverage existing investments where appropriate, for example, by using data already available in an SAP system or in an
LDAP-based directory server.
The examples shown in this scenario do not involve any development tasks, however, depending on your system landscape, you may be interested in
providing additional user and access management functions that are not explained in this scenario.
Therefore, for more information about what is available and how to implement additional authorization and access protection with SAP NetWeaver, see the
following:
Java:

Integrating Security Functions in the sections Using Security Roles and Permissions in Applications and User Management Engine (APIs) .

ABAP: See

Security Aspects for BSP and

Authorization Checks.

For other technologies, see the corresponding documentation that applies to the technology.

PUBLIC
2014 SAP SE or an SAP affiliate company. All rights reserved.

Page 44 of 44

S-ar putea să vă placă și