ADM800 AS Java 7.3 – Administration SAP NetWeaver Date Training Center Instructors Education Website Participant Handbook Course Version: 81 Course Duration: 5 Day(s) Material Number: 50105165 An SAP course - use it to learn, reference it for work Copyright Copyright © 2011 SAP AG. All rights reserved. No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Trademarks • Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation. • IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®, AS/400®, OS/390®, and OS/400® are registered trademarks of IBM Corporation. • ORACLE® is a registered trademark of ORACLE Corporation. • INFORMIX®-OnLine for SAP and INFORMIX® Dynamic ServerTM are registered trademarks of Informix Software Incorporated. • UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group. • Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc. • HTML, DHTML, XML, XHTML are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. • JAVA® is a registered trademark of Sun Microsystems, Inc. • JAVASCRIPT® is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. • SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo and mySAP.com are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other products mentioned are trademarks or registered trademarks of their respective companies. Disclaimer THESE MATERIALS ARE PROVIDED BY SAP ON AN "AS IS" BASIS, AND SAP EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR APPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THESE MATERIALS AND THE SERVICE, INFORMATION, TEXT, GRAPHICS, LINKS, OR ANY OTHER MATERIALS AND PRODUCTS CONTAINED HEREIN. IN NO EVENT SHALL SAP BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES OF ANY KIND WHATSOEVER, INCLUDING WITHOUT LIMITATION LOST REVENUES OR LOST PROFITS, WHICH MAY RESULT FROM THE USE OF THESE MATERIALS OR INCLUDED SOFTWARE COMPONENTS. g2012095420 About This Handbook This handbook is intended to complement the instructor-led presentation of this course, and serve as a source of reference. It is not suitable for self-study. Typographic Conventions American English is the standard used in this handbook. The following typographic conventions are also used. Type Style Description Example text Words or characters that appear on the screen. These include field names, screen titles, pushbuttons as well as menu names, paths, and options. Also used for cross-references to other documentation both internal and external. 2011 Example text Emphasized words or phrases in body text, titles of graphics, and tables EXAMPLE TEXT Names of elements in the system. These include report names, program names, transaction codes, table names, and individual key words of a programming language, when surrounded by body text, for example SELECT and INCLUDE. Example text Screen output. This includes file and directory names and their paths, messages, names of variables and parameters, and passages of the source text of a program. Example text Exact user entry. These are words and characters that you enter in the system exactly as they appear in the documentation. <Example text> Variable user entry. Pointed brackets indicate that you replace these words and characters with appropriate entries. © 2011 SAP AG. All rights reserved. iii About This Handbook ADM800 Icons in Body Text The following icons are used in this handbook. Icon Meaning For more information, tips, or background Note or further explanation of previous point Exception or caution Procedures Indicates that the item is displayed in the instructor's presentation. iv © 2011 SAP AG. All rights reserved. 2011 Contents Course Overview ......................................................... vii Course Goals ...........................................................vii Course Objectives .................................................... viii Unit 1: Fundamentals ..................................................... 1 Fundamental Concepts of Java .......................................2 Architecture of the SAP NetWeaver Application Server ......... 15 Java Cluster Architecture ............................................ 22 The Internal Structure of SAP NetWeaver AS Java .............. 27 Load Balancing in the SAP NetWeaver AS Java Environment . 34 Unit 2: Starting and Stopping ......................................... 47 Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java .............................................. 49 Tools for Starting and Stopping ..................................... 57 Java Startup and Control Framework .............................. 73 Logs of the Start and Stop Processes of SAP NetWeaver AS Java ................................................................. 82 Unit 3: Basic Configuration............................................ 91 Overview of the Administration Tools............................... 92 Basic Configuration of AS Java with the Config Tool............109 Configuring AS Java with SAP NetWeaver Administrator ......132 Further Configuration Activities ....................................138 Unit 4: Secure Infrastructure ......................................... 151 Network Security .....................................................152 Setting Up SSL .......................................................160 Unit 5: User and Authorization Administration .................. 185 Structure and Configuration of the User Management Engine (UME) ..............................................................187 User and Group Administration .................................... 211 The Java Authorization Concept ...................................224 Special Principles ....................................................235 Logon Procedure of the AS Java ..................................246 Unit 6: Java Connector and Destinations ......................... 267 Connections to other Systems .....................................268 2011 © 2011 SAP AG. All rights reserved. v Contents ADM800 Appendix: Connections to other Systems with the Java Connector Architecture .......................................................282 Unit 7: Change Management and Software Logistics .......... 295 Overview of the Standard Java EE Development Process.....297 Introduction to SAP NetWeaver Development Infrastructure (NWDI) ............................................................309 Preparing for the Development of Java Applications............336 Developing Java Objects in SAP NetWeaver Developer Studio ..............................................................366 Transporting Java Developments..................................386 Unit 8: Monitoring....................................................... 413 Monitoring SAP NetWeaver AS Java .............................414 Connecting to a Central Monitoring System......................425 Availability Monitoring ...............................................443 Log Viewer and Log Configuration ................................456 Introduction to Monitoring Using SAP Solution Manager .......477 Unit 9: Software Maintenance........................................ 491 Preparation for Software Maintenance............................492 Importing Corrections................................................509 Backing Up AS Java.................................................530 Glossary................................................................... 539 Index ....................................................................... 541 vi © 2011 SAP AG. All rights reserved. 2011 Course Overview This course provides an overview of the various tasks of the system administration for systems that are based on SAP NetWeaver AS Java 7.3. This course provides a solid foundation for the training of system administrators of SAP NetWeaver AS Java 7.3. This course deals with the basic activities that affect SAP NetWeaver AS Java 7.3. However, no application-specific or product-specific activities are taught. Target Audience This course is intended for the following audiences: • Administrators and consultants for SAP systems that are based on SAP NetWeaver AS Java 7.3, for example SAP NetWeaver Portal 7.3 and SAP NetWeaver PI 7.3 Course Prerequisites Required Knowledge • SAPTEC - Fundamentals of SAP NetWeaver Application Server Recommended Knowledge • 2011 ADM100 - Administration AS ABAP I © 2011 SAP AG. All rights reserved. vii Course Overview ADM800 Course Goals This course will prepare you to: • • • • • • • • • • • • • • • • Explain the architecture of SAP NetWeaver AS Java Start and stop SAP NetWeaver AS Java Carry out basic configurations for SAP NetWeaver AS Java Classify network security concepts Set up SSL encryption for SAP NetWeaver AS Java Explain the architecture of the User Management Engine Configure the User Management Engine Carry out user and authorization maintenance Understand and change the standard logon procedure of SAP NetWeaver AS Java Maintain destinations and the JCo RFC Provider Understand the architecture and the tasks of the SAP NetWeaver Development Infrastructure Explain the process flow of the development process using the SAP NetWeaver Development Infrastructure Specify the options for monitoring SAP NetWeaver AS Java Connect SAP NetWeaver AS Java to a central Monitoring system Display Monitoring and logging data using the SAP NetWeaver Administrator Implement corrections for SAP NetWeaver AS Java Course Objectives After completing this course, you will be able to: • • • • • • • • • • viii Explain the architecture of SAP NetWeaver AS Java Start and stop SAP NetWeaver AS Java Carry out basic configurations for SAP NetWeaver AS Java Classify network security concepts Set up SSL encryption for SAP NetWeaver AS Java Explain the architecture of the User Management Engine Configure the User Management Engine Carry out user and authorization maintenance Understand and change the standard logon procedure of SAP NetWeaver AS Java Maintain destinations and the JCo RFC Provider © 2011 SAP AG. All rights reserved. 2011 ADM800 Course Overview • • • • • • 2011 Understand the architecture and the tasks of the SAP NetWeaver Development Infrastructure Explain the process flow of the development process using the SAP NetWeaver Development Infrastructure Specify the options for monitoring SAP NetWeaver AS Java Connect SAP NetWeaver AS Java to a central Monitoring system Display Monitoring and logging data using the SAP NetWeaver Administrator Implement corrections for SAP NetWeaver AS Java © 2011 SAP AG. All rights reserved. ix Course Overview x ADM800 © 2011 SAP AG. All rights reserved. 2011 Unit 1 Fundamentals Unit Overview SAP NetWeaver Application Server is a scalable and reliable component platform. It provides a complete development infrastructure, to develop, distribute, and execute platform-independent, robust, and scalable Web services and business applications. SAP NetWeaver Application Server supports both ABAP and Java and Web services. To do this, the classic SAP Basis was extended with the Internet Communication Manager (ICM) for SAP Web Application Server 6.10. In the next evolutionary step, SAP Web Application Server was extended with the SAP Web Application Server Java for SAP Web Application Server 6.20. As of Release 6.40, SAP NetWeaver AS ABAP and SAP NetWeaver AS Java is a central component of SAP NetWeaver. This unit describes the technical fundamentals and the architecture of AS Java 7.3x. Unit Objectives After completing this unit, you will be able to: • • • • • • • Use basic Java terminology Explain the architecture of SAP NetWeaver Application Server Explain the term Central Services of SAP NetWeaver AS Java Understand and use concepts such as Java instance, ICM, and server Name the most important managers of the SAP NetWeaver AS Name the most important services of the SAP NetWeaver AS Explain how load balancing can be realized in the SAP system Unit Contents Lesson: Lesson: Lesson: Lesson: Lesson: 2011 Fundamental Concepts of Java .......................................2 Architecture of the SAP NetWeaver Application Server .......... 15 Java Cluster Architecture............................................. 22 The Internal Structure of SAP NetWeaver AS Java .............. 27 Load Balancing in the SAP NetWeaver AS Java Environment.. 34 © 2011 SAP AG. All rights reserved. 1 Unit 1: Fundamentals ADM800 Lesson: Fundamental Concepts of Java Lesson Overview This lesson provides a short overview of the fundamental Java concepts for all participants that have not yet been confronted with Java. The architectural concept and the properties of Java are briefly outlined. Lesson Objectives After completing this lesson, you will be able to: • Use basic Java terminology Business Example As of SAP Web Application Server 6.20, you have the option of using Java as well as the ABAP programming language. You should therefore familiarize yourself with the fundamental concepts of the Java environment. Introduction If you search for the meaning of the word Java in an encyclopedia, you find the following definitions, among other things: • • • • • One of the four main islands of the Indonesian republic in the Indian Ocean. A programming language developed by the company Sun Microsystems. An aromatic type of coffee, particularly used to make espresso. A popular dance of the 1920s. A coarse, loose mesh canvas for embroidery, made of linen or cotton. It would undoubtedly be worthwhile to investigate each of these definitions individually in more detail. In this course, we want to concentrate exclusively on the second definition in this list. The Java programming language was first introduced in 1995 by Sun Microsystems Inc.™. Java is an object-oriented and platform-independent programming language that has spread across many areas. The powerful concept of Java allows the development of a large number of different types of application - from the classic application using applets implemented in Web pages to client/server applications. Java has been designed to be platform independent. This means that the same Java program can be executed on any system for which a Java Runtime Environment (JRE) is available. In particular, Java applications can run on different systems that are based on different hardware. Java can be used to create programs for UNIX, Microsoft Windows, Linux, MacOS, or OS/2, for workstations or servers; 2 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java for x86, MIPS, Alpha, or Sparc; for computers, organizers, or cell phones, and for the micro computers built into household and industry devices, such as washing machines, video recorders, cars, and traffic lights. Properties of Java You need to differentiate between two basic types of Java programs: applications and applets. • Applications Java applications are computer programs with the full functional range also provided by other programming languages. Applications can run as local programs on the user's computer or as client/server systems across the Internet or using an Intranet, or as server programs (servlets, CGI programs) on a Web server. • Applets The term applet essentially means "little application". It usually means a Java applet, a small computer program that runs in a Web browser and is written in the Java programming language. Java applets are intended for execution within the Java Runtime Environment of a browser. They are transferred (as is also the case, for example, with embedded images) with the HTML page using the HTTP protocol, and then executed on the client computer. Special security guidelines apply to Java applets; that is, they are not permitted to perform everything on the client that locally-installed programs are permitted to. In this way, for example, they can only create network connections to the host from which they were downloaded. Hint: You need to be careful when using the name “Java”. Not everything that has Java as its linguistic root is actually connected to Java; JavaScript is completely unrelated to Java. JavaScript is a script language that can be embedded in HTML and, with some Web browsers (Netscape, Microsoft Internet Explorer), produces the execution of certain functions and actions within the Web browser. JavaScript was developed with the intention of dynamically organizing static HTML pages. Unlike server-side script languages such as Perl or PHP, JavaScript is executed on the client. In contrast to Java, JavaScript is not an independent programming language, is not independent of the browser version, and does not have the required security mechanisms. Initially, Java is a programming language like any other. Unlike traditional compilers for a programming language, which generate machine code for a specific platform (see the Compiled Programming Languages figure), the Java compiler produces program code for a virtual machine (the Java Virtual Machine). This is known as bytecode. A virtual machine is a model of a processor (which often 2011 © 2011 SAP AG. All rights reserved. 3 Unit 1: Fundamentals ADM800 does not exist as real hardware) and the associated system architecture. It is a computer program that emulates a processor. The effort required to transfer this software to other real CPUs is small in comparison. The virtual machine is therefore viewed as the interface between Java and the actual hardware. It must therefore be developed for each processor architecture and, as such, is the only platform-dependent component of a Java development system (see the figure Concept of the Java Virtual Machine). SAP also uses the concept of a cross-platform virtual machine in the ABAP world. The ABAP programs of the SAP system are also converted into a bytecode, which is interpreted by the ABAP Virtual Machine, the ABAP work process. Figure 1: Compiled Programming Languages Hint: Virtual machines play an important role nowadays, since Microsoft has followed Sun's example of the Java Virtual Machine (Java VM) with its .NET architecture. The concept of the virtual machine was already in use in the late 1960s; Martin Richards' O code for the BCPL programming language is an early example. Better-known examples are the Pascal P code system (UCSD Pascal) from the 1970s, and the virtual machine on which programs in the Smalltalk programming language run. The bytecode generated by the Java compiler is comparable to microprocessor code for a conceived processor , which understands instructions such as arithmetic operations, gotos, and so on. A Java compiler, such as the one from Sun, which is 4 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java itself implemented in Java, generates this bytecode. However, so that the program code of the virtual processor can be executed, after the conversion phase, the runtime environment (also known as the runtime interpreter), the Java Virtual Machine, runs the bytecode. In this way, Java is a compiled, but also an interpreted programming language. Figure 2: Concept of the Java Virtual Machine The interpretation causes speed problems, since the identification, decoding, and execution of the commands takes time. Java programs are generally slower than programs that were converted specifically for the target environment (such as C(++) programs). The technology of the Just In Time (JIT) compiler alleviates the problem. A JIT compiler accelerates the execution of the programs by converting the program statements of the virtual machine for the physical machine. There is then a program adjusted for the architecture available in memory, which is executed quickly without interpretation. Even with this technology, the speed is slower than that of C in many cases, but the difference is smaller. A Java Development Kit (JDK) is required to write platform-independent Java programs. The Java Development Kit includes the software required to create and test Java applications and applets, the packages with the Java classes that are part of the basic configuration, and the online documentation. The software includes the Java compiler, the Java Runtime Environment (the Java Virtual Machine) for running applications, the applet viewer for running applets, a Java debugger, and various utilities. The online documentation describes all language elements and all classes of the Application Program Interface API. 2011 © 2011 SAP AG. All rights reserved. 5 Unit 1: Fundamentals ADM800 Java is a relatively new programming language and is therefore still in development, that is, new versions with extensions and improvements are constantly being released: the original version is JDK 1.0 (1995). Since Version 1.2, the JDK has also been called “Java Platform 2” and in Version 1.3.0 to Version 1.4, the JDK is called “Java 2 Software Development Kit (SDK)”. It is called JDK again from Version 1.5.0 and SDK is used in another context. From Version 1.6.0, Java™ Platform 2 is no longer used, rather Java™ Platform is used. From Version 1.5.0, there is a differentiation between a developer version and a product version with 1.5.0 as the developer version. The related product version is “5.0”. Product version “6” belongs to developer version 1.6.0. • • • Java Standard Edition (Java SE). The standard edition is the normal software environment and defines the Java™ SE Development Kit (JDK). This includes the Java SE Runtime Environment (JRE). Java Enterprise Edition (Java EE). The enterprise edition builds on the JDK and integrates additional packages such as Enterprise JavaBeans (EJB), servlets, JavaServer Pages (JSP), Java Mail API, and Java Transaction Service (JTS). The Java EE 5 SDK (Software Development Kit) includes the Sun Java System Application Server and requires a JDK. This can be JDK Version 5.0 or JDK Version 6 in Version 5. Java Micro Edition (Java ME). The micro edition is a small runtime environment for small devices such as Personal Digital Assistants (PDAs) or telephones. The following figure “SDK Structure” describes the interaction between the terms “Java EE SDK”, “JDK” and “JRE”. Figure 3: SDK Structure 6 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java The Java SE Runtime Environment is also referred to as JRE and contains the runtime environment to which the JVM and other libraries with which Java applications can be executed belong. The JRE cannot be used to develop any Java programs. The JDK is required for this. It contains the JRE with the Java compiler “javac” and other tools which are of use for programming. When performing client-server programming, you need a server. The SDK contains the reference implementation of an application server, namely the “Sun Java System Application Server”. You can use the Java EE SDK to program, among other things, “Enterprise Java Beans”, “Servlet”s and “JSP”; however, a JDK is required. Figure 4: AS Java with SAP JVM SAP NetWeaver AS Java is the SAP implementation for a Java-based application server. SAP NetWeaver AS Java 7.3x is Java™ EE 5-compliant and was the first (along with Sun) to correspond to this standard. SAP NetWeaver AS Java 7.3x does not require a JDK from the operating system manufacturer (unlike its predecessors); instead, the SAP-specific JDK is used on all operating systems. 2011 © 2011 SAP AG. All rights reserved. 7 Unit 1: Fundamentals ADM800 The SAP Java Virtual Machine (JVM) is a Java Virtual Machine for application servers that are reliable, scalable and can be supported for using SAP products. The SAP JVM implements the standard Java SE 5.0 and provides a reliable foundation for SAP NetWeaver AS Java. Some of the SAP JVM properties were developed especially to meet the requirements of SAP customers: • Additional “Supportability” The SAP JVM provides functions for supporting complex Java applications. One prominent function here is the “extended stack trace”. It helps developers to identify problems and software errors. • “Profiling” and “Memory Debugging” Discovering problems in memory management has the same value as identifying functional errors. Therefore, the SAP JVM provides enhanced options in the area of performance and memory profiling. • “Debugging on demand” You can use the SAP JVM in productive use to switch to and back from debugging mode without restarting the VM. This dramatically reduces the amount of effort required for troubleshooting. For details of available SAP JVM patches, see SAP Note 1434916: How to find out the SAP JVM build version. Programming in Java When creating Java programs, the developer first creates a source file in the format “MyProgram.java” (see the figure Tools of the Java Development Kit). The Java compiler generates a separate file for each class from the source file that contains the bytecode for this class. The file name is then the name of the class with the extension “.class”, and therefore has the format “MyProgram.class”. In accordance with the object-oriented approach, Java “functions” are grouped in classes. Each Java source file may only contain one public class. The file name of the source file must then be the name of this class (which is case-sensitive) with the extension “.java”. This bytecode is platform-independent: irrespective of the type of system on which the Java compiler was called, the bytecode can also be executed on any other computer system, at least in the case of “100% pure Java”, which unfortunately cannot be guaranteed for all products. 8 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java Figure 5: JDK tools You can also combine multiple class files into a compressed archive file. Java archive files of this type then have, for example, names in the format “MyArchive.jar”. A Java archive contains files and possibly also entire directory structures in the same compressed format used by PKZIP and WinZip. They are administered with the program jar (Java Archiver); the call is similar to that of the UNIX program tar (tape archiver). It is not usually necessary to extract or unpack archive files: The Java compiler and the Java Virtual Machine can read and load the class files directly from the archive files. For this purpose, the file name of the archive file must be specified in a defined format. The bytecode of a Java application is executed by calling the Java Virtual Machine JVM (in the Java Runtime Environment JRE) in the format java MyProgram. In a similar way to sub program libraries in other programming languages, in Java there are also small Java programs (classes) with precisely defined conventions for the interfaces that allow reuse in multiple applications (applications and applets). These programs are known as Java Beans. Java EE Specification Java became popular with the Internet as a language of the World Wide Web. Life can be added to static HTML pages using Applets and Java Script. By extending Web servers with the Common Gateway Interface (CGI), these can perform simple database accesses and display the results formatted in the browser. However, these technologies are limited in the case of simultaneous accesses from very large numbers of users who expect reliable information and quick response times. Sun provides a solution to these problems in terms of server-side architecture for Internet applications with the Java Platform Enterprise Edition (Java EE). Java EE is a vendor standard for a complete palette of software components, which are primarily created in the Java programming language. Sun wishes to ensure that developments comply with the specification of the Java Enterprise Edition using compatibility tests for Java EE. 2011 © 2011 SAP AG. All rights reserved. 9 Unit 1: Fundamentals ADM800 The purpose of the specifications is to make available a generally accepted framework for developing distributed, multilayer applications with modular components. Clearly defined interfaces between the components and layers ensure that software components from different vendors are interoperable, provided they adhere to the specifications. With the Java EE specification, Sun wishes to ensure that Web applications that conform to the specification run on all Java EE-compatible servers. The application logic is packed in components (Enterprise Java Beans) in accordance with the Java EE specifications. They represent modular java program components. A container provides the components implicitly with the services of the runtime environment. Three-level client/server architectures for enterprise applications can be realized in accordance with the Java EE specifications. The Java EE application server forms the core of these architectures (see the figure Three-Level Java(TM) EE 5 Architecture). Figure 6: Three-Level Java(TM) EE 5 Architecture The Java EE application server processes client requests, executes the application logic, and returns the results to the clients. The application data is accessed from the database level. The application logic is implemented in the form of Enterprise Java Beans. These are executed in an EJB Container, which is part of the Java EE Application Server. The communication between the client and the Java EE is based on Web standards such as HTTP, HTML, and XML. The Java EE server uses Java Server Pages (JSP) and Java Servlets to generate HTML pages or XML data. Java Server Pages and Java servlets are executed in a Web Container, 10 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java which is, in turn, part of the Java EE Application Server. Java applets can be included in the HTML pages that are sent to the Web browser. These applets are executed in the browser. Java Server Pages (JSP) are a technology developed by Sun, which essentially allow the simple dynamic generation of HTML and XML output for a Web server. This technology enables Java code and specific JSP actions to be embedded in static content. The advantage of this technology is that the logic can be implemented independent of the design. JSP are converted Java source code using a special JSP compiler. This source code, which corresponds to a Java servlet, is then converted to bytecode by the Java compiler. Figure 7: Architecture of the Java(TM) EE 5 Application Server Each application component is executed in a container. These containers provide the application components with services in accordance with the Java EE specification. Examples of these services are transaction management, availability, security, scalability, client connection, and database access. This means that the developer can concentrate purely on the application logic and does not need to deal with these system functions. The following figure shows an example of the processing of a client request by a Java EE Server. 2011 © 2011 SAP AG. All rights reserved. 11 Unit 1: Fundamentals ADM800 Figure 8: Processing of a Client Request by the Java™ EE 5 Server To achieve the aims of quick response times and reliable information, the Java EE application server must also provide scalability and reliability in addition to the functional side. The Java EE Server must handle clustering and load balancing for this. Java EE Server in the SAP Environment SAP takes into account the increasing importance of Java for creating business applications, together with the larger market of Java developers. SAP began a fundamental evaluation of Java as early as 1998 and, since SAP Web Application Server 6.20, provides a complete Java EE-compatible runtime infrastructure. Up to Release SAP NetWeaver AS Java 7.0, they were AS Java J2EE 1.3-compliant; since AS Java 7.1x, they are EE 5-compliant. The architecture of an application server in accordance with the Java EE specification is similar to the ABAP runtime environment used for SAP solutions, since both are platform-independent, executed in a multi-level architecture, and have a separate presentation logic and business logic. 12 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Fundamental Concepts of Java The use of Java EE in SAP technology has the following advantages for SAP NetWeaver Application Server: • • • • • 2011 The open integration architecture SAP NetWeaver integrates perfectly into the openness of Java EE. Java EE is further proof of the strategy of platform-independence pursued by SAP. The Java EE Connector architecture allows standardized integration of external applications. Web Services technologies are supported directly by Java. The quickly-growing Java community provides simple access to experienced developers. © 2011 SAP AG. All rights reserved. 13 Unit 1: Fundamentals ADM800 Lesson Summary You should now be able to: • Use basic Java terminology 14 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Architecture of the SAP NetWeaver Application Server Lesson: Architecture of the SAP NetWeaver Application Server Lesson Overview This lesson presents the architecture of SAP NetWeaver Application Server. Particular attention is paid to SAP NetWeaver Application Server Java. SAP NetWeaver Application Server ABAP is presented here only in as far as it is required for the understanding of the rest. Lesson Objectives After completing this lesson, you will be able to: • Explain the architecture of SAP NetWeaver Application Server Business Example SAP NetWeaver Application Server is the technical basis for many SAP components. To be able to administrate SAP NetWeaver Application Server, you need to understand its internal structure and architecture. Introduction You can implement both server-side and client-side Web applications with the SAP NetWeaver Application Server. Server applications (such as online shops or portals) can be created in the integrated development environment or with an external tool; the Web pages contain dynamic script code in addition to static HTML code. SAP NetWeaver Application Server can - depending on the chosen installation variant - execute ABAP and/or Java programs. This means that when you are creating Web applications, you can use both the ABAP-based Business Server Pages and Java-based programming (JSPs, and so on). SAP NetWeaver Application Server is the application platform of SAP NetWeaver. It represents the basis for the other SAP NetWeaver components. The following figures show the structure and components of the SAP NetWeaver Application Server. 2011 © 2011 SAP AG. All rights reserved. 15 Unit 1: Fundamentals ADM800 Figure 9: Architecture of the SAP NetWeaver Application Server Java Figure 10: Architecture of the SAP NetWeaver AS ABAP+Java An SAP NetWeaver AS ABAP+Java system consists of two integrated parts that are referred to as ABAP Stack or Java Stack. 16 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Architecture of the SAP NetWeaver Application Server The individual components and their tasks are briefly presented in the following: • The Internet Communication Manager (ICM) creates contact with the Internet. It can process Web requests as both a server and client. It supports the protocols HTTP, HTTPS, IIOP, IIOPSEC, P4SEC, Telnet and SMTP. SAP NetWeaver AS can act as a Web server or client. The SMTP protocol is only processed by SAP NetWeaver AS ABAP; therefore, it is not used in SAP NetWeaver AS Java. The protocols IIOP, IIOPSEC, P4SEC and Telenet are processed by SAP NetWeaver AS Java; therefore, they are not used in SAP NetWeaver AS ABAP. The ICM forwards incoming requests of the protocols mentioned above to the appropriate stack (ABAP or Java) for processing and sends the response back to the inquiring partners. • • • • • The ABAP dispatcher distributes the requests to the work processes. If all processes are busy, the requests are stored in the dispatcher queue. The ABAP work processes execute the ABAP code. The ABAP message server is used to exchange messages in SAP NetWeaver AS ABAP and to balance the load in the SAP system with SAP NetWeaver AS ABAP und SAP NetWeaver AS ABAP+Java. The Java server processes are responsible for processing, for example, Java server pages, servlets and so on. An SAP system that contains SAP NetWeaver AS Java has a central services instance that contains a Java message server and a Java enqueue server. The Java message server is used to exchange messages in SAP NetWeaver AS Java and to balance the load in SAP systems without an ABAP stack. The Java enqueue server is responsible for lock management in SAP NetWeaver AS Java. SAP NetWeaver Application Server with ABAP and Java This section describes the architecture of the integrated version of the SAP NetWeaver Application Server ABAP and Java. The architecture of a system of this type with one instance is shown in the figure Architecture of SAP NetWeaver Application Server ABAP+Java. The structure with multiple instances is outlined in principle in the following figure. 2011 © 2011 SAP AG. All rights reserved. 17 Unit 1: Fundamentals ADM800 Figure 11: Architecture of SAP NetWeaver AS ABAP+Java with multiple Instances Each of these integrated SAP NetWeaver AS instances contains the (ABAP) dispatcher and its work processes, which can process ABAP programs, and the ICM with its server processes, to which it distributes the incoming Java™ EE 5 requests. One of the instances must be installed as the (ABAP) central instance; that is, provide the enqueue service. Alternatively, the system can be set up with the standalone enqueue server, and without a central instance. It is, of course, possible to log on to a SAP system of this type not only using the Web client, but also using SAP GUI. The Java cluster requires a special instance, the Central Services, to administer locks and transfer messages and data. Finally, all the applications and data for ABAP and Java each have a schema in a shared database. 18 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Architecture of the SAP NetWeaver Application Server The users can log on to the SAP system using either the SAP GUI or a Web client (browser): • Communication with the SAP GUI The users log on using the message server (load balancing) or directly to the ABAP dispatcher, and the work processes process the user input. An additional task of the message server is to transmit requests in the ABAP stack. • Processing Web requests Web requests are received by an Internet Communication Manager (ICM). These HTTP(S) requests can be intended for the Internet Communication Framework (ICF), that is, processed in the ABAP work process (such as BSP applications or Java™ EE 5 requests, which are intended for SAP NetWeaver AS Java. The ICM decides where to forward the request using the URL. The HTTP(S) requests are distributed across all instances of an SAP system using the SAP Web Dispatcher. It is the central point of entry to the SAP system from the internet. For each incoming request, it must decide on the SAP NetWeaver AS instance to which it forwards the request. In each case, the ICM of an application server receives the Web requests from the SAP Web Dispatcher. The ICM then uses the URL to decide whether it should forward the request to the SAP NetWeaver AS ABAP or the SAP NetWeaver AS Java for processing. Installation Variants of SAP NetWeaver AS Depending on what is required of the SAP NetWeaver Application Server, there are various installation variants, depending on which installation routine is used. 2011 © 2011 SAP AG. All rights reserved. 19 Unit 1: Fundamentals ADM800 Figure 12: Installation variants of SAP NetWeaver AS • SAP NetWeaver Application Server ABAP System. Complete infrastructure in which ABAP-based applications can be developed and used. An SAP NetWeaver BW 7.3 system contains SAP NetWeaver AS ABAP. • SAP NetWeaver Application Server Java System. Complete infrastructure for developing and using Java™ EE 5-based applications. An SAP NetWeaver Portal 7.3 system contains SAP NetWeaver AS Java. • SAP NetWeaver Application Server ABAP and Java System. Complete infrastructure in which ABAP- and Java™ EE 5-based applications can be developed and used. This installation focuses on seamless Java-ABAP integration. An SAP NetWeaver Process Integration 7.3 system contains SAP NetWeaver AS ABAP+Java. • Java Developer Workplace Complete infrastructure for developing and using Java™ EE 5-based applications in a single-user system. 20 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Architecture of the SAP NetWeaver Application Server Lesson Summary You should now be able to: • Explain the architecture of SAP NetWeaver Application Server 2011 © 2011 SAP AG. All rights reserved. 21 Unit 1: Fundamentals ADM800 Lesson: Java Cluster Architecture Lesson Overview This lesson describes the architecture of SAP NetWeaver AS Java. The individual components of SAP NetWeaver AS Java and their functions are introduced. A Java cluster encompasses all Java components of an SAP system. Lesson Objectives After completing this lesson, you will be able to: • • Explain the term Central Services of SAP NetWeaver AS Java Understand and use concepts such as Java instance, ICM, and server Business Example After the installation of a SAP NetWeaver Application Server Java, configuration is still required. You should therefore be familiar with the basic architecture of the cluster of SAP NetWeaver Application Server Java. The Java Instance Concept SAP NetWeaver Application Server Java takes the instance concept of SAP Basis, which combines multiple components that are monitored, started, and stopped together into an administrative unit. The following components are part of a Java instance: • • The server processes provide the infrastructure in which the Java™ EE 5 applications run. The Internet Communication Manager distributes the client requests to the free server processes of the instance. An instance always runs on one physical server, but there can be multiple instances on one server. Within an SAP system, an instance is defined using the system ID (SID) of the SAP system and the instance number. An SAP system consists of a database and one or more instances. These instances can either be purely ABAP or Java instances, or instances with ABAP and Java infrastructure, with the instances of a system always having the same infrastructure (that is, there is no system that has ABAP instances (without Java) and Java instances (without ABAP). 22 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Cluster Architecture The Central Services form a special Java instance. They provide the basis of communication and synchronization within a Java cluster. Another special instance is the instance that is installed first. It is often referred to as the Primary Application Server Instance or PAS for short. Further instances for a system are referred to as Additional Application Server Instances or AAS for short. To ensure high-performance when processing Java requests, the SAP system can be scaled using the number of server processes for each instances or using the number of instances. Java Cluster Architecture All Java components of an SAP system are known as a Java cluster. A Java cluster consists of: • • • • A Java instance with an ICM and at least one server process. The Central Services, which contain a message server and an enqueue server. A database for the central storage of data. Optionally, additional Java instances The following figures illustrate an installation with several SAP NetWeaver AS Java instances. Figure 13: Cluster with Multiple SAP NetWeaver AS Java Instances 2011 © 2011 SAP AG. All rights reserved. 23 Unit 1: Fundamentals ADM800 ICM and Server Processes Client requests to SAP NetWeaver AS Java are received by ICM. It selects a free server process to process the request and creates the connection between the client and the server process. The ICM distributes new incoming requests to the available server processes using a “round robin” algorithm. If a connection to the client exists, the request is forwarded to the server process that is already processing requests for this client. The server process of the SAP NetWeaver Application Server Java runs the Java applications. The server processes are implemented as multi-threaded servers and can therefore process multiple requests in parallel. The system or application threads take over the processing of the requests. Central Services The Central Services run on one host and form a separate Java instance. They consist of the Java message server and the Java enqueue server. The Central Services provide the basis for communication and synchronization for the Java cluster: • • The message service administers a list of the ICM and the server processes of the Java cluster. It represents the infrastructure for data exchange (small datasets only) between the participating nodes. In the case of load balancing between a large number of Java instances, it also provides the load balancing information for the SAP Web Dispatcher. The enqueue service administers logical locks that are set in a server process by the executed application program. It is also used for cluster-wide synchronization. The Central Services are essentially required when a Java cluster is installed. They are started on a host with a separate system number and the system ID (SID) of the entire system. Message Service The message service is an individual program used to communicate between the elements of a Java cluster. The message service knows all active Java instances. The terms message server and message service are used with the same meaning in the training material. To be precise, the message server is a program/process that provides the message service. 24 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Cluster Architecture The message service performs the following tasks in the Java cluster: • • • • • • Notification of events that arise in the cluster, for example, if a node of the cluster disappears (due to failure or the instance being shut down), or when a service is started or stopped. Communication between different services Forwarding of messages and requests to all participants (broadcast) Prepare logon information for the SAP Web Dispatcher Guaranteed message transmission Exchange of cache information in the cluster The same technology is used as with the SAP Message Server for the earlier SAP NetWeaver AS versions without Java. Enqueue Service The enqueue service runs on the Central Services instance of the Java cluster. It manages the lock table in the main memory and receives requests for setting or releasing locks. It uses the tried and tested SAP lock concept. The terms enqueue server and enqueue service are used with the same meaning in the training material. To be precise, the enqueue server is the program or process that provides the enqueue service. The enqueue service has the following tasks: • • 2011 Internally, it is used for synchronization within the Java cluster The applications can lock objects are release locks again. The enqueue service processes these requests and manages the lock table with the existing locks. © 2011 SAP AG. All rights reserved. 25 Unit 1: Fundamentals ADM800 Lesson Summary You should now be able to: • Explain the term Central Services of SAP NetWeaver AS Java • Understand and use concepts such as Java instance, ICM, and server 26 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Internal Structure of SAP NetWeaver AS Java Lesson: The Internal Structure of SAP NetWeaver AS Java Lesson Overview This lesson introduces the internal architecture of SAP NetWeaver AS. This architecture is the foundation for realizing a Java™ EE 5 application server in accordance with the Java™ EE 5 specification. Lesson Objectives After completing this lesson, you will be able to: • • Name the most important managers of the SAP NetWeaver AS Name the most important services of the SAP NetWeaver AS Business Example SAP NetWeaver AS Java consists internally of several managers and services. To be able to configure these managers and services, you should first understand their significance and functions. Introduction The internal structure of SAP NetWeaver AS Java is divided into three logical levels (see the figure Internal Structure of SAP NetWeaver AS Java): • • • 2011 SAP Java Enterprise Runtime - provides fundamental functions of the runtime environment, such as class loading, cluster communication, management of configuration data, and so on . AS Java System Components - contain interfaces, libraries, services and facades. Applications Layer - relates to the applications that are deployed and run in SAP NetWeaver Application Server Java. © 2011 SAP AG. All rights reserved. 27 Unit 1: Fundamentals ADM800 Figure 14: Internal Structure of SAP NetWeaver AS Java The following general rule applies to the interaction between these three logical entities in SAP NetWeaver AS Java: higher-level components can use the functions of the lower-level layers. On the other hand, the lower levels are not aware of the higher levels and cannot therefore use their functions. This rule is a consequence of the start sequence of the individual modules of the system. First, the runtime environment is started, then the services are started, and then the applications are started. Communication between the individual components takes place using defined Application Programming Interfaces (APIs). The components of the higher levels use these APIs to use functions of the lower levels. The AS Java System components use the Framework APIs to talk to the SAP Java Enterprise Runtime. The applications can talk with the AS Java System components either using APIs defined by the Java™ EE 5 specifications, or using proprietary SAP APIs. The functions of these logical levels and their interaction are described in the following. 28 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Internal Structure of SAP NetWeaver AS Java SAP Java Enterprise Runtime The SAP Java Enterprise Runtime provides the core functions of the system. These core functions are realized by multiple subsystems of the lowest level. These subsystems are called managers. A selection of these managers with a short description is listed below: • Log Manager: manages the process of logging system events. It configures the logging routines of the kernel. The Log Manager is the first manager that is started during the startup of SAP NetWeaver Application Server Java. • Application Thread Manager: manages inbound client requests. Searches for free threads to process inbound requests. If no threads are free, the requests are buffered in a request queue. • Thread Manager: manages threads in which internal operations of SAP NetWeaver AS Java are executed. • Locking Manager: Represents the interface between the server process and the enqueue service. • Configuration Manager: Allows SAP NetWeaver AS Java to store and access data in a relational database. Uses the Open SQL for Java Framework to do this. • Classloading Manager: Central location for the registration and removal of loaders and references between them. • Cluster Manager: Manages the elements of a cluster (server processes) and is responsible for the communication in the cluster. It updates information about the status of the individual elements of a cluster and the services that are provided by it. Important settings: – • element.joinPort: Port with which servers listen for inbound connections. – ms.host: Host on which the Java message server runs. Service Manager Represents a container in which all services in the cluster are executed. 2011 © 2011 SAP AG. All rights reserved. 29 Unit 1: Fundamentals ADM800 AS Java System Components The AS Java System components form the second level within the three-level structure of SAP NetWeaver AS Java. They provide the complete infrastructure for executing Java™ EE 5 applications and proprietary SAP applications. Four types of AS Java System components can be classified: • Interfaces: Agreements that define how different components of SAP NetWeaver AS Java work together. They do not provide any runtime functions themselves, but rather are used by services that provide their implementation. • Libraries: They provide names, classes, and objects within SAP NetWeaver AS Java. These objects are created by the system when it loads the library, or when an object is first requested. • Services: The services that SAP NetWeaver AS Java provides for processing requests are defined and configured using the Services. Service components can access and utilize functions of the runtime environment through the Framework API. They are the most important of these four types of AS Java System components. • Facades: The facades are special APIs that the Java EE API and SAP API use to access libraries, interfaces and services. 30 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Internal Structure of SAP NetWeaver AS Java A selection of the most important services with a short description is listed below: • Security Provider: Administration of users and groups and authorization administration. Controls access to resources or applications deployed in SAP NetWeaver AS Java. • Monitoring Service: Allows access to information about the current system status. Provides general and statistical information, among other things, about the nodes in the cluster, memory utilization, performance, applications, and user connections. • Log Configurator service Manages the configuration of the logging and tracing mechanism of SAP NetWeaver AS Java. • Deploy Service: Manages the deployment of Java applications. • EJB Container Service: Manages all Enterprise Java Beans (session beans, entity beans, and message-driven beans), which are executed in the EJB Container of SAP NetWeaver AS Java. • HTTP Provider: Is responsible for processing HTTP requests. Applications Layer The applications form the third level within the architecture of SAP NetWeaver AS Java. The boundary between the applications and the AS Java System components is defined by the Java EE APIs and a few proprietary SAP APIs. Applications use these APIs to utilize the functions of the AS Java System components. 2011 © 2011 SAP AG. All rights reserved. 31 Unit 1: Fundamentals ADM800 An enterprise application can contain different types of application components: • • • • Servlet: A program module written in the Java programming language, which is used to respond to requests to a Web server in such a way that the content of the returned HTML Web page is dynamically generated. Servlets are standardized in the context of the Java™ EE 5 specification. Java Server Pages (JSP): Technology for dynamically generating HTML and XML output of a Web server. This technology enables Java code and specific JSP actions to be embedded in static content. The advantage of this technology is that the logic can be implemented independent of the design. Java Server Pages are converted to Java source code, which corresponds to a Java servlet, using a special JSP compiler. Enterprise Java Beans (EJB): Used for the standardized, simplified development of business applications using Java. They are part of the central elements of the Java™ EE 5 specification. Java Database Connectivity (JDBC): Uniform interface to databases from different vendors, defined specifically for relational databases. The tasks of JDBC include creating and managing database connections, forwarding SQL queries to the database, and converting the results into a format that is usable for Java and making them available to the program. These components reside in different containers of SAP NetWeaver AS Java (see the figure Containers of SAP NetWeaver AS Java). The containers provide runtime services for the application components. 32 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Internal Structure of SAP NetWeaver AS Java Lesson Summary You should now be able to: • Name the most important managers of the SAP NetWeaver AS • Name the most important services of the SAP NetWeaver AS 2011 © 2011 SAP AG. All rights reserved. 33 Unit 1: Fundamentals ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment Lesson Overview An SAP system can be scaled using the number of application servers and the number of dialog work processes (ABAP) or server processes (Java) for each instance. Requests to the SAP system should be distributed as equally as possible across all application servers and processes. A load balancing procedure is required to do this. The techniques used for this in the SAP system are introduced in this lesson. Lesson Objectives After completing this lesson, you will be able to: • Explain how load balancing can be realized in the SAP system Business Example With large applications, it is best to spread the load across several components. Load balancing is also possible with SAP NetWeaver AS Java. Overview In this section, the different mechanisms for load balancing that are available for SAP NetWeaver AS are presented. You can essentially differentiate between two mechanisms for load balancing: Client-based and server-based load balancing. In general, we recommend server-based load balancing. Server-Based Load Balancing A load balancer connected in front acts as a central entry point to the SAP system. This is the case, even if the SAP system is made up of multiple application servers. These technique offers the following advantages: • • • 34 All application servers can be addressed using a common IP address or a common name. The users always use the same URL to access the system. The advantages listed above reduce the operating and maintenance effort and costs. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment This central entry point to the SAP system can be realized using an additional component, known as a “load balancer”. As shown in the following figure, this load balancer receives inbound requests and distributes these to the application servers. Figure 15: Server-Based Load Balancing Client-Based Load Balancing In addition to SAP's preferred method of server-based load balancing, there are other methods, which can be preferred in certain circumstances. In particular, if a simple implementation of load balancing is desired. With this client-based load balancing, all inbound client requests are initially directed to a central location in the system, a load balancing server, when the connection is first made. The load balancing server informs the client which application server it should address. This is illustrated by the following figure. Figure 16: Client-Based Load Balancing 2011 © 2011 SAP AG. All rights reserved. 35 Unit 1: Fundamentals ADM800 Client-based load balancing can be realized using the following mechanisms: Rerouting the requests using functions • • That provide the HTTP protocol (redirect) That provide the Domain Name System (DNS) protocol, with which the namespace in the Internet is managed A simple method of load balancing is already implemented in SAP NetWeaver AS, based on the rerouting of HTTP requests. Their function is shown in the following figure. Figure 17: Load Balancing Using the SAP Message Server This mechanism functions as follows: 1. 2. 3. 4. 36 The browser sends a request to the message server. The message server returns the address of an appropriate application server to the browser (redirect). The browser now sends a request to this application server. The user remains connected to this application server for the rest of the duration of the session. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment Although this method is implemented in SAP NetWeaver AS using the message server (for AS ABAP or AS ABAP and Java System, this is the ABAP Message Server; for AS Java, this is the Java Message Server), and is already available after installation, it is not the preferred method due to a number of disadvantages. Some of these disadvantages are listed briefly here: • • • Can lead to confusion of the user, since the URL displayed in the browser changes with the rerouting If Favorites are created in the browser, these point to the server to which the user was rerouted Can cause problems if a firewall is used Stateless and Stateful Web Applications The programming model that underlies the development of Web applications has an important influence on a load balancer. The programming model differentiates between “stateless” and “stateful” Web applications. The programming model for stateless requests is used for simple applications, for which each request to SAP NetWeaver AS is independent of all other requests. The programming model for stateful requests is used for more complex applications, which are based on a transactional concept. With these applications, information about the status of the user session must be stored in the application server. The mechanism for load balancing in the SAP system must support both stateless and stateful requests. Stateful requests are a particular challenge for the load balancer, since the HTTP protocol only supports stateless requests. This is illustrated in the following figure. The first request is forwarded to an application server by the load balancer. If a subsequent request is forwarded to a different application server, this has no information about the user context. 2011 © 2011 SAP AG. All rights reserved. 37 Unit 1: Fundamentals ADM800 Figure 18: Stateful Requests The load balancer must therefore ensure that stateful requests are always forwarded to the same application server. This can be achieved by different implementations in the load balancer. However, these different techniques are not presented in more detail here. Realization of Load Balancing in SAP NetWeaver AS Java After these initial considerations about load balancing, the realization in SAP NetWeaver AS Java is now presented in this section. Load balancing within SAP NetWeaver AS Java allows the optimal distribution of the incoming requests to the available resources. SAP NetWeaver Application Server provides load balancing at different levels, as shown in the following figure. 38 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment Figure 19: Load balancing in SAP NetWeaver AS Java In a cluster with multiple SAP NetWeaver AS Java instances, load balancing is performed using a load balancer connected in front (1). Within the Java instance, the ICM (2) distributes the inbound requests to the server processes with which it is connected. Load Balancing Between Many Java Instances The following figure shows a system with multiple Java instances, for which the SAP Web Dispatcher is already activated in the DMZ as a load balancer. This performs the load balancing between the Java instances. The ICMs of the instance distributes the requests to their server processes. Hint: You can also use any other load balancing device instead of the SAP Web Dispatcher. In this case, you need to register the hosts and ports with it; the communication with the message server does not take place. 2011 © 2011 SAP AG. All rights reserved. 39 Unit 1: Fundamentals ADM800 Figure 20: Load Balancing Between Many Java Instances The SAP Web Dispatcher fetches the information that it requires from the message server about: • • All ICMs with their HTTP ports, to which it can forward requests The capacities of the connected Java instances, so that it can use the weighted round robin procedure. For this, the SAP Web Dispatcher simply needs, in its profile file, the host name and the port at which it can reach the message server (parameter rdisp/mshost,ms/http_port). The SAP Web Dispatcher is delivered with the message server. In the standard installation, you will find this, for example, in a subdirectory of /usr/sap/<SID>/SYS/exe. The SAP Web Dispatcher can be used for load balancing in the following scenarios: • • • 40 Java-only scenario, as described here. ABAP-only scenario (see SAP customer training course ADM102, “Administration AS ABAP II”) Integrated scenario (Java+ABAP) (see SAP customer training course ADM102, “Administration AS ABAP II”) © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment Appendix: SAP Web Dispatcher As previously described, the SAP Web Dispatcher, which lies between the Internet and the SAP system, can be used as a load balancer. It is the entry point for HTTP(S) requests into your system, which consists of one or more Web application servers. As a "software Web switch", it can reject or accept connections. When it accepts a connection, it distributes the requests to ensure an even distribution across the servers (load balancing). Hint: Not only does using the SAP Web Dispatcher allow you to realize load balancing across multiple SAP NetWeaver AS instances, it also provides security functions (entry point in the DMZ, SSL, URL filtering). The SAP Web Dispatcher forwards inbound requests (HTTP, HTTPS) to the SAP NetWeaver AS instances of the SAP system in turn, where the number of requests that a SAP Web AS receives is weighted according to its capacity. The capacity of a SAP NetWeaver AS ABAP depends on the number of configured dialog work processes. For SAP NetWeaver AS Java, the capacity is determined by the number of server processes. If the application is stateful, the SAP Web Dispatcher ensures at the next request that the user is again forwarded to the server processing his or her application. It uses the session cookie to do this for HTTP connections, and the client IP address for end-to-end SSL. The SAP Web Dispatcher also decides whether the inbound request is to be forwarded to a SAP NetWeaver AS ABAP or a SAP NetWeaver AS Java. Hint: Unlike the HTTP load balancing performed by the SAP message server, no redirect is performed when using the SAP Web Dispatcher. In this way, the associated disadvantages (a large number of IP addresses must be known, bookmarking is not possible, authentication after a change of application server) are also avoided. 2011 © 2011 SAP AG. All rights reserved. 41 Unit 1: Fundamentals ADM800 The SAP Web Dispatcher is a separate program that can run on a host that is directly connected to the Internet. It requires minimal configuration. You only need to enter the following data in the profile file for the SAP Web Dispatcher: • • Port on which the HTTP(S) requests are to be received (parameter icm/server_port_<xx>) Host and HTTP port of the SAP message server (parameter rdisp/mshost and parameter ms/http_port) If you want to be able to call the Web application externally, for example with the URL http://shop.sap.com, this host name must be mapped internally to the SAP Web Dispatcher. This then forwards the HTTP(S) request to a suitable SAP NetWeaver AS. Hint: The SAP Web Dispatcher is presented in detail in the SAP customer training course ADM102, “Administration AS ABAP II”. For information about the change history of the SAP Web Dispatcher, see the composite SAP Note on the SAP Web Dispatcher (SAP Note 538405 and 1093023). 42 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Load Balancing in the SAP NetWeaver AS Java Environment Lesson Summary You should now be able to: • Explain how load balancing can be realized in the SAP system 2011 © 2011 SAP AG. All rights reserved. 43 Unit Summary ADM800 Unit Summary You should now be able to: • Use basic Java terminology • Explain the architecture of SAP NetWeaver Application Server • Explain the term Central Services of SAP NetWeaver AS Java • Understand and use concepts such as Java instance, ICM, and server • Name the most important managers of the SAP NetWeaver AS • Name the most important services of the SAP NetWeaver AS • Explain how load balancing can be realized in the SAP system 44 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. Which of the programming languages listed below are implemented platform-independently? Choose the correct answer(s). □ □ □ □ A B C D Fortran ABAP Java C/C++ 2. Briefly describe the function of the Java Virtual Machine (JVM). 3. Which of the software components listed below are components of SAP NetWeaver AS? Choose the correct answer(s). □ □ □ 4. A B C ABAP Work Processes Java Message Server Internet Communication Manager Which software components allow load balancing in the context of SAP NetWeaver AS Java? Choose the correct answer(s). □ □ □ 2011 A B C SAP Web Dispatcher ABAP Dispatcher Server processes © 2011 SAP AG. All rights reserved. 45 Test Your Knowledge ADM800 Answers 1. Which of the programming languages listed below are implemented platform-independently? Answer: B, C ABAP and Java are programming languages that are implemented platform-independently. 2. Briefly describe the function of the Java Virtual Machine (JVM). Answer: The JVM executes the platform-independent bytecode generated by the Java compiler on the relevant hardware. 3. Which of the software components listed below are components of SAP NetWeaver AS? Answer: A, B, C Components of SAP NetWeaver AS: Internet Communication Manager, ABAP dispatcher, ABAP work processes, ABAP message server, Java server processes, Java message server und Java enqueue server. 4. Which software components allow load balancing in the context of SAP NetWeaver AS Java? Answer: A The SAP Web Dispatcher distributes inbound requests across multiple SAP NetWeaver AS Java instances. 46 © 2011 SAP AG. All rights reserved. 2011 Unit 2 Starting and Stopping Unit Overview This unit describes the process when starting an SAP NetWeaver AS Java. SAP NetWeaver AS Java uses the Startup and Control Framework to perform the start process of the Java instances. On all operating systems, it is possible to use the SAP Management Console for starting and stopping. In the Windows operating system, it is also possible to use the Microsoft Management Console (SAP MMC). In the UNIX operating system, it is also possible to use the startsap and stopsap scripts. Finally, the log and trace files of the start/stop process are listed. Unit Objectives After completing this unit, you will be able to: • • • • • • • • • Describe the sequence in which the components of an SAP system and started and stopped Describe the general start process for an SAP NetWeaver AS Java Describe the general start process for an SAP NetWeaver AS ABAP + Java Operate the tools to start and stop SAP NetWeaver AS ABAP + Java Operate the tools to start and stop SAP NetWeaver AS Java Use the term Startup and Control Framework Describe the individual steps during the start and stop processes of a Java instance Find the storage locations of trace and log files of the Startup and Control Framework. Name the most important trace and log files of the Startup and Control Framework and review their content. Unit Contents Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java ............................................................. 49 Lesson: Tools for Starting and Stopping ...................................... 57 Exercise 1: Tools for Starting and Stopping.............................. 67 Lesson: Java Startup and Control Framework............................... 73 2011 © 2011 SAP AG. All rights reserved. 47 Unit 2: Starting and Stopping ADM800 Exercise 2: Java Startup and Control Framework ...................... 79 Lesson: Logs of the Start and Stop Processes of SAP NetWeaver AS Java ................................................................................ 82 Exercise 3: Logs of the Start and Stop Processes of SAP NetWeaver AS Java ....................................................................... 85 48 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java Lesson Overview There are different techniques for initiating the start and stop processes for the SAP NetWeaver AS, depending on the installation (with or without an ABAP stack). An SAP NetWeaver AS ABAP + Java is automatically started and stopped by the ABAP dispatcher. The start and stop process for an SAP NetWeaver AS Java (without ABAP stack) can be performed using the SAP Management Console (SAP MC). Lesson Objectives After completing this lesson, you will be able to: • • • Describe the sequence in which the components of an SAP system and started and stopped Describe the general start process for an SAP NetWeaver AS Java Describe the general start process for an SAP NetWeaver AS ABAP + Java Business Example An SAP system should be stopped before maintenance work to the hardware and started again later. To be able to do this, it is necessary to become familiar with the tools for starting and stopping the system, and the process flow. System Start: Process The starting of an SAP system is the basic prerequisite for being able to work with the system. The start process presented in this lesson describes the process flow when starting an SAP system with ABAP and Java stack as well as when starting an SAP system with a Java stack but without an ABAP stack. Every SAP system has a database and at least one instance. Systems with the Java stack have at least two instances. The instances can be divided into three different categories with different priorities for the start and stop process. 1. 2. 3. Instances with enqueue but without ABAP dispatcher Instances with enqueue and with ABAP dispatcher All other instances The enqueue plays a special role in the ABAP stack and in the Java stack for the start sequence; the enqueue is on one instance only for each stack. These instances that usually also contain the message server must be started before all other instances. The Java Central Services instance (priority 1) does not require 2011 © 2011 SAP AG. All rights reserved. 49 Unit 2: Starting and Stopping ADM800 a running database; therefore, the database is not started when this instance is started. An instance with an ABAP dispatcher and an enqueue work process (priority 2) requires a started database that the ABAP work processes log on to. Therefore, the first step is to start the database when starting this type of instance (unless it is already running). In principle, the start process is performed in multiple steps. The start process is performed with the operating system user <sid>adm: 1. Starting the Central Services Instance The Central Services consist of the Java message server and the Java enqueue server. The ICM and server Java cluster elements connect to the Java message server during their own start process. 2. Starting the database The database is the fundamental element of the entire SAP system. This must be in an operational state before SAP instances that contain an ABAP dispatcher or Java server process are started. However, it may not run or be started before the Central Services instance is started. 3. Starting the PAS or AAS The Primary Application Server Instance (PAS) or Additional Application Server Instance (AAS) first checks whether the database is started; it starts the database if it is not already started. If there is an enqueue work process in a PAS or AAS (usually in a PAS with ABAP stack), this instance must be given priority and started before the other instances. For the start process, you differentiate between the starting of SAP systems with purely Java instances (without ABAP) and instances with Java and ABAP stack. Additional details are provided in the following sections. System Stop: Process The stopping of an SAP system is performed in reverse sequence. The instances with enqueue are always stopped last. For SAP system installations on the Microsoft Windows operating system, the database is not stopped at the same time. This can be done with the tools of the relevant database. In the case of SAP system that are installed on UNIX operating systems, the database is generally stopped at the same time. Hard Shutdown The hard shutdown tops the system or the instance immediately, regardles if user requests are currently processed or not. 50 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java Soft Shutdown If the soft shutdown for an instance is triggered, there is no logon to the instance possible anymore. The instance is removed from the load balancing list of the message server. However, requests of logged on users are still dispatched to the related instance by the message server (e.g. http requests). On the AS ABAP, no more long running tasks are scheduled and it is been waiting for the end of long running tasks e.g. batch jobs or updates. If there is no long running task anymore, than it is been waited until all user sessions are ended. Afterwards all internal tasks are stopped and if all work processes are idle, the instance shuts down. On the AS Java, every server process enters the state preparing to stop if no critical task is running. If there is no user session alive, the server process stops the application and shuts down. In case that user sessions exists, the server process waits, until all user sessions have ended. In case of an AS ABAP+Java system, the behavior is nearly the same except that the stopping of the ABAP internal tasks is delayed, until the Java part is stopped already. Starting and Stopping an SAP NetWeaver AS ABAP + Java The instances are started and stopped using appropriate tools - such as the SAP Management Console (SAP MC). The start of the Java stack is controlled by the ABAP dispatcher within an instance of a dualstack system. In concrete terms, this means that the start and stop processes are triggered by the ABAP dispatcher. To do this, the ABAP dispatcher sends a start command to the so-called Startup and Control Framework. The corresponding Java cluster elements are started using the Startup and Control Framework. Note: The Startup and Control Framework consists of the Java Instance Controller and the server processes in a dualstack system. The ICM also belongs to the Startup and Control Framework in an SAP NetWeaver AS Java system. 2011 © 2011 SAP AG. All rights reserved. 51 Unit 2: Starting and Stopping ADM800 Figure 21: Starting an SAP NetWeaver AS ABAP+Java The tools (explained in more detail in the next lesson) can be used to start or stop individual instances or also the entire system. You should proceed as described above for the start process. If the complete system is started, you can be selected, for example in the SAP MC All Instances. The tools communicate with sapstartsrv. This is a service in Windows operating systems; it should be scheduled as a daemon in other operating systems. There is an sapstartsrv for each instance; this is responsible for starting and stopping the instance. If an sapstartsrv now receives the start command for the system, it must pass this on to the other sapstartsrv; this happens via HTTP or HTTPS. The sapstartsrv write a 1 byte control file every minute to the directory $(DIR_GLOBAL)\sapcontrol whose name specifies, among other things, the port and host on which it can be reached and the priority that its instance has. Using the control files, the sapstartsrv recognizes which other sapstartsrv are still active and passes the start signal on to them according to the priority. Therefore, the above figure shows that the Central Services instance is started first because it has priority 1. The PAS has priority 2 (since no ABAP Central Services instance was installed); therefore, it is the next one to be started. At this point, a check is performed to see whether the database is running (step 3). If it is not running, it is started. The ABAP message server and the ABAP dispatcher are now started (step 4). The ABAP dispatcher starts its work processes, the ICM and the Startup and Control Framework (step 5) to which the Java server processes belong. 52 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java The AAS is then started since it has priority 3. The start process is similar to PAS; however, there is no ABAP message server started. In the start process, a timeout is specified for the start of the instances with the next highest priority. This means that all instances with the same priority have to be started within the timeout for the instances with the next highest priority to be started. The stop process is performed by the ABAP dispatcher in the same way as the start process. The ABAP dispatcher also informs the Startup and Control Framework and transfers the stop command in this case. Starting an SAP NetWeaver AS Java In an SAP NetWeaver AS Java system, the Startup and Control Framework is started directly by the sapstartsrv. The ICM also belongs to the Startup and Control Framework along with the Java Instance Controller, the server processes. Using the relevant tools, for example SAP Management Console (SAP MC) or the Microsoft Management Console (SAP MMC) under Windows, the start command is passed on to an sapstartsrv, which forwards this to the appropriate sapstartsrv, which starts “its” instance. Figure 22: Starting an SAP NetWeaver AS Java (without ABAP) If the start command for the system start is passed on to an sapstartsrv, the procedure here is the same as described above for starting an SAP NetWeaver AS ABAP + Java system. 2011 © 2011 SAP AG. All rights reserved. 53 Unit 2: Starting and Stopping ADM800 The Central Services instance is started first because it has priority 1. The PAS and AAS are then started (step 4) since they have priority 3. The sapstartsrv of the PAS and AAS check before the start of the instance (step 3) whether the database is running; if it is not, it is started before the PAS or AAS is started. Evaluating the Profiles in the Start Process There are no start profiles in SAP NetWeaver 7.10 and later releases. Information for the start process is integrated into the instance profiles. Therefore, the instance profile is also used to start the sapstartsrv. If information for the start process is changed in the instance profile, the sapstartsrv has to be restarted as before. Figure 23: Evaluation of Default and Instance Profiles If an instance of a dualstack system is started, the ABAP message server (if it belongs to the instance) evaluates the parameters of the default and instance profile and starts with this parameterization. Similarly, the ABAP dispatcher evaluates the default and instance profile and starts with this parameterization. It passes on the parameterization to the processes that it starts, for example its work processes and the ICM. Furthermore, the ABAP dispatcher starts the Startup and Control Framework, which also evaluates the default and instance profile. 54 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Process for Starting and Stopping an SAP NetWeaver AS Java In an SAP NetWeaver AS Java system, the sapstartsrv starts the Startup and Control Framework; this starts the processes with the parameters of the default and instance profiles. 2011 © 2011 SAP AG. All rights reserved. 55 Unit 2: Starting and Stopping ADM800 Lesson Summary You should now be able to: • Describe the sequence in which the components of an SAP system and started and stopped • Describe the general start process for an SAP NetWeaver AS Java • Describe the general start process for an SAP NetWeaver AS ABAP + Java Related Information • 56 SAP Help Portal: help.sap.com → SAP NetWeaver © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Lesson: Tools for Starting and Stopping Lesson Overview This lesson presents the tools for the technical implementation of a start and stop process for SAP systems. The SAP Management Console (SAP MC) can be used for the start and stop process independently of the operating system. Lesson Objectives After completing this lesson, you will be able to: • • Operate the tools to start and stop SAP NetWeaver AS ABAP + Java Operate the tools to start and stop SAP NetWeaver AS Java Business Example You are using an SAP NetWeaver Application Server with Java and different operating system platforms such as Microsoft Windows and UNIX. To start and stop the SAP systems you require information about the use of the available tools. Starting and Stopping an SAP NetWeaver AS ABAP + Java When SAP NetWeaver AS ABAP + Java is started, the entire instance is always started. If the instance is started then the Java stack can be stopped and started again individually by the ABAP dispatcher. Starting and Stopping instances of SAP NetWeaver AS ABAP + Java Figure 24: Starting and Stopping instances of SAP NetWeaver AS ABAP + Java Instances of SAP NetWeaver AS ABAP + Java can be can be started and stopped independently of the operating system using the SAP Management Console (SAP MC). 2011 © 2011 SAP AG. All rights reserved. 57 Unit 2: Starting and Stopping ADM800 As of SAP NetWeaver Release 2004, a new operating system-independent application is supplied with the SAP Management Console (SAP MC) (see SAP Notes 1014480 and 995116). This allows you to display monitoring information and perform administration tasks such as start and stop operations. The tool is a standalone Java application which can be started either as an applet or locally. The SAP MC is supplied as standard with the kernel and is ready for use without any additional installation. For the different operation systems, see SAP Note 93673. SAP MC is a Java application which is supplied as a Java applet as standard. You simply use a Web browser to do this.. To use the applet correctly, you require a JRE (Java Runtime Environment) of version 1.4 or higher. In addition, the corresponding Java plugin for the browser must be activated correctly. To start SAP MC after installing the corresponding SAP NetWeaver AS, enter the following URL in your browser: http://<Rechnername>:5<Instanznummer>13 Or, if you have configured https in sapstartsrv (see SAP Note 1036107): https://<Rechnername>:5<Instanznummer>14 Figure 25: Starting and Stopping with the SAP Management Console The SAP MC allows you to start and stop all the SAP NetWeaver AS ABAP+Java instances as well as the Central Services. You can also display information about the instances of the SAP system and the employed database (name, manufacturer and name of the host on which the database is located). Starting and Stopping with the SAP Management Console). For each instance, SAP MC displays information about the ABAP and Java stack processes (see figure: SAP Management Console: Process Information). 58 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Figure 26: SAP Management Console: Process Information The SAP Management Console also allows you to display the trace files for the individual processes.. You can use these trace files to analyze problems (see figure: SAP Management Console: Trace Files). You can also use the SAP MC to evaluate the developer traces (as well as the log and trace files) (as with the previous lesson about the SAP MMC). Figure 27: SAP Management Console: Trace Files 2011 © 2011 SAP AG. All rights reserved. 59 Unit 2: Starting and Stopping ADM800 Stopping and Starting AS Java in an SAP NetWeaver AS ABAP + Java System Figure 28: Stopping and Starting the Java Stack in an SAP NetWeaver AS ABAP+Java System In the case of SAP NetWeaver AS ABAP + Java, it is possible to allow the ABAP stack to continue running, and only stop and then restart the Java stack. You do this using transaction SMICM. You can either start/stop the (local) instance onto which you are logged in the transaction SMICM or start/stop all the instances in the (global) Java cluster (see figure: Starting and Stopping the Java Stack of an SAP NetWeaver AS ABAP + Java from transaction SMICM). Hint: Up to NetWeaver 7.0x, the Java dispatcher was also started or stopped at this point. The Java dispatcher was replaced by the ICM in SAP NetWeaver 7.1x systems or higher. However, in the above case, the ICM is not started or stopped because it does not belong to the Startup and Control Framework in an SAP NetWeaver ABAP + Java 7.3 system. 60 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Figure 29: Starting and Stopping the Java Stack of an SAP NetWeaver AS ABAP+Java from Transaction SMICM It is not possible, and also not useful, to stop only the ABAP stack and leave the Java stack started in the case of AS ABAP + Java. Starting and Stopping an SAP NetWeaver AS Java Figure 30: Starting and Stopping an SAP NetWeaver AS Java SAP NetWeaver AS Java is started and stopped in the same way as SAP NetWeaver AS ABAP + Java usingf the SAP Management Console (see figure: Starting and Stopping SAP NetWeaver AS Java with the SAP Management Console). 2011 © 2011 SAP AG. All rights reserved. 61 Unit 2: Starting and Stopping ADM800 Figure 31: Starting and Stopping SAP NetWeaver AS Java with the SAP MC In SAP NetWeaver AS Java, the instance names are J<instance-number>. SAPControl SAPControl allows the Web services of the sapstartsrv processes to be addressed. SAPControl is part of the kernel, and is available on all operating systems. Calling sapcontrol without any other option provides the syntax description. The figure SAPControl: Syntax and Examples shows the basic structure of the syntax with some selected examples. 62 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Figure 32: SAPControl: Syntax and Examples In the first example “sapcontrol -user <sid>adm password -nr <instancenumber e.g. 00 or 0> -function StartSystem LEVEL 2”, the Web method StartSystem is called with the parameter LEVEL and the value 2 for the level. As with the SAP MC, a sapstartsrv process that is used to start the instances is addressed. “LEVEL 2” means that all instances with priority 1 are started first (unless they are already running). In our AS ABAP+Java system, this is the Central Services instance. Then the central instance (and if relevant, the database) is started, but no further instances. It is not important whether the instances are running on the same or different hosts. With StartSystem LEVEL 3 (corresponds to StartSystem ALL), all the instances of the system are started according to their priority, unless they are already running. This is the same procedure used to start the system using the SAP MC. StopSystem LEVEL 2 means that all priority 3 and priority 2 instances are stopped if they are still running. StopSystem ALL has the same meaning as StopSystem LEVEL 1. In the second example, “sapcontrol -prot PIPE -nr <instancenumber> -function Start”, a Trusted Connection is used. No user name or password are specified because the operating system authentication as <sid>adm is sufficient. However, it is only possible to call Web methods for the local computer. In the example, the dialog instance (instance number 11) is started. The function StartSystem LEVEL 3 is not possible because StartSystem may have to communicate with systems outside the host, which is not permitted under Trusted Connections. This means only functions for instances are possible. Caution: Trusted Connection for Windows: -prot PIPE 2011 © 2011 SAP AG. All rights reserved. 63 Unit 2: Starting and Stopping ADM800 Trusted Connection for Unix: -prot NI_HTTP; this is the default value. See also SAP Note 927637 - Web service authentication in sapstartsrv as of release 7.00 Special Characteristics of Starting and Stopping Under Microsoft Windows With the Microsoft Windows operating system, you can use both the SAP Management Console and the Microsoft Management Console with an SAP plug-in (SAP MMC) to start and stop an SAP system. The SAP MMC allows you to start and stop all the instances of the SAP system as well as the Central Services. For some databases, you can also display administration information and the status of the database. Some database types can also be administered using the SAP MMC. The information displayed in the SAP MMC and the start and stop procedures are similar to the browser-based SAP Management Console (SAP MC). This is illustrated by the next two figures. Figure 33: Starting/Stopping an SAP Net Weaver AS ABAP + Java under Microsoft Windows 64 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Figure 34: Starting and Stopping an SAP NetWeaver AS Java under Microsoft Windows Hint: In the environment of SAP NetWeaver AS Java, there is a special Java development environment, which is installed locally on every PC. It usually consists of an SAP NetWeaver Developer Studio and an SAP NetWeaver AS Java as a test environment for Java developments. The SAP NetWeaver Application Server Java can be “restarted” from the SAP NetWeaver Developer Studio. Under Windows, the SAP system can also be started and stopped without a GUI by calling a command by means of the executable files startsap.exe and stopsap.exe. This can be done using a simple telnet access. To start an instance of the SAP system, open a telnet connection and enter the following command: startsap name=<SID> nr=<Instanz-Nr.> SAPDIAHOST=<Rechnername> To stop an instance of the SAP system, open a telnet connection and enter the following command: stopsap name=<SID> nr=<Instanz-Nr.> SAPDIAHOST=<Rechnername> For the SAPDIAHOST parameter, enter the name of the host on which the instance is to be started. 2011 © 2011 SAP AG. All rights reserved. 65 Unit 2: Starting and Stopping ADM800 Special Characteristics of Starting and Stopping Under UNIX For SAP systems that are installed under UNIX, you run the scripts startsap and stopsap to initiate the start and stop processes. If multiple SAP instances are installed on one physical server, you add the instance name to the names of the scripts startsap and stopsap. The script startsap can be called with the following options: • • • • DB: starts the database system R3: starts the instances and associated processes for the instance J2EE: starts the instances and associated processes for the instance ALL: starts the database system and the instance (default setting, can be omitted) The script stopsap can be called with the following options: • • • • DB: stops the database system via the script stopdb; R3: stops the instances of the SAP system; J2EE: stops the instances of the SAP system; ALL: stops the database system and the instance (default setting, can be omitted) To start the SAP system, the script startsap calls the process sapstart with the start profile specified in the script in the variable START_FILES. Database and SAP instances can each be individually started and stopped with the options DB or R3, for example startsap R3 DVEBMGS00. Caution: The option J2EE can be used in the same way as the option R3. In the case of SAP NetWeaver AS ABAP + Java, both the ABAP stack and the Java stack are started and stopped. 66 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Exercise 1: Tools for Starting and Stopping Exercise Objectives After completing this exercise, you will be able to: • Start and stop an SAP NetWeaver AS Java under Microsoft Windows Business Example You are using an SAP NetWeaver Application Server with Java. There is a special tool for starting and stopping an SAP system under Microsoft Windows operating systems. This is the SAP Micrsoft Management Console. The operating system-independent SAP Management Console can be used on all operating systems. Task 1: Stopping an SAP NetWeaver AS Java Stop the SAP system using the SAP Microsoft Management Console or the SAP Management Console. 1. Use the Terminal Server Client to log on to the operating system of your training system. 2. Start the SAP Microsoft Management Console or the SAP Management Console and stop your system. Task 2: Starting an SAP NetWeaver AS Java Start the SAP system using the SAP Microsoft Management Console or the SAP Management Console. 1. Start the SAP system using the SAP Microsoft Management Console. Monitor the starting of the corresponding Java processes of your SAP system. 2. Check whether your SAP NetWeaver AS Java has been correctly started. To do so, call the relevant URL (http://<host>:<port>/msgserver; for example, http://twdf9999:8102/msgserver) with the HTTP port of the Java message server for your system and choose /msgserver/html/logon. If the HTTP port of the instance (for example, 50000) is displayed there, you can also call the start page of the Java instance. Task 3: (Optional) stopping from the Command Line Stop the SAP system using a command call. 1. Log on to the server with the user <sid>adm. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 67 Unit 2: Starting and Stopping ADM800 2. Check whether your SAP system is running at operating system level. 3. Use the sapcontrol command in the telnet connection to stop the entire SAP system. Task 4: (Optional) starting from the Command Line Start the SAP system using a command call. 68 1. Check whether your SAP system has stopped at operating system level. 2. Use the sapcontrol command in the telnet connection to start the entire SAP system. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping Solution 1: Tools for Starting and Stopping Task 1: Stopping an SAP NetWeaver AS Java Stop the SAP system using the SAP Microsoft Management Console or the SAP Management Console. 1. Use the Terminal Server Client to log on to the operating system of your training system. a) 2. Start the Terminal Server Client, enter the physical host name under Server and then choose connect. Log on to the operating system as the <sid>adm user. Start the SAP Microsoft Management Console or the SAP Management Console and stop your system. a) Start the SAP Microsoft Management Console by double-clicking the corresponding icon. Or start the Internet Explorer and call the URL http://<Rechnername>.wdf.sap.corp:50013. b) Select the desired instance(s) and choose the Stop function in the context menu (right-click). Depending on whether you selected an individual instance or the SAP system, either an individual instance or the entire SAP system is stopped. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 69 Unit 2: Starting and Stopping ADM800 Task 2: Starting an SAP NetWeaver AS Java Start the SAP system using the SAP Microsoft Management Console or the SAP Management Console. 1. Start the SAP system using the SAP Microsoft Management Console. Monitor the starting of the corresponding Java processes of your SAP system. a) Start the SAP Microsoft Management Console by double-clicking the corresponding icon. b) In the SAP Microsoft Management Console tree, select the node for an instance. In the context menu (right-click), choose the Start function. Start the other instances in the same way. Hint: You should always start the Central Services instance first. c) You can monitor the processes using the Process Explorer at operating system level. You can see the following Java process types after your SAP system has been started: ICM and multiple JStart. 2. Check whether your SAP NetWeaver AS Java has been correctly started. To do so, call the relevant URL (http://<host>:<port>/msgserver; for example, http://twdf9999:8102/msgserver) with the HTTP port of the Java message server for your system and choose /msgserver/html/logon. If the HTTP port of the instance (for example, 50000) is displayed there, you can also call the start page of the Java instance. a) Start Microsoft Internet Explorer on your desktop, and enter the following URL: http://<hostname>:<port>/msgserver, for example http://twdf12345:8101/msgserver. Choose /msgserver/html/logon. If you can see the HTTP port there, then you can call the start page of your instance as follows: http://<hostname>:<port>, for example http://twdf12345:50000 The start page of your SAP NetWeaver AS Java should now appear. Task 3: (Optional) stopping from the Command Line Stop the SAP system using a command call. 1. Log on to the server with the user <sid>adm. a) Use the tool specified by the instructor to create a connection to your server. Log on with the user <sid>adm and the password assigned for your user. Continued on next page 70 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Tools for Starting and Stopping 2. Check whether your SAP system is running at operating system level. a) 3. You can do this, for example, by executing the Process Explorer program to display an overview of operating system processes. Use the sapcontrol command in the telnet connection to stop the entire SAP system. a) In the telnet console, enter the command sapcontrol -user <sid>adm <password> -nr <instance number> -function StopSystem ALL to stop your system. Replace the specifications in the angled brackets with the values for your system. For example, sapcontrol -user p7tadm password -nr 00 -function StopSystem ALL. Task 4: (Optional) starting from the Command Line Start the SAP system using a command call. 1. Check whether your SAP system has stopped at operating system level. a) 2. Use the sapcontrol command in the telnet connection to start the entire SAP system. a) 2011 You can do this, for example, by executing the Process Explorer program to display an overview of operating system processes. In the telnet console, enter the command sapcontrol -user <sid>adm <password> -nr <instance number> -function StartSystem ALL to start your system. Replace the specifications in the angled brackets with the values for your system. For example, sapcontrol -user p7tadm password -nr 00 -function StartSystem ALL. © 2011 SAP AG. All rights reserved. 71 Unit 2: Starting and Stopping ADM800 Lesson Summary You should now be able to: • Operate the tools to start and stop SAP NetWeaver AS ABAP + Java • Operate the tools to start and stop SAP NetWeaver AS Java Related Information SAP Help Portal: help.sap.com → SAP NetWeaver 72 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Startup and Control Framework Lesson: Java Startup and Control Framework Lesson Overview The Java Startup and Control Framework coordinates the proper starting and stopping of the Java stack. It consists of the JStart processes (as the instance controller and server process) and the ICM. In an SAP NetWeaver AS ABAP+Java system, the ICM does not belong to the Java Startup and Control Framework. The functions of the processes are described in this lesson. Lesson Objectives After completing this lesson, you will be able to: • • Use the term Startup and Control Framework Describe the individual steps during the start and stop processes of a Java instance Business Example Starting and stopping an SAP system is a basic task for administrators of SAP systems. Understanding the process flow of the start process is crucial to troubleshooting when start problems occur. Startup and Control Framework SAP provides a separate Startup and Control Framework for SAP NetWeaver Application Server Java. This framework is used to start, stop, and monitor the Java stack processes within the SAP system (not the Central Services however). It consists of the following processes: JStart - Instance Controller: • • • • • 2011 The Instance Controller starts, stops, and monitors the processes of a Java instance – primarily the server and ICM process. SAP Signal Handling is implemented with the Instance Controller to forward the start and stop commands to the processes of the Java stack. The Instance Controller restarts terminated processes, ends hanging processes, and sends a shutdown signal to the processes of the Java stack. The Instance Controller reads the description of the instance from profile files. The Instance Controller starts the server processes and the ICM, as well as the processes for the offline deployment and the bootstrap. The Instance Controller creates a shared memory segment for the internal administration data of all processes. © 2011 SAP AG. All rights reserved. 73 Unit 2: Starting and Stopping ADM800 JStart - Offline Deployment, Bootstrap, Server Process: • Other JStarts that act in the role for the offline deployment, the bootstrap or as a server process are started by the JStart (Instance Controller). The SAP JVM is loaded in the individual address space for this purpose. The parameterizing of the JVM is imported before the loading. Start Process of a Java Instance Figure 35: Starting with the Startup and Control Framework Start procedure in the Startup and Control Framework; several “run-levels” are run at this point: 74 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Startup and Control Framework (See also figure: Starting with the Startup and Control Framework) 1. 2. 3. 4. The Instance Controller is started: The Instance Controller connects to the Central Services instance. The Instance Controller reads the file instance.properties in the cluster directory. Run-level 1: The Instance Controller reads configuration files from the file system (different .properties files and for example the instance profile) and starts a jstart process that transfers the offline deployment (if an offline deployment is required, for example when importing particular Support Packages). The jstart process finishes after the offline deployment. jstart requires files from the Cluster/bootstrap directory to start. 5. Run-level 2: The Instance Controller reads configuration files from the file system (different .properties files and for example the instance profile) and starts a jstart process that carries out the bootstrap process. The bootstrap process synchronizes data from the database to the file system. For example, instance.properties is regenerated (it contains information about, among other things, the amount of server processes to be started) and the directories for the server processes server<X> are synchronized. The bootstrap process also synchronizes all required binaries for the Java nodes from the database to the file system. This is necessary, since the Class Loading is performed using the file system in the Java environment. The database always contains the current (deployed) binaries and properties and distributes these to every Java node when starting. The jstart process finishes after the bootstrap process. jstart requires files from the Cluster/bootstrap directory to start. 6. 7. The Instance Controller reads the file instance.properties in the cluster directory again. Run-level 3: The Instance Controller reads configuration files from the file system (different .properties files and for example the instance profile) and starts the ICM and for each server process a jstart process. The jstart processes require the binaries from the Cluster/bin directories to start. These jstart processes run with the JVM parameters (usually several gigabytes of memory). You will get to know the settings for this in a later unit. The server processes connect to the database. The Instance Controller monitors the Java instance processes during their runtime, restarts terminated processes, ends hanging processes, and sends the shutdown signal to the ICM or the server processes. 2011 © 2011 SAP AG. All rights reserved. 75 Unit 2: Starting and Stopping ADM800 The profile files are located on the operating system in the directory DIR_PROFILE (Microsoft Windows: <drive>:\usr\sap\<SID>\SYS\profile or UNIX: /usr/sap/<SID>/SYS/profile) and are generated at installation time. The following profile files exist: the default profile (Default.pfl) and the instance profile (<SID>_<instance>_<host>). Note: The Central Services profiles are imported when the Central Services are started. Figure 36: Profiles 76 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Startup and Control Framework Stop Process of a Java Instance Figure 37: Stopping with the Startup and Control Framework 1. 2. 3. The Signal Handler of the Instance Controller receives a stop signal from the sapstartsrv. The Instance Controller passes the signal on to all running server processes via named Pipe and waits until they are stopped. When the server processes of this instance are all stopped, the Instance Controller sends the stop signal to the ICM. In an SAP NetWeaver AS ABAP+Java system, the ICM does not belong to the Startup and Control Framwork; therefore, the ICM is not stopped by the Instance Controller at this point either. If a soft shutdown is triggerd, the server process enters the state Preparing to stop and stays in this state until all user sessions are ended. If there is no more user session, the server changes his state to Ready to stop and continues the stop process as usual. JSmon The JSmon tool can be used to monitor the Instance Controller. JSmon belongs to the kernel and is located in the kernel directory. 2011 © 2011 SAP AG. All rights reserved. 77 Unit 2: Starting and Stopping ADM800 JSmon can be started with the command JSmon pf=<SAP instance profile>. JSmon provides an administration interface for elements in the Java cluster that can be called from the operating system. Figure 38: JSmon In the Process menu option, processes can be started, stopped or their trace level can be changed. In the Instance menu option, an instance can be started or stopped. The Instance Controller is not stopped at this point; that is, the Instance menu option refers only to the processes of the Startup and Control Framework. In an SAP NetWeaver AS ABAP + Java system, this means that neither the ABAP dispatcher with its work processes nor the ICM is stopped; only the server processes are stopped. In the test menu option, parameters can be evaluated. Thus, test get rdisp/TRACE supplies the value of the set trace level. Caution: This evaluation refers to the parameters of the default and instance profiles for the start time of jsmon. Another useful command is repeat. You can use repeat process view to monitor the start process of an instance very effectively. The commands can also be shortened so long as they are distinct; r p v has the exact same effect as rep proc view for example. Choose "Return" to exit repeat mode. 78 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Startup and Control Framework Exercise 2: Java Startup and Control Framework Exercise Objectives After completing this exercise, you will be able to: • Identify the processes of the Startup and Control Framework at operating system level Business Example Starting and stopping an SAP system is a basic task for administrators of SAP systems. To understand parameter maintenance, it is important to understand how parameters are transferred to Java instances. Task 1: Startup and Control Framework The Startup and Control Framework consists of ICM (icman on OS level) and JStart processes. How many ICM and JStart processes exist on your host? 1. Log on to the operating system of your host and display the process overview. Task 2: JSmon Start the JSmon tool and display the Java processes of the PAS that are started. 2011 1. Log on to the operating system as for task 1. Navigate to the profile directory and open a command prompt there (cmd). Enter the command jsmon pf=<instance profile of the instance with the number 00>. 2. Display all the processes of your PAS with the command process view. © 2011 SAP AG. All rights reserved. 79 Unit 2: Starting and Stopping ADM800 Solution 2: Java Startup and Control Framework Task 1: Startup and Control Framework The Startup and Control Framework consists of ICM (icman on OS level) and JStart processes. How many ICM and JStart processes exist on your host? 1. Log on to the operating system of your host and display the process overview. a) Follow the instructions of your instructor to log on to the operating system. You can obtain an overview of the started processes in the Task Manager on your host. Open the Task Manager by right-clicking on the taskbar at the bottom of the screen and choosing Task Manager. Open the Processes tab page, and ensure that you are viewing all processes of the instances on your host. Search for the processes icman and JStart. You will find an ICM process for each Java instance (that is 1icman) and a JStart (that is 4, where 2 of them belonging to the DAA instance) for each server process and Instance Controller started. Task 2: JSmon Start the JSmon tool and display the Java processes of the PAS that are started. 1. 2. Log on to the operating system as for task 1. Navigate to the profile directory and open a command prompt there (cmd). Enter the command jsmon pf=<instance profile of the instance with the number 00>. a) Navigate to the directory d:\usr\sap\<SID>\SYS\profile and open a command prompt there using the context menu available by right-clicking. b) Enter the command jsmon pf=<instance profile of the instance with the number 00>. You can find the instance profile under: d:\usr\sap\<SID>\SYS\profile\<SID>_<instance>_<host>. Display all the processes of your PAS with the command process view. a) 80 There you see all the processes with their status. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Java Startup and Control Framework Lesson Summary You should now be able to: • Use the term Startup and Control Framework • Describe the individual steps during the start and stop processes of a Java instance 2011 © 2011 SAP AG. All rights reserved. 81 Unit 2: Starting and Stopping ADM800 Lesson: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Lesson Overview The start process of an SAP system is a critical process. If problems occur during this phase, you should be familiar with the relevant log and trace files. This lesson focuses on the most important logs of an SAP NetWeaver AS Java. Lesson Objectives After completing this lesson, you will be able to: • • Find the storage locations of trace and log files of the Startup and Control Framework. Name the most important trace and log files of the Startup and Control Framework and review their content. Business Example The start process of an SAP system is a critical action. If problems occur during it, the administrator must be familiar with the most important logs that are written during the start process. The administrator uses these to perform an error analysis, identify the cause, and solve the problem as quickly as possible. These files are also used for error logging during operation. Log and Trace Files In the case of an error or unexpected behavior of the Startup and Control Framework, it is important to check the following trace and log files: • • • • • 82 dev_jstart dev_<node name>, such as dev_server0 jvm_<node name>.out, such as jvm_bootstrap.out std_server<X>.out, e.g. std_server0.out log_bootstrap<Nr.>.log, e.g. log_bootstrap.0.log © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Figure 39: Log Files for Starting and Stopping The trace and log files are stored in the work directory of an instance. This directory is called /usr/sap/<SID>/<instance name>/work (UNIX) and analogously in the Microsoft Windows environment. dev_jstart is the trace file for the Instance Controller. dev_jstart is the most important trace file for problem messages when starting NetWeaver AS Java. Current messages are written at the end of the file. dev_<node name> is the trace file for the server processes, the ICM and so on. The trace file dev_<node name> is written for each process started and thus for each ICM and server process. jvm_<node name>.out is the output file for the Java Virtual Machine (JVM). Each node (except ICM) process represents a Java node such as a bootstrap or a server and therefore a JVM. The output of a JVM is forwarded to the file jvm_<node name>.out in the work directory of a Java instance. std_server<X>.out is the default output files for the started managers and services of the the corresponding nodes. For most of the log files listed above, you will also find log files in the work directory with the ending .<number>, with older versions of the files, which can also often be used for troubleshooting. In the start process of an instance, the files mentioned above are rewritten and the file names are changed from x.<no> to x.<no+1>. The number of the old versions complies with the parameter jstartup/keep_old_logfiles (default = 2). 2011 © 2011 SAP AG. All rights reserved. 83 Unit 2: Starting and Stopping ADM800 Beside the node names for ICM and Server there are also developer traces for data collections (datcol). In case of start problems, the data collector collects information about the problem and write these information in his developer traces. Figure 40: Evaluate log files with the SAP MMC The developer traces from the work directory can also be evaluated easily with the SAP MC or SAP MMC. See the above figure. The analysis displays the Error messages from the dev_<...> files (as well as other messages from the log and trace files that you will get to know in the Monitoring unit. Warnings or other lines from the dev_<...> files may also be displayed. 84 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Exercise 3: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Exercise Objectives After completing this exercise, you will be able to: • Name the most important logs for the start/stop processes of an SAP NetWeaver AS Java Business Example The start process of an SAP system is a critical action. If problems occur during it, the administrator must be familiar with the most important logs that are written during the start process. The administrator uses these to perform an error analysis, identify the cause, and solve the problem as quickly as possible. Task: Start Logs Check the most important logs that are written when starting an SAP NetWeaver AS Java. 2011 1. List the most important log files that are written when starting and stopping. 2. Open the most important log files (see task 1) and perform a time-based search for errors. © 2011 SAP AG. All rights reserved. 85 Unit 2: Starting and Stopping ADM800 Solution 3: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Task: Start Logs Check the most important logs that are written when starting an SAP NetWeaver AS Java. 1. List the most important log files that are written when starting and stopping. a) The most important logs are: • • • • 2. 86 dev_jstart dev_<node name>, such as dev_icm std_<node name>.out, such as std_server0.out jvm_<node name>.out, such as jvm_bootstrap.out Open the most important log files (see task 1) and perform a time-based search for errors. a) Start the Terminal Server Client, enter the physical host name under Server and then choose connect. Log on to the operating system as the <sid>adm user. Open an Explorer window, and navigate to the following directory: D:\usr\sap\<SID>\<instance>\work. b) Open the relevant files and scroll to the end. Check the entries since the last start of the system. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logs of the Start and Stop Processes of SAP NetWeaver AS Java Lesson Summary You should now be able to: • Find the storage locations of trace and log files of the Startup and Control Framework. • Name the most important trace and log files of the Startup and Control Framework and review their content. 2011 © 2011 SAP AG. All rights reserved. 87 Unit Summary ADM800 Unit Summary You should now be able to: • Describe the sequence in which the components of an SAP system and started and stopped • Describe the general start process for an SAP NetWeaver AS Java • Describe the general start process for an SAP NetWeaver AS ABAP + Java • Operate the tools to start and stop SAP NetWeaver AS ABAP + Java • Operate the tools to start and stop SAP NetWeaver AS Java • Use the term Startup and Control Framework • Describe the individual steps during the start and stop processes of a Java instance • Find the storage locations of trace and log files of the Startup and Control Framework. • Name the most important trace and log files of the Startup and Control Framework and review their content. 88 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. When you start an SAP system without an ABAP stack, the database is started only after the Java instances. Determine whether this statement is true or false. □ □ 2. True False In the case of SAP NetWeaver AS Java, it is not possible to stop individual instances under a UNIX operating system. Determine whether this statement is true or false. □ □ 3. True False The most important trace and log files are stored in the work directory of each instance, that is, for example, under /usr/sap/<SID>/DVEBMGS00/work. Determine whether this statement is true or false. □ □ 2011 True False © 2011 SAP AG. All rights reserved. 89 Test Your Knowledge ADM800 Answers 1. When you start an SAP system without an ABAP stack, the database is started only after the Java instances. Answer: False The database is always started before the PAS or AAS, or must be available before these instances are started. The Central Services instance is started before the database if the database is not running. The Central Services instance can also be started after the database, for example if the database is already running. 2. In the case of SAP NetWeaver AS Java, it is not possible to stop individual instances under a UNIX operating system. Answer: False You can stop individual instances using the command stopsap R3 <instance name> or stopsap J2EE <instance name> or simply using the SAP MC. 3. The most important trace and log files are stored in the work directory of each instance, that is, for example, under /usr/sap/<SID>/DVEBMGS00/work. Answer: True All developer traces and all important start files are stored in the work directory of each instance. 90 © 2011 SAP AG. All rights reserved. 2011 Unit 3 Basic Configuration Unit Overview This unit presents the most important administration tools for AS Java. After a basic overview of the tools, some basic configuration activities are carried out using the Config Tool. We also take a look at memory management of SAP Java VM here. Further system configurations are then introduced. Unit Objectives After completing this unit, you will be able to: • • • • • • Name various configuration and administration tools for SAP NetWeaver AS Java Describe the primary usage areas of configuration and administration tools Maintain settings for the SAP NetWeaver AS Java with the Config Tool Display system properties in the SAP NetWeaver Administrator Get an overview of the Configuration Wizard Check and maintain properties of the Central Services Unit Contents Lesson: Overview of the Administration Tools ............................... 92 Exercise 4: Calling the Administration Tools ............................105 Lesson: Basic Configuration of AS Java with the Config Tool ............109 Exercise 5: Configuration with the Config Tool .........................125 Lesson: Configuring AS Java with SAP NetWeaver Administrator.......132 Exercise 6: Configuring AS Java with SAP NetWeaver Administrator ................................................................135 Lesson: Further Configuration Activities .....................................138 Exercise 7: Further Configuration Activities.............................145 2011 © 2011 SAP AG. All rights reserved. 91 Unit 3: Basic Configuration ADM800 Lesson: Overview of the Administration Tools Lesson Overview This lesson provides an overview of the different configuration and administration tools for SAP NetWeaver AS Java 7.3x. During the course of this lesson, you learn more about the most important of these tools and their primary usage areas. Lesson Objectives After completing this lesson, you will be able to: • • Name various configuration and administration tools for SAP NetWeaver AS Java Describe the primary usage areas of configuration and administration tools Business Example After an SAP NetWeaver system has been installed, you need to configure the cluster of the SAP NetWeaver AS Java. You do this using the various administration tools. This lesson provides an overview of these various administration tools. Usage Areas of the Tools This section provides you with an overview of the various tools and their usage areas. Some tools are particularly suitable for a usage area, or are the only tool that can be used for a usage area. Several tools are suitable for other usage areas on the other hand. This is explained in more detail in this section. The following tools are available for the administration and configuration of SAP NetWeaver AS Java: 92 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Figure 41: Tool Overview Config Tool You use the Config Tool to maintain the settings for SAP NetWeaver AS Java in the database. It is therefore necessary that the database is started, so that you can change the settings with the Config Tool. Figure 42: Config Tool: Overview 2011 © 2011 SAP AG. All rights reserved. 93 Unit 3: Basic Configuration ADM800 The Java VM Parameters (the settings of the Java Virtual Machine) of SAP NetWeaver AS Java can only be maintained with the Config Tool. You can use the Config Tool to configure managers and services of SAP NetWeaver AS Java as well as logs. The settings that you make with the Config Tool only take effect when the SAP NetWeaver AS Java is started; that is, you must restart the SAP NetWeaver AS Java after maintaining settings. The Config Tool is available in the file system of each application server. Authentication on the database is usually carried out via Secure Store. SAP NetWeaver Administrator The SAP NetWeaver Administrator (NWA) combines the most important administration, configuration and monitoring tools for Java systems in a browser-based user interface. Figure 43: SAP NetWeaver Administrator: Overview With the NWA, you log on to the http port of an SAP NetWeaver AS Java instance using the browser. Therefore, at least one application server of the system must be started. The SAP NetWeaver Administrator can be called using the following URL: http://<hostname>:<http-port>/nwa. SAP Management Console The SAP Management Console (SAP MC) is a Java applet that can be started via HTTP (standard port: 5<instance number>13) using the browser. Even when the system is stopped (and the database is stopped), you can use the SAP Management 94 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Console to monitor the system status and evaluate the log files for example. The process sapstartsrv must be running (since Release 7.0, this process is started on all operating system platforms when the host is started). Figure 44: SAP Management Console: Overview Several SAP systems can be included in the SAP MC in parallel. It can therefore be used centrally and remotely to monitor the system status. Along with the SAP MC as a Java applet, there is also the SAP Microsoft Management Console for Windows operating systems and a “Perspective” SAP Management Console in the SAP NetWeaver Developer Studio. Shell Console Administrator You can use telnet to log on to an SAP NetWeaver AS Java instance and then use the Shell Console Administrator. The SAP NetWeaver AS Java instance must therefore be started. Telnet is available on many operating systems and can therefore be used for administration without additional installation. However, in the standard delivery, the telnet access to the AS Java is only released for the localhost. A remote access can be set up by configuring the related ICM parameter. 2011 © 2011 SAP AG. All rights reserved. 95 Unit 3: Basic Configuration ADM800 Figure 45: Shell Console Administrator: Overview You can use the Shell Console Administrator to display basic information about an SAP NetWeaver AS Java system. The Shell Console Administrator is also suitable for starting and stopping services. If necessary, you can use the Shell Console Administrator to shut down the SAP NetWeaver AS Java instance by stopping the ICM and the server processes. You can use the Shell Console Administrator to configure the services and managers of all Java instances in the Cluster. It is significantly easier to make the changes to managers and services with the Config Tool. Therefore, only specialists should make changes to managers and services using the Shell Console Administrator. Calling the Administration and Configuration Tools This section describes the features when calling the different tools. Note: If you are using an SAP system on the iSeries platform, refer to SAP Note 1066038 - iSeries: Features for using tools in the J2EE environment. Config Tool The Config Tool is a tool for administering and configuring SAP NetWeaver AS Java. configtool.bat (under Windows) or configtool.sh (under UNIX) is called to start the Config Tool at operating system level of an application server for SAP NetWeaver AS Java. The start file is stored under the following path at operating system level: \usr\sap\<SID>\<instance directory>\j2ee\configtool. To access the configuration data of the SAP system, you have to log on to the database of the system using the Config Tool. To do so, you use the data stored in the Secure Store of the system (user and password) in the default setting. You must still 96 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools confirm whether you want to use these default settings or whether you want to make other settings. You can then use the Config Tool to edit the parameters (see the figure “Config Tool: Call”). Figure 46: Config Tool: Call During the start process of the SAP NetWeaver AS Java instance, the parameters for the start and running operation are read from the database and copied to the file system. With the Config Tool, these parameters are maintained in the database. It is therefore necessary that the database is running so that the Config Tool can read the current parameters from the database. When the Config Tool is opened, you can see and change the default settings for logging on to the database by choosing No. The window contains the connection data for the database on the tab page Via SecureStore. This is stored during the installation process. Choose Connect to DB to log on to the database using the data stored in the Secure Store. The Config Tool then displays the configuration settings saved in the database. You can now view these settings and change them if required. 2011 © 2011 SAP AG. All rights reserved. 97 Unit 3: Basic Configuration ADM800 Figure 47: Config Tool: Logon with Secure Store To log on to a remote database using the Config Tool, you can also use the pushbutton Select Security Folder, as shown in the above figure, to store the path for the Secure Store of another system. To do so, you must be able to reach the Secure Store of the remote system using a network; that is, it must be accessible as a share or mount point for example. You can then connect to the “remote” database with this data. If you want to access this database repeatedly, you can save this new connection data as a file using Save Connection As before the logon and use it again later via Load Connection Settings. 98 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Figure 48: Config Tool: Logon with Direct Login You can also use the tab page Via Direct Login to log on to a remote database (see above figure). You must fill fields independently here. You can also save this connection data as a file to use it again later. Hint: If you choose the option Do not ask me again in the Connection Settings dialog, the default settings are always used. To display the dialog again, start the Config Tool and choose View → Startup Options and then select the option Show connection dialog. SAP NetWeaver Administrator To call the SAP NetWeaver Administrator (NWA), log on to the HTTP port of an SAP NetWeaver AS Java instance. The SAP NetWeaver AS Java instance must therefore be started. The NWA can be called using the following URL: http://<hostname>:<http-port>/nwa. The start page of the NWA is displayed after the logon. 2011 © 2011 SAP AG. All rights reserved. 99 Unit 3: Basic Configuration ADM800 Figure 49: SAP NetWeaver Administrator: Navigation 1/2 The NWA provides access to various functions. Which functions are available in the NWA depends on the installed product. The functions are sorted into work sets and these are then sorted into work centers. For example, the function Identity Management is located in the work set Security, which in turn is located in the work center Operation. A function can also be available in several work sets. Which work sets, work centers and functions you see depends on the profile that is selected. You can change the profile by choosing the Personalize menu. Using the search field you can find functions by their names or descriptions. After you select the function, the display changes in the NWA as shown in the figure below. 100 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Figure 50: SAP NetWeaver Administrator: Navigation 2/2 When in a function, you can choose Related Links to navigate to other related functions. History allows you to view the functions that you have called during this logon session in NWA. Home takes you back to the work center and work set overview. SAP Management Console To call the SAP Management Console, open a browser and enter the URL http://<host name>:5<instance number>13. Confirm any security warnings. You may have to choose Start to call the SAP MC. The SAP MC Java applet is now started. 2011 © 2011 SAP AG. All rights reserved. 101 Unit 3: Basic Configuration ADM800 Figure 51: SAP Management Console: Start The SAP MC connects to all instances of the system directly after the start. If an instance cannot be reached via HTTP (or HTTPS), then it cannot be displayed in the SAP MC either. You can add further instances of other systems using File → New by specifying an instance number and the host name (alternatively using Message Server also). You can save this type of system list locally in a file list using File → Save Landscape and you can call it again later using File → Load Landscape. The system list can also be read from a directory service via the LDAP protocol. The access data for the directory service must be stored under Tools → LDAP for this. For more settings, go to Tools → Settings. 102 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools The SAP MC provides a range of other functions along with starting and stopping systems, instances and processes. • • • • • Evaluation of logs and traces Display of start profiles, profile parameters and environment variables Display of monitoring alerts Display of information about JVM memory management (Garbage Collector History, Heap Memory) Display of information about the Internet Communication Manager (ICM) Hint: You can use the file sapmc.jnlp to call the SAP MC independently of the browser. For example, it can be found in the global kernel directory \usr\sap\<SID>\SYS\exe\(n)uc\<architecture>\servicehttp\sapmc. Edit the file using the text editor so that the attribute codebase points to the file path, for example codebase="file:///D:/usr/sap/P7T/SYS/exe/uc/NTAMD64/servicehttp/sapmc". Note: The SAP MC is also available in the SAP NetWeaver Developer Studio (NWDS). After you start the NWDS, choose Window → Open Perspective → Other... → SAP Management Console. Shell Console Administrator You can perform some administration tasks for SAP NetWeaver AS Java with Shell Console Administrator. To do this, you must specify the host name (only localhost in the standard system) and the Telnet port of the SAP NetWeaver AS Java instance when you call the Shell Console Administrator. You are then prompted to log on to the SAP NetWeaver AS Java, as shown in the figure “Shell Console Administrator”. You use, for example, the same user to do this as for the NWA. Since you are logging on to the SAP NetWeaver AS Java instance, this must already be running. 2011 © 2011 SAP AG. All rights reserved. 103 Unit 3: Basic Configuration ADM800 Figure 52: Shell Console Administrator: Call After you logon via telnet, you are taken directly to a server node of the system. The command jump <server node-ID> takes you to another node. The command man currently lists available commands. man <command name> gives you an explanation of the specified command. 104 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Exercise 4: Calling the Administration Tools Exercise Objectives After completing this exercise, you will be able to: • call the administration tools of the AS Java Business Example You must first call the administration tools to be able to use them. Task 1: SAP NetWeaver Administrator Start the SAP NetWeaver Administrator. 1. Open a browser, call the URL of the SAP NetWeaver Administrator (NWA) and log on. Your instructor will give you the exact access data. Task 2: Config Tool Start the Config Tool 1. Start the Config Tool at operating system level of your SAP system. Display the standard access data for the database of your system and connect to this database. Task 3: Shell Console Administrator Start the Shell Console Administrator. 1. Connect to your SAP system via telnet and log on to the Shell Console Administrator. Keep in mind that you can use the telnet access only from the host of your SAP system. Task 4: OPTIONAL: SAP Management Console Start the SAP Management Console 1. 2011 Open a browser and call the URL of the SAP Management Console. © 2011 SAP AG. All rights reserved. 105 Unit 3: Basic Configuration ADM800 Solution 4: Calling the Administration Tools Task 1: SAP NetWeaver Administrator Start the SAP NetWeaver Administrator. 1. Open a browser, call the URL of the SAP NetWeaver Administrator (NWA) and log on. Your instructor will give you the exact access data. a) Open a browser and call the URL http://<host name>:<HTTP-Port>/nwa, for example http://twdf9999.wdf.sap.corp:50000/nwa. b) Log on to the NWA with your user ID and password. Task 2: Config Tool Start the Config Tool 1. Start the Config Tool at operating system level of your SAP system. Display the standard access data for the database of your system and connect to this database. a) Log on at operating system level of your SAP system. Your instructor will give you the exact access data. b) Call the Config Tool from an instance directory by double-clicking the file configtool.bat. You can find this file under D:\usr\sap\<SID>\<instance directory>\j2ee\configtool, for example D:\usr\sap\CEM\J00\j2ee\configtool. c) Choose No in the Connection Settings dialog to display the connection data. d) Now choose Connect to DB. Continued on next page 106 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Administration Tools Task 3: Shell Console Administrator Start the Shell Console Administrator. 1. Connect to your SAP system via telnet and log on to the Shell Console Administrator. Keep in mind that you can use the telnet access only from the host of your SAP system. a) Log on at operating system level of your SAP system. b) Start a command prompt (cmd). c) Enter the command telnet localhost <telnet-port>, for example telnet localhost 50008. d) Log on to the Shell Console Administrator with your user ID and password. Task 4: OPTIONAL: SAP Management Console Start the SAP Management Console 1. 2011 Open a browser and call the URL of the SAP Management Console. a) Open a browser and call the URL http://<host name>:5<instance number>13, for example http://twdf9999.wdf.sap.corp:500013. b) Confirm the security information. The SAP MC should now start automatically. © 2011 SAP AG. All rights reserved. 107 Unit 3: Basic Configuration ADM800 Lesson Summary You should now be able to: • Name various configuration and administration tools for SAP NetWeaver AS Java • Describe the primary usage areas of configuration and administration tools 108 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Lesson: Basic Configuration of AS Java with the Config Tool Lesson Overview In this lesson, you will familiarize yourself with the configuration of VM parameters and the maintenance of system settings with the Config Tool. Lesson Objectives After completing this lesson, you will be able to: • Maintain settings for the SAP NetWeaver AS Java with the Config Tool Business Example After the installation of an SAP NetWeaver Application Server, fundamental settings need to be made for the SAP NetWeaver AS Java. Knowledge about the available tools is required to do this. One of these tools is the Config Tool, which is explained in more detail in this lesson. Config Tool: Overview You can use the Config Tool to edit the secure store of the AS Java on the one hand and the system settings for the AS Java (cluster-data) on the other. The area on the left in the Config Tool shows the breakdown of the structure of the cluster-data into “template settings” and “instance-specific settings”. You can make settings for applications (applications), managers (managers), services (services) and the log configuration (log configuration) at template level and individually for each instance. The instances are displayed in the Config Tool with the instance number (leading zeros are omitted). See also the figure “Window Sections in the Config Tool”. The parameters of the selected elements are displayed and maintained in the window on the right of the Config Tool. Caution: You may only use the Config Tool to change parameters if the affected instances of an SAP NetWeaver AS Java are stopped. 2011 © 2011 SAP AG. All rights reserved. 109 Unit 3: Basic Configuration ADM800 Figure 53: Window Sections in the Config Tool In Release 7.10, the concept of Zero Administration was introduced in the AS Java. The aim is to simplify the technical configuration of the AS Java and to adjust it dynamically to changes in the system environment. Configuration templates are provided to implement the concept; they enable a simple adjustment of the AS Java configuration to the requirements of the installed product. In addition, dynamic configuration parameters that can be used to make changes, for example, to the hardware without reconfiguring the AS Java are introduced. For example, the heap memory of the VM can be configured as a fraction of the physical RAM available or the number of server processes as a multiple of the available CPU. The customer can continue to adjust the default settings that are delivered. However, the amount of effort required to make changes is less than in previous releases. Furthermore, the template concept also enables the default settings to be updated smoothly via Support Packages without overwriting customer settings. The following figure shows the infrastructure of the AS Java configuration. 110 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Figure 54: Configuration infrastructure The developer determines the potential configuration settings of an application or a manager, or services and their default values (Default level). Changes to these default settings that are valid throughout the system can be made at Custom Global level. The changes made there are retained if you switch from the template that is currently active to another template (and if these settings are not overwritten at template level). Caution: Customer changes at Custom Global level are allowed but only if expressly instructed by SAP (documentation, SAP notes, SAP Support). For example, this is the case for some special configuration settings of the User Management Engine (UME). SAP provides concrete default configuration settings for individual products with the templates (Template Default). The corresponding template is activated by the installation program (SAPinst) during the installation of the product. There are different templates for different products. For example, there is a large number of templates for SAP NetWeaver CE but not for SAP NetWeaver PI or SAP NetWeaver Portal. In the template, filter rules are used to decide which applications and services are already started when the system is started. At template level, customer changes can be made using the Config Tool (Template Custom). These changes override the settings of the previous levels. If no instance-specific customer changes are made (Instance Custom), the settings apply at template level throughout the system. 2011 © 2011 SAP AG. All rights reserved. 111 Unit 3: Basic Configuration ADM800 Certain system parameters can be used for the dynamic configuration that are evaluated dynamically at runtime; for example, the number of processors, the working memory of the host that is physically available or the instance number. These parameters can also be set when customer changes are made. You can display the parameters and their values in the Config Tool by selecting an instance in the Config Tool and then choosing the Instance Profile tab page. Some of these parameters can be set by setting profile parameters in the default profile or in the instance profile of the system. Caution: The term Instance Profile is used in two ways. On the one hand, you have the Instance Profile as a file on the operating system with the name <SID>_<instance name>_<host name>, for example P7T_J00_twdf9999. On the other hand, the term Instance Profile refers to the collection of the dynamic configuration parameters of the AS Java. Note: The dynamic parameters of the Instance Profile of the AS Java are named differently from the related profile parameters that are used in the profile files (default profile, instance profile) of the system. The settings that can be configured on the different levels can be divided into the following areas: • • • • • • Number of Server Processes Runtime Filters Shared Memory Configuration of the Managers Configuration of the Services VM Parameters • • – Memory Parameters – System Parameters – Additional Parameters Log Configuration Configuration of the Applications The runtime filters are used to determine which applications and services are started when the system is started. The log configuration settings can also be made online using the SAP NetWeaver Administrator (NWA). The configuration of the applications is usually carried out using a special UI of the application, in some cases online in the NWA. Some services, for example the User Management Engine, provide an individual UI for online configuration. 112 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Some of these settings options are described in more detail below, starting with the VM parameters. We will first take a look at the SAP JVM memory management to get a better understanding of these parameters. Brief Introduction to Memory Management of the SAP Java VM A number of terms for the memory management of an SAP Java Virtual Machine (SAP JVM) are explained in the following sections in a simplified form. The configuration of the VM parameters will then be discussed. Memory Allocation Terms The memory area of a Java Virtual Machine (JVM or VM) is mainly divided into three areas, which are called the young generation, the tenured generation, and the permanent generation. The differences between the “generations” are discussed in more detail later. We will first consider the commonalities, however. A “generation” reserves space in the address area of the host. On start-up, the Virtual Machine allocates operating system memory for each “generation”. This initially allocated memory area is called “initial” or initial size. This occupancy of this space is administered internally by the VM. Once the initial space has been used, the VM allocates further operating system memory space in stages up to a maximum amount. This maximum value is defined in “max size”. The VM automatically takes care of the allocation of memory space for Java applications. The memory space is implicitly assigned when an object is created. Even if a large amount of memory is required, this does not mean that the system is at risk. The VM determines which objects are no longer used and releases the memory areas which they currently occupy. This task is performed by the Special Java Agent names Garbage Collector (GC) which forms part of the VM. Its job is to prevent the occurrence of situations in which there is a danger of memory bottlenecks. The memory space that is available is called the available memory or allocated memory. Since this space is reserved by the operating system, it is also referred to as “reserved” space since the entire space up to the maximum size is “available”. The space that is not yet reserved is called virtual memory. However, this should not be confused with the “virtual memory” of the operating system. If less space is required, the memory is returned to the operating system, also in stages. See the figure “Terms in Memory Space Management” also. The reserved memory space (available memory) is potentially available to the VM. However, it does not have to be used in full. The memory space that is actually used by Java applications is referred to as used memory. 2011 © 2011 SAP AG. All rights reserved. 113 Unit 3: Basic Configuration ADM800 Figure 55: Terms in Memory Space Management Memory Allocation of the Java VM in a Simplified Form The three main memory areas of the VM, the “young, tenured”, and “permanent generations” differ from one another due to the data stored in them. The objects that have been newly created by the applications are stored in the young generation. Objects that have been required for a longer period of time by an application are automatically moved to the tenured generation. The newer objects are in the “young generation” and the older objects are in the “tenured generation”. Objects that are permanently required by the VM, such as classes and methods, are stored in the permanent generation. Objects that are no longer required by the applications are automatically removed from the “generations”. This process is known as garbage collection. As you already know from the subsection “Memory Allocation Terms”, the “generations” have an initial and a maximum size. For the “young generation”, you can define the “initial size” with the parameter -XX:NewSize, and the “max size” with the parameter -XX:MaxNewSize. You can define the corresponding values for the “permanent generation” (also abbreviated to the “perm generation”) with the parameters -XX:PermSize and -XX:MaxPermSize. You cannot directly define the initial and maximum sizes of the “tenured generation”. These are calculated from the parameters for the “young generation” and the parameters -Xmx and -Xms. The parameter -Xmx is called the “max heap size” and defines the total size of the “young” and “tenured generations”. The parameter -Xms is called the “start heap size” or “initial heap size” and defines the total initial size of the “young” and “tenured generations”. See also the figure “Memory Allocation of the Java VM (Simplified)”. 114 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Figure 56: Memory Allocation of the Java VM (Simplified) In addition to the memory area for the “generations”, the VM also reserves space for its processes and threads. After this brief introduction to the basic terms of the SAP JVM, we can now take a look at the configuration of the VM parameters. Configuration of the VM Parameters The settings for the Java VM (Virtual Machine) are maintained only with the Config Tool. You can maintain the VM parameters at template level or individually for each instance. The values then apply either to all server processes of the entire system (template level) or to all server processes of the respective instance. You must switch to Expert Mode of the Config Tool in order to maintain VM parameters at template level. Choose View and select the option Expert Mode. Note: You should only activate Expert Mode if it is absolutely necessary. As a result, the UI of the Config Tool becomes more confusing. The normal mode is sufficient for most activities. To maintain the VM parameters at template level, select the entry template <name of the template> from the area on the left. You can choose the tab page VM Parameters in the Config Tool window on the right after you activate Expert Mode. You must now decide which combination of VM and operating system 2011 © 2011 SAP AG. All rights reserved. 115 Unit 3: Basic Configuration ADM800 or processor architecture your changes are valid for; for example Vendor sap and Platform ntamd64. Then choose one of the tab pages Memory, System, or Additional, depending on which type of VM parameter you want to maintain. Note: You cannot create new parameters on the Memory tab page; you can only change or deactivate existing ones. You can enter parameters of the type -D.... on the System tab page. However, leave out the -D here. Figure 57: Maintaining the VM Parameters: Template Level If you want to add a new parameter that is not yet in the parameter list, choose New in the lower area of the window on the right. The new parameter is added in the area Custom Parameters. You must select a parameter if you want change it. Enter the new value for the parameter in the input field Custom value and choose Set. The changed value is in turn displayed in the list of the Custom Parameters. To return to the default value, select the custom parameter and choose Remove. You can also deactivate existing parameters. In this way, you can test the effects of the change on the system but retain the entry with the set value. To do this, select the parameter and choose Disable. If it is a template default value, the 116 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Config Tool enters the value (if requested) as a custom parameter, which is then deactivated (checkmark in column Enabled is missing). You can use Enable to reactivate a deactivated parameter. Hint: Any change with the Config Tool must be saved (File → Apply Changes and the system must be restarted for the changes to take effect. The settings at instance level override those at template level. Select an entry of the type instance - ID<instance ID> (host name) from the window of the Config Tool on the left. Then choose the tab page VM Parameter from the window on the right. The parameters are maintained in the same way as at template level. You are advised to deactivate Expert Mode when maintaining the VM parameters. This way you can ensure that you are maintaining the parameters for the VM that is currently being used. If you have changed settings but not yet saved them with Apply changes, you can reload the older settings with “Connect to DB”. If you have already saved the changes, the old settings cannot be restored. Figure 58: Maintaining the VM Parameters: Instance-specific The parameter in the Memory tab page does not have its technical name. The following names are used in the Config Tool. 2011 © 2011 SAP AG. All rights reserved. 117 Unit 3: Basic Configuration ADM800 Names of the VM Parameters of the type Memory Display name in the Config Tool Technical name initialHeapSize Xms maxHeapSize Xmx permSize XX:PermSize maxPermSize XX:MaxPermSize newSize XX:NewSize maxNewSize XX:MaxNewSize newRatio XX:NewRatio globalArea Xps Take a look in the developer trace of the server process (dev_server<number>) to check whether the changes that were made have taken effect in the respective server processes after the system is restarted. This file is located in the work directory of the instance. Search for the line F SAP JVM arguments: in this file. The set parameters are listed under this line. Configuration of Managers and Services The properties of managers and services can also be maintained at instance level or at template level. 118 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Figure 59: Parameter Maintenance of Managers and Services: Template Level Expand the tree structure under the entry template - <name of the template> in the left screen area until you are taken to the required manager or service. Select this entry to display the parameters. To change parameters, select a parameter, enter the required value in the input field Custom value and choose Set. You can use Restore to Default to delete the Custom value for the selected parameter and the template default value will be valid again. Save your changes. The changes will be active once the system is restarted if no instance-specific entries exist for the changed parameters. Caution: The Config Tool does not indicate, if you maintain values at template level, that instance-specific values already exist, which override the template values. 2011 © 2011 SAP AG. All rights reserved. 119 Unit 3: Basic Configuration ADM800 Figure 60: Parameter Maintenance of Managers and Services: Instance-specific For instance-specific maintenance, expand the tree structure below an entry of the type instance - ID<instance ID> (host name). Select the required manager or service entry to display the parameters. To change parameters, select a parameter, enter the required value in the input field Custom value and choose Set. You can use Restore to Template to delete the Custom value for the selected parameter and the template value will be valid again. Save your changes. When the instance in question is started, the changes for this instance will be active. Configuration of Runtime Filters In the Config Tool, you can use filter rules to determine which managers, services and applications are started or remain stopped during the system start. The template activated during the installation already provides a useful initial status that has low impact on resources, which can be adjusted customer-specifically. 120 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Figure 61: Maintaining the Runtime Filters Expert Mode must be activated under View → Expert Mode to maintain the runtime filter. Select the entry template - <name of the template> to set system-wide filters. To set instance-specific filters, select the corresponding entry of the type instance - ID<instanz ID> (host name). Then choose the Filters tab page. Choose the required Action and Component and enter the values for Vendor Mask and Component Name Mask. Then choose Add to add the new filter rule. The changes take effect after you save your changes and restart the system. Configuration of the Number of Server Processes The number of server processes can be calculated dynamically just like the VM parameters. The delivered template values can be overridden by the customer. 2011 © 2011 SAP AG. All rights reserved. 121 Unit 3: Basic Configuration ADM800 Figure 62: Number of Server Processes Depending on whether you set the number at template level or instance level, all instances have the same (or different) number of server processes. Fixed values may also be entered instead of the dynamic formula. The corresponding number of server processes starts after you save your changes and restart the system. The default value depends on the template, the template Usage_Type_All_in_One uses fixed values for the number of server processes and CE templates uses formulas. Caution: The system does not start if you enter a formula incorrectly or if a value is calculated or entered that is not a whole number. You should therefore check at instance level whether a whole number appears as a result after the input field. The system will not start if N/A or part of a formula is displayed. See SAP Note 1149321 for SAP NetWeaver CE 7.1x. Export of Configuration Data With regard to the customer changes made to the configuration data in the SAP NetWeaver AS Java, you have the option of saving this data by exporting it to a zip file. Changes can be exported from the database in this way and later reimported to restore earlier settings without having to also implement a database backup (without having to carry out a restore). You can export the configuration to a zip file using the menu path File → Backup Custom Data in the Config Tool. 122 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool You can reimport the data from the zip file into the database using the menu path File → Restore From Backup. Choose File → Reload Data from DB to display the data that was just imported in the Config Tool. The Offline Configuration Editor In addition to the “normal” Config Tool, there is also the Configuration Editor Mode, which you can call from the Config Tool using Tools → Configuration Editor. You can access maintenance at Custom Global level only using this Editor; for example, this may be necessary for specific parameters of the User Management Engine. Caution: You must only use the “Configuration Editor Mode” if SAP specifically instructs that you do so, since inappropriate use can destroy the SAP NetWeaver AS Java. 2011 © 2011 SAP AG. All rights reserved. 123 Unit 3: Basic Configuration 124 ADM800 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Exercise 5: Configuration with the Config Tool Exercise Objectives After completing this exercise, you will be able to: • Make changes to the VM parameters • Make changes to the parameters of managers and services • Create your own filter rules • Change the number of server processes Business Example You must configure the AS Java. Task 1: VM Parameters Make changes to the VM parameters of your system. 1. Stop your system. 2. Add the VM paramerter -Dcom.sun.management.jmxremote as a new parameter of the type System at template level. 3. Change the maxHeapSize for the Primary Applications Server (PAS) to the value 4096. 4. Start your system. Result The changed values are now used by the respective VM. You can check them, for example, by opening the file dev_server0 in the work directory of the PAS and searching for the entries -Xmx4096m and -Dcom.sun.management.jmxremote. Task 2: Thread Manager Change the properties of the Thread Manager. 1. Stop your system. 2. Change the parameter InitialThreadCount of the Thread Manager at template level to the value 20. 3. Change the parameter InitialThreadCount of the Thread Manager for an instance of your system to the value 10. 4. Start your system. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 125 Unit 3: Basic Configuration ADM800 Result You have maintained different values for the instances of your system for the parameter InitialThreadCount. Task 3: Filter Rules Define your own filter rule at template level. 1. Stop your system. 2. Define a filter rule that stops all applications with the Component Name Mask tc~sld~wd*. 3. Start your system. Result You have created a filter rule, which ensures that all applications beginning with tc~sld~wd* remain stopped when the system is started. Go to Operation → Systems → Start & Stop → Java Applications in the SAP NetWeaver Administrator (NWA) to check this. Task 4: Number of Server Processes Change the number of server processes. 1. Stop your system. 2. Optional: Set the number of server processes to 3 at template level. 3. Set the number of server processes for the Primary Application Server to 2. 4. Start your system. Result You have configured the number of server processes instance-specifically and for the whole system via the template custom settings. You can now check, for example using the SAP MC, whether the configured number can also be started. You can see, that the instance specific settings have a higher priority than the template custom settings. 126 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Solution 5: Configuration with the Config Tool Task 1: VM Parameters Make changes to the VM parameters of your system. 1. Stop your system. a) 2. 3. Use the SAP MC or another tool to stop your system. Add the VM paramerter -Dcom.sun.management.jmxremote as a new parameter of the type System at template level. a) Double-click the file configtool.bat in the directory \usr\sap\<SID>\<instance>\j2ee\configtool to start the Config Tool. Choose Yes to confirm the dialog box. b) Use View → Expert Mode to activate Expert Mode and select the entry template - ..... Choose the tab page VM Parameters. c) Choose the entry sap under Vendor and the entry GLOBAL under Platform, and then choose the tab page System. d) Choose New and enter the value com.sun.management.jmxremote in the field Name (without '-D'):. Leave the other fields empty and choose OK to confirm. e) Choose File → Apply Changes to save your changes. f) Deactivate Expert Mode under File → Expert Mode. Change the maxHeapSize for the Primary Applications Server (PAS) to the value 4096. a) Select the entry instance - ID.... of your Primary Application Server (PAS). If required the instructor can give you the correct instance ID. Note that the leading zeros are omitted. b) Choose the tab page VM Parameters and then the tab page Memory. c) Select the line maxHeapSize. d) Enter the value 4096 in the field Custom value and choose Set. e) Choose File → Apply Changes to save your changes. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 127 Unit 3: Basic Configuration 4. ADM800 Start your system. a) Use the SAP MC or another tool to start your system. Result The changed values are now used by the respective VM. You can check them, for example, by opening the file dev_server0 in the work directory of the PAS and searching for the entries -Xmx4096m and -Dcom.sun.management.jmxremote. Task 2: Thread Manager Change the properties of the Thread Manager. 1. Stop your system. a) 2. 3. 4. Use the SAP MC or another tool to stop your system. Change the parameter InitialThreadCount of the Thread Manager at template level to the value 20. a) Double-click the file configtool.bat in the directory \usr\sap\<SID>\<instance>\j2ee\configtool to start the Config Tool. Choose Yes to confirm the dialog box. b) Go to template - .... → managers → ThreadManager. c) Select the line InitialThreadCount. d) Enter the value 20 in the field Custom value and choose Set. e) Choose File → Apply Changes to save your changes. Change the parameter InitialThreadCount of the Thread Manager for an instance of your system to the value 10. a) Go to instance - ID.... → managers → ThreadManager. b) Select the line InitialThreadCount. c) Enter the value 10 in the field Custom value and choose Set. d) Choose File → Apply Changes to save your changes. Start your system. a) Use the SAP MC or another tool to start your system. Result You have maintained different values for the instances of your system for the parameter InitialThreadCount. Continued on next page 128 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Task 3: Filter Rules Define your own filter rule at template level. 1. Stop your system. a) 2. 3. Use the SAP MC or another tool to stop your system. Define a filter rule that stops all applications with the Component Name Mask tc~sld~wd*. a) Double-click the file configtool.bat in the directory \usr\sap\<SID>\<instance>\j2ee\configtool to start the Config Tool. Choose Yes to confirm the dialog box. b) Use View → Expert Mode to activate Expert Mode and select the entry template - ..... Select the tab page Filters. c) Choose the value stop under Action. Enter the value * in the field Vendor Mask. Enter the value tc~sld~wd* in the field Component Name Mask. Choose the value Application under Component. d) Choose Add. e) Choose File → Apply Changes to save your changes. f) Deactivate Expert Mode under File → Expert Mode. Start your system. a) Use the SAP MC or another tool to start your system. Result You have created a filter rule, which ensures that all applications beginning with tc~sld~wd* remain stopped when the system is started. Go to Operation → Systems → Start & Stop → Java Applications in the SAP NetWeaver Administrator (NWA) to check this. Task 4: Number of Server Processes Change the number of server processes. 1. Stop your system. a) 2. Use the SAP MC or another tool to stop your system. Optional: Continued on next page 2011 © 2011 SAP AG. All rights reserved. 129 Unit 3: Basic Configuration ADM800 Set the number of server processes to 3 at template level. 3. 4. a) Double-click the file configtool.bat in the directory \usr\sap\<SID>\<instance>\j2ee\configtool to start the Config Tool. Choose Yes to confirm the dialog box. b) Select the entry template - ..... Choose the Servers tab page. c) Enter the value3 in the field Custom Number of Server Processes. d) Choose Set. e) Choose File → Apply Changes to save your changes. Set the number of server processes for the Primary Application Server to 2. a) Select the entry instance - ID.... of your Primary Application Server (PAS). If required the instructor can give you the correct instance ID. Note that the leading zeros are omitted. b) Choose the Servers tab page. c) Enter the value 2 in the field Custom number of server nodes. d) Choose Set. e) Choose File → Apply Changes to save your changes. Start your system. a) Use the SAP MC or another tool to start your system. Result You have configured the number of server processes instance-specifically and for the whole system via the template custom settings. You can now check, for example using the SAP MC, whether the configured number can also be started. You can see, that the instance specific settings have a higher priority than the template custom settings. 130 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Basic Configuration of AS Java with the Config Tool Lesson Summary You should now be able to: • Maintain settings for the SAP NetWeaver AS Java with the Config Tool 2011 © 2011 SAP AG. All rights reserved. 131 Unit 3: Basic Configuration ADM800 Lesson: Configuring AS Java with SAP NetWeaver Administrator Lesson Overview This lesson provides an overview of the functions of the SAP NetWeaver Administrator. Lesson Objectives After completing this lesson, you will be able to: • Display system properties in the SAP NetWeaver Administrator Business Example Certain configuration activities are required after an AS Java-based system is installed. In addition, you must make adjustments during further operative business activities. A good knowledge of the tools and relationships is required to execute the activities. Configuration with the SAP NetWeaver Administrator The SAP NetWeaver Administrator (NWA) is the tool for the online configuration. Display of the System Configuration with the SAP NetWeaver Administrator You can use the NWA to check the settings made with the Config Tool for the VM parameters, services and managers. The NWA displays the value that is currently valid in the process. You can find these parameters in the NWA under Configuration → Infrastructure → Java System Properties or via the quick link /nwa/sys-config. 132 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Configuring AS Java with SAP NetWeaver Administrator Figure 63: System Properties in the SAP NetWeaver Administrator Choose the active template or the required instance and then the appropriate tab pages, for example Kernel, if you want to view the properties of the manager. Then select the required entry. In the list of the object properties, for example of a service, the column Modifiable shows whether the value can be changed online with the NWA. The pushbutton Show Details displays further detailed information about the selected property. The current value is also shown for example if the property is calculated using a formula. Further Configuration Settings with the SAP NetWeaver Administrator Since the SAP NetWeaver Administrator (NWA) in Release 7.1x replaces the Visual Administrator from earlier releases, a variety of configuration options are integrated in the NWA. Some of these options are discussed in other units of this course. Depending on the installed product, the NWA also provides further product-specific functions along with the basic functions. 2011 © 2011 SAP AG. All rights reserved. 133 Unit 3: Basic Configuration 134 ADM800 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Configuring AS Java with SAP NetWeaver Administrator Exercise 6: Configuring AS Java with SAP NetWeaver Administrator Exercise Objectives After completing this exercise, you will be able to: • Check configuration settings with the SAP NetWeaver Administrator Business Example You must make various settings after you install an AS Java-based system and when the system is running. Task: SAP NetWeaver Administrator Check the configuration settings using the SAP NetWeaver Administrator. 2011 1. Call the SAP NetWeaver Administrator (NWA) and log on. 2. Check the parameter InitialThreadCount of the Thread Manager in the Primary Application Server Instance (PAS). What value does this parameter have? 3. Check the value of the maxHeapSize for all instances. © 2011 SAP AG. All rights reserved. 135 Unit 3: Basic Configuration ADM800 Solution 6: Configuring AS Java with SAP NetWeaver Administrator Task: SAP NetWeaver Administrator Check the configuration settings using the SAP NetWeaver Administrator. 1. Call the SAP NetWeaver Administrator (NWA) and log on. a) 2. 3. 136 Open a browser and enter the URL for the NWA http://<host name:port>/nwa. Log on with your user and password. Check the parameter InitialThreadCount of the Thread Manager in the Primary Application Server Instance (PAS). What value does this parameter have? a) In the NWA, choose Configuration → Infrastructure → Java System Properties. b) Open the entry with the active template, for example ZATPL_AIO. Then select the ID of the PAS. c) Select the entry ThreadManager in the tab page Kernel. d) Search for the entry InitialThreadCount in the list of Properties. Which value is this parameter set to? Note that there are default and customer values. Check the value of the maxHeapSize for all instances. a) Switch to the tab page MemoryVM Parameters and find the entry maxHeapSize. Which value is this parameter set to? b) You can select the entry maxHeapSize and then choose Show Details. The field Formatted Value contains the technical name of the parameter and the calculated value. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Configuring AS Java with SAP NetWeaver Administrator Lesson Summary You should now be able to: • Display system properties in the SAP NetWeaver Administrator 2011 © 2011 SAP AG. All rights reserved. 137 Unit 3: Basic Configuration ADM800 Lesson: Further Configuration Activities Lesson Overview This lesson provides an overview of the properties of the Central Services and help to improve your knowledge of the AS Java. Lesson Objectives After completing this lesson, you will be able to: • • Get an overview of the Configuration Wizard Check and maintain properties of the Central Services Business Example Certain configuration activities are required after an AS Java-based system is installed. In addition, you must make adjustments during further operative business activities. A good knowledge of the tools and relationships is required to execute the activities. Configuration Wizard The Configuration Wizard is integrated in the NWA and provides different configuration tasks depending on the installed product and the Support Package level. The Configuration Wizard reduces in particular the effort required initially for the configuration for certain applications directly after the installation of the system. The installation guide or the documentation of the application usually refers to the tasks to be executed in the Configuration Wizard. You can find it in the NWA under Configuration → Scenarios → Configuration Wizard. 138 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Further Configuration Activities Figure 64: Configuration Wizard You first select one of the executed tasks. Choose Start to start the configuration task. Here the user is required to make entries in several steps depending on the task. The Configuration Wizard logs the execution of tasks. If you choose History of Executed Configuration Tasks under Show and then select a task, you can display these logs using View Log. You can execute tasks again that have already been executed using Re-execute. Caution: If you have already made settings in the system, they are overwritten by executing a corresponding task in the Configuration Wizard. You should therefore use the Configuration Wizard only for the initial configuration of an application or a function and not during running operation. Profile Files Some system properties of the AS Java are maintained using profile parameters in the profile files of the AS Java. These files are located in the directory \usr\sap\<SID>\sys\profile and should be saved before and after a change. There is no special tool for maintaining these files in the AS Java. You can use a simple text editor for this purpose. In this way, for example, some properties of the message server and of the enqueue server are maintained using profile parameters. 2011 © 2011 SAP AG. All rights reserved. 139 Unit 3: Basic Configuration ADM800 Properties of the Central Services The Central Services consist of the message server and the enqueue server. We will first consider the interaction with the message server. As shown in the “Message Server” figure, each node (ICM and servers) of each instance is connected to the message server. Figure 65: Message Server When the Central Services are started, the system reads the profile parameters for the message server. The internal communication port for the message server is defined using the parameter rdisp/msserv_internal. Usually, port 39<instance number> is chosen. The HTTP port of the message server is specified with the profile parameter ms/server_port_0. The instance number is also usually used for the last two digits in this case. The HTTP port is required by the SAP Web dispatcher, among other things. You can obtain the port numbers used to start the message server from the developer trace (dev_ms). The developer trace also contains the hardware key (which is required for requesting a license) and the host on which the message server is running. You can use the SAP NetWeaver Administrator (NWA) to display the parameters with which the message server is running. You can find the parameters in the NWA under Configuration → Infrastructure → Message Server (Quick Link: /nwa/msg-server). Select Message Server Parameters under Show. 140 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Further Configuration Activities Alternatively, you can use the Config Tool to display the current parameters. Select an entry instance - ID... and choose the tab page Instance Profile. There the corresponding parameters are called MSGSRV_PORT and MSGSRV_HOST. These parameters are used by the ClusterManager (properties ms.port and ms.port). Figure 66: Message Server: Changes In the figure “Message Server: Changes”, you can see which areas need to be adjusted if the port or the name of the host on which the message server is running changes. Ports are, of course, changed in the instance profile of the Central Services instance. In the example from the figure, internal communication port 3977 and HTTP port 8177 have been set, and the new host is called twdfxxxx. These changes must now be adjusted in the default profile of the system using the parameters j2ee/scs/host and j2ee/ms/port. Just in case, you should check whether these parameters are also set in the instance profiles. The values there would override the values from the default profile. After you have maintained all of the parameters, you can start all instances. Enqueue Server Now that you have seen the settings for the message server, we will consider the enqueue server. The “Enqueue Server” figure shows that each server process has a connection to the enqueue server. The figure shows the profile parameters that are relevant for the enqueue server in the instance profile of the Central Services instance. The port is usually set to 32<instance number> and the instance number is defined using the parameter enque/serverinst. The parameter enque/encni/port can be used to select the port for the enqueue server explicitly (including outside of the range 32<instance number>). The default values of the 2011 © 2011 SAP AG. All rights reserved. 141 Unit 3: Basic Configuration ADM800 parameters enque/table_size and enque/snapshot_pck_ids are minimum values and should be adjusted to the values shown in the figure. However, these are not maximum values, and it may be necessary to further increase the values. Figure 67: Enqueue Server You can obtain the port numbers used to start the enqueue server from the developer trace dev_enqlisten. You can use the SAP NetWeaver Administrator (NWA) to display the parameters that the LockingManager uses to connect to the enqueue server. You can find these parameters in the NWA under Configuration → Infrastructure → Java System Properties. Select the active template, choose the tab page Kernel and select the entry LockingManager. The relevant parameters are enqu.host and enqu.port. Choose Show Details to display the concrete values. Alternatively, you can use the Config Tool to display the current parameters. Select an entry instance - ID... and choose the tab page Instance Profile. There the corresponding parameters are called ENQSRV_PORT and ENQSRV_HOST. 142 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Further Configuration Activities Figure 68: Enqueue Server: Changes In the figure “Enqueue Server: Changes”, you can see which areas need to be adjusted if the port or host of the enqueue server changes. Ports are, of course, changed in the instance profile of the Central Services instance. In the example from the figure, port 3277 has been set, and the new host is called twdfxxxx. These changes must now be adjusted in the default profile of the system using the parameters j2ee/scs/host and j2ee/enq/port. Just in case, you should check whether these parameters are also set in the instance profiles. The values there would override the values from the default profile. After you have maintained all of the parameters, you can start all instances. 2011 © 2011 SAP AG. All rights reserved. 143 Unit 3: Basic Configuration 144 ADM800 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Further Configuration Activities Exercise 7: Further Configuration Activities Exercise Objectives After completing this exercise, you will be able to: • Use the Configuration Wizard • Configure the Central Services instance Business Example You must make various settings after you install an AS Java-based system and when the system is running. Task: Adjustments to the Central Services Adjust the parameters of the enqueue server. 1. Stop the system including the Central Services Instance. 2. Change the profile parameters of the enqueue server according to the table below. 3. 2011 Parameter Name New Value enque/table_size 65536 enque/snapshot_pck_ids 2000 Start your system. © 2011 SAP AG. All rights reserved. 145 Unit 3: Basic Configuration ADM800 Solution 7: Further Configuration Activities Task: Adjustments to the Central Services Adjust the parameters of the enqueue server. 1. Stop the system including the Central Services Instance. a) 2. Stop your system completely. Stop it using the SAP MC for example. Change the profile parameters of the enqueue server according to the table below. Parameter Name New Value enque/table_size 65536 enque/snapshot_pck_ids 2000 a) Log on at operating system level of your SAP system. b) Open the instance profile of the Central Services instance using a text editor, for example using notepad. Hint: The instance profile of the Central Services instance is located in the directory <drive>:\usr\sap\<SID>\sys\profile, for example D:\usr\sap\CEM\sys\profile. It is called <SID>_SCS<instance number>_<host name>, for example CEM_SCS02_twdf9999. c) Change the values of the existing parameters as specified in the above table. Caution: Only change the parameters that have been specified. d) 3. Start your system. a) 146 Save your changes. Start your system using the SAP MC for example. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Further Configuration Activities Lesson Summary You should now be able to: • Get an overview of the Configuration Wizard • Check and maintain properties of the Central Services 2011 © 2011 SAP AG. All rights reserved. 147 Unit Summary ADM800 Unit Summary You should now be able to: • Name various configuration and administration tools for SAP NetWeaver AS Java • Describe the primary usage areas of configuration and administration tools • Maintain settings for the SAP NetWeaver AS Java with the Config Tool • Display system properties in the SAP NetWeaver Administrator • Get an overview of the Configuration Wizard • Check and maintain properties of the Central Services 148 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. You can use the Config Tool to maintain Java VM parameters for an SAP NetWeaver AS Java instance. Determine whether this statement is true or false. □ □ 2011 True False © 2011 SAP AG. All rights reserved. 149 Test Your Knowledge ADM800 Answers 1. You can use the Config Tool to maintain Java VM parameters for an SAP NetWeaver AS Java instance. Answer: True You can maintain parameters such as Xms with the Config Tool. Xms is a Java VM parameter. 150 © 2011 SAP AG. All rights reserved. 2011 Unit 4 Secure Infrastructure Unit Overview A secure infrastructure is a prerequisite for different aspects of security in SAP systems, for example access control and data security. The first lesson should give an overview of different aspects of network security, whereas the second lesson concentrates on the theoretical background and concrete configuration activities with regard to the Secure Socket Layer (SSL). Unit Objectives After completing this unit, you will be able to: • • • • • • • explain why safeguarding the network communication is necessary describe which technical components can be protected via secure network protocols Classify concepts of the Web Service Security Describe different encryption processes Point out the relationship between authentication and digital signatures Explain the server authentication mechanism used within SSL Set up SSL with the SAP NetWeaver Administrator Unit Contents Lesson: Network Security......................................................152 Lesson: Setting Up SSL .......................................................160 Exercise 8: Setting up SSL................................................175 2011 © 2011 SAP AG. All rights reserved. 151 Unit 4: Secure Infrastructure ADM800 Lesson: Network Security Lesson Overview An SAP NetWeaver Composition Environment system is part of a complex system landscape. Business processes in this system landscape are distributed across several systems and access takes place using Intranet and Internet. Safeguarding the landscape against unauthorized accesses is essential. This lesson gives an overview of the types of communication used in an SAP system landscape and how they can be safeguarded. Lesson Objectives After completing this lesson, you will be able to: • • • explain why safeguarding the network communication is necessary describe which technical components can be protected via secure network protocols Classify concepts of the Web Service Security Business Example As part of the implementation of a service-oriented architecture using the SAP NetWeaver Composition Environment, the company ABC AG wants to introduce a new business process that requires access to sensitive data both internally and externally via the Internet. Reasons for Secure Communication Protecting the data exchange between SAP systems is essential. This communication contains users' access data (passwords for example) and sensitive business data. If unauthorized users have access to this data, this may have serious consequences for the company in question. Secure communication • • • • safeguards against unauthorized access to logon data safeguards against unauthorized access to sensitive data implements legal requirements or privacy policies of the company reduces the chances of compromising system and application security. Security of the Communication Layer Different technologies are available to safeguard communication depending on the communication protocol used. In the SAP environment, these are usually Secure Socket Layer (SSL) for Internet protocols (HTTP for example) and Secure Network Communication (SNC) for SAP protocols (RFC for example). 152 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Network Security Figure 69: Communication Protocols as of the AS Java 7.1x The figure shows the possible communication protocols of the AS Java as of Release 7.1x. A Web Application Client (a Web Browser for example) can access the Internet Communication Manager (ICM) of the AS Java via HTTP either directly or using an Application Gateway. The User Management Engine (UME) of the AS Java accesses user data using different protocols depending on the configured User Persistence Store. The RFC protocol is frequently used for communication with other SAP systems. HTTP communication is also possible here. Furthermore, the protocol P4 is used in some scenarios. 2011 © 2011 SAP AG. All rights reserved. 153 Unit 4: Secure Infrastructure ADM800 Figure 70: Communication Protocols from Web Container and EJB Container The protocols P4 and IIOP are used between the Web Container and EJB Container. In addition, P4 and IIOP are used to call objects in remote application servers. The following table provides an overview of the security of the different communication protocols. Security of Communication for AS Java 154 Protocol Security mechanism Note HTTP Secure Socket Layer (SSL) HTTP is the standard protocol for Web applications. SSL can be used for authentication, integrity and encryption. P4 Secure Socket Layer (SSL) P4 is the transfer protocol for the Java-specific communication Remote Method Invocation (RMI). P4 supports HTTP tunneling. © 2011 SAP AG. All rights reserved. 2011 ADM800 2011 Lesson: Network Security Protocol Security mechanism Note IIOP Secure Socket Layer (SSL) IIOP is an alternative transfer protocol for RM. IIOP can also be used for communication with CORBA application servers. LDAP Secure Socket Layer (SSL) If the User Management Engine of the AS Java has connected a directory service via the LDAP protocol as a Persistence Store, SSL can be used for communication security. RFC Secure Network Communication (SNC) The SNC interface can be used for the SAP-specific protocols RFC and DIAG. JDBC Driver-dependent JDBC is a communication protocol for the database connection. Communication can be secured depending on the driver that is used. Telnet Not available Communication via Telnet is not encrypted. Therefore, Telnet access to the AS Java has been restricted to host 127.0.0.1 (localhost). Session Not available Session is a communication protocol that is used only between ICM and server process. Since this communication is not used outside an instance, encryption is not required. © 2011 SAP AG. All rights reserved. 155 Unit 4: Secure Infrastructure ADM800 Due to the architecture changes in AS Java as of Release 7.1x, there are also some differences in the occupancy (and configuration) of the communication ports. The table below contains some important ports for AS Java. $$ stands for the instance number here. Important Standard TCP/IP Ports in AS Java Service Port Number Process HTTP 5$$00 ICM P4 5$$04 ICM IIOP 5$$07 ICM Telnet 5$$08 ICM HTTP 5$$13 sapstartsrv HTTP 81$$ MS You can find a complete list of the ports used by SAP applications on SAP Service Marketplace under Quick Link /security and under Security in Detail → Infrastructure Security → TCP/IP Ports Used by SAP Applications. Web Service Security The SAP NetWeaver Composition Environment plays the role of the development environment for composite applications in the implementation of the service-oriented architecture (SOA). The SAP NetWeaver CE system is also the runtime environment for such applications. The Web service technology is a technical foundation for SOA. The security requirements for Web services go beyond the encryption of the HTTP log via SSL. A Web service (WS) is a modular function that can be published, localized and called via a network. A Web service provides functions that are based on the technological communication layer. Any flow logic can be offered as a Web service, for example EJBs, Java classes or portal services. The Web Service Framework of the AS Java transfers the incoming XML/SOAP data and calls the Web service. The following figure gives a rough overview of the communication. 156 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Network Security Figure 71: Communication in the Web Service Scenario The Web service provider publishes the Web service in Universal Description, Discovery, and Integration (UDDI). The WSDL file (Web Service Description Language) of the Web service is stored in the UDDI for this purpose. A Web service user can now find the Web service in the UDDI and call it for the provider. The Simple Object Access Protocol (SOAP) is used for this communication. The SOAP request is transported via the HTTP protocol. The transfer can be safeguarded either via SSL or the standard WS security. Web services can communicate using any number of connections and intermediary stations. A connection-based security of communication, such as via SSL, is therefore insufficient or inadequate. Therefore, the OASIS standard Web Service Security (WSS) has been implemented for AS Java. The following table gives an overview of the security mechanisms for Web services. . Web Service Security Communication Method Protocol Execution SOAP via HTTP Transferred Data Security By Application data SSL Logon data or for messages XML Signature XML Encryption Publication and localization HTTP WSDL data SSL Logon data 2011 © 2011 SAP AG. All rights reserved. 157 Unit 4: Secure Infrastructure ADM800 Network Topology The network topology can also safeguard your system landscape. SAP recommends that you use separated network zones and demilitarized zones (DMZ), as shown in the following figure. Figure 72: Network Topology Systems with sensitive business data, such as SAP ECC or SAP CRM for example, should be protected from uncontrolled access by a firewall. Also in the case of Web applications, such as a portal for example, only a controlled access should be allowed by a firewall for users. In particular, with regard to Internet scenarios, we advise you to use so-called Application Gateways within a DMZ. In practice, an Application Gateway is implemented, for example, by a reverse proxy, a load balancer or similar products. 158 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Network Security Lesson Summary You should now be able to: • explain why safeguarding the network communication is necessary • describe which technical components can be protected via secure network protocols • Classify concepts of the Web Service Security Related Information • • • 2011 For more information about security aspects of SAP systems, we recommend that you attend course ADM960 - Security in SAP System Environments http://service.sap.com/securityguide. More information is also available on SAP Service Marketplace under Quick Link /security: http://service.sap.com/security. The SAP Library for SAP NetWeaver 7.3, including the section SAP NetWeaver Security Guide, is available under http://help.sap.com. © 2011 SAP AG. All rights reserved. 159 Unit 4: Secure Infrastructure ADM800 Lesson: Setting Up SSL Lesson Overview This lesson gives you a brief introduction to cryptography and its adoption in the communication between different communication partners. In the second part you will learn how to set up a secure http-communication (SSL). Lesson Objectives After completing this lesson, you will be able to: • • • • Describe different encryption processes Point out the relationship between authentication and digital signatures Explain the server authentication mechanism used within SSL Set up SSL with the SAP NetWeaver Administrator Business Example Your corporation wants to provide access to composite applications on the SAP NetWeaver CE system for its business partners. Since sensitive data is transferred between the SAP system and the client (a Web browser for example), a secure connection should be established. Introducing Cryptography Cryptography is the science of encrypting information. Why is this a very important topic in today's IT world? The standard protocol used for transporting http requests, TCP/IP, is a potentially insecure transport mechanism. Everyone connected to a specific network is able, with more or less effort and knowledge, to listen to the packages and its content transferred with the IP protocol in that network. This vulnerable protocol makes it necessary to encrypt the transferred data itself. For a better understanding we describe here a possible attack against the TCP/IP protocol and the data transferred with this protocol. 160 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Figure 73: Threat: Eavesdropping In the above example, Alice (1) initiates a communication with Bob and requests some data about customers from him. Bob gathers the requested data and responds to Alice's request (2). The entire exchange is eavesdropped by Mallory. He now knows about the information that was discussed (3). In the context of TCP/IP, Alice (stands for a Web browser), for example, requests some data via an http request that is transferred via the TCP/IP protocol. The server (here represented by Bob) responds and transfers some sensitive customer data from the server to the client via the TCP/IP protocol. Mallory, an attacker, is on the same network and therefore is able to eavesdrop on this TCP/IP communication. The solution for securing this communication is the encryption of the transferred data; this involves making the conversation impossible for the attacker to understand but making it understandable to the participants involved in the conversation only. 2011 © 2011 SAP AG. All rights reserved. 161 Unit 4: Secure Infrastructure ADM800 Figure 74: Protection: Encryption Encryption Methods Encryption itself is based on mathematical operations. A key therefore has to be exchanged between the communication partners in order to have a computable basis for encrypting and decrypting information. There are three different methods for exchanging these keys. Figure 75: Encryption Methods 162 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Symmetric Key Encryption is the classical cryptography method for encrypting and decrypting messages. In this case, both the sender and receiver of a message share a “secret” called a secret key. The sender uses this key to encrypt the message. The receiver also uses this key to decrypt the message. Figure 76: Symmetrical Encryption The shared secret is called a secret key. It consists of a value of a certain length, 256 bits for example. These encryption algorithms are in widespread use and are employed in most Web browsers and Web servers. Typical Symmetric Key Encryption Algorithms include: • • • • • • • Digital Encryption Standard (DES) Triple DES Advanced Encryption Standard (AES) International Data Encryption Algorithm (IDEA) RC4 RC5 Blowfish Asymmetric Key Encryption uses a different algorithm than Symmetric Key Encryption. Asymmetric Key Encryption uses a key pair that consists of a private and a public key. These keys belong to each other. A message that is encrypted with the public key can only be decrypted with the matching private key. The public key can be made public. The owner of the key pair “publishes” the public key and can distribute it as required. The private key must be kept secret. 2011 © 2011 SAP AG. All rights reserved. 163 Unit 4: Secure Infrastructure ADM800 Figure 77: Asymmetrical Encryption The person who is sending a confidential message uses the recipient‘s public key to encrypt the message. Only the recipient can then decrypt the message using his or her private key. Typical public key encryption algorithms are: • RSA (Rivest, Shamir, Adleman), Diffie-Hellman Disadvantages of Public Key Encryption: • • • It is slower than Symmetrical Key Encryption. Encryption is only possible in one direction with a single key pair. Alice can encrypt a message to send to Bob, but not vice versa. If Alice also has a key pair, then Bob can send her an encrypted message. However, there is an easier way. Hybrid Encryption Process is the combination of both above explained encryption processes. The Hybrid Encryption Process make use of the advantages of both process types. For the better understanding we describe this process in the following example. 164 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Figure 78: Hybrid Encryption Process: 1. 2. 3. 4. 5. 6. 7. The client (browser) contacts the SAP NetWeaver Application Server Java The Application Server responds and sends its Public Key Client-side a Secret Key is created and encrypted with the Public Key the server sent before The client sends back the encrypted Secret Key On the server the Secret Key is decrypted using the Private Key. Only the server can decrypt the received Secret Key cause its holding the Private Key which is necessary for the decrypting. The communication partners perform a "Handshake"; they shake hands. Further communication between the client and the server is encrypted using the Secret Key Authentication and Digital Signatures In the first part of this lesson we described a possible attack to the transport protocol and what can be done to secure this communication. But what happens if Mallory interferes with the communication and pretends to be Bob? He may even provide Alice a public key, saying that is Bob's key. The question here is now, how can we make sure that Alice is really communicating with Bob and therefore the public key she received is really Bob's public key? 2011 © 2011 SAP AG. All rights reserved. 165 Unit 4: Secure Infrastructure ADM800 Figure 79: Threat: Masquerading The problem is also covered by cryptography and is called Authentication. Authentication normally takes place using the user ID and password. But with cryptographic mechanisms it is possible to authenticate communication partners, in means of verifying that the communication partner is the one she or he pretends to be. Basis for the authentication of communication partners are Digital Certificates. Figure 80: Protection: Authentication 166 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Understanding Digital Certificates and Digital Signatures The digital certificate is the individual's "digital identity card" on the Internet. Compared to the "real world", digital certificates can be compared to a passport which contains information about owner, issuer, serial number, and validity period. The format of the certificate is specified by the X.509 standard for digital certificates. Figure 81: Digital Certificates (X.509) Beneath some general information the certificate contains also the public part of the key pair whereas the private key is not included in the certificate. This one must be kept on a safe place. The certificate is issued to a person or server by an authorized entity called a Certification Authority (CA). The CA ensures by digitally signing the certificate that the public key, which matches to a private key, belongs to a specific person or server. Thus, the CA ensures that the certificate cannot be "faked". The complete infrastructure that manages the issue and verification of certificates is called the Public Key Infrastructure (PKI). 2011 © 2011 SAP AG. All rights reserved. 167 Unit 4: Secure Infrastructure ADM800 Figure 82: Certification Authority Examples of well-known Certification Authorities: • • Verisign Inc. TC Trust Center SAP also runs a CA that issues digital certificates to customers. Follow the Quick Link /tcs (Trust Center Services) on the SAP Service Marketplace. Figure 83: Certificate Enrollment The certification of digital certificates is performed, for example, as follows: 1. 2. 3. 4. 168 A public and private key pair is generated on the server The public key is sent to the CA (it is called a Certificate Signing Request short CSR) The CA digitally signs the server's public key and sends it back to the requestor Import of the CSR response, the digitally signed certificate, into the server © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Different CA’s use different policies, on how to check the identity of a person or system, before issuing a digital certificate. SAP's process for applying for a digitally signed certificate is as follows: Figure 84: Certificate Order Process via SAP TCS 1. 2. 3. 4. 5. Create CSR and send it to SAP via the SAP Service Marketplace Enter some additional data You receive a contract. Check the details entered before, print it out and sign it Fax the signed contract back to SAP SAP checks your data and has TC TrustCenter issue a certificate The server is now sending the digitally signed certificate, which includes the public key, to the communication partner. This kind of authentication is called Server Authentication. But how can the communication partner ensure, that the digitally signed certificate is signed from a trusted CA? The communication partner has to have a trust relationship to the CA which issued the certificate. Technically this can be achieved by importing a digital certificate of the institution (CA) issued the certificate for the server. This is the so-called root certificate. The most common root certificates are pre-installed in most Web browsers. 2011 © 2011 SAP AG. All rights reserved. 169 Unit 4: Secure Infrastructure ADM800 Figure 85: Trust Relationship Securing HTTP communication using Secure Socket Layer (SSL) In the previous sections you learned the fundamentals of Cryptography, Authentication and Digital Certificates. These technologies are also the fundamental of securing the HTTP communication. Secure Socket Layer (SSL) is a transparent protocol enhancing other protocols having no security functionalities. SSL is not an HTTP-specific protocol but a protocol used between the TCP layer and application protocols like LDAP, SMTP, HTTP and so on. An HTTP application protocol that has been extended by SSL has the protocol identification HTTPS in the URL. SSL uses a Hybrid Encryption method and provides besides data encryption the following authentication mechanisms: • • • Server authentication Client authentication Mutual Authentication To use SSL for server authentication, the SAP NetWeaver AS Java possesses a private and public key pair. 170 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Figure 86: SSL: Server authentication 1. 2. 3. 4. 5. 6. 7. Alice contacts the SAP NetWeaver Application Server Java using a browser The Application Server responds and sends its Public Key with a digitally-signed message. The client-side server's identity is verified by checking the validity of the certificate. The certificate is only accepted if the client trusts the CA that issued that certificate to the SAP NetWeaver AS Java. This is done with the CA root certificate. The Secret Key is created and encrypted with the Public Key the server sent before The client sends back the encrypted Secret Key On the server the Secret Key is decrypted using the Private Key. Only the server can decrypt the received Secret Key cause its holding the Private Key which is necessary for the decrypting. The communication partners perform a handshake Further communication between the client and the server is encrypted using the Secret Key Setting up HTTP for SAP NetWeaver Since the basis of SSL and therefore HTTPS is cryptography, SAP NetWeaver Application Server Java has to be enabled in order to support this feature. Cryptographic software is needed to support the different mathematical algorithms. As of Release 7.1x, the SAP Cryptographic Library is used as cryptographic 2011 © 2011 SAP AG. All rights reserved. 171 Unit 4: Secure Infrastructure ADM800 software. Cryptographic software was subject to export and import restrictions. In AS Java systems 7.1x you have to download this software from SAP Service Marketplace, in AS Java systems 7.3 these software is already included. Read up on the conditions in your country. The SAP Cryptographic Library can be found on SAP Service Marketplace: http://service.sap.com/swdc Download → SAP Cryptographic Software Figure 87: Roadmap for Configuring SSL Using SSL with an Intermediary Server You can also use SSL for connections where an intermediary server is used. An intermediary server may be a Web proxy or the SAP Web Dispatcher. A typical scenario is to place the intermediary server in the DMZ and the AS Java in the intranet zone. The servers that are supported for use with AS Java are: • • • 172 SAP Web Dispatcher Microsoft Internet Information Server (IIS) with an IIS proxy module from SAP Other products (for example, the Apache Web Server) © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Figure 88: SSL with an Intermediary Server Depending on the intermediary server used, options exist to use either an end-to-end SSL connection or to terminate the connection on the intermediary server and establish a new connection to the backend system (terminated SSL). See the figure below. Outlook: Mutual Authentication Beside the server authentication mechanism and the data encryption described in the above sections, SSL can also be used for mutual authentication. In case of Mutual Authentication both, the user and the server acknowledge their authenticity by providing a digitally signed certificate to the other communication partner. The important fact is, Alice also authenticate herself to the server. Therefore you can use this authentication to integrate the SAP NetWeaver AS Java in a Single Sign-On environment. 2011 © 2011 SAP AG. All rights reserved. 173 Unit 4: Secure Infrastructure ADM800 Figure 89: Outlook: Mutual Authentication Server authentication is performed using the same process as described within the SSL scenario. Let‘s focus on the client part of this authentication. Alice obtains a certificate, as shown in the figure: • • • Alice creates a key pair and a certificate request Alice sends the request to a CA, such as the SAP CA Alice imports the certificate request response The Web server must also trust Alice‘s issuing CA by importing its CA root certificate into its trusted CA store. When communicating with the server, both parties are authenticated and the data communication is encrypted. 174 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Exercise 8: Setting up SSL Exercise Objectives After completing this exercise, you will be able to: • Setting up SSL for SAP NetWeaver 7.3 Business Example Your corporation wants to provide access to composite applications on the SAP NetWeaver 7.3 system for its business partners. Since sensitive data is transferred between the SAP system and the client (a Web browser for example), a secure connection should be established. Task 1: Check the SAP Cryptographic Library files Check the SAP Cryptographic Library files. 1. Log on at operating system level of your SAP system and check, that the files sapcrypto.dll and sapgenpse.exe exists in he following directories of your SAP system: all <drive>:\usr\sap\<SID>\<instance>\exe and <drive>:\usr\sap\<SID>\SYS\exe\uc\NTAMD64. 2. Check, that the file ticket exits in all of the following directories <drive>:\usr\sap\<SID>\<instance>\sec. Task 2: Maintain ICM Parameters Maintain the required ICM parameters. 1. Read up on the ports already used and the related parameters of the ICM. Use the Web interface of the ICM for this. 2. Maintain the ICM parameters to allow the protocols and ports specified in the table to be used. $$ stands for the instance number here. Make sure that you do not overwrite existing parameters when numbering the parameters. Parameter Protocol Port icm/server_port_4 HTTPS 5$$01 icm/server_port_5 P4SEC 5$$06 icm/server_port_6 IIOPSEC 5$$03 Hint: There is a help file on the training share from which you can insert the parameter values into the profile DEFAULT.PFL directly by copying. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 175 Unit 4: Secure Infrastructure ADM800 3. Restart the ICM. 4. Read up on the ports now used and the related parameters of the ICM. Task 3: Generate Key Pair, Have it Signed by the Certification Authority and Assign to all Instances Generate a key pair for SSL using the ICM and have it signed by the Certification Authority. 1. Create a new key pair for SSL using the ICM in the SAP NetWeaver Administrator. Use the keystore view service_ssl to do so. Remove the existing key pair. Use the following values for the certificate with <##> corresponding to your group number. Do not change the other values. Input Values for the new Key Pair Input Field Value Entry Name SSL<##> Key Length 2048 countryName for example DE or US organizationName SAP organizationalUnitName Education commanName <host name.domain> 2. Generate a certificate request for the key pair that you just created. 3. Send the certificate request to the Certification Authority and save the response to a file. You can use the test scenario of the SAP Trust Center Service for this course (http://service.sap.com/ssltest). 4. Import the certificate request response in the NWA. 5. Now import the certificate into the instance-specific views ICM_SSL_<instance-ID>. Remove the existing entries there also. 6. Export all views ICM_SSL_<instance-ID> to the PSE. Task 4: Test SSL Test the SSL communication. 1. Call the HTTPS-URL of your system. Continued on next page 176 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Task 5: Optional: Install SAP Server CA Root Certificate in Web Browser If you got an error during the test, you probably need to install the SAP Server CA root certificate in your web browser. 2011 1. Download the SAP Server CA root certificate from SAP Service Marketplace Trust Center Services and install it in your web browser. 2. Do the test like in task Test SSL described above. © 2011 SAP AG. All rights reserved. 177 Unit 4: Secure Infrastructure ADM800 Solution 8: Setting up SSL Task 1: Check the SAP Cryptographic Library files Check the SAP Cryptographic Library files. 1. Log on at operating system level of your SAP system and check, that the files sapcrypto.dll and sapgenpse.exe exists in he following directories of your SAP system: all <drive>:\usr\sap\<SID>\<instance>\exe and <drive>:\usr\sap\<SID>\SYS\exe\uc\NTAMD64. a) 2. Check, that the file ticket exits in all of the following directories <drive>:\usr\sap\<SID>\<instance>\sec. a) Task 2: Maintain ICM Parameters Maintain the required ICM parameters. 1. 2. Read up on the ports already used and the related parameters of the ICM. Use the Web interface of the ICM for this. a) Open a Web browser and call the Web interface of the ICM using the URL http://<host name>:<HTTP port>/sap/admin. Your instructor will give you the logon data. b) Go to Active Services on the left-hand side and note the active services and their ports. c) Go to Parameters on the left-hand side and note the parameters icm/server_port_<x> and their values there. Maintain the ICM parameters to allow the protocols and ports specified in the table to be used. $$ stands for the instance number here. Make sure that you do not overwrite existing parameters when numbering the parameters. Continued on next page 178 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Parameter Protocol Port icm/server_port_4 HTTPS 5$$01 icm/server_port_5 P4SEC 5$$06 icm/server_port_6 IIOPSEC 5$$03 Hint: There is a help file on the training share from which you can insert the parameter values into the profile DEFAULT.PFL directly by copying. a) At operating system level of your SAP system, use a text editor to open the file <drive>:\usr\sap\<SID>\SYS\profile\DEFAULT.PFL. b) Enter the following additional lines at the end of the file: icm/server_port_4 = PROT=HTTPS,PORT=5$$01,VCLIENT=1 icm/server_port_5 = PROT=P4SEC,PORT=5$$06,VCLIENT=1 icm/server_port_6 = PROT=IIOPSEC,PORT=5$$03,VCLIENT=1 c) 3. 4. Save the file. Restart the ICM. a) Choose Monitor on the left-hand side in the Web interface of the ICM (see step 1 of this task also). b) Choose running → Shutdown Internet Communication Manager and then choose Yes. c) The ICM should then automatically restart shortly afterwards. Read up on the ports now used and the related parameters of the ICM. a) Go to Active Services on the left-hand side in the Web interface of the ICM and note the active services and their ports. The protocols and ports that you have just maintained should be listed and active there. b) Go to Parameters on the left-hand side and note there the new parameters maintained by you icm/server_port_<x>. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 179 Unit 4: Secure Infrastructure ADM800 Task 3: Generate Key Pair, Have it Signed by the Certification Authority and Assign to all Instances Generate a key pair for SSL using the ICM and have it signed by the Certification Authority. 1. Create a new key pair for SSL using the ICM in the SAP NetWeaver Administrator. Use the keystore view service_ssl to do so. Remove the existing key pair. Use the following values for the certificate with <##> corresponding to your group number. Do not change the other values. Input Values for the new Key Pair 2. Input Field Value Entry Name SSL<##> Key Length 2048 countryName for example DE or US organizationName SAP organizationalUnitName Education commanName <host name.domain> a) Open the SAP NetWeaver Administrator (NWA) in the Web browser using the URL http://<host name>:<HTTP port>/nwa. Your instructor will give you the logon data. b) Navigate to Configuration → Security → Certificates and Keys. c) Select the keystore view service-ssl in the tab page Content. d) Select the entry ssl-credentials, choose Delete and confirm with OK. Also remove the entry ssl-credentials-cert. e) Now choose Create and maintain the fields in accordance with the above table. Then choose Next. Maintain the other fields in accordance with the table, choose Next twice and then Finish. Generate a certificate request for the key pair that you just created. a) Select the entry SSL<##> and choose Generate CSR Request. b) Now choose Download and then Open. c) Select the displayed text and copy it to the clipboard (Ctrl+C). d) Choose Close. Continued on next page 180 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL 3. 4. 5. 6. Send the certificate request to the Certification Authority and save the response to a file. You can use the test scenario of the SAP Trust Center Service for this course (http://service.sap.com/ssltest). a) Open a new Web browser window and call the URL http://service.sap.com/ssltest. b) Choose Test it Now!. c) Copy the text from the clipboard (see step 2 of this exercise) to the input screen. d) Choose PKCS#7 certificate chain and then Continue in the selection list. e) Copy the text to the clipboard (Ctrl+C). f) Open a text editor and insert the text that you just copied. Save the text as a file with the ending .cert, for example response00.cert. Import the certificate request response in the NWA. a) Go to the NWA where you generate the CSR Request and choose now Import CSR Response . b) Choose Browse. Select the file that was just saved, for example response00.cert, and choose Open. c) Choose Add followed by Import. Now import the certificate into the instance-specific views ICM_SSL_<instance-ID>. Remove the existing entries there also. a) Select the view ICM_SSL_<instance-ID>. b) Select the entry ssl-credentials, choose Delete and confirm with OK. Also remove the entry ssl-credentials-cert. c) Choose Copy Entry. d) Now select the view service_ssl in the selection list From View and the entry SSL<##> in the selection list From Entry. Then choose Import. e) Repeat the previous solution steps (a to d) for all other views ICM_SSL_<instance-ID>. Export all views ICM_SSL_<instance-ID> to the PSE. a) Select the view ICM_SSL_<instance-ID>. b) Now choose Export View To PSE. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 181 Unit 4: Secure Infrastructure ADM800 Task 4: Test SSL Test the SSL communication. 1. Call the HTTPS-URL of your system. a) Open a new Web browser window and call the URL https://<host name.domain>:<https port>. If the start page of the AS Java appears without an error message, then everything has been configured correctly and the root certificate of the Certification Authority is already installed in your Web browser. Task 5: Optional: Install SAP Server CA Root Certificate in Web Browser If you got an error during the test, you probably need to install the SAP Server CA root certificate in your web browser. 1. Download the SAP Server CA root certificate from SAP Service Marketplace Trust Center Services and install it in your web browser. a) Open a new Web browser window and call the URL http://service.sap.com/tcs. b) Go to Donwload Area → Root Certificates. Click on SAP Server CA Certificate and choose Save and Save again. Choose Open, Install Certificate and Next. c) Skip this step, If you are not working on the OS of the server twdfxxxx. Select Place all certifacates in the following store and choose Browse .... Select Show physical stores and expand Trusted Root Certification Authorities. Select here Local Computer. d) 2. Go ahead with Next, Finish, and OK. Do the test like in task Test SSL described above. a) Do the test like in task Test SSL described above. Result Congratulations! You have successfully configured SSL for all instances of your SAP NetWeaver system! 182 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Setting Up SSL Lesson Summary You should now be able to: • Describe different encryption processes • Point out the relationship between authentication and digital signatures • Explain the server authentication mechanism used within SSL • Set up SSL with the SAP NetWeaver Administrator 2011 © 2011 SAP AG. All rights reserved. 183 Unit Summary ADM800 Unit Summary You should now be able to: • explain why safeguarding the network communication is necessary • describe which technical components can be protected via secure network protocols • Classify concepts of the Web Service Security • Describe different encryption processes • Point out the relationship between authentication and digital signatures • Explain the server authentication mechanism used within SSL • Set up SSL with the SAP NetWeaver Administrator Related Information SAP Service Marketplace Quick Link /security 184 © 2011 SAP AG. All rights reserved. 2011 Unit 5 User and Authorization Administration Unit Overview The structure and configuration of the User Management Engine (UME) and the use of the associated administration tools are explained in this unit. The standard actions in the user administration environment, such as creating users and creating and assigning authorizations and roles are presented. The concluding lesson Logon Procedure of AS Java should complete your understanding of this topic. Unit Objectives After completing this unit, you will be able to: • • • • • • • • • • • • • • • • • 2011 List the various UME data sources Determine the current data source assignment Explain the term UME data partitioning Identify and modify configuration parameters List and use the tools for administering users and groups Explain the terms UME role and JEE security role List the authorization administration tools Assign actions and JEE security roles to a UME role Assign authorizations to users and groups List a number of “special” principles Change the password of the standard administration user Activate the emergency user list the supported logon procedures of the AS Java explain the functions of login modules change the standard logon procedure of the AS Java explain Kerberos logon (SPNego) set up X.509 logon © 2011 SAP AG. All rights reserved. 185 Unit 5: User and Authorization Administration ADM800 Unit Contents Lesson: Structure and Configuration of the User Management Engine (UME).............................................................................187 Exercise 9: User Management Engine ..................................207 Lesson: User and Group Administration ..................................... 211 Exercise 10: User and Group Administration ...........................219 Lesson: The Java Authorization Concept ...................................224 Exercise 11: Create and Assign UME Roles............................231 Lesson: Special Principles.....................................................235 Exercise 12: Default Principles and Emergency Users ...............241 Lesson: Logon Procedure of the AS Java ...................................246 Exercise 13: Configuration of X.509 Client Authentication............257 186 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Lesson: Structure and Configuration of the User Management Engine (UME) Lesson Overview This lesson explains fundamental information about the User Management Engine. Lesson Objectives After completing this lesson, you will be able to: • • • • List the various UME data sources Determine the current data source assignment Explain the term UME data partitioning Identify and modify configuration parameters Business Example In your company, AS ABAP and AS Java-based systems are used. You want to ensure consistent user master data within a heterogeneous system landscape. Basics AS Java provides an open architecture supported by service providers for the storage of user and group data. The AS Java is supplied with the following service providers which are also referred to as a “user store”: • • • DBMS provider: storage in the system database UDDI provider: storage via external service providers (Universal Description, Discovery and Integration) UME provider: Connection of the integrated User Management Engine The DBMS and UDDI providers implement standards and therefore ensure that AS Java is J2EE-compliant. When AS Java is installed, SAP's own User Management Engine (UME) is always set up as the user store and is the correct choice for most SAP customers. The UME is the only way to flexibly set up and operate user and authorization concepts. 2011 © 2011 SAP AG. All rights reserved. 187 Unit 5: User and Authorization Administration ADM800 Some of the important features of the UME are: • • • • • The UME has its own administration console for administering users. It allows the administrator to perform the routine tasks of user administration, such as creating users and groups, role assignment, and other actions. Security settings can be used to define password policies, such as minimum password length and the number of incorrect logon attempts before a user is locked. The UME provides different self-service scenarios that can be used by applications. For example, a user can change his or her data, or register as a new user. Newly-created users can be approved using a workflow. User data can be exchanged with other (AS Java or external) systems using an export/import mechanism. The UME logs important security events, such as a user's successful logons or incorrect logon attempts, and changes to user data, groups, and roles. Figure 90: User Store and Data Sources Architecture The UME supports a variety of data sources where user data can be stored: • • • System database Directory service (LDAP server) ABAP-based SAP system (as of SAP Web AS 6.20) The illustration below shows the architecture of the UME: 188 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 91: Architecture of the UME: The UME is a Java application which runs on SAP NetWeaver AS Java and which covers the following functional areas: • • • UME Core Layer: Provides persistence managers between the application programming interface and the user management data sources - these control where user data such as users, user accounts, groups, roles and their assignments are read from or written to, with the result that applications which use the API do not have to know where the user management data is stored. UME API Layer: This layer provides programming interfaces (APIs) not just for UME developers but also for customers and partners. This means that you can access the UME functions with the Java programs which you develop yourself. UME services: The UME provides the following services to higher-level software layers: – • 2011 Log-on procedure and single sign-on (log-on to AS Java is taken over for other systems and vice versa) – Provisioning processes via user master data – Authorization Concept UME UI: The UME is responsible for the user interface which, in some log-on procedures, appears in the Web browser, as well as for the UME Administration Console. © 2011 SAP AG. All rights reserved. 189 Unit 5: User and Authorization Administration ADM800 The SAP NetWeaver usage types which are based on the AS Java (such as SAP NetWeaver Portal) are based on the UME and perform a number of specific functions on this basis (such as self-registration with approval workflow). Data Partitioning As described in the previous section, the UME persistence manager offers the option of storing user data in different data sources. The UME persistence manager also supports data partitioning. This means in practice that, for example, user data for different user types can be stored in different data sources. Figure 92: Data Partitioning 190 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) In practice, you often work with a combination of the data sources database + directory service or database + ABAP user management. When this is done, certain user attributes are to be stored in a different data source, for example, or users are separated by their categories (internal or self-registered users). • • • Attribute-based data partitioning: A user in the UME has certain attributes, some of which are classified as global attributes (user ID, telephone number, and so on) ) and others of which are application-specific. Global information would be particularly suited to being stored in a directory service, and application-specific information in the database. User-based data partitioning:With this type of partitioning, the data source in which users are stored is decided depending on the category of the user (self-registered or internal users). For example, users that register by self-service can be stored in the database, and internal users in the directory service. Type-based data partitioning:With type-based data partitioning, different object types can be distributed to different data sources. The types are, for example, users, groups, roles, user accounts. For example, users can be stored in the directory service, and roles in the database. SAP delivers preconfigured data source combinations (more information will be provided in the next section), which you should only change in special cases. For example, if you are using a directory service as a data source, you may need to perform attribute mapping. You usually use the delivered preconfigured data source combinations without additional changes: Configuring the Data Source(s) This section deals with the configuration of the data source(s) stored in the AS Java database in the form of configuration files (in XML format). In most cases, the installation option is retained or the data sources are configured immediately after AS Java installation. 2011 © 2011 SAP AG. All rights reserved. 191 Unit 5: User and Authorization Administration ADM800 Supported Data Sources and Modification Options Figure 93: Data Sources after Installation The data source that is set up during AS Java installation depends on the selected SAP NetWeaver usage type: • • AS Java (without ABAP): Data source - system database (configuration file dataSourceConfiguration_database_only.xml) AS ABAP + Java: Data source - ABAP system (configuration file dataSourceConfiguration_abap.xml) Modifying data sources after installation can result in inconsistencies. Restrictions therefore apply to the modification of UME data sources. The following figure explains the supported modification options. Hint: Please make sure that you observe SAP Note 718383. 192 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 94: Supported Change Options The following changes are supported: • • • System database (dataSourceConfiguration_database_only.xml):You can switch to any required LDAP configuration file (dataSourceConfiguration_[ldap description]_db.xml) or an ABAP system (dataSourceConfiguration_abap.xml). In this case, you must make sure that the new data source does not contain any users and groups with the same unique attributes aqs the database (i.e. the new data source must not contain any users or groups with the same unique name or ID as the users or groups in the database). ABAP system (dataSourceConfiguration_abap.xml): No change is possible. Directory service (dataSourceConfiguration_[ldap description]_db.xml): If you have selected an LDAP directory as the user data source, you can modify the structure of the LDAP directory or switch to a different LDAP if this does not modify any unique user IDs. Below, we present a complex system landscape with AS ABAP, AS Java and non-SAP systems: 2011 © 2011 SAP AG. All rights reserved. 193 Unit 5: User and Authorization Administration ADM800 Figure 95: Example of a Heterogeneous System Landscape In this type of heterogeneous system landscape with SAP systems and non-SAP systems, it is useful to use a directory service as the primary storage location for user data. As you can see in the figure, the ABAP systems are administered with the central user administration (CUA). The CUA central system synchronizes user data with the directory service. In the case of the AS Java systems, the directory service is configured as the data source. Non-SAP systems also have access to user data through the directory service. 194 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 96: SAP NetWeaver Identity Management In SAP NetWeaver Identity Management, SAP provides integrated, business process-driven IdenIdentity Management functions for a heterogeneous system landscape. SAP NetWeaver Identity Management uses a central identity store to consolidate and save data from various source systems (SAP HCM for example). This information is distributed to connected target systems. User accounts and role assignments for SAP and non-SAP applications are distributed. Role assignments can be automated using rule definitions. A very important function of SAP NetWeaver Identity Management is the option of making the authorization assignment workflow-controlled. The integration with HCM as one of the possible source systems for identity information is a key function for business process-driven Identity Management. For more information about SAP NetWeaver Identity Management, go to the SAP Developer Network (https://www.sdn.sap.com/irj/sdn/nw-identitymanagement). Tools for UME Configuration The next figure lists the tools with which you can display and change the UME configuration. Note: See also SAP Note 948654 - Only use Global Settings for UME Properties. 2011 © 2011 SAP AG. All rights reserved. 195 Unit 5: User and Authorization Administration 196 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 97: Tools for UME Configuration (Viewing/Modifying) • UME Administration Console: You can use the UME Administration Console running in the Web-Browser to modify selected settings without it being necessary to know the technical parameter names (path: http(s)://<host name>:<port> /useradmin → Configuration). Hint: For many settings a restart is not necessary and you are notified about the necessary of a restart after saving the properties. Hint: As of 7.20 there is an Expert Mode available in the configuration area, which gives you access to the maintenance of mostly all ume properties. • • Configuration Tool (Configuration Editor mode): Only in Configuration Editor mode are you able to access all the UME settings (path: cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → Propertysheet properties). SAP NetWeaver Administrator, Java Configuration Browser: You can use the SAP NetWeaver Administrator running in the Web browser to view all the UME parameters (incl. tooltip with descriptive text) Configuration Infrastructure → Java Configuration Browser and then <System> → cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → properties). Note: In the SAP NetWeaver Administrator under Configuration → Infrastructure → Java System Properties → Overview, you can also view the UME parameters. Select a template or an instance there. Then select the service User Management Engine on the tab page Services. The UME parameters are now selected. Do not change any values here, but instead use the global change options! • • 2011 SAP NetWeaver Administrator, Authentication: AS of SAP NetWeaver AS 7.11 some UME parameters regarding logon can be changed online in the SAP NetWeaver Administrator at Configuration → Security →Authentication and Single Sign-On → Properties. UME Configuration iView: If the usage type EP Core has been installed in your SAP NetWeaver system, you can use the portal interface to access an iView for UME configuration. This offers similar setting options to the UME Administration Console (portal path System Administration → System Configuration → UME Configuration). © 2011 SAP AG. All rights reserved. 197 Unit 5: User and Authorization Administration ADM800 Caution: Before you make any changes to the UME configuration, you should first back up the current configuration. You can do this using a function in the UME Administration Console (User Management Configuration → Support → Download Configuration ZIP File), which saves the current configuration data in a ZIP file This file allows you to record and trace the changes. However, they are not intended to be re-imported into an AS Java. Since many advanced settings can only be made in Configuration Editor mode, a description of the procedure is presented here: 1. 2. 3. 4. 5. 6. 7. Stop all the Java instances on you system Start the Configuration Tool Switch to Configuration Editor mode Switch to change mode. Navigate to cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → Propertysheet properties and double-click. Make the required changes (Apply Custom) Start your system's Java instances. By way of an example, the next figure shows how you can find out the currently active data source in Offline Configuration Editor mode. 198 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 98: Displaying the Active Data Source Appendix: Attribute Mapping with Directory Services As described above, the UME has various preconfigured configuration files in which attribute mapping for directory services can be configured. You can use the Config Tool to view and change these and to configure the attribute mapping. User data that is sent to a directory service must be appropriately stored in the directory service. Mapping of the attributes is usually necessary to do this. Since different directory services also use different schemas for storing data, you must define which SAP data fields correspond to which directory attributes. If you use the Java API of the user administration component to access user data in your LDAP directory service, you must map the attribute names in the schema of the company's LDAP directory service to the attribute names that are used in the Java API of the user administration component. This need not always be a one-to-one mapping, but rather one field can be mapped to multiple attributes. The attributes assigned to the fields must also exist in the directory. If not, you need to extend the schema in the directory. A mapping for the logical attributes of the Java API of the user administration to physical attributes that are used for the InetOrgPerson schema in the X.500 standard is delivered in the preconfigured UME XML files. If you use this standard without modifications, you do not need to change the attribute mapping data. 2011 © 2011 SAP AG. All rights reserved. 199 Unit 5: User and Authorization Administration ADM800 Figure 99: Appendix: Attribute Mapping 1/2 As shown in the figure, the data field FULLNAME (full name) is made up from the attributes givenName and sn (surname - last name). In the case of the telephone number, for example, the field in the database is telephone, while in the LDAP-compatible directory service the field is called telephoneNumber. As described in the previous section, you can use the Config Tool to display the actively used data source and the preconfigured data source combinations as an XML file. The attribute mapping is maintained in the XML configuration file for the data source. You can use a download mechanism in the Config Tool to write the XML configuration files to operating system level, change them there, and then upload them back into the system. You can find the overview of the XML configuration files in the Config Tool: 200 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Figure 100: Appendix: XML Files You can configure the attribute mapping in the relevant XML configuration file. For detailed information about the entire structure of the XML configuration file, see the SAP online documentation. For the attribute mapping, you only need to change the tag <attributeMapping> as shown in the figure. Figure 101: Appendix: Attribute Mapping 2/2 2011 © 2011 SAP AG. All rights reserved. 201 Unit 5: User and Authorization Administration ADM800 UME Parameters After you have selected and precisely configured a data source, there are many other parameters with which you can influence the behavior of the UME. The following figure provides an overview of the relevant areas: Figure 102: Functions of the UME Parameters: The following list presents a number of important, selected parameters: Date source(s) • 202 ume.persistence.data_source_configuration Name of the UME configuration file (depending on the data source, other parameters may be relevant for connecting the data source) © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Security Policy ume.logon.security_policy.auto_unlock_time Number of minutes after which a user locked because of invalid login attempts is unlocked again (if the value is 0 then the user remains locked) • ume.logon.security_policy.lock_after_invalid_attempts Number of invalid login attempts after which a user is locked (automatically set to 0 in an AS ABAP+Java) • ume.logon.security_policy.password_special_char_required Determines the minimum number of special characters that the password must contain • ume.logon.security_policy.password_alpha_numeric_required Specifies the minimum number of numeric and alpahetical characters that the password must contain (if the number is 3 then the password must contain at least 3 numbers and 3 letters) • ume.logon.security_policy.password_expire_days Number of days before the password expires • ume.logon.security_policy.password_max_length or ume.logon.security_policy.password_min_length Maximum or minimum length of the password • ume.logon.security_policy.useridmaxlength or ume.logon.security_policy.useridminlength Maximum or minimum length of the user ID There are different security policy profiles, e.g. Default and Technical User. The properties for the profile Technical User is hard coded and can not be changed. The properties can be viewed in the useradmin → Configuration → Securtiy Policy by selecting the profile. Changes of the Default security profile properties affects the properties mentioned above and vice versa. You can create own security policy profiles where you can maintain property settings different to the Default security policy profile. These settings can only viewed and maintained in this “simple” mode and is not accessible via expert mode or the configuration editor mode of the config tool. In the UME Administration Console you can maintain user and assign them a security policy profiles, so you can have user with different values of the security policy properties. By default, the Default security policy profile is assigned. • 2011 © 2011 SAP AG. All rights reserved. 203 Unit 5: User and Authorization Administration ADM800 E-mail Notification The UME can be configured in such a way that in certain situations (e.g. after locking a user), e-mails are sent via an external SMTP server. For this to be possible, of course, valid e-mail addresses must be stored in the user master records. • • • • • • • ume.notification.mail_host Name of the SMTP server for e-mail notification ume.notification.create_performed or ume.notification.delete_performed An e-mail is sent to the user as soon as the user is created or deleted by the administrator ume.notification.create_approval or ume.notification.create_denied An e-mail is sent to the user as soon as the administrator approves or rejects the creation of a user account. ume.notification.lock_performed bzw. ume.notification.unlock_performed An e-mail is sent to the user when the administrator locks or unlocks the user ume.notification.pswd_reset_request An e-mail is sent from the user to the administrator when the password is to be reset ume.notification.unlock_request An e-mail is sent from the user to the administrator when the account is to be unlocked ume.notification.system_email The sender's e-mail address is sent with a dummy name (the address does not have to exist) Logging On and Off • • ume.logon.branding_image Path to the image displayed in the logon screen ume.logoff.redirect.url Address that is called following logoff (only for the SAP NetWeaver portal) SAP Logon Ticket • • • 204 login.ticket_lifetime Lifetime of the SAP Logon Ticket (Format <hours>:<minutes>) login.ticket_client Dummy “client” written to the SAP Logon Ticket (default 000, in the case of AS ABAP+Java must be set to a client (value) which is not used in the ABAP system) ume.logon.security.relax_domain.level Number of subdomains to be removed (a value of 2 means that the SAP Logon Tickets issued by a system on the host twdf1234.wdf.sap.corp are sent to servers in the domain sap.corp) © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Groups • • • • ume.supergroups.anonymous_group.displayname ID of the group of anonymous users (default Anonymous Users) ume.supergroups.authenticated_group.displayname ID of the group of logged on users (default Authenticated Users) ume.supergroups.everyone.displayname ID of the group of all users (default Everyone) ume.virtual_groups.names IDs of virtual groups (formed on the basis of certain user properties) Administration • • • • • 2011 ume.admin.addattrs Makes it possible to add customer-specific attributes to the user master record ume.admin.search_maxhits Maximum number of search hits displayed in the Administration Console (default 1000) ume.admin.search_maxhits_warninglevel Number of hits as of which a warning is issued in the Administration Console (default 200) ume.admin.wd.url.help URL to the online documentation (may, for example, point to the customer's local help system) ume.admin.wd.table.size.<name> Specifies the number of rows for output in the Administration Console (for <name>, there are small, medium and large) © 2011 SAP AG. All rights reserved. 205 Unit 5: User and Authorization Administration 206 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Exercise 9: User Management Engine Exercise Objectives After completing this exercise, you will be able to: • Save UME configuration data • Determine the current data source • Modify UME parameters Business Example Your company uses SAP NetWeaver Application Server ABAP+Java. Your UME data source consists of a combination of ABAB user management and a database. Task 1: Configuration Data Save and evaluate the current configuration data 1. If you have not already done so, log on to your SAP system at operating system level. 2. Log on to the UME administration console. 3. Save the current UME configuration in a file on your SAP server. 4. Using the ZIP file you have just saved, answer the following questions: – What data source is currently active? - After how many days does the user password expire? Result You have saved the current status of the UME configuration in a ZIP file and evaluated it. Task 2: Change Change a UME setting. 1. Use the UME Administration Console to change the threshold value for warnings in the case of extensive search results to 40. Hint: You may have to log off and log on to the system again for the changes to take effect. 2011 © 2011 SAP AG. All rights reserved. 207 Unit 5: User and Authorization Administration ADM800 Solution 9: User Management Engine Task 1: Configuration Data Save and evaluate the current configuration data 1. If you have not already done so, log on to your SAP system at operating system level. a) 2. 3. 4. See the task description. Log on to the UME administration console. a) Start a Web browser. b) Enter the URL http://<host name>.wdf.sap.corp:5<instance number>00/useradmin (for example: http://twdf1234.wdf.sap.corp:50000/useradmin). Save the current UME configuration in a file on your SAP server. a) Go to the view Configuration → Support. b) Choose the link Download Configuration Zip File. c) Choose Save and specify a path on your host. Using the ZIP file you have just saved, answer the following questions: – What data source is currently active? - After how many days does the user password expire? a) In the Windows Explorer, double-click to open the ZIP file which you saved previously. b) Double-click to open the file it contains: sapum-global.properties. c) You can use the following UME parameters to answer the questions which are asked: • • ume.persistence.data_source_configuration: Displays the current data source and should be set to dataSourceConfiguration_database_only.xml ume.logon.security_policy.password_expire_days: Displays the validity period of passwords in days. Result You have saved the current status of the UME configuration in a ZIP file and evaluated it. Continued on next page 208 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Structure and Configuration of the User Management Engine (UME) Task 2: Change Change a UME setting. 1. Use the UME Administration Console to change the threshold value for warnings in the case of extensive search results to 40. Hint: You may have to log off and log on to the system again for the changes to take effect. 2011 a) In the UME Administration Console, go to the view Configuration → User Admin UI. b) Switch to edit mode by choosing Change Configuration. c) Under Warning Threshold for Large Search Results, enter 40. d) Choose Save All Changes. © 2011 SAP AG. All rights reserved. 209 Unit 5: User and Authorization Administration ADM800 Lesson Summary You should now be able to: • List the various UME data sources • Determine the current data source assignment • Explain the term UME data partitioning • Identify and modify configuration parameters Related Information • • • 210 Online documentation for SAP NetWeaver 7.3x, path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → User Management Engine SAP Note 718383: Supported Data Sources and Modification Options SAP Note 948654 - Only use Global Settings for UME Properties © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration Lesson: User and Group Administration Lesson Overview This lesson presents the tools for the administration of users and groups. Lesson Objectives After completing this lesson, you will be able to: • List and use the tools for administering users and groups Business Example You are using AS Java and use a Java application there. To log on to this application, you require a valid user. This must usually first be created. It is also possible to combine multiple users into groups, such as all buyers. Roles (authorizations) are then assigned to the users or groups. Different tools are used, depending on the active data source of the UME. The Link between Users, Groups and Roles In the UME environment, the term Principle designates the following, central “objects”: Principles in the UME Environment: Principle Meaning User General properties of a user (such as name, e-mail, telephone number etc.) User account Logon-related properties of a user (such as password, validity, lock indicator and so on) Group Set of user and/or groups Role Set of (Java) authorizations For historical reasons, users and user accounts are different principles which are typically associated. When the term user is employed below, then, more precisely, it is the associated principles user and user account that are intended. Note: Depending on the SAP NetWeaver usage type, the principles have an additional meaning (thus in a SAP NetWeaver portal there are portal roles that are also handled in the same way as a UME principle). The following figure shows how you can assign principles. 2011 © 2011 SAP AG. All rights reserved. 211 Unit 5: User and Authorization Administration ADM800 Figure 103: Assigning Principles Users are usually assigned to groups to which roles are then assigned. However, it is also possible to assign roles to users directly. The Principle group supports hierarchies of groups. A group may also possess higher and lower-level groups. Users actually possess the roles which • • • are directly assigned to them are assigned to the groups to which they belong are assigned to the higher-level groups of the groups to which they belong When performing a search in the UME Administration Console, you must always check the field Search Recursively if you want to see indirectly assigned principles. Special Features of the ABAP System Data Source If you use a client of an ABAP system (and consequently the configuration file dataSourceConfiguration_abap.xml) as the data source then UME behaves as follows: • • • 212 The ABAP users are visible in AS Java and can log onto AS Java with their ABAP passwords. The ABAP roles are depicted in AS Java as UME groups of the same name. In AS Java, the assignment of ABAP users to ABAP (composite) roles appears as the assignment of UME users to UME groups. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration Figure 104: Special Features of the ABAP System Data Source The reason for this group administration concept is the shared authorization administration for applications that have both ABAP and Java components. Applications such as PI, for example, possess both ABAP and Java components. The ABAP authorizations are mapped with PFCG roles. The JEE authorizations are mapped with UME roles. A user should be assigned a PFCG role in the ABAP system and a UME role on the Java side for the user to have both ABAP and Java authorizations. To avoid this, the PFCG roles are visible as groups in the UME. The PFCG role (a group) can be assigned a UME role in the UME. If a user is assigned the PFCG role in the ABAP system, he or she automatically also receives the authorizations from the UME role. Assigning authorizations therefore becomes simpler. 2011 © 2011 SAP AG. All rights reserved. 213 Unit 5: User and Authorization Administration ADM800 The connection between the UME in an AS Java and user management in an AS ABAP is established via the Java Connector (JCo). To this end, a communication user existing in ABAP is stored as a UME parameter (this usually has SAPJSF in its name). This communication user's ABAP authorization determines whether it is possible to modify ABAP user master records using UME resources. • • The role SAP_BC_JSF_COMMUNICATION_RO gives the UME read access to the user data in the AS ABAP. The role SAP_BC_JSF_COMMUNICATION gives the UME write access to the user data in the AS ABAP. Hint: Even if the communication user gets write access to the user data in the AS ABAP, assigning users to PFCG roles in the UME is not possible. Note: If an ABAP system is used as the data source, then certain restrictions apply. These are listed in the online documentation. When configuring the “ABAP” data source, the ABAP user groups appear as Companies in the UME; this was introduced with Release 7.10. The assignment of the user group for authorization check in the user master record of the user in AS ABAP (transaction SU01) is represented in the UME as an assignment to the company. The delegated user administration can then be used immediately after the installation in the AS Java also. For more information about companies and the delegated user administration of the AS Java, go to the online documentation for SAP NetWeaver 7.3x, path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → Configuring User Management → Configuring Delegated User Administration Using Companies. Administration Tools The figures in this section explain the tools which you, as administrator, use to maintain users and groups. 214 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration Figure 105: UME Administration Console The most important tool for a user administrator in an AS Java system is the UME Administration Console. This functions independently of the configured data source and is implemented as an application running in a Web browser (based on Web Dynpro Java). You start the user-friendly Administration Console... • • • via the URL http(s)://<hostname>.<domain>:<http(s) port>/useradmin via the SAP NetWeaver Administrator (URL .../nwa) via the path Configuration → Security→ Identity Management in a portal via the path User Administration → Identity-Management. Hint: The function scope available in the Administration Console depends on the current user's Java authorizations. For more information, see the lesson “The Java Authorization Concept”. 2011 © 2011 SAP AG. All rights reserved. 215 Unit 5: User and Authorization Administration ADM800 Figure 106: ABAP User Administration If you have used the UME configuration file dataSourceConfiguration_abap.xml to connect an ABAP system client, then the usual AS ABAP tools (such as transaction SU01) are available for user administration. User Types In the same way as AS ABAP, the UME distinguishes between different user types (also called Security Policy Profiles) which are listed in the following table: UME User Types/Security Policies 216 User Type/Security Policy Logon to AS Java Password Change Forced Mapped ABAP user types (with ABAP system as data source) Default possible yes Dialog Technical users possible no System Internal service user not possible – – Unknown depends on AS ABAP user type depends on AS ABAP user type Communication, Service and Reference “Self created” possible yes – © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration You specify the user type when you create a user via the UME Administration Console (you may not create the type Unknown). In the case of existing users, subsequent changes to the user type are only possible with restrictions. Note: The last column in the table is only relevant if you are operating a UME with an ABAP system as the data source. Changes to the user type of an ABAP user are mapped to the corresponding UME user master record (and vice versa if the UME has write access to the ABAP system). Hint: You can define your own user types (also called Security Policy Profiles) in the UME configuration to provide you own set of password rules. For example you could create a user type with very strong password rules for your super users or emergency users. Log and Trace Files The following log and trace information is particularly relevant in the UME environment • • • • Security Log: File \usr\sap\<SID>\<instance_number>\j2ee\cluster\server<X>\log\system\security_<n>.log Security Audit Log: File \usr\sap\<SID>\<instance_number>\j2ee\cluster\server<X>\log\system\security_audit_<n>.log) Trace Files: File \usr\sap\<SID>\<instance_number>\j2ee\cluster\server<X>\log\defaultTrace_<n>.trc Directory Server Logs: If you use a directory server as data source, you can monitor the LDAP server accesses and connection pooling. The Security Audit Log allows you to trace changes to principles (e.g. modifications to users or created roles). The events that are logged depends on the set severity. The online documentation for SAP NetWeaver 7.3 describes the severity associated with each event (path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → Troubleshooting → Logging and Tracing 2011 © 2011 SAP AG. All rights reserved. 217 Unit 5: User and Authorization Administration 218 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: User and Group Administration Exercise 10: User and Group Administration Exercise Objectives After completing this exercise, you will be able to: • Administer users and group in the AS Java Business Example You are using AS Java and are responsible for user administration. New users should have access to selected applications. Task 1: User Maintenance Copy and modify a user using the UME Administration Console 1. Log on to the UME administration console with the your user. 2. Copy the template user TEMPLATE to a user JAVA-## (## corresponds to your group number). 3. What UME roles does your user JAVA-## have? Result You can manage users in the UME Administration Console. Task 2: Group Maintenance Create and modify UME groups using the UME Administration Console 1. Attempt to start the NWA as user JAVA-##. 2. Log on to the UME administration console with your course user. 3. Create a UME group GROUP-## and assign the user JAVA-## and the UME role NWA_READONLY to it. 4. Attempt to start the NWA as user JAVA-## again. Result You can use the UME Administration Console to manage groups. 2011 © 2011 SAP AG. All rights reserved. 219 Unit 5: User and Authorization Administration ADM800 Solution 10: User and Group Administration Task 1: User Maintenance Copy and modify a user using the UME Administration Console 1. Log on to the UME administration console with the your user. a) Start a Web browser. b) Enter the URL http://<hostname>.wdf.sap.corp:5<instance>00/useradmin (for example http://twdf1234.wdf.sap.corp:50000/useradmin). Note: Alternatively, you can call the UME Administration Console via the NWA. c) 2. 3. Log on with your user. Copy the template user TEMPLATE to a user JAVA-## (## corresponds to your group number). a) In the Identity Management area of the UME administration console, run a search for the user TEMPLATE. b) Select the hit and choose Copy to New User. c) In the General Information tab, enter the Login ID (set to JAVA-##), Password and Last Name (any). d) Do not change the other fields and Save the data. What UME roles does your user JAVA-## have? a) In the Administration Console, view the details for the user JAVA-## in display mode. b) Go to the Assigned Roles tab. Check Search Recursively and choose Go. You should see that the copied user has the same roles and (groups) as the copy template. Result You can manage users in the UME Administration Console. Continued on next page 220 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration Task 2: Group Maintenance Create and modify UME groups using the UME Administration Console 1. Attempt to start the NWA as user JAVA-##. a) Close any Web browser windows. b) Enter the URL http://<host name>.wdf.sap.corp:5<instance>00/nwa (for example: http://twdf1234.wdf.sap.corp:50000/nwa). c) Enter the logon data for the user JAVA-## (and change the password). You will see a message informing you that you do not have the necessary authorizations. 2. Log on to the UME administration console with your course user. a) Enter the URL http://<host name>.wdf.sap.corp:5<instance>00/useradmin (for example: http://twdf1234.wdf.sap.corp:50000/useradmin). Note: Alternatively, you can call the UME Administration Console via the NWA. b) 3. Log on with your course user. Create a UME group GROUP-## and assign the user JAVA-## and the UME role NWA_READONLY to it. a) In the Identity Management area of the UME administration console, switch to the Groups view. b) Choose Create Group. c) In the General Information tab, enter GROUP-## under Unique Name. d) Go to the Assigned Users tab. Under Available Users search for the user JAVA-##. Select this entry and click Add. e) Go to the Assigned Roles tab. Under Available Roles, search for the role NWA_READONLY. Select this entry and click Add. f) Save the group. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 221 Unit 5: User and Authorization Administration 4. ADM800 Attempt to start the NWA as user JAVA-## again. a) Close any Web browser windows. b) Enter the URL http://<host name>.wdf.sap.corp:5<instance>00/nwa (for example: http://twdf1234.wdf.sap.corp:50000/nwa). c) Enter the logon data for the user JAVA-##. You can now work with the NWA (for viewing). Result You can use the UME Administration Console to manage groups. 222 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: User and Group Administration Lesson Summary You should now be able to: • List and use the tools for administering users and groups Related Information • 2011 Online documentation for SAP NetWeaver 7.3x, path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → User Management Engine © 2011 SAP AG. All rights reserved. 223 Unit 5: User and Authorization Administration ADM800 Lesson: The Java Authorization Concept Lesson Overview To access an application, authentication is usually required. Not all users perform the same actions. Authorizations control which functions are permitted for a user. These authorizations must be assigned to a user. Lesson Objectives After completing this lesson, you will be able to: • • • • Explain the terms UME role and JEE security role List the authorization administration tools Assign actions and JEE security roles to a UME role Assign authorizations to users and groups Business Example SAP systems perform authorization checks within the SAP NetWeaver platform with a role-based approach. This means that you assign authorizations to users or groups with this specific system on the basis of the tasks that are to be performed. Users and Authorizations in SAP NetWeaver AS Java You can use authorizations to control which users can access a Java application, and which actions are permitted for a user. Authorizations are combined as roles and then assigned to a user or a user group by an administrator. The UME administration console (also integrated in the SAP NetWeaver Administrator) is used to assign authorizations. Authorization checks are built into a Java application. Here you can differentiate by different objectives. 224 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Java Authorization Concept Figure 107: Authorization Concept in the AS Java Protecting access to an application is done using the check to see whether the appropriate JEE security role is assigned to the requesting user. If the user does not have the required security role, an error message is displayed, and access is denied. The user already has access to the application when protecting access to individual activities. When requesting a special activity, for example Delete, the system checks whether the required JEE security role or UME permission is assigned (by means of UME action and UME role). Furthermore, you have the option of managing the protection of access to object instances (to folders or documents for example) using the Access Control List (ACL). With all the types of authorization check specified, the developer needs to define the authorizations query in the application. The developer decides which type of authorization check is to be used. This means in practice that the application determines which of the following, JEE security roles, UME permissions or UME ACLs, is used. JEE security roles are part of the JEE standard. UME permissions are an SAP-specific concept. Basically, you can define the same authorization checks with JEE security roles and UME permissions. Certain programming techniques for SAP applications that enhance the JEE standard require the use of UME permissions however. Therefore, an administrator should be familiar with both concepts. 2011 © 2011 SAP AG. All rights reserved. 225 Unit 5: User and Authorization Administration ADM800 Appendix: Declarative and Programmatical Authorizations Authorizations can be defined as either declarative or programmatical: • • Declarative means that the Java container (Web container, EJB container for example) forces the access control, without the developer having to do the programming work. A security role is defined in the application (by annotation) or in the deployment descriptor of the application. With each call the container checks whether the user is assigned to the required security role. Programmatical means that the developer uses a method to check whether a caller of an EJB or a Web resource is assigned to a certain authorization (security role or UME permission). The authorization check is defined directly in the source code. The declarative approach is usually used for JEE security roles. UME permissions are always checked programmatically. UME roles In the UME, there is a role concept with which authorizations, users or groups are assigned. These authorizations relate to authorization checks that are defined in the coding of the SAP Java application. The authorization concept in the UME uses permissions, actions, and roles. Permissions are defined in the Java coding (programmatical authorizations). Permissions are used to provide an access control. Permissions cannot be assigned directly to a user. An action is a collection of permissions. The developer of an SAP Java application defines his/her own actions and specifies the authorizations in the XML file actions.xml. Actions are displayed in the UME administration console. You can use the UME administration console to combine these actions into roles. UME roles group actions of one or more applications. You can assign UME roles to users in the UME administration console. Many of SAP's Java applications work with UME roles. 226 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Java Authorization Concept Figure 108: Structure of UME Roles The figure shows the Purchase Order application as an example. This application consists of multiple objects, such as Create order, Approve order, into which a developer has built the corresponding authorization check directly in the coding. With UME roles, permissions (authorization objects) are defined directly in the coding and then bundled into actions by the developer. The administrator can then combine these actions into roles, and assign them to a user or a user group. Developers can define very detailed authorizations on the basis of this concept, but the complexity is hidden behind a small number of actions. Actions are predefined by the developer, delivered to customers together with the application, and are available as an XML file. This allows a simple, clear and cross-application authorization concept for large Java applications. JEE security roles JEE security roles are part of the JEE standard. A JEE security role (also security role) is an abstract logical definition that protects access to an application, a service, or another resource. The security role consists of only a name and a description. The security role relates only to the application for which it was defined. Security roles allow an access check for JEE applications. The authorizations are usually defined declaratively. A developer creates a security role for each application object requiring protection. The protected application, its protected modules, classes or methods can be used by a user only if the administrator has assigned the users or groups to the security role. 2011 © 2011 SAP AG. All rights reserved. 227 Unit 5: User and Authorization Administration ADM800 Figure 109: Structure of JEE Security Roles The figure shows the Purchase Order application as an example. For this application, a developer creates objects such as Create order, Approve order, and so on. If you are using JEE security roles, a security role must be created for each object. The security role is defined either in the deployment descriptor (XML file) or directly in the application coding. In addition to the security roles specified by the developer, the UME generates further security roles that are valid for the entire application. The advantage here is that these roles can be combined into one application-wide security role for several security roles with the same name. The administator has only to concern himself/herself with the assignment of these security roles. You see the following behavior in the JEE standard: If a security role of a module is assigned to a user and he/she accesses another module of this application that is protected with a security role of the same name, he/she is granted access. The UME concept of combining the security roles of an application therefore only makes life a little easier for the administrator; it is not a security restriction. These security roles dynamically generated by the UME appear in the UME administration console as actions of the type J2EE. As a user administrator, you can now create UME roles that contain security roles (as actions) and assign these to users and groups. Using the detour of the UME roles, authorizations can in turn be assigned across all applications. There are some special actions you can use for segregation of duties. These are Manage_Role_Assignments_SoD and Manage_Roles_SoD. A user with the activity Manage_Role_Assignments_SoD is able to assign roles to any user but himself. A user with the Manage_Roles_SoD activity is able to create roles. The user is able to maintain all roles (assign actions) exept roles which are assigned to 228 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Java Authorization Concept himself. Do not combine the following actions: Manage_Users, Manage_Groups, Manage_Roles, Manage_all_Companies, Manage_Role_Assignments_SoD and Manage_Roles_SoD. Creating and Assigning UME Roles You can use the UME administration console to maintain UME roles. You perform both the assignment of actions to UME roles and the assignment of roles to UME users or groups there. JEE security roles are also displayed as actions in the UME administration console. After logging on with an administrator user, select the appropriate role, display the assigned actions, and change the role, if necessary. Then assign the role to a user and/or a group. Figure 110: Maintaining UME Roles (UME Administration Console) It is particularly important for the administration of authorizations that the Java application UME itself provides with a large number of actions. These UME actions permit the precise definition of the rights which users have to principles (e.g. “display all users” or “maintain all groups”). The online documentation for SAP NetWeaver 7.3x descirbes the actions supplied by SAP for the UME itself (path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → Reference Documentation for User Management → Standard UME Actions). 2011 © 2011 SAP AG. All rights reserved. 229 Unit 5: User and Authorization Administration ADM800 ACL Maintenance As described at the start of this lesson, you have the option of managing the protection of access to object instances (to folders or documents for example) using an Access Control List (ACL). The developer uses the ACL-API of the UME here. However, since the UME does not provide a UI for ACL maintenance, the developer must develop an individual UI for ACL maintenance. Therefore, there are differences in the UI and also in the authorizations to be assigned in concrete ACL maintenance depending on the application. There are details about ACL maintenance in the security and administration guide of the corresponding applications. In particular, ACL maintenance is used in addition to UME administration in the SAP NetWeaver Portal. 230 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Java Authorization Concept Exercise 11: Create and Assign UME Roles Exercise Objectives After completing this exercise, you will be able to: • Create UME roles • Assign actions to UME roles • Assign UME roles to users and groups Business Example SAP systems perform authorization checks within the SAP NetWeaver platform with a role-based approach. This means that you assign authorizations to users in this specific system on the basis of the tasks to be performed. Task: Create and Assign a UME Role Create a UME role with different actions and assign them to users. 1. Can the user JAVA-## call the UME Administration Console and make changes? Hint: You have created this user in a previous exercise. 2. Can the user JAVA-## call the application OpenSQLMonitors? 3. Use your course user to create a UME role SimpleAdmin-##, which allows change access to all users and access to the application OpenSQLMonitors. Assign this role to the group GROUP-##. 4. Can the user JAVA-## now make changes in the UME Administration Console? 5. Can the user JAVA-## now access the application OpenSQLMonitors? Result You can administer UME roles and assign actions. 2011 © 2011 SAP AG. All rights reserved. 231 Unit 5: User and Authorization Administration ADM800 Solution 11: Create and Assign UME Roles Task: Create and Assign a UME Role Create a UME role with different actions and assign them to users. 1. Can the user JAVA-## call the UME Administration Console and make changes? Hint: You have created this user in a previous exercise. a) Close any Web browser windows. b) Enter the URL http://<host name>.wdf.sap.corp:5<instance>00/useradmin (for example: http://twdf1234.wdf.sap.corp:50000/useradmin). c) Enter the logon data for the user JAVA-##. The user JAVA-## can use the Administration Console but has only read access to the principles. Note: Thanks to the UME role NWA_READONLY that was previously assigned to the group GROUP-##, the user possesses the action Read_All of the type UME which permits read access. 2. Can the user JAVA-## call the application OpenSQLMonitors? a) Close any Web browser windows. b) Enter the URL http://<host name>.wdf.sap.corp:5<instance>00/OpenSQLMonitors (for example: http://twdf1234.wdf.sap.corp:50000/OpenSQLMonitors). c) Enter the logon data for the user JAVA-##. The system displays an error message due to insufficient authorizations. The user JAVA-00 has not assigned the required security role. Continued on next page 232 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: The Java Authorization Concept 3. 4. Use your course user to create a UME role SimpleAdmin-##, which allows change access to all users and access to the application OpenSQLMonitors. Assign this role to the group GROUP-##. a) Log on to the UME administration console with your course user. b) In the Identity Management area of the UME administration console, switch to the Role view. c) Choose Create Role. d) In the General Information tab, enter SimpleAdmin-## under Unique Name. e) Go to the Assigned Actions tab. Under Available Actions search for the action Manage_Users. Select this entry and click Add. f) Under Available Actions search for the action OpenSQLMonitorLogonRole. Select the entry of the type J2EE and choose Add. g) Go to the Assigned Groups tab. Under Available Groups search for the group GROUP-##. Select this entry and click Add. h) Save the new role. Can the user JAVA-## now make changes in the UME Administration Console? a) Log on at the UME Administration Console as user JAVA-## and test the possibilities. The user JAVA-## can use the Administration Console and administer all the users but is not authorized to modify roles and groups (and can therefore also not assign these principles to users). 5. Can the user JAVA-## now access the application OpenSQLMonitors? a) Log on to the application OpenSQLMonitors with the user JAVA-##? The call works this time. Result You can administer UME roles and assign actions. 2011 © 2011 SAP AG. All rights reserved. 233 Unit 5: User and Authorization Administration ADM800 Lesson Summary You should now be able to: • Explain the terms UME role and JEE security role • List the authorization administration tools • Assign actions and JEE security roles to a UME role • Assign authorizations to users and groups Related Information • 234 Online documentation for SAP NetWeaver 7.3, path SAP NetWeaver Library: Function-Oriented View → Security → Identity Management → User Management of the Application Server Java → Reference Documentation for User Management © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Special Principles Lesson: Special Principles Lesson Overview You require special users to administer an AS Java. You can log on to the administration tools initially with these users only. If you have forgotten or locked the password of your administration user, you can activate an emergency user that can still log on. Lesson Objectives After completing this lesson, you will be able to: • • • List a number of “special” principles Change the password of the standard administration user Activate the emergency user Business Example You are using Java applications that run on AS Java. The (only) administration user has been locked due to failed logon attempts and no further administrative activities can be performed. In this case, you need to activate the emergency user. Default Principles During AS Java installation, certain principles are created for special purposes while others are created subsequently by the administrator. In this section you will get to know some of these “default principles”. In some cases, the default IDs of these principles depend on the employed data source. Default Users The following table presents important default users: 2011 © 2011 SAP AG. All rights reserved. 235 Unit 5: User and Authorization Administration ADM800 Default Users Data Source ABAP System User Database LDAP Server Add-In (ABAP+Java) Administration user Administrator Administrator J2EE_ADMIN Guest user Guest Guest J2EE_GUEST J2EE_GST_<SID> Communication user to data source SAP<SID>DB Freely definable SAPJSF Remote J2EE_ADM_<SID> SAPJSF_<SID> The administration user has unrestricted access to AS Java and you should therefore assign this account to only very few people and assign a password that is very secure. If you use a client of an ABAP system as the data source, the listed user master records are located on this ABAP client (and can be viewed in SU01): In the case of a remote ABAP system, the SID of the AS Java system is incorporated in the user name. This allows you to distinguish between users if multiple AS Java systems are connected to a single ABAP client. Among other things, the guest user is used for anonymous access to AS Java, for example in order to construct the logon form in the Web browser. This user is normally locked. Do not delete this user. In addition to the users that are listed above, application-specific default users also exist in a pure AS Java system. You must therefore take care of further default users depending on the installed product. Default Groups The following table presents important default groups: Default Groups Group 236 Data Source Database LDAP Server ABAP System Administrators Administrators Administrators SAP_J2EE_ADMIN Guests Guests Guests SAP_J2EE_GUEST © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Special Principles Group Data Source Database LDAP Server ABAP System All Users Everyone Everyone Everyone Authenticated Users Authenticated Users Authenticated Users Authenticated Users Anonymous Users Anonymous Users Anonymous Users Anonymous Users All the users that you assign to the Administrator group are given extensive system authorizations (in respect of the administrator role assigned to this group (see next section)). Initially, the default administration user is entered here. Initially, the default guest user and the default guest role are assigned to the guest group. In addition, the UME possesses a built-in groups adapter which is responsible for the following three special groups: • • • Everyone: Every (!) user is always a member of this group. If you assign roles/actions to this group then every user (including those that you may create in the future) has the corresponding authorizations. Authenticated Users: You assign all the users who - in whatever way - have to log onto AS Java to this group. Anonymous Users: You assign all the users who are able to log on anonymously to this group (configured by means of the UME property ume.login.guest_user.uniqueids). The following therefore applies: Authenticated Users + Anonymous Users = Everyone. In addition to these default groups, there are also application-specific groups depending on the installed product. Default Roles The following table presents important default roles: Default Roles Role 2011 Meaning Administrator Provides extensive Java authorizations for administrators (via actions) Everyone Contains some basic end user authorizations. © 2011 SAP AG. All rights reserved. 237 Unit 5: User and Authorization Administration ADM800 Although by default no users are directly assigned to these two roles, the Administrator role is linked to the Administrators group. The role Everyone is assigned to the group Everyone; therefore, it is assigned to all users. Emergency User You need to activate an emergency user for the UME if the user management has been incorrectly configured and no one can log on to an application, or all administration users are locked. This emergency user is called SAP* and can log on to any application and to the configuration tools. The SAP* user has full administration authorizations and, for security reasons, does not have a default password. You set the password as part of emergency user activation. Hint: The emergency user is generally not important in systems in which the UME runs (successfully) with the ABAP data source as you can always create a user in ABAP and give it Java administration rights. Figure 111: Activating the Emergency User 238 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Special Principles Proceed as follows to make a correction with the SAP* user: 1. Activate the SAP* user a) b) c) d) e) Stop the Java cluster. In the Config Tool, open the Configuration Editor mode. Navigate to cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → Propertysheet properties.. Switch to change mode. Set ume.superadmin.activated to the value true. Set ume.superadmin.password to any password. 2. f) Start the Java cluster. Change the configuration a) Log on with the user SAP* and the password that you have just set Note: While the SAP* user is active, all other users are deactivated 3. b) Correct the problem; for example, unlock the administration user Deactivate the SAP* user a) b) c) d) e) f) 2011 Stop the Java cluster. In the Config Tool, open the Configuration Editor mode. Navigate to cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → Propertysheet properties.. Switch to change mode. Set ume.superadmin.activated to the value false. Start the Java cluster. © 2011 SAP AG. All rights reserved. 239 Unit 5: User and Authorization Administration 240 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: Special Principles Exercise 12: Default Principles and Emergency Users Exercise Objectives After completing this exercise, you will be able to: • Evaluate default principles • Activate the emergency user Business Example You are using a Java application that runs on AS Java. The (only) administration user has been locked due to failed logon attempts and no further administrative activities can be performed. In this case, you need to activate the emergency user. Task 1: Default Groups Evaluation of the groups assigned to a user. 1. Which UME groups are assigned to your current user? Which of these are default groups? Result You can evaluate the default groups which are assigned to a user. Task 2: Emergency User Activate (and deactivate) the UME emergency user. 1. Stop all application servers of your system. Note: You do not have to stop the Central Services instance. 2. Activate the UME emergency user. 3. Start all application servers of your system. 4. Try to log on to the UME administration console with your normal user for this course. 5. Try to log on to the UME administration console with the user SAP*. 6. Deactivate the UME emergency user. Result You can activate the UME emergency user. 2011 © 2011 SAP AG. All rights reserved. 241 Unit 5: User and Authorization Administration ADM800 Solution 12: Default Principles and Emergency Users Task 1: Default Groups Evaluation of the groups assigned to a user. 1. Which UME groups are assigned to your current user? Which of these are default groups? a) Enter the URL http://<host name>.wdf.sap.corp:5<instance number>00/useradmin (for example: http://twdf1234.wdf.sap.corp:50000/useradmin). b) Enter the logon data of the user. c) In the Identity Management area of the administration console, run a search for the user that you just used to log on. d) Select the hit. e) Go to the Assigned Groups tab. If you perform a search with the Search Recursively field selected, all the assigned groups will be listed. By using the search criterion Built-in Groups Adapter, you will see the default groups Everyone and Authenticated Users to which this user is assigned. Result You can evaluate the default groups which are assigned to a user. Continued on next page 242 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Special Principles Task 2: Emergency User Activate (and deactivate) the UME emergency user. 1. Stop all application servers of your system. Note: You do not have to stop the Central Services instance. 2. 3. a) Open a Web browser and call the SAP Management Console using the URL http://<host name>.wdf.sap.corp:5<instance number>13, for example http://twdf1234.wdf.sap.corp:50013. b) Confirm the security information and wait until the SAP MC opens. c) Select the entry for the whole system, right-click and choose Stop. d) In the selection box under Choose which components have to be affected by the operation., choose Dialog Instances and confirm with OK. e) Wait until all instances, except for the Central Services instance, have stopped. Activate the UME emergency user. a) Start the Config Tool at operating system level of your SAP system. b) Go to Switch to configuration editor mode. c) Navigate to cluster_config → system → custom_global → cfg → services → com.sap.security.core.ume.service → Propertysheet properties and switch in the edit mode. d) Set the parameter ume.superadmin.activated to the value true and the parameter ume.superadmin.password to any password. Start all application servers of your system. a) Open a Web browser and call the SAP Management Console using the URL http://<host name>.wdf.sap.corp:5<instance number>13, for example http://twdf1234.wdf.sap.corp:50013. b) Confirm the security information and wait until the SAP MC opens. c) Select the entry for the whole system, right-click and choose Start. d) In the selection box under Choose which components have to be affected by the operation., choose Dialog Instances and confirm with OK. e) Wait until all instances have started. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 243 Unit 5: User and Authorization Administration 4. Try to log on to the UME administration console with your normal user for this course. a) 5. The logon fails with the message “User SAP* is active”. Try to log on to the UME administration console with the user SAP*. a) 6. ADM800 The logon is successful. In the UME Administration Console, the user SAP* can call all the principles. Deactivate the UME emergency user. a) Stop all application servers of your system again. See step 1. b) Use the Configuration Editor Mode to reset the parameter ume.superadmin.activated to its shipped value false (Restore default button). See step 2. c) Start all application servers of your system. See step 3. Result You can activate the UME emergency user. 244 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Special Principles Lesson Summary You should now be able to: • List a number of “special” principles • Change the password of the standard administration user • Activate the emergency user Related Information • • 2011 Online documentation for SAP NetWeaver CE 7.1x, path SAP NetWeaver Composition Environment Library → Administrator’s Guide→ Administration of SAP NetWeaver CE→ Security and User Administration→ Identity Management for Application Server Java Online documentation for SAP NetWeaver CE 7.1x, path SAP NetWeaver Composition Environment Library → Administrator’s Guide → SAP NetWeaver CE Security Guide → Security Guides for CE Core Components→ SAP NetWeaver Application Server Java Security Guide → User Administration and Authentication © 2011 SAP AG. All rights reserved. 245 Unit 5: User and Authorization Administration ADM800 Lesson: Logon Procedure of the AS Java Lesson Overview The Standard Java Authentication and Authorization Service (JAAS) was implemented in the AS Java to support different logon procedures. This lesson explains the basics of the configuration of the AS Java logon procedures. Lesson Objectives After completing this lesson, you will be able to: • • • • • list the supported logon procedures of the AS Java explain the functions of login modules change the standard logon procedure of the AS Java explain Kerberos logon (SPNego) set up X.509 logon Business Example The company XYZ Petro uses a custom-built Composite Application as a central procurement process. The process requires accesses to various runtime systems. A uniform logon procedure should be used for all involved systems to simplify access to the process and the connected systems for the users without neglecting security aspects. Basics The Standard Java Authentication and Authorization Service (JAAS) was implemented in the AS Java to support different logon procedures. Depending on the requirement and scenario, this enables you to choose the appropriate logon procedure, or to develop your own logon mechanisms according to JAAS: 246 • • Anonymous logon User ID and password • • • • • – Basic authentication – Digest Access Authentication – Form-based Digital Certificates (X.509) Windows Logon (Kerberos) Logon Ticket Assertion Ticket SAML Assertions © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java When logging on with your user ID and password, you distinguish between the HTTP standard methods Basic Authentication and Digest Access Authentication (see RCF2617 of the Internet Engineering Task Force (IETF): http://tools.ietf.org/html/rfc2617), as well as entering data in an HTML form. Logon Ticket and Assertion Ticket are SAP-specific procedures with Assertion Ticket used only for system-system communication (see below). The anonymous logon is expecially interesting for Internet scenarios with the SAP NetWeaver Portal. It enables system access without specifying logon data. SAML stands for Security Assertion Markup Language and is a standard of the Organization for the Advancement of Structured Information Standards (OASIS). SAML enables authentication in open system environments, such as in the Internet for example. Details about the standard can be found under http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security. The implementation of JAAS in SAP NetWeaver AS Java is based on so-called login modules. A login module is the concrete implementation of the flow logic of the authentication. Several login modules can be combined to make a login module stack (also called authentication stack). Configuration of the Logon Procedure The administrator can adjust the logon procedures for the delivered applications. For this purpose, maintain the policy configuration of the corresponding application in the SAP NetWeaver Administrator (http://host:Port/nwa) under Configuration → Security → Authentication and Single Sign-0n. Using the policy configuration, a login module or an authentication stack can be assigned to an application to determine the logon procedure for this application. 2011 © 2011 SAP AG. All rights reserved. 247 Unit 5: User and Authorization Administration ADM800 Figure 112: Policy Configuration in the SAP NetWeaver Administrator You can find the delivered authentication stacks in the policy configuration, for example ticket under the type Template. Since ticket is the standard logon procedure for all Web Dynpro applications and for most of the other applications in the AS Java as well, you can easily set up another procedure by changing ticket. If you do not want to change the delivered standard, you can also define your own authentication stacks. Custom-built login modules in accordance with the JAAS standard can also be implemented. To ensure that the SAP applications also use the stack you created, this must be assigned in the policy configuration of the application. Here however you have to differentiate between a simple Web application or a Web Dynpro Java application. In simple Web applications, the required login modules or the required authentication stack is assigned directly in the policy configuration of the concrete application. All applications that are programmed in Web Dynpro Java are configured using a single servlet (sap.com/tc~wd~dispwda*webdynpro_dispatcher). Therefore, you cannot set up different logon procedures for different Web Dynpro Java applications; you can only set up one uniform logon procedure for all. If no explicit policy configuration is stored for a Web application or for sap.com/tc~wd~dispwda*webdynpro_dispatcher, the authentication stack configured with the UME parameter ume.login.context is used. 248 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java In summary, you have the following change options for the logon procedure: • • • Direct change of the ticket policy configuration. Change of the policy configuration sap.com/tc~wd~dispwda*webdynpro_dispatcher for all applications in the Web Dynpro Java collectively. Change of each individual policy configuration for simple Web applications. A policy configuration comprises login modules. There are many login modules available in AS Java, some of them are: • • • • • BasicPasswordLoginModule: This login module is used to perform user authentication with user name and password, e.g. in JSP forms. ClientCertificateLoginModule: This login module performs a certificate logon to J2EE Engine. CreateTicketLoginModule: This login module is used to create the logon tickets. EvaluateTicketLoginModule: This login module is used to verify the logon tickets issued by other servers SPNegoLoginModule: This login module is used for SSO with Kerberos authentication. It implements the Simple and Protected GSSAPI Negotiation Mechanism (SPNEGO) on SAP NetWeaver AS Java. . • Note: A list of login modules can be found in the online documentation for SAP NetWeaver 7.3 at: SAP NetWeaver Library: Function-Oriented View → Security → User Authentication and Single Sign-On → Authentication Imfrastructure → AS Java Authentication Infrastructure → Login Modules The ticket policy configuration is shown as an example here: Policy Configuration: ticket 2011 Login Module Flag EvaluateTicketLoginModule SUFFICIENT BasicPasswordLoginModule REQUISITE CreateTicketLoginModule OPTIONAL © 2011 SAP AG. All rights reserved. 249 Unit 5: User and Authorization Administration ADM800 In the above example the login modules are configured in such a way that: 1. 2. 3. AS Java checks to see if the user presents a valid logon ticket, if so the logon ticket is accepted and no further processing is done. If no logon ticket exists, AS Java authenticates the user using Basic Authentication. Only after the successful authentication, the user is issued a logon ticket. The following table explains the meaning of the possible Flags in detail. Login Module Flags Flag Required to Succeed Description OPTIONAL No Authentication proceeds down the list if the module has succeeded or has failed. REQUIRED Yes Authentication proceeds down the list of modules if the module has succeeded or has failed. REQUISITE Yes If successful, the authentication proceeds down the list, otherwise control returns to the application – that is, the authentication does not proceed. SUFFICIENT No If the authentication is successful, control returns to application; otherwise, the authentication proceeds. To give a better understanding the next table shows the effects of the different flags during a authentication process. Example of Login Module Flags Module Flag Module1 Pass/Fail Pass/Fail SUFFICIENT Pass Fail Fail Module 2 REQUISITE – Pass Fail Module 3 OPTIONAL – Pass – Pass Pass Fail Overall Authentication Pass/Fail Note: See the online documentation for more information about configuring logon tickets on SAP NetWeaver AS Java 250 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Logon Ticket In the standard delivery, the AS Java uses logon tickets in the logon procedure. The authentication stack ticket that is used first checks whether there is a valid logon ticket (EvaluateTicketLoginModule). If there is not a valid logon ticket, the user must enter his/her user ID and password (BasicPasswordLoginModule). A logon ticket is issued if the entries are correct (CreateTicketLoginModule). The logon ticket is sent from the browser in the standard system for each request, which goes to the same domain of the issuing system and can therefore be used to log on to other systems (Single Sign-On). Caution: If logon tickets are used as a logon procedure or for Single Sign-On, you should make sure that the logon ticket cannot be caught and/or forwarded. We therefore strongly recommend encryption here. Figure 113: Logon Ticket Technically, the logon ticket is a session cookie. This means that the cookie is not saved, rather it is only held in the working memory. It is deleted when the browser session finishes. The logon ticket contains the following data: 2011 © 2011 SAP AG. All rights reserved. 251 Unit 5: User and Authorization Administration ADM800 Figure 114: Contents of the Logon Ticket Prerequisite for Single Sign-On with the logon ticket is an identical user ID in the issuing and accepting system. The accepting system must be configured in such a way that the logon ticket of the issuing system is accepted. Using the digital signature, the issuing system can be uniquely identified and at the same time the integrity of the logon ticket can be verified. Assertion Ticket Assertion tickets are an extension of the logon tickets. The main differences are: • • • Assertion tickets are not stored temporarily like logon tickets Assertion tickets are only valid for 2 minutes Assertion tickets are issued directly for the respective target system. Older systems interpret the assertion ticket as a logon ticket. The configuration for Single Sign-On is therefore along the same lines as the configuration for logon tickets. The application area of the assertion tickets is first and foremost the system-system communication via RFC or HTTP. For example, in the AS Java, destinations can use the assertion ticket as a logon method. In the AS Java, you can use the login modules CreateAssertionTicketLoginModule and EvaluateAssertionTicketLoginModule as well as the policy configuration evaluate_assertion_ticket to issue and verify assertion tickets. An assertion ticket is issued when a connection to a remote system is established. 252 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Example: Kerberos Logon (SPNego) Another supported logon procedure, which is of particular relevance to Windows environments, is the Kerberos logon. A Kerberos ticket is evaluated by the AS Java using the SPNegoLoginModule during the logon. SPNego stands for Simple and Protected GSS-API Negotiation Mechanism. The GSS-API (Generic Security Services API) is a standard interface for security services. However, the GSS-API is troublesome in that different implementations are incompatible with one another. Therefore, a standard was developed with SPNego to find out which authentication mechanisms understand both communication partners and for these then to be used. In Microsoft Windows, the SPNego interface is used as Intergrated Windows Authentication. The actual authentication mechanism here is NTLM (NT LAN Manager) or Kerberos. The following figure clarifies the Kerberos logon process for the AS Java in combination with a Microsoft Active Directory Server (used as a Windows-Domain-Controller and Key Distribution Center (KDC)): Figure 115: Kerberos Logon We assume that the user has already logged on to the Windows domain successfully. The user was already identified by the Active Directory for this purpose. Prerequisite for the logon to the AS Java: There must be some sort of assignment of the users in the AS Java to the users in the Active Directory. The best way this works is if the UME of the AS Java uses the Active Directory as a data source via the LDAP interface. However, other scenarios are also supported. 2011 © 2011 SAP AG. All rights reserved. 253 Unit 5: User and Authorization Administration ADM800 If the user (Alice) now wants to call an application in the AS Java using the Web browser (step 1), the AS Java sends the HTTP error message 401 - Unauthorized and at the same time the value Negotiate in the HTTP header www-authenticate (step 2). In step 3, the browser requests a Kerberos ticket (for Alice) from the KDC to log on to the host used in step 1. The Web browser transfers the host name of the AS Java in the request. The KDC must now (in step 4) identify the service user ID (see below) for this AS Java using the transferred host name and issue a ticket that is encrypted with the secret key of the service user that is found when identification takes place. In step 5, the encrypted Kerberos ticket is then sent to the browser of the user (Alice). This passes the ticket in step 6 on to the AS Java. In step 7, the AS Java decrypts the ticket using the secret key (of the service user in the KDC, see below) and the user (Alice) is authenticated. From this process some required configuration settings for the Kerberos logon are derived: • Configuration of the KDC – – Setting up a service user to identify the AS Java. Registering a Service Principal Name (SPN) for the host name of the AS Java and assignment to the service user. The KDC can identify the service user at a later stage using the SPN. The secret key of the service user is used to encrypt the Kerberos ticket. • Exchanging the Secret Key The secret key of the service user must be provided in the AS Java (keytab file) so that the encrypted Kerberos can be decrypted and verified. This is done by the configuration wizard. • Configuration of the UME Since the users that have logged on to the Windows domain are now going to log on to the AS Java, the UME must know the Windows users either directly or an assignment of user IDs must be made between Windows users and UME users. You can do so, for example, by configuring the Active Directory as a data source for the UME. • Setting up the Policy Configuration The logon procedure must be set up in such a way that the SPNegoLoginModule is used. This is done by the configuration wizard. • Setting Java VM Parameters The Java VM must be configured with special parameters to enable the Kerberos logon. This is done by the configuration wizard. 254 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Some of the steps specified are carried out using the SPNego configuration wizard. See SAP Note 994791 for more information about this. Example: X.509 Client Authentication The following figure shows use cases for X.509 client authentication. Figure 116: X.509 Client Certificates Mutual authentication takes place using SSL. It can be used to access the following SAP systems: • • • Web Applications of SAP NetWeaver AS ABAP SAP GUI for Windows/Java (with partner product), SAP NetWeaver AS ABAP SAP NetWeaver AS Java It can also be used for access to non-SAP Systems that support SSL. It can be used for the Internet or intranet. Authentication takes place with every request. • 2011 Actually no user intervention is required for “Multiple-Log-On”. © 2011 SAP AG. All rights reserved. 255 Unit 5: User and Authorization Administration ADM800 In addition to using SSL for encrypting connections, you can use SSL and X.509 client certificates for authenticating client or user access requests to the AS Java. When using client certificates, authentication takes places transparently for the user with the underlying SSL security protocol. Therefore, you can use authentication with client certificates to integrate the AS Java in a Single Sign-On environment. The following steps describe how to configure X.509 Client Authentication for AS Java. SSL needs already to be configured. 1. Using the Key Storage management functions of the SAP NetWeaver Administrator (NWA), place the root certificates for each of the client certificates CAs as a CERTIFICATE entry in the ICM_SSL_<instance_ID> view. If the certificate already exists in another Key Storage view on the AS Java, you can copy the existing certificate entry to the corresponding view. Alternatively, if the certificate exists as a file in your file system, you can import it to the AS Java Key Storage. 2. Using the VCLIENT profile parameter of ICM for the AS Java, select whether the AS Java should: • 3. 4. Request (but not require) that the user presents a client certificate for authentication. • Require that client certificates are to be used for authentication. Configure the ClientCertLoginModule for establishing the AS Java user ID from the client certificate and filtering provided certificates. Adjust the login module stacks and configure the login modules for those applications that accept client certificates as the authentication mechanism. More information can be found in the online documentation for SAP NetWeaver 7.3x, pathSAP NetWeaver Library: Function-Oriented View → Security → User Authentication and Single Sign-On → Authentication for Web-Based Access→ X.509 Client Certificates. 256 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Exercise 13: Configuration of X.509 Client Authentication Exercise Objectives After completing this exercise, you will be able to: • set up X.509 Client Authentication Business Example You want to configure the use of client certificates (SAP Passport) for user authentication. Caution: Use the Web browser on the operation system of your SAP system to do this exercise. As it may not be possible on your front end. Note: SSL needs already to be configured successfully. Make sure the HTTPS port of the ICM is configured using the option VCLIENT=1. Task 1: Get an SAP Passport Get an SAP Passport from SAP Service Marketplace. Note: SAP Passport is used as an example here. You can use any CA to issue X.509 client certificates. 1. Get an SAP Passport for your SAP Service Marketplace S-User. If you do not have an S-User the instructor may be able to assist you. Result An SAP Passport X.509 client certificate is installed in your browser. Caution: Remove the certificate from the browser after this whole exercise. Task 2: X.509 Client Certificates for AS Java Configure your AS Java to allow authentication with SAP Passport X.509 client certificates. 1. Check if the SAPPassportCA certificate entry in the your AS Java is still valid. If not download the SAP Passport CA root certificate from SAP Service Marketplace and import it to your AS Java. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 257 Unit 5: User and Authorization Administration ADM800 2. Configure your AS Java to trust SSL requests with a certificate signed by the SAP Passport CA certificate. Update the PSE files. 3. Set the UME parameter ume.logon.allow_cert to true using the NWA. 4. Change the ticket policy configuration to include the client authentication. Use the table below for the exact order, the needed flags, and special options needed. Caution: Be very accurate in this step. Otherwise you may not be able to log on anymore to your AS Java. Login Module Flag Options EvaluateTicketLoginModule SUFFICIENT ume.configuration.active=true ClientCertLoginModule OPTIONAL Rule1.getUserFrom=wholeCert CreateTicketLoginModule SUFFICIENT ume.configuration.active=true BasicPasswordLoginModule REQUISITE CertPersisterLoginModule OPTIONAL CreateTicketLoginModule OPTIONAL ume.configuration.active=true Caution: Be careful: there is no “-” in any of the options! A possibly printed “-” would only be the indicator for a line break. 5. Test the connection for example using the UME Administration Console:https://twdfSSSS.wdf.sap.corp:5$$01/useradmin. The initial log on should fail, because no certificate is mapped yet. If you enter your user and password, your certificate is mapped to your user ID automatically. You can verify (and change) this in the user details of your user. The next log on works without any password. 258 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Solution 13: Configuration of X.509 Client Authentication Task 1: Get an SAP Passport Get an SAP Passport from SAP Service Marketplace. Note: SAP Passport is used as an example here. You can use any CA to issue X.509 client certificates. 1. Get an SAP Passport for your SAP Service Marketplace S-User. If you do not have an S-User the instructor may be able to assist you. a) Call the URL http://service.sap.com/tcs and log on with your S-User. b) Navigate to Single sign-on in the SAP Service Marketplace with your SAP Passport c) Choose Apply for an SAP Passport. d) Enter your S-User's password and choose Apply for an SAP Passport. e) Now you need to confirm all popups and questions that may occur with ok or yes. You also may need to allow the browser to execute some scripts to be successful. This depends on your browsers security settings. Result An SAP Passport X.509 client certificate is installed in your browser. Caution: Remove the certificate from the browser after this whole exercise. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 259 Unit 5: User and Authorization Administration ADM800 Task 2: X.509 Client Certificates for AS Java Configure your AS Java to allow authentication with SAP Passport X.509 client certificates. 1. 2. Check if the SAPPassportCA certificate entry in the your AS Java is still valid. If not download the SAP Passport CA root certificate from SAP Service Marketplace and import it to your AS Java. a) Open the NWA of your AS Java. b) Go to Configuration → Security → Certificates and Keys. c) Select the view TrustedCAs and select the entry SAPPassportCA. Check if the valid until date is still valid. d) If it is valid proceed with the next step 2. e) If not choose Rename, enter SAPPassportCA_old and choose Rename. f) Download the root certificate from http://service.sap.com/tcs → Download Area → Root Certificates → SAP Passport CA Certificate. Save it as a file named SAPPassportCA.cer g) In the TrustedCAs view choose Import Entry. Select the entry type X.509 certificate, browse to the file, select it and choose Import. Configure your AS Java to trust SSL requests with a certificate signed by the SAP Passport CA certificate. Update the PSE files. a) In the NWA go to Configuration → Security → Certificates and Keys. b) Select the entry ICM_SSL_<instance_ID>. c) If an expired entry for SAPPassportCA exists, than delete this entry. If an valid entry for SAPPassportCA exists, proceed with step 3. Choose Copy Entry, select From View: TrustedCAs and From Entry: SAPPassportCA and choose Import. d) Now choose Export View to PSE. e) Repeat this for all other ICM_SSL_<instance_ID> entries. Continued on next page 260 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java 3. 4. Set the UME parameter ume.logon.allow_cert to true using the NWA. a) In the NWA go to Configuration → Security → Authentication and Single Sign-On and choose the Properties tab. b) Choose Modify. c) Select the check box for option Enable showing certificate logon URL link on the logon page (ume.logon.allow_cert). d) Choose Save and confirm the popup with Yes. Change the ticket policy configuration to include the client authentication. Use the table below for the exact order, the needed flags, and special options needed. Caution: Be very accurate in this step. Otherwise you may not be able to log on anymore to your AS Java. Login Module Flag Options EvaluateTicketLoginModule SUFFICIENT ume.configuration.active=true ClientCertLoginModule OPTIONAL Rule1.getUserFrom=wholeCert CreateTicketLoginModule SUFFICIENT ume.configuration.active=true BasicPasswordLoginModule REQUISITE CertPersisterLoginModule OPTIONAL CreateTicketLoginModule OPTIONAL ume.configuration.active=true Continued on next page 2011 © 2011 SAP AG. All rights reserved. 261 Unit 5: User and Authorization Administration ADM800 Caution: Be careful: there is no “-” in any of the options! A possibly printed “-” would only be the indicator for a line break. 5. a) In the NWA go to Configuration → Security → Authentication and Single Sign-On → Authentication and choose the Components tab. b) Select the entry ticket and choose Edit. c) Edit the list of the logon modules in a way, that the result is exactly like given in the table above. d) To add a logon module choose Add, select the Logon Module Name, for example ClientCertLoginModule and choose Add. e) Use Move Up or Move Down to sort the login modules like given in the table above. f) Choose the correct Flag from the drop down. g) To edit the options of a login module, select the login module and choose for example Add to enter a new option like given in the table above. h) Finally Save the policy configuration. Test the connection for example using the UME Administration Console:https://twdfSSSS.wdf.sap.corp:5$$01/useradmin. The initial log on should fail, because no certificate is mapped yet. If you enter your user and password, your certificate is mapped to your user ID automatically. You can verify (and change) this in the user details of your user. The next log on works without any password. a) Open a browser and enter the URL https://twdfSSSS.wdf.sap.corp:5$$01/useradmin. The initial log on should fail, because no certificate is mapped yet. Enter your user and password. b) Enter your user into the search field and choose Go. c) Select your user and choose the tab Certificates. Your certificate should be already visible here. d) The next log on should work without any password. Result You successfully configured X.509 client authentication. Caution: Remove you SAP Passport from you Web browser now. 262 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Logon Procedure of the AS Java Lesson Summary You should now be able to: • list the supported logon procedures of the AS Java • explain the functions of login modules • change the standard logon procedure of the AS Java • explain Kerberos logon (SPNego) • set up X.509 logon Related Information For more information about the configuration of the Kerberos logon, go to the SAP Library for SAP NetWeaver 7.3 underAdministrator’s Guide → Configuration of SAP NetWeaver CE → Initial System Configuration → Configuring Security → Configuring Authentication and Single Sign-On → Integration in Single Sign-On (SSO) Environments → Single Sign-On for Web-Based Access → Using Kerberos Authentication.. For detailed information about Kerberos, go to http://web.mit.edu/kerberos/. For a good overview of Kerberos under Windows, go to http://www.microsoft.com/msj/0899/kerberos/kerberos.aspx. For information about SPNego, go to http://msdn.microsoft.com/en-us/library/ms995329.aspx. SAP Note 994791: SPNego Wizard 2011 © 2011 SAP AG. All rights reserved. 263 Unit Summary ADM800 Unit Summary You should now be able to: • List the various UME data sources • Determine the current data source assignment • Explain the term UME data partitioning • Identify and modify configuration parameters • List and use the tools for administering users and groups • Explain the terms UME role and JEE security role • List the authorization administration tools • Assign actions and JEE security roles to a UME role • Assign authorizations to users and groups • List a number of “special” principles • Change the password of the standard administration user • Activate the emergency user • list the supported logon procedures of the AS Java • explain the functions of login modules • change the standard logon procedure of the AS Java • explain Kerberos logon (SPNego) • set up X.509 logon 264 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. Which of the following data sources are supported by the UME: Choose the correct answer(s). □ □ □ □ A B C D Database File system ABAP user management Directory service 2. What is the purpose of the data partitioning of the UME? 3. You can lock users with the UME administration console. Determine whether this statement is true or false. □ □ 4. True False You can assign permissions directly to users in the UME administration console. Determine whether this statement is true or false. □ □ 5. True False The term JEE security role is another name for a UME role. Determine whether this statement is true or false. □ □ 6. True False If the emergency user (SAP*) is activated, the administration user (Administrator, J2EE_ADMIN or J2EE_ADMIN_<SID>) can also log onto AS Java. Determine whether this statement is true or false. □ □ 2011 True False © 2011 SAP AG. All rights reserved. 265 Test Your Knowledge ADM800 Answers 1. Which of the following data sources are supported by the UME: Answer: A, C, D These three types of data source are available for the UME. 2. What is the purpose of the data partitioning of the UME? Answer: The data partitioning allows a distribution of the users or user attributes to different data sources. 3. You can lock users with the UME administration console. Answer: True The UME administration console allows you to administer users. 4. You can assign permissions directly to users in the UME administration console. Answer: False Permissions are combined into actions, and the administrator then combines these into roles. UME roles can be assigned to a user. 5. The term JEE security role is another name for a UME role. Answer: False A JEE security role is part of the JEE standard and is mostly used for a declarative authorization check. A UME role is an (SAP) extension to the JEE standard and is used for a programmable authorization check. 6. If the emergency user (SAP*) is activated, the administration user (Administrator, J2EE_ADMIN or J2EE_ADMIN_<SID>) can also log onto AS Java. Answer: False If the emergency user SAP* is activated then no other users can log onto AS Java. 266 © 2011 SAP AG. All rights reserved. 2011 Unit 6 Java Connector and Destinations Unit Overview This unit describes various communication options of AS Java with other systems. The focus is on the first lesson, which gives an overview of the communication options and takes a look at “Destinations” and the “JCo RFC Provider”. In the appendix, there is a brief overview of the Java Connector Architecture from the management view. Unit Objectives After completing this unit, you will be able to: • • • • • • List some communication paths Maintain connections of the destination service Maintain JCo RFC connections Locate the JCA Connection Factories of the SAP Java Resource Adapter. Maintain parameters of a JCA Connection Factory of the SAP Java Resource Adapter. Create a new JCA Connection Factory for the SAP Java Resource Adapter. Unit Contents Lesson: Connections to other Systems ......................................268 Exercise 14: Connections to other Systems ............................273 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture ......................................................................282 Exercise 15: Optional: Connections to other Systems with the Java Connector Architecture ....................................................287 2011 © 2011 SAP AG. All rights reserved. 267 Unit 6: Java Connector and Destinations ADM800 Lesson: Connections to other Systems Lesson Overview Connections to other systems can be established in different places. In this lesson you will learn about the most important places where such connections can be maintained. Lesson Objectives After completing this lesson, you will be able to: • • • List some communication paths Maintain connections of the destination service Maintain JCo RFC connections Business Example You are using the SAP NetWeaver AS Java and you want to get to know the most important options for communication paths. Connection Options between AS Java and EIS There are different connection options that an AS Java can use for an Enterprise Information System (EIS). The type of connection option also depends, for example, on the EIS. As examples, we will mainly take a look at AS Java or AS ABAP systems as the EIS in this lesson. Figure 117: Connections between AS Java and EIS 268 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems An AS Java can open outbound connections directly from an application or the connection can be established by a service. One of these services is the destination service, which we will take a closer look at in this lesson. Direct connections of applications to an EIS are covered in the appendix of this unit; the type of connection depends on the corresponding adapter. Applications can use connections to an EIS via services. Likewise, services can use the connections of other services. Figure 118: Connection of Services between AS Java and EIS The destination service can administer both HTTP and RFC connections to an EIS. Connections to SAP systems with AS ABAP are mostly of the type RFC, whereas connections to an SAP system with AS Java are mostly of the type HTTP. In an SAP system with AS ABAP and Java (dualstack), the type of connection will depend on whether the connection is opened primarily for the AS Java or the AS ABAP. After the installation, some entries (for example, for the connection to the SLD) were already created in the destination service. You can create and maintain destinations in the NWA under Configuration → Infrastructure → Destinations. You define the communication type HTTP or RFC when you create a new destination. In a connection of the type HTTP, the connection to the EIS and the service that is to be addressed is determined via a URL. If the EIS is an AS ABAP that is to be addressed via HTTP, SID and language can be defined in the destination data or client of the target system. In the Logon Data, for example, 2011 © 2011 SAP AG. All rights reserved. 269 Unit 6: Java Connector and Destinations ADM800 different authentication mechanisms, such as “entering user and password”, “ X.509 certificate”, “assertion ticket”, “logon ticket” or “user mapping” can be set up. Hint: With regard to the security guidelines, you should check whether you can use user/password as an authentication method or better still another authentication method, “assertion ticket” for example. In connections of the type RFC, the target server (Target Host), instance number (System Number), SID and data with regard to the gateway are specified. RFC connections always require a gateway through which communication takes place. An AS ABAP system is usually involved in an RFC connection. Since each AS ABAP instance contains a gateway, this is used for RFC communication. As of AS Java 7.10, each AS Java Central Service instance contains a gateway, which can also be used for RFC communication. The data with regard to the gateway includes the Gateway Host on which the gateway runs (in most cases, it is identical to the target server specification if we are talking about an AS ABAP instance) and the Gateway Service that usually runs on port 33<instance_number> or can be specified as sapgw<instance_number> (for example, this is port 3310 or sapgw10 for instance number 10 of the target instance). You can also switch between different authentication mechanisms in the logon data. If the RFC trace is activated, trace files of the type jrfc<process ID of the server process>_<Nr>.trc as well as the developer traces (dev_jrfc.trc) are created at operating system level of the instance in the server directory. The JCo Provider service is responsible for incoming RFC connections. RFC communication takes place mostly with AS ABAP systems. Since RFC communication takes place via a gateway, the gateway of the AS ABAP instance is mostly used. Figure 119: Incoming RFC Connections 270 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems The AS ABAP is the initiator of RFC communication to the AS Java. The JCo RFC Provider in the AS Java receives the data; therefore, the connection between the JCo Provider and the gateway must already be established. You can maintain the connection to the gateway in the NWA of the AS Java under Configuration → Infrastructure → Jco RFC Provider. You must start the connection to the gateway so that the AS ABAP can use it for communication to the AS Java. The connection for the gateway is established under the Program ID (the name of the JCo RFC Provider). An RFC destination of connection type “T” (maintained in transaction SM59) must be created in the AS ABAP for communication; the Program ID (name) of the JCo RFC Provider is specified as a “Registered Server Program” for this. The name of the RFC destination in the AS ABAP may differ from the program ID; for reasons of clarity, however, the same name for the program ID and the RFC destination is usually chosen. The gateway data, used to run the communication, is specified in the server configuration for the JCo RFC Provider; the number of parallel connections that should be possible for the AS Java via this destination is also specified (field Server Count). If the option Local JCo Servers is selected, then only one server process is responsible in the system for the communication; this server process establishes the number of connections to the gateway configured in Server Count. If the option Local JCo Servers is deactivated, then each server process opens the number of connections to the gateway configured in Server Count. The data of the AS ABAP system that is to use this communication path is specified on the tab page Repository Configuration. If the checkbox Use RFC Destination is not selected, then the data for the AS ABAP system is maintained on this tab page. If the checkbox Use RFC Destination is selected, then a destination that was maintained with the destination service is entered and the connection data stored there is used. However, in this case also, the Program ID of the JCo RFC Provider is registered in the gateway. Of course, the data of the same gateway must be maintained in the AS ABAP for the RFC destination, as with the JCo RFC Provider or the destination service. 2011 © 2011 SAP AG. All rights reserved. 271 Unit 6: Java Connector and Destinations 272 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: Connections to other Systems Exercise 14: Connections to other Systems Exercise Objectives After completing this exercise, you will be able to: • Create and maintain a destination of the type RFC for AS ABAP systems • Create and maintain a destination of the type HTTP for AS ABAP or AS Java systems • Create and maintain JCo RFC Providers Business Example Your AS Java system requires data from another SAP system or has to transfer data to another SAP system. Your task is to configure the connections to other SAP systems. Your instructor will give you the required system data. Task 1: Edit Destination of the Type HTTP Edit the destination SLD_DataSupplier to enable the storage of connection data for the “SLD system” used in the course. Your instructor will give you the host name, user, password and port. Use Ping Destination to check the correct data of the destination. 1. Call the NWA and switch to destination maintenance. 2. Maintain the destination SLD_DataSupplier for the system on which the SLD of your course runs. Your instructor will give you the system data. Task 2: Create Destination of the type RFC without Load Balancing Create a destination of the type RFC without load balancing and without Local System Connection for the SAP Solution Manger system that is used in your course. Your instructor will give you the host name, SID, instance number, user, password and client. 1. Call the NWA and switch to destination maintenance. 2. Create a destination without load balancing and without Local System Connection with the name Group<##>_RZ20_SolMan (<##> stands for your group number) for client “000” of the Solution Manager system that is used in your course. Your instructor will give you the system data. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 273 Unit 6: Java Connector and Destinations ADM800 Task 3: Create and Start JCo RFC Providers Create a JCo RFC Provider with the name SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) for the SAP Solution Manger system that is used in your course. To do so, use the destination “Group<##>_RZ20_SolMan” that you created in the task “Create Destination of the type RFC without Load Balancing”. 1. Call the NWA and switch to maintenance of the JCo RFC Provider. 2. Create a JCo RFC Provider with the name SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) and start this. The connection should go to client “000” of the Solution Manager system that is used in your course. You have already maintained the connection data in the task Create Destination of the type RFC without Load Balancing in the destination “Group<##>_RZ20_SolMan”; therefore, use this destination. Task 4: Optional: Check your JCo RFC Provider Connection to the Gateway. Log on to the central instance of the Solution Manager system and check whether your JCo RFC Provider is registered with the gateway of the Solution Manager system. 1. Log on with your user in client 100 of the central instance (instance number 00) of the Solution Manager system and use transaction SMGW or the report RSGWREGP to check whether your JCo RFC Provider is registered with the gateway. Task 5: Optional: Create Destination of the type RFC with Load Balancing Create a destination of the type RFC with load balancing for the SAP Solution Manger system that is used in your course. Your instructor will give you the host name, SID, instance number, user, password and client. 274 1. Call the NWA and switch to destination maintenance. 2. Create a destination with the name Group<##>_to_SolMan (<##> stands for your group name) for client “000” of the Solution Manager system that is used in your course. Use RFC_GROUP as the logon group. Your instructor will give you the system data. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems Solution 14: Connections to other Systems Task 1: Edit Destination of the Type HTTP Edit the destination SLD_DataSupplier to enable the storage of connection data for the “SLD system” used in the course. Your instructor will give you the host name, user, password and port. Use Ping Destination to check the correct data of the destination. 1. Call the NWA and switch to destination maintenance. a) 2. Follow the menu path Configuration → Infrastructure → Destinations in the NWA. Maintain the destination SLD_DataSupplier for the system on which the SLD of your course runs. Your instructor will give you the system data. a) Select the destination mentioned above and choose Edit. b) Go to the field URL of the tab page Connection and Transport and replace the existing URL with the host name and port on which the SLD runs, for example http://twdf9999.wdf.sap.corp:52000. c) Check on the tab page Logon Data whether Basic (User ID and Password) is entered as Authentication and correct the setting for this value if necessary. d) Enter your user name and password in the SLD system under Basic Authentication. e) Save your entry. f) Check your entries using the push-button Ping Destination. You receive the message: “Successfully connected to HTTP destination SLD_DataSupplier ...”. In a later unit, you will see the data of your system in the SLD. Task 2: Create Destination of the type RFC without Load Balancing Create a destination of the type RFC without load balancing and without Local System Connection for the SAP Solution Manger system that is used in your course. Your instructor will give you the host name, SID, instance number, user, password and client. 1. Call the NWA and switch to destination maintenance. a) Follow the menu path Configuration → Infrastructure → Destinations in the NWA. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 275 Unit 6: Java Connector and Destinations 2. ADM800 Create a destination without load balancing and without Local System Connection with the name Group<##>_RZ20_SolMan (<##> stands for your group number) for client “000” of the Solution Manager system that is used in your course. Your instructor will give you the system data. a) Create a new destination by choosing Create .... b) In the step General Data, maintain the name Group<##>_RZ20_SolMan (<##> stands for your group number) for the field Destination Name for your destination. Use the input help to select the type RFC for the field Destination Type. Choose Next to go to the next step. c) In the step Connection and Transport Security Settings, select the selection field No for Load Balancing. The checkbox Local System Connection is not selected. Maintain the fields System ID and Target Host with the data that your instructor has given you. Enter the “Full Qualified Host Name”, for example “twdf0000.wdf.sap.corp”, for Target Host. Enter <I-Nr> in the field System Number with <I-Nr> the instance number of the instance that runs on the host specified under Target Host. Enter the same value in the field Gateway Host as entered in the field Target Host. Enter sapgw<I-Nr> in the field Gateway Service with <I-Nr> standing for the instance number that runs on the host specified under “Gateway Host”. Choose Next to go to the next step. d) In the step Logon Data, use the input help to select the value Technical User for the field Authentication. Enter EN in the field Language. Enter 000 in the field Client. Enter CSMREG in the field User Name with <##> standing for your group number. Enter the password in the field Password that your instructor gave you for the user mentioned above. Choose Finish to save and thus complete your entries. e) Check your entries using the push-button Ping Destination. You receive the message: “Successfully connected to System ... ”. Continued on next page 276 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems Task 3: Create and Start JCo RFC Providers Create a JCo RFC Provider with the name SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) for the SAP Solution Manger system that is used in your course. To do so, use the destination “Group<##>_RZ20_SolMan” that you created in the task “Create Destination of the type RFC without Load Balancing”. 1. Call the NWA and switch to maintenance of the JCo RFC Provider. a) 2. Follow the menu path Configuration → Infrastructure → Jco RFC Provider in the NWA. Create a JCo RFC Provider with the name SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) and start this. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 277 Unit 6: Java Connector and Destinations ADM800 The connection should go to client “000” of the Solution Manager system that is used in your course. You have already maintained the connection data in the task Create Destination of the type RFC without Load Balancing in the destination “Group<##>_RZ20_SolMan”; therefore, use this destination. a) Create a new JCo RFC Provider by choosing Create. b) In the step Server Configuration , maintain the name SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group name) for the field Program ID for your JCo RFC Provider. In the field Gateway Host, enter the same value as entered in the task “Create Destination of the type RFC without Load Balancing”. In the field Gateway Service, enter the same value as entered in the task “Create Destination of the type RFC without Load Balancing”. Change the value for the field Server Count to 4. Choose Next to go to the next step. c) Select the checkbox for Use RFC Destination in the step Repository Configuration. In the field RFC Destination Name, enter the name of the destination from the task “Create Destination of the type RFC without Load Balancing” (Group<##>_RZ20_SolMan with <##> as your group number). Choose Next to go to the next step. d) In the step Security Settings, do not select the checkbox for Use SNC and choose Next to go to the next step. e) In the step Additional Options, select the checkbox for Local JCo Server and choose Next to go to the next step. f) Check your entries in the step Summary, and choose Finish to save and thus complete your entries. g) Start the JCo RFC Provider that you just created by selecting it and choosing Start. You receive the message “The JCo servers started successfully.” Continued on next page 278 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems Task 4: Optional: Check your JCo RFC Provider Connection to the Gateway. Log on to the central instance of the Solution Manager system and check whether your JCo RFC Provider is registered with the gateway of the Solution Manager system. 1. Log on with your user in client 100 of the central instance (instance number 00) of the Solution Manager system and use transaction SMGW or the report RSGWREGP to check whether your JCo RFC Provider is registered with the gateway. a) Check whether you are logged on to the instance whose gateway you have specified for the JCo RFC Provider with sapgw<I-Nr>. System → Status displays under Servername the instance name including the instance number in the form of <host name>_<SID>_<I-Nr>. You may have to scroll in the instance name. b) Call transaction SMGW and choose Goto → Logged on Clients. Sort by LU Name. You should now find your host under LU Name and under TP Name the program ID that you have specified for the JCo RFC Provider (for example, SAP.CCMS.J2EE.<SID><##>, <SID> stands for the system ID of your system, <##> stands for your group number). c) Alternatively, you can call transaction SA38 and start the program RSGWREGP there. You should now find your host under Server host name and under Program ID the program ID that you have specified for the JCo RFC Provider (for example, SAP.CCMS.J2EE.<SID><##>, <SID> stands for the system ID of your system, <##> stands for your group number). Task 5: Optional: Create Destination of the type RFC with Load Balancing Create a destination of the type RFC with load balancing for the SAP Solution Manger system that is used in your course. Your instructor will give you the host name, SID, instance number, user, password and client. 1. Call the NWA and switch to destination maintenance. a) Follow the menu path Configuration → Infrastructure → Destinations in the NWA. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 279 Unit 6: Java Connector and Destinations 2. ADM800 Create a destination with the name Group<##>_to_SolMan (<##> stands for your group name) for client “000” of the Solution Manager system that is used in your course. Use RFC_GROUP as the logon group. Your instructor will give you the system data. a) Create a new destination by choosing Create. b) In the step General Data, maintain the name Group<##>_to_SolMan (<##> stands for your group number) for the field Destination Name for your destination. Use the input help to select the type RFC for the field Destination Type. Choose Next to go to the next step. c) In the step Connection and Transport Security Settings, select the selection field Yes for Load Balancing. Maintain the fields System ID, Message Server and Message Server Service with the data that your instructor has given you. Enter the “Full Qualified Host Name”, for example “twdf0000.wdf.sap.corp”, for Message Server. Enter sapmsDEV in the field Message Server Service. Enter the same value in the field Gateway Host as entered in the field Message Server. Enter RFC_GROUP in the field Logon Group. Enter sapgw<I-Nr> in the field Gateway Service with <I-Nr> standing for the instance number that runs on the host specified under “Gateway Host”. Choose Next to go to the next step. d) In the step “Logon Data”, use the input help to select the value Technical User for the field Authentication. Enter EN in the field Language. Enter 000 in the field Client. Enter <CourseID>-## in the field User Name with <##> standing for your group number. Enter the password in the field Password that your instructor gave you for the user mentioned above. Choose Finish to save and thus complete your entries. e) 280 Check your entries using the push-button Ping Destination. You receive the message: “Successfully connected to System ...”. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connections to other Systems Lesson Summary You should now be able to: • List some communication paths • Maintain connections of the destination service • Maintain JCo RFC connections 2011 © 2011 SAP AG. All rights reserved. 281 Unit 6: Java Connector and Destinations ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture Lesson Overview In this lesson, you will find out about where you can maintain connection data of the Java Connector Architecture (JCA) for other systems using the SAP Java Resource Adapter. Lesson Objectives After completing this lesson, you will be able to: • • • Locate the JCA Connection Factories of the SAP Java Resource Adapter. Maintain parameters of a JCA Connection Factory of the SAP Java Resource Adapter. Create a new JCA Connection Factory for the SAP Java Resource Adapter. Business Example You are using the SAP NetWeaver AS Java and you want to get to know communication paths of applications for Enterprise Information Systems. Connections to AS ABAP Systems using the SAP Java Resource Adapter In the previous lesson, you got to know the destination and the JCO RFC Provider as communication paths to an EIS. Furthermore, you already know that applications can establish direct communication paths to an EIS. The Java Connector Architecture (JCA) provides programming interfaces, which allow developers to use the communication with EIS via adapters. 282 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture Figure 120: Resource Adapter A Java EE application server with integrated Java Connector Architecture (JCA) provides a communication path between applications and Enterprise Information Systems (EIS). To address an EIS via the Connector Architecture, a resource adapter that supports the Connector Architecture is required for the EIS. The figure “Resource Adapter” shows that only one resource adapter is required for each EIS type for a Java EE application server to communicate with the EIS. The resource adapter can be used in each AS Java because the Java Connector Architecture is integrated into the AS Java. In this lesson, we will take a look at the SAP Java Resource Adapter, which can be used to establish connections to AS ABAP systems, as an example of such a connection option. This lesson is not aimed at developers rather at administrators who want get an idea of where developers maintain communication paths for an EIS, in particular for AS ABAP systems. The “JCA Connection Factory” plays a decisive role here as you will find out. 2011 © 2011 SAP AG. All rights reserved. 283 Unit 6: Java Connector and Destinations ADM800 Figure 121: SAP Java Resource Adapter SAP Java Resource Adapter 1.5 is an adapter that is used for communication with AS ABAP systems. The connection data is maintained in the related JCA Connection Factories. The following section describes how you go from the resource adapters to the JCA Connection Factories. You can find the resource adapter in the NWA using the menu path Configuration Management → Infrastructure → Application Resources. If you restrict to Resource Adapters under Show, you find SAPJavaResourceAdapter15 there. You can find the relevant resource of the Java Connector Architecture (JCA) on the tab page Dependent JCA Resource from which you can display the data for the JCA Resource using the push-button JCA Resource Details. You can find all the “JCA Connection Factories” for the JCA Resource on the tab page Dependent JCA Connection Factory, for example, the eis/SAPJRAFactory that is delivered as a template. Each JCA Connection Factory contains the connection data for AS ABAP systems. This data is maintained on the tab page Configuration Properties. Information about the target server, system number, client and so on is included in the connection data. You also have the option of storing destinations as connection data here. For this you create a new property DestinationName if it is not already contained in the JCA Connection Factory and store the destination there. Hint: You can use a destination as of 7.10 SPS6. If, despite maintaining a destination, you are forced to enter a password, remove the property Password in this JCA Connection Factory. In the JCA Resource, you can create further JCA Connection Factories using Copy and Add New JCA Connection Factory; here you can maintain more connection data. For this maintain a JNDI Name (JNDI stands for Java Naming and Directory Interface) on the tab page Namespace. When creating such a JCA Connection Factory, a “JCA Managed Connection Factory” is automatically created for 284 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture the JCA Connection Factory through which the actual communication runs. However, we are interested only in the JCA Connection Factories when it comes to maintaining connection data. 2011 © 2011 SAP AG. All rights reserved. 285 Unit 6: Java Connector and Destinations 286 © 2011 SAP AG. All rights reserved. ADM800 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture Exercise 15: Optional: Connections to other Systems with the Java Connector Architecture Exercise Objectives After completing this exercise, you will be able to: • Determine the JCA Connection Factories in the application resources • Create and maintain JCA Connection Factories for SAPJavaResourceAdapter15 Business Example Your developers program applications that have to exchange data with an AS ABAP, for example. The Java Connector Architecture is used for programming and you want to maintain a JCA Connection Factory with the connection data for the AS ABAP for the SAPJavaResourceAdapter or provide the developer with the required information. Your instructor will give you the required system data. Task 1: Determine JCA Connection Factories Determine which JCA Connection Factories exist for SAPJavaResourceAdapter15 in your system and which connection data is maintained there. 1. Call the NWA on your system and switch to the maintenance of application resources. 2. Restrict the list to the Resource Adapters. 3. Display the related JCA Resource for SAPJavaResourceAdapter15 and switch to the detail view of this resource. 4. Display the related JCA Connection Factories for the JCA Resource SAPJavaResourceAdapter15. 5. Now determine the connection data of the JCA Connection Factory “eis/SAPJRAFactory”. Task 2: Create a JCA Connection In your system, create a JCA Connection Factory for SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr01 (<##> stands for your group number) from the copy template eis/SAPJRAFactory. There maintain the connection data for client 100 of the Solution Manager system that is used in your course. 1. Call the NWA on your system and switch to the maintenance of application resources. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 287 Unit 6: Java Connector and Destinations ADM800 2. Restrict the list to the all JCA Resources. 3. Create a further JCA Connection Factory for the JCA Resource SAPJavaResourceAdapter15 with the name <course name><##>_Nr01 (<##> stands for your group number) as a copy of the JCA Connection Factory eis/SAPJRAFactory. 4. Maintain the connection data of the JCA Connection Factory <course name>-<##>_Nr01. Task 3: Create JCA Connection with Destination In your system, create a JCA Connection Factory for SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr02 (<##> stands for your group number) from the copy template eis/SAPJRAFactory. Enter the destination Group<##>_to_SolMan or Group<##>_RZ20_SolMan (<##> stands for your group number) for the connection data. 288 1. Call the NWA on your system and switch to the maintenance of application resources. 2. Restrict the list to the all JCA Resources. 3. Create a further JCA Connection Factory for the JCA Resource SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr02 (<##> stands for your group number). 4. Maintain the destination Group<##>_to_SolMan or Group<##>_RZ20_SolMan (<##> stands for your group number) for the connection data of the JCA Connection Factory <course name>-<##>_Nr02. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture Solution 15: Optional: Connections to other Systems with the Java Connector Architecture Task 1: Determine JCA Connection Factories Determine which JCA Connection Factories exist for SAPJavaResourceAdapter15 in your system and which connection data is maintained there. 1. Call the NWA on your system and switch to the maintenance of application resources. a) 2. Restrict the list to the Resource Adapters. a) 3. 4. Follow the menu path Configuration → Infrastructure → Application Resources in the NWA. Select Resource Adapters in the field Show. Display the related JCA Resource for SAPJavaResourceAdapter15 and switch to the detail view of this resource. a) Select the resource adapter SAPJavaResourceAdapter15 and switch to the JCA Resource Details on the tab page Related JCA Resource. b) A further navigation field JCA Resource now appears directly below Resource Details; the name of the JCA Resource (in this case also SAPJavaResourceAdapter15) is displayed above this field. You can now switch between both using the navigation fields Resource Adapter and JCA Resource. c) Make sure that you are in the JCA Resource display and select the tab page Related JCA Connection Factories. Display the related JCA Connection Factories for the JCA Resource SAPJavaResourceAdapter15. a) Make sure that you are in the JCA Resource display and select the tab page Related JCA Connection Factories. For the moment, you should see only the JCA Connection Factory eis/SAPJRAFactory. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 289 Unit 6: Java Connector and Destinations 5. ADM800 Now determine the connection data of the JCA Connection Factory “eis/SAPJRAFactory”. a) Choose JCA Connection Factory Details. A further navigation field JCA Connection Factory now appears directly to the right of the navigation field JCA Resource; the name of the JCA Connection Factory (in this case eis/SAPJRAFactory) is displayed above this field. b) Now select the tab page Configuration Properties. There you can find, for example, the names of the properties SAPClient, UserName, Password and so on. No value has been maintained in the field Value for all these fields; that is, communication data has not yet been maintained. Task 2: Create a JCA Connection In your system, create a JCA Connection Factory for SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr01 (<##> stands for your group number) from the copy template eis/SAPJRAFactory. There maintain the connection data for client 100 of the Solution Manager system that is used in your course. 1. Call the NWA on your system and switch to the maintenance of application resources. a) 2. Follow the menu path Configuration → Infrastructure → Application Resources in the NWA. Restrict the list to the all JCA Resources. a) Select JCA Resources in the field Show. Continued on next page 290 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture 3. Create a further JCA Connection Factory for the JCA Resource SAPJavaResourceAdapter15 with the name <course name><##>_Nr01 (<##> stands for your group number) as a copy of the JCA Connection Factory eis/SAPJRAFactory. a) Select the JCA Resource “SAPJavaResourceAdapter15” and switch to the tab page Related JCA Connection Factories. b) Select eis/SAPJRAFactory as a copy template. c) Use Copy and Add New JCA Connection Factory to create a new JCA Conneciton Factory for the selected JCA Resource SAPJavaResourceAdapter15. d) Enter the name <CourseID>-<##>_Nr01 (<##> stands for your group number) in the field JNDI Name and confirm your entry by pressing the Return button. Finaly you Save your entry. The system is telling you that “New JCA Connection Factory ... has been added successfully”. e) 4. Select the JCA Resource Details again, and you can see, your new JCA Resource Maintain the connection data of the JCA Connection Factory <course name>-<##>_Nr01. a) Select the resource “<course name>-<##>_Nr01” from Related JCA Connection Factories and use JCA Connection Factory Details to switch to the resource details of the JCA Connection Factory. b) Now select the tab page Configuration Properties. There you can find, for example, the names of the properties SAPClient, UserName, Password, ServerName and the PortNumber (the instance number is meant here) for the Solution Manager system that is used in your course. c) Save your entry. The system issues the message “The resource has been saved successfully”. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 291 Unit 6: Java Connector and Destinations ADM800 Task 3: Create JCA Connection with Destination In your system, create a JCA Connection Factory for SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr02 (<##> stands for your group number) from the copy template eis/SAPJRAFactory. Enter the destination Group<##>_to_SolMan or Group<##>_RZ20_SolMan (<##> stands for your group number) for the connection data. 1. Call the NWA on your system and switch to the maintenance of application resources. a) 2. Restrict the list to the all JCA Resources. a) 3. Follow the menu path Configuration → Infrastructure → Application Resources in the NWA. Select JCA Resources in the field Show. Create a further JCA Connection Factory for the JCA Resource SAPJavaResourceAdapter15 with the name <CourseID>-<##>_Nr02 (<##> stands for your group number). a) Select the JCA Resource “SAPJavaResourceAdapter15” and switch to the tab page Related JCA Connection Factories. b) Select eis/SAPJRAFactory before you copy it using Copy and Add New JCA Connection Factory. c) Enter the name <CourseID>-<##>_Nr02 (<##> stands for your group number) in the field JNDI Name and Save your entry. The system issues a dialog box telling you that “New JCA Connection Factory ... has been added successfully”. Close this. 4. 292 Maintain the destination Group<##>_to_SolMan or Group<##>_RZ20_SolMan (<##> stands for your group number) for the connection data of the JCA Connection Factory <course name>-<##>_Nr02. a) Select the resource “<course name>-<##>_Nr02” from Related JCA Connection Factories and use JCA Connection Factory Details to switch to the resource details of the JCA Connection Factory. b) Now select the tab page Configuration Properties. Use Add New Property to add a new property with the name DestinationName here. c) Enter the destination Group<##>_to_SolMan or Group<##>_RZ20_SolMan (<##> stands for your group number) from the previous lesson as the value for the property DestinationName. d) Save your entry. The system issues the message “The resource has been saved successfully”. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Appendix: Connections to other Systems with the Java Connector Architecture Lesson Summary You should now be able to: • Locate the JCA Connection Factories of the SAP Java Resource Adapter. • Maintain parameters of a JCA Connection Factory of the SAP Java Resource Adapter. • Create a new JCA Connection Factory for the SAP Java Resource Adapter. 2011 © 2011 SAP AG. All rights reserved. 293 Unit Summary ADM800 Unit Summary You should now be able to: • List some communication paths • Maintain connections of the destination service • Maintain JCo RFC connections • Locate the JCA Connection Factories of the SAP Java Resource Adapter. • Maintain parameters of a JCA Connection Factory of the SAP Java Resource Adapter. • Create a new JCA Connection Factory for the SAP Java Resource Adapter. 294 © 2011 SAP AG. All rights reserved. 2011 Unit 7 Change Management and Software Logistics Unit Overview As with the ABAP stack, SAP delivers a complete infrastructure for developing and transporting Java applications for AS Java. This SAP NetWeaver Development Infrastructure (NWDI) consists of a local development environment (IDE) and central server-side services that provide development teams with a consistent central development environment and support software development during the entire lifecycle of a product. This unit first provides a general introduction to the process of Java developments. Then, SAP NWDI and its elements are introduced. One additional lesson discusses the steps required to configure the central infrastructure for the development within SAP NetWeaver Portal 7.3. After this configuration has been performed, a small, existing Java application is modified as an example using SAP NetWeaver Developer Studio (the IDE delivered by SAP) in another lesson. This application is finally transported to the quality assurance and to the production system. Depending on the release of both SAP NetWeaver Development Infrastructure and the runtime systems, there are different transport scenarios available. This unit explains the use of Change Management Services (CM Services) together with the activity-based SDA transport scenario. CM Services are shipped with enhancement package 1 for SAP NetWeaver 7.0. They are the successor of the Change Management Service (CMS). Note: As SAP recommends to use SAP NetWeaver Development Infrastructure not on the SAP NetWeaver Portal 7.3 system but on a separate system (based on enhancement package 2 for SAP NetWeaver 7.0) an SAP NWDI system based on enhancement package 2 for SAP NetWeaver 7.0 is used in this unit. This SAP NWDI can also be used for managing a development within SAP NetWeaver Portal 7.3 systems. Unit Objectives After completing this unit, you will be able to: • 2011 List the elements of a Java EE application © 2011 SAP AG. All rights reserved. 295 Unit 7: Change Management and Software Logistics • • • • • • • • • • • ADM800 Outline the steps required to develop an executable Java EE application Name differences between ABAP-based development and Java-based development Name the building blocks of SAP NetWeaver Development Infrastructure and explain their meaning Explain the idea of SAP's component model for the development of Java based SAP applications Outline the use of Change Management Services and the enhanced Change and Transport System for the use with SAP NetWeaver Development Infrastructure List the necessary steps to define a system landscape for SAP NWDI based development in the ABAP Transport Management System Connect SAP NetWeaver Developer Studio to the central components of SAP NetWeaver Development Infrastructure List the individual steps that are required from the start of developing / changing Java objects to releasing these changes in the central development system Outline the structure of the Design Time Repository (DTR) Import changes into the quality assurance system List the individual transport steps for activity-based SDA transports Unit Contents Lesson: Overview of the Standard Java EE Development Process .....297 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) ...........................................................................309 Exercise 16: Checking the Settings on System Landscape Directory .....................................................................331 Lesson: Preparing for the Development of Java Applications ............336 Exercise 17: Preparing for the Development of Java Applications ..355 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio .............................................................................366 Exercise 18: Developing Java Objects in SAP NetWeaver Developer Studio ........................................................................373 Lesson: Transporting Java Developments ..................................386 Exercise 19: Transporting Java Developments ........................401 296 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process Lesson: Overview of the Standard Java EE Development Process Lesson Overview This lesson provides you with an overview of the development process in the Java environment. Special features in the context of SAP NetWeaver Development Infrastructure (NWDI) of the AS Java are not covered. In addition to the structure of a Java EE application, the development process in general is presented, and central terms, such as deployment or JSP are introduced. Lesson Objectives After completing this lesson, you will be able to: • • • List the elements of a Java EE application Outline the steps required to develop an executable Java EE application Name differences between ABAP-based development and Java-based development Business Example Your company uses SAP systems which are based on the SAP NetWeaver technology platform. You also have your own programs, developed on the basis of the Java standard Java EE. As the person responsible for software logistics in your company, you now want to obtain an overview of the structure of Java EE programs and the standard development process for them. The Java Programming Language Java is an object-oriented programming language, similar to C++ or C#. However, Java is not fully object-oriented: the basic data types (int, boolean etc.) are not objects. Java makes it possible to write classes which can be executed in a variety of runtime environments. In this way, it is possible, for example, to run applets in Web browsers which support Java. Java possesses an extensive class library. This provides programmers with a uniform, operating system-independent interface (Application programming interface, API). With the help of Remote Method Invocation (RMI) it is also possible to call up objects on other computers. Source codes written in Java are first of all translated by the Java compiler javac into an intermediary code that is independent of architecture. This is known as bytecode. A .class file is created from every source file (.java file). This bytecode cannot yet be executed alone, but is either interpreted and executed by a so-called virtual machine or (using HotSpot technology, available as of Java Runtime 2011 © 2011 SAP AG. All rights reserved. 297 Unit 7: Change Management and Software Logistics ADM800 Environment 1.3) is compiled and executed as native processor code at runtime. This virtual machine must have been developed for every supported platform, if necessary, separately. The Java runtime environment consists of three main components: • • • Class Loaders for loading all the classes required for the execution of the program. The Class Loaders control the reliable provision of class information to the Java Virtual Machine. Bytecode Verifier to check whether the loaded classes are compatible with specification of the virtual machine. This ensures that the Java Virtual Machine is not able to execute any invalid bytecode. The Java Virtual Machine itself. Figure 122: From the development to the execution of a Java application Programs Required for Creating and Executing a Java Application If a Java program is to be executed, a runtime environment (Java Runtime Environment, JRE) is required. The JRE consists of the Java Virtual Machine, the standard Java interfaces (classes that provide the standard services such as Remote Method Invocation (RMI)), and other components that are required to execute Java applications and Applets. The Java Virtual Machine is responsible for the independence of the Java EE platform from the hardware and the operating system. 298 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process The J2SE Software Development Kit (J2SE SDK) contains a number of tools in addition to the content of the JRE with which Java applications can be developed. These tools include the Java Compiler and the Java Debugger. You would usually use an integrated development environment (IDE), which supports the development of J2EE applications, to develop your own programs. This builds on the J2SE SDK. Hint: Java EE stands for Java Platform, Enterprise Edition. This is a set of rules that must be fulfilled by applications if they wish to be regarded as “Java EE compliant” and if they are to be executed on a Java EE Server (which must also comply with these rules). The name of the Java platform for business applications has been simplified. The platform used to be called “Java 2 Platform, Enterprise Edition” (J2EE) and special versions had numbers with “decimal places”, for example, J2EE 1.3. The “2” has been removed from the name along with the “decimal places”. The Java EE version used in SAP NetWeaver 7.3 is Java EE (Java Platform, Enterprise Edition) 6. If a developer wants to write his or her own program and test it (locally), he or she generally requires a development environment and a runtime environment. Note: Example: The SAP development environment for Java EE 6 applications (SAP NetWeaver Developer Studio for SAP NetWeaver 7.3) is based on the Eclipse IDE, which in turn uses a Java 6 Runtime environment. The figure below illustrates the relationship between the runtime environment, the Java SE Development Kit, and the development environment. Figure 123: Components of the Java SE Development Kit (JDK) 2011 © 2011 SAP AG. All rights reserved. 299 Unit 7: Change Management and Software Logistics ADM800 Structure of a Java EE Application Java EE (Java Platform, Enterprise Edition) is a standard that allows the development and execution of distributed, multi-level Java applications using modular components. The Java EE architecture consists of 3 layers (tiers): Presentation layer, middle layer and backend layer. The backend tier can be a file system, a (standalone) database, or an Enterprise Resource Planning system. Various clients, such as Web browsers or Java applications, can be used at the presentation tier. The middle tier contains the Java EE server, which plays the central role in the context of this three-tier model. Application logic and server presentation logic are separate on the Java EE server. The Java EE server accepts requests from the presentation tier, executes the business logic of the applications, and, if necessary, exchanges data with the backend tier when doing so. Figure 124: Programming Model of Java EE Applications 300 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process Java EE applications consist of components. A Java EE component is a complete, functional software entity, which is combined with the associated classes and files to form a Java EE application (assembly), and which can communicate with other components. The Java EE specification differentiates between the following Java EE components: • • • Applets (presentation components that run on the client) Servlets and Java Server Pages (presentation or Java EE Web components that run on the server) Enterprise Java Beans (business logic components that run on the server) The communication between the Java EE server and the front end is essentially based on Web standards such as HTTP, HTML, or XML. The Java EE server can use Java Server Pages (JSP) and Java Servlets to generate HTML pages or XML data. Servlets are Java classes that process requests and can dynamically generate responses in the form of HTML pages. Java Server Pages are text-based documents that describe how an HTTP request is to be processed to generate an HTTP response. A JSP consists of templates, together with commands, scripting elements, and possibly tags. This allows the developer to include Java code in an HTML page, which is converted to a servlet by the Web Container. JSPs and servlets run in a container for Java EE Web components (Web Container), which is part of the Java EE server. Applets can be embedded within the HTML pages that are sent to the browser. An applet is a small Java application that is executed on the Java Virtual Machine of the client (that is, in the Web browser). The business logic is executed using Enterprise Java Beans (EJB). EJBs run on the business logic tier of the Java EE server. Among other things, they receive data from the database tier and forward it, if appropriate, to the presentation tier. The Java EE architecture allows you to develop reusable components. The infrastructure required to execute these components is provided by the Java EE server. This infrastructure contains containers. Containers in object-oriented programming are objects that provide a runtime environment for other objects. They represent the interface between a Java component and the Java EE function that supports this component. Hint: Before a Java component can be executed, it must be assembled into a Java EE application (Assembly) and deployed in the relevant container (Deployment). Development Steps for Creating a Java EE Application The figure below illustrates the steps required for the development and the process of a Java EE application: 2011 © 2011 SAP AG. All rights reserved. 301 Unit 7: Change Management and Software Logistics ADM800 Figure 125: Steps when creating a Java EE application In accordance with the architecture of Java EE applications, the application logic (Enterprise Java Beans) and presentation logic (JSPs and servlets) are also separated during application development. During the implementation of application logic, the application developer creates his or her own Enterprise Java Beans. The developer also uses classes that are contained in the standard Java library and possibly also other Java classes provided by other developers. All classes are included (“imported”) as .class files. This is done, for example, by inserting the following lines in the source code: import java.applet.Applet; import java.awt.*; The configuration of the application itself is performed by the integrated development environment (IDE) in the context of an XML file, the deployment descriptor. The structure and the runtime behavior of an application (such as security settings or transactional behavior) are described by this deployment descriptor. This information is evaluated by the EJB Container and the Web Container at runtime. When the development is complete, the developer uses a standard Java program to combine Enterprise Java Beans, used Java classes and the deployment descriptor into a Java Archive (.jar file). This “creation” of a JAR file is also known as the build . 302 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process In the same way, Java Server Pages or servlets and HTML pages are created during the implementation of the presentation logic. It is also possible to include other Java classes here. The IDE also generates a deployment descriptor. The developer uses a standard Java program to combine these files into a Web archive (.war file) during the build process. Note: All development objects which belong to an archive will be built together which means that a change of only one JSP for example will result in a rebuilt of the complete Web archive. After the developers have created various Java and Web archives, these archives, together with an additional deployment descriptor, can be combined into an Enterprise Archive (.ear file). An Enterprise Archive can consist of multiple Java Archives and Web Archives, and also contain other Enterprise Archives. This process step of the creation of an application is also called assembly, and is performed by the application assembler. Although in theory the application assembler does not need to know any of the details of the implementation of the individual components of the .ear file, the application developer also often performs the role of the application assembler. Finally, the (platform-independent) Enterprise Archive must be installed on a specific Java EE server in a specific operating system environment. This process is known as deployment, and is performed by a deployer. The deployer is usually an expert in the specific operating system environment. The system administrator often performs the role of the deployer. During the deployment process, the external dependencies that are listed in the deployment descriptor are resolved; that is, the application is assigned, for example, security settings or database resources for the specific environment. Differences between ABAP and Java Development Approaches There are two different approaches to software development. Either developers all log on to a central development system (central development) or development is performed locally, that is, it is decentralized. In the case of local development, every developer works in his or her own development environment which usually consists of development tools and a runtime environment for testing changes. 2011 © 2011 SAP AG. All rights reserved. 303 Unit 7: Change Management and Software Logistics ADM800 Figure 126: Comparison of the different development approaches Development in the ABAP environment is a classic example for central development whereas software development in the Java environment usually uses a local development environment. The difference between these two development approaches also impacts on the way software is developed and tested. The Java SE Development Kit (JDK) provides, in principle, all of the tools that are required to develop smaller Java applications (in addition to the runtime environment) that is programs such as the Java compiler or a debugger. For a more convenient development of applications, there are also various local development environments (Integrated Development Environments, IDE) based on the JDK. When developing Java applications in larger development teams, however, new challenges arise. The following illustration shows the typical development process in the Java environment and shows some of the difficulties that have to be dealt with. These difficulties often have to do with the fact that the development takes place locally in the runtime environment of the individual developer and this development environment does not correspond in every detail to the central runtime environment. 304 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process Figure 127: Typical problems in a team-oriented development in the Java environment Java applications can exist in various versions (just like ABAP applications). Before an application is newly created, or an existing application can be revised, the developer must ensure that he or she is using the correct versions of the required source files or of the libraries used. Furthermore, the use of different versions of the same objects within different development tasks typically requires a reconfiguration of the local development environment (which is time-consuming and susceptible to errors). After the correct version of all necessary sources have been found and have been checked out of a central directory, local development can begin. In the meantime, the developers from time to time carry out – based on their own, local runtime environment – local builds, in order to be able to test their applications in the local runtime environment. After the completion of this development, the changed and referenced sources are once again checked-in to a central storage location. Errors can occur here, if the local environment of the developer differs from the environment of the central runtime system. For example, referenced objects could have been changed by other developers in the meantime and then once again checked-in, in the changed form. The test in the central runtime system can also cause unforeseen errors due to the different runtime environments (of the developers). As a result, the customer-specific development must be adjusted to suit the changed framework conditions. In the ABAP environment, the problems described above do not arise or they occur at an earlier stage due to the central development environment (all developers work in a central runtime environment and each use the current version of the respective development object). The goal of SAP NetWeaver Development 2011 © 2011 SAP AG. All rights reserved. 305 Unit 7: Change Management and Software Logistics ADM800 Infrastructure – SAP NWDI for short below – is therefore to avoid the problems described above by transferring tried and tested concepts from the ABAP world into the Java world. Here, SAP builds on the known standards (Java EE or WebDAV and DeltaV as the repository standard for accessing and versioning any development objects). The local development environment is based on the open source development tool Eclipse. Due to the different development philosophies, it is relatively difficult to compare on both sides the development processes of ABAP (central development) and Java (local development). The following list summarizes the main differences between standard ABAP and standard Java EE development approaches (at least as far as turn out to be are relevant for SAP NetWeaver Development Infrastructure): • ABAP: • – Central development – Single development objects are activated Java: – – Local development Complete archives are built When developing repository objects in ABAP, the repository used is defined by logging on to a particular development system. This means that the developer has access to all used repository objects in their respective active version. Due to the central development in the ABAP Workbench, there is no possibility for developers to create their own, private runtime environment. This ensures that there are no inconsistencies between the development objects of different developers. When activating changes, the formal correctness of the sources is checked (syntax check). Only after this check has been successfully performed, the changes become visible to other people. A disadvantage of this is that the central runtime environment is also not private; that is, that errors in the implementation can potentially have consequences for other users of the development system even before the changes are released for transport. However, it is generally possible to identify and correct errors more quickly using this central development. 306 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Overview of the Standard Java EE Development Process Figure 128: Comparison of the Java and ABAP Development Processes The logon to the SAP development system in the Java EE environment is similar to the developer's logon to the correct SAP NWDI development configuration. A development configuration consists of a list of software components statuses that are required for designing, the build process of, and testing one or more software components in SAP NetWeaver Developer Studio. Logging on to the correct development configuration ensures that this developer has access to the correct versions of his or her own and other development objects. When checking out, the correct versions of the libraries and development objects are therefore copied to the local development environment. The majority of the development activities now take place on the local PC of the respective developer. After the completion of the central development with local tests in the runtime environment of the developers' PCs, the objects are checked-in centrally again. When they are then activated in the central environment, in addition to a test for formal correctness, the system checks whether there are consistent sources in the central environment, or whether some libraries that are referenced have changed in the meantime. After a successful central activation, the developers can finally test in a central environment before the changes are released for transport. 2011 © 2011 SAP AG. All rights reserved. 307 Unit 7: Change Management and Software Logistics ADM800 Lesson Summary You should now be able to: • List the elements of a Java EE application • Outline the steps required to develop an executable Java EE application • Name differences between ABAP-based development and Java-based development Related Information • • 308 For introductory information about Java technology in general, see the introductory page http://www.oracle.com/us/technologies/java/index.html. For an overview of Java development in the SAP environment, go to the SAP Developer Network (SDN) in the area SDN Communitiy → Home → Custom Development → Java (https://www.sdn.sap.com/irj/sdn/javaee5). © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Lesson Overview This lesson first lists some requirements to a development infrastructure in general. Then SAP NetWeaver Development Infrastructure (SAP NWDI) and its building blocks is introduced. After an excursion on SAP's component model for structuring Java-based applications, the architecture of SAP NWDI is explained. Finally the integration between SAP NWDI and the ABAP Change and Transport System (CTS) is highlighted. Lesson Objectives After completing this lesson, you will be able to: • • • Name the building blocks of SAP NetWeaver Development Infrastructure and explain their meaning Explain the idea of SAP's component model for the development of Java based SAP applications Outline the use of Change Management Services and the enhanced Change and Transport System for the use with SAP NetWeaver Development Infrastructure Business Example Your company uses SAP systems that are based on the technology platform SAP NetWeaver, and is planning to develop its own Java-based business applications. As a member of the system administration, you want to have an overview of the development infrastructure provided by SAP for this purpose. Building Blocks of SAP NetWeaver Development Infrastructure To develop and execute applications, regardless of the selected programming language, you require at least an editor, a compiler (or interpreter) and a runtime environment. Requirements for a Development Infrastructure Especially for developments in which different developers are participating, a source code storage and versioning system is also desirable. 2011 © 2011 SAP AG. All rights reserved. 309 Unit 7: Change Management and Software Logistics ADM800 In addition to this, you require a build support and a central storage of archives. Even more, a transport mechanism (which may consist only of a simple Copy & Paste process) is needed if the applications are to run on other computers at a later stage. This transport mechanism may consist of an export part (developer's task) and of an import part (system administrator's part). The general requirements for a development infrastructure (regardless of the programming language) are summarized in the following figure: Figure 129: General Requirements for a Development Infrastructure SAP's Solution: SAP NetWeaver Development Infrastructure With SAP NetWeaver Development Infrastructure, SAP ships a development infrastructure that fulfills the requirements stated above: 310 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Figure 130: Main Building Blocks of SAP NetWeaver Development Infrastructure The Design Time Repository (DTR) enables a versioning of the source code management and therefore the shared development of software in teams as well as the transport and replication of sources. The Component Build Service (CBS) is used for the central build of the source texts. The operation for the developers is integrated into SAP NetWeaver Developer Studio. For the build process, the CBS communicates automatically with the Design Time Repository. For further processing, the CBS communicates with the system logic of the Change Management Services. It provides the following core functions • • • Build on demand Central storage of build results and build tools Activation concept The Change Management Services (CM Services) are used for the central administration of the Java development landscape. The functions of the CM Services are closely interlinked with the DTR, the CBS and the System Landscape Directory (SLD). The Change and Transport System (CTS) is used for the transport of changes into subsequent systems. As of some SP Stack for SAP NetWeaver 7.0, the CTS is able to transport non-ABAP changes (such as Java applications) as well. Software development worldwide requires a conflict-free method for creating names for software objects. Without such a method, different software teams may use the same names by chance for software objects with different uses. If 2011 © 2011 SAP AG. All rights reserved. 311 Unit 7: Change Management and Software Logistics ADM800 the software objects are then combined in the same runtime environment, this could even deactivate applications because of a simple name conflict. In order to avoid name conflicts, the SAP System Landscape Directory (SLD) provides a name reserving service (Name Server), which makes it possible to reserve globally unique names. The following list summarizes the components of SAP NWDI and their characteristic properties: • Design Time Repository (DTR) • – Central source code administration and versioning Component Build Service (CBS) • – Build on demand – Central storage of build results and build tools – Activation concept Change and Transport System (CTS) – – • Central administration of the entire transport landscape Transports between the individual development levels (development system, quality assurance system, production system) Change Management Services (CM Services) – – • Managing development configurations Export Java development from SAP NetWeaver Developer Studio to CTS System Landscape Directory (SLD) – • Overview of systems, installed products and software versions (releases, support packages) Name Service – To avoid naming conflicts Hint: Starting with SAP NetWeaver 7.3, you can also use the CM Services in a Stand-alone mode without having a CTS system connected. This scenario is not discussed here however. For more information see a presentation for CM Services in SAP NetWeaver 7.3 which is availalble on SDN, quick link /cts (http://www.sdn.sap.com/irj/sdn/cts). SAP's Component Model The development of Java applications in SAP NetWeaver Developer Studio is based on a software component model. Using this, software projects can be structured systematically in clear and reusable units from the beginning. 312 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Components can use other components in a well-defined and controlled way, encapsulate subordinate components, and publish their functions using a set of open interfaces, the public parts. Using components means that software projects can be systematically structured into manageable and reusable units from the start. The figure below summarizes the elements of the component model of SAP NWDI: Figure 131: Elements of the Component Model A development component (Abbreviation: component or DC) is – simply put – a common container for a set of objects that are part of the software. A component has a well-defined external interface and an “internal life” that is not visible from outside. Components can use each other by referring to the public interfaces of other components. Due to these properties, components are the elementary reusable units of the model. A development object is an element of a component that provides part of its function and can be changed or developed in some way. This can be a Java class, a table definition, a JSP page, and so on. Development objects are essentially stored in a repository. Software components combine components (DCs) for delivery and deployment to larger units. A release is a large step in the development of a software component, which provides new functionality. A product consists of one or more software components that represent related business processes. 2011 © 2011 SAP AG. All rights reserved. 313 Unit 7: Change Management and Software Logistics ADM800 An SDA file (Software Deployment Archive) contains an entire development component. An SCA file (Software Component Archive) contains an entire software component. The Meaning of SAP System Landscape Directory (SLD) The SAP System Landscape Directory (SLD) simplifies the administration of the system landscape. The SLD is a server application based on AS Java with which a client application communicates entirely using Hypertext Transfer Protocol (HTTP). The SLD server contains component information and system landscape descriptions. It can also contain a name server, which allows name reservation based on the Common Information Model (CIM) standard. The component description provides information about all available SAP software modules. This includes version numbers, the current patch level, and dependencies on system landscape components. The system landscape description represents an exact model of an actual system landscape. The CIM standard is a general schema for describing the elements in a system landscape. The SLD is the central provider of information for the entire system landscape. The SLD is usually deployed after the installation of each AS Java. During the installation, a directory <sapmnt>/<SID>/SYS/global/sld is created at operating system level as a working directory for the SLD. However, before the SLD server can be used, it must be configured and activated. To activate the SLD server, you must log on to the SLD administration interface (http://<SLD-host>:<Port>/sld) with a user of the UME group SAP_SLD_ADMINISTRATOR or of the user group Administrators. A prerequisite for the activation of the SLD server is that the name of an object server is specified first. In connection with the development of components within SAP NWDI, a namespace that is reserved on SAP Service Marketplace should be specified as an object server (if available). 314 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Figure 132: System Landscape Directory (SLD) The SLD server implements the Common Interface Model (CIM). Before the SLD server can be used, you must import information about available SAP components. For this purpose, a zip file is already stored in the file system and imported into the SLD during the installation of the AS Java on which the SLD is used. Hint: You can always find the most current version of the files about available SAP components on the SAP Service Marketplace. See also SAP Note 669669. SAP systems that are based on AS ABAP can periodically transfer their data to the SLD server using transaction RZ70. However, we will not take a closer look at this transaction in this lesson. SAP systems that are based on AS Java can use an HTTP connection to transfer system information to the SLD server. The Visual Administrator is used for systems with SAP Web AS Java 6.40 or AS Java 7.0x with regard to configuring the data transfer. However, for SAP systems that are based on AS Java 7.1 and higher, SAP NetWeaver Administrator is used for the connection to the SLD. 2011 © 2011 SAP AG. All rights reserved. 315 Unit 7: Change Management and Software Logistics ADM800 Figure 133: Connecting SAP NetWeaver 7.1-based systems to the SLD In SAP NetWeaver Administrator, the connection to the SLD takes place at two locations: • • In the area Configuration → Security → Destinations, you must first set up the registration by creating a destination SLD_DataSupplier of the type HTTP where the connection data (URL and user defined) to the SLD is maintained. Furthermore, you must set up AS Java access to the SLD by creating a destination SLD_Client of the type HTTP. Here you can enter the same configuration settings as in the destination SLD_DataSupplier. In the area Configuration → Infrastructure → SLD Data Supplier Configuration, the data collection and data trasnsfer to the SLD can now be started. Creating a Product and a Software Component in the SLD Products and software components are created in the SAP System Landscape Directory (SLD), on the start page in the area Software Catalog. 316 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Figure 134: Creating a Product and a Software Component After you have manually create software components and their dependencies for the build time on the SLD, you can also create software components using the Configuration Wizard in SAP NetWeaver Administrator. The latter occurs using the wizard for Create an Application Skeleton: (in the area Configuration Management → Scenarios → Configuration Wizard). For this purpose, there are different track templates for the development in SAP NetWeaver 7.3 available. Hint: For more information, see SAP note 1457908 – Required SCs for Specific Type of Development in 7.3 Track. Namespace Reservation To avoid naming conflicts, SAP System Landscape Directory (SLD) provides a name reservation service (also known as the name server), which allows the reservation of globally unique names. The underlying principle is the namespace concept. A namespace is defined using a namespace prefix, which is the first part of a development object name. Reserving a namespace prefix is done on the Web administration interface of the SLD from the start page via the link Name Reservation. Hint: For more information about the namespace concept, see the SAP Service Marketplace under the Quick Link /namespaces. 2011 © 2011 SAP AG. All rights reserved. 317 Unit 7: Change Management and Software Logistics ADM800 Figure 135: Reserving a Namespace Prefix Integration of the SAP NetWeaver Development Infrastructure into the ABAP Change and Transport System (enhanced CTS) Purpose In an SAP system, you can program in ABAP and in the J2EE/JEE standard, or use SAP-specific non-ABAP technology, such as Java Web Dynpro or developments for the SAP NetWeaver Portal. This is not a competition between technologies but different approaches to a solution for business needs. You choose from these options based on your preferences, knowledge that is already available in one of the technologies, or with respect to specific advantages of one technology in certain areas. Therefore, in any bigger landscape you will find many or even all of these objects. When you, for example, provide users with role-based access to a new function in the SAP ECC Server back-end system in an SAP NetWeaver Portal system, you have to synchronize the update between the Portal and the SAP ECC Server runtime, which may be connected to other systems using SAP NetWeaver Process Integration (PI). This is simplified when you use SAP NetWeaver Development Infrastructure (SAP NWDI for short) with its transport capabilities; the easiest way, however, is to manage such transports centrally in one system. 318 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Up to SP stack 12 for SAP NetWeaver 7.0, the following restrictions applied despite the available tools for ABAP and Java transports: • • • There was no automatic synchronization for mixed applications (such as PI). You therefore had to use different tools to transport parts of the same application. There was no central control of portal transports. (Furthermore, there were only rudimentary export / import tools that were neither integrated into SAP NWDI nor into the ABAP Change and Transport System (CTS)). There was no central control of all transports into productive systems. Figure 136: Classical Transport Scenario – Different Tools for ABAP and Java Transports With the enhancements of the SAP NetWeaver Change and Transport System (CTS for short, or enhanced CTS respectively, if specifically the enhanced capabilities are meant), available with SP Stack 12 of SAP NetWeaver 7.0 and further enhanced with SP Stack 14, the CTS has been enhanced to handle any type of object that can be transported into an SAP system landscape. 2011 © 2011 SAP AG. All rights reserved. 319 Unit 7: Change Management and Software Logistics ADM800 Figure 137: The Idea of Enhanced Change and Transport System – Using CTS Combined with SAP NWDI Therefore, an administrator of your ABAP system can now also manage the transports for the non-ABAP parts of your system landscape. By combining and synchronizing transports in a comprehensive approach, the enhanced Change and Transport System therefore solves transport issues. The following objects (alongside ABAP objects) can be transported with the enhanced CTS: • • • • • • • • • Enterprise Application Archives (EARs) Software Component Archives (SCAs) Software Develivery Archives (SDAs) DTR activities (DIPs) Enterprise Portal Archives (EPAs) and Enterprise Poral Applications (PAR) Knowledge Management objects (KM Content, KM Configurations) Integration Builder Objects (TPZs) System Landscape Directory Content Objects (Products, Software Components, Technical Systems, Business Systems) Modifications to repository metadata of SAP Master Data Management 7.1 Import Process (Overview) The import into subsequent systems is triggered from transaction STMS (Transport Management System) on the (ABAP)-Transport Domain Controller system. During the import, the transport control program tp is called. tp itself controls 320 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) the import of the ABAP related part of the transport request(s) as usual. For the Java part of the transport request(s) – if there is any – tp hands over the files to the deploy tool of the AS Java (for systems based on AS Java 7.0: the SDM, for systems based on AS Java 7.1 and higher: the deploy controller). For this, the CTS Deploy Web Service is used. The following list summarizes (on a high level) the tasks of the transport control program tp: • • controls the import of the ABAP part (if there is an) of the transport request hands over the Java part (if there is any) of the transport request to the deploy tool of the AS Java (SDM or Deploy Controller) – for the communication between the AS ABAP and the AS Java, the CTS Deploy Web Service is used Prerequisites The Transport Domain Controller system has to meet certain requirements to be able use the enhancements of the Change and Transport System for the integration of SAP NetWeaver Development Infrastructure. • • • • The Transport Domain Controller System is based on AS ABAP + Java 7.00 SP Stack 12 (recommended: SP Stack 14) or higher The CTS Deploy Web Service must be configured and run The ABAP Web Dynpro application for CTS must be activated (service CTS_BROWSER in transaction SICF) If necessary: Non-ABAP systems and transport routes between these systems must be configured in transaction STMS and tp parameters for these systems must be maintained correctly. Note: As a prerequisite for carrying out CTS transports of non-ABAP objects, we recommend that you configure the Transport Domain Controller on an AS ABAP + Java system (on which the CTS Deploy Web Service is also configured; the CTS Deploy Web Service originally belongs to the software component DI_CMS – however, as of enhancement package 1 for SAP NetWeaver 7.0, this Web Service belongs to a software component of the AS Java itself). In addition to the Transport Domain Controller System, the runtime systems (that means the systems that are included in the STMS system landscapes) must meet certain requirements. The configuration or the transport scenario is sometimes dependent on the release level and SP Stack level. The configuration with SP Stack 2011 © 2011 SAP AG. All rights reserved. 321 Unit 7: Change Management and Software Logistics ADM800 14 for SAP NetWeaver 7.0 has been simplified considerably for the integration of SAP NWDI into the enhanced CTS. There are the following requirements for the SAP NWDI system in this scenario. • • The connection to the development system of the TMS system landscape is defined – depending on the transport scenario either in the track definition or in the transport settings in transaction STMS on the transport domain controller system. In the Visual Administrator (area Server → Services → Destinations) on the SAP NWDI system, the Destination Service sap.com/com.sap.tc.di.CTSserver of the type RFC is maintained; it contains the connection data for the Transport Domain Controller System. Hint: For SAP NWDI systems on AS Java 7.11 and higher, this destination needs to be maintained in SAP NetWeaver Administrator, area Configuration → Security → Destinations. • The corrections mentioned in SAP Note 1003674 – Enhancement for non-ABAP systems in CTS have been implemented (if they are required). For more information about the configuration of the systems involved, go to the online documentation for the enhanced CTS. You can find this path in the “Related Information” area at the end of this lesson. Architecture of SAP NetWeaver Development Infrastructure SAP NetWeaver Developer Studio provides access to the SAP NetWeaver Development Infrastructure (NWDI). SAP NWDI is composed of a local development environment (IDE) on the PCs of the developers and server-side services that provide the development team with a consistent central development environment, and support software development throughout the entire life cycle of a product. 322 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Figure 138: Overview of SAP NetWeaver Development Infrastructure One important feature of SAP NetWeaver Development Infrastructure (NWDI) is the ability to develop and build software which belongs to different releases and Support Package Stacks. To do this, you need a single SAP NWDI system since the Component Build Service (CBS) creates the software in accordance with the release and Support Package Stack. Hint: The SAP NWDI system should have the highest possible Support Package version irrespectively of the Support Package version of the software that is to be developed. The version of SAP NetWeaver Developer Studio must correspond to the runtime system and to the developed software components. The development of Java applications in SAP NetWeaver Developer Studio is based on a software component model. Using this, software projects can be structured systematically in clear and reusable units from the beginning. Components can use other components in a well-defined and controlled way, encapsulate subordinate components, and publish their functions using a set of open interfaces, the Public Parts. On the side of the central infrastructure, there are, among other things, the services shown in the figure, the Design Time Repository, Component Build Service, and the name server as part of the System Landscape Directory. 2011 © 2011 SAP AG. All rights reserved. 323 Unit 7: Change Management and Software Logistics ADM800 Special Features for the Development for an SAP Release that Uses a Different Version of the SDK than the SAP NWDI System. If SAP NetWeaver Development Infrastructure (NWDI) is to support the development of Java applications for different AS Java releases, different versions of the Java Development Kit (JDK) may be required to build the applications. Applications for SAP Web AS Java 6.40 or AS Java 7.0x are based on JDK 1.4.2 for example; applications for SAP NetWeaver 7.3, on the other hand, are based on Version 1.6 of the JDK. Therefore, a JDK 1.6 must be provided for the Component Build Service (CBS) of the SAP NWDI system (itself based on AS Java 7.0x) responsible for the central build, along with the JDK 1.4.2 required for the installation, if it is used for SAP NetWeaver 7.3. This JDK must be also installed at operating system level of the SAP NWDI host. The Component Build Service (CBS) uses two service properties to find the JDK used for the build process. These two properties determine, in association with a build option specified in a concrete development configuration, which JDK is used to compile Java sources for a special development component (DC): • • 324 BUILD_TOOL_JDK_HOME defines the VM that executes the build environment; this property should point to the highest JDK version used by the CBS to ensure compatibility. JDK_HOME_PATH defines a list of variables and paths for directories in which the related JDK versions are stored (see the following figure). © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Figure 139: Configuration of the CBS for different JDK versions Hint: A special build option (option com.sap.jdk.home_path_key) can then be used for the individual systems in the transport landscape to control which JDK is used for building for archives in a concrete development configurations. SAP NetWeaver Developer Studio SAP NetWeaver Developer Studio is SAP's own environment for developing multi-level Java-based applications. The development environment is based on the open source product Eclipse, whose open plug-in architecture provides a suitable platform that can be enhanced with special functions. Eclipse offers all the necessary tools for the development of Java programs. For Java EE projects, additional functionality is required in the SAP environment, however (for example, integration with the application server), that is not provided by Eclipse. The architecture of SAP NetWeaver Developer Studio is illustrated in the figure below. 2011 © 2011 SAP AG. All rights reserved. 325 Unit 7: Change Management and Software Logistics ADM800 Figure 140: S tructure of SAP NetWeaver Developer Studio SAP NetWeaver Developer Studio provides a range of tools for all aspects of application development, a few of which are listed below as examples: • • • The Composite Application Framework (CAF) is a Java EE-based framework that follows the programming model of the Service Oriented Architecture (SOA) and enables the modeling of enterprise services. Java EE Tools are tools for creating Java EE applications, such as Enterprise Java Beans. The SAP Development and Modeling Infrastructure (MOIN) contains, among other things, a (Enterprise) Design-Time Repository that manages the content required for the modeling. The particularity advantage of these development tools lies in their seamless integration into SAP NetWeaver Development Infrastructure (NWDI). All development objects that are created can thus be stored and managed in a central repository, the Design Time Repository (DTR), can be built in an automated build process using the Component Build Service (CBS), and added to Change Management, and finally distributed via a defined software logistics process. System Landscape for Runtime Systems Since the ongoing developments of the software developers in the local development systems and the central development system must not affect productive system operation, the production environment and development 326 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) environment must be strictly separated from each other. There should also be a runtime environment that is as stable as possible (that is, not constantly changed by the importing of new developments) available to test the developments. SAP recommends a three-system landscape. The different systems represent the different development statuses (development, quality assurance, production) of the software components to be developed. Figure 141: TMS System Landscape for Activity-based SDA Transports The central development system (DEV) is used by the individual developers to test the local developments in a larger context, that is, their interaction with changes made by other developers. The quality assurance system (QAS) is used to consolidate a certain fixed status of a software component or for a final test (also in the sense of an integration test). Not until a test has been successful, is the development finally imported into the productive system (PRD). Hint: The term system is not necessarily identical with runtime system. The figure illustrates that a system may consist of a development configuration (located on SAP NWDI) and / or of a runtime system. Developers use SAP NetWeaver Developer Studio to initiate the transfer of local development work to the central development system. SAP NetWeaver Developer Studio uses CBS and CM Services to start the deployment to the central development system. The import into all the following systems is controlled exclusively via the Change and Transport System (CTS) and it is the administrator who starts the imports via transaction STMS. 2011 © 2011 SAP AG. All rights reserved. 327 Unit 7: Change Management and Software Logistics ADM800 In case of using activity-based SDA transports, you need to create a development configuration for the development system of the system landscape. This development configuration contains areas of the DTR (for source code versioning) and CBS (for archives). Note: A note on the TMS upload system: In order to be able to develop an application for AS Java you need to import some basic libraries (prerequisite Software Component Archives) into the CBS. To be able to do so, a transport request with these libraries needs to be created and imported all systems for which you created a development configuration (tp parameter DI_SYSTEM = TRUE). For this transport request (and future transport requests with newer libraries, for example, after SP updates of your AS Java) you need an upload system. This upload system does not require a server or an installation of an AS Java. It is just a “dummy” system that is needed to be able to create transport requests. Addendum: CM Services Starting with enhancement package 1 for SAP NetWeaver 7.0, SAP provides the first version of the Change Management Services (CM Services). The CM Services are the successor of CMS (Change Management Service) in SAP NetWeaver Development Infrastructure (NWDI). CMS is now in maintenance mode – there are no new features going to be developed. The “old” CMS provides the functionality to perform two different tasks. The first task is the system administration part where you setup a track in order to create a transport landscape for your runtime systems and the second task is the configuration of development configurations for your development cycle and the export of deployable units (SCA files – Software Component Archives). The integration with the enhanced Change and Transport System (CTS+) is possible during the assembly step where the SCA file is attached to a CTS+ transport request. But in that case a track configuration is still needed. With the introduction of CM Services, a clear separation of both tasks is provided. The first task is covered by CTS+, where you define your non-ABAP runtime systems and your transport route. The remaining second part – development configurations and export – is now handled by the new CM Services. Therefore a CMS track is no longer needed on the Java side. With the close integration of CM Services with the mechanism of CTS+ you can now manage your development configurations together with your transport landscape via the CTS system. 328 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) For the use of CM Services, you need to distinguish different SAP systems: • • • one system based on usage type AS Java on which SAP NetWeaver Development Infrastructure is running (SAP NWDI system) one system based on AS ABAP + Java on which the Change and Transport System is configured (CTS system) and multiple runtime systems (for example: development system, production system) – based either on AS Java or on AS ABAP + Java. Figure 142: Addendum: CM Services – Configuration Overview The figure above shows on which of these systems the components which are needed for the use of SAP NetWeaver Development Infrastructure together with CM Services should run: • • • 2011 A System Landscape Directory (SLD) is needed if you are developing your own Software Components in the SAP Component Model to store the products, software components and development configurations. SLD is part of each AS Java – you can decide which one to use. The CTS Deploy Web Service and CM Services are part of AS Java as well – from a principle point of view they can be used either on the CTS system or on the SAP NWDI system. For source transports It is recommended to configure them on the SAP NWDI system. For the transport of deployables it is recommended to use the CTS Deploy Web Service both on the SAP NWDI system and the CTS system however. CMS as part of usage type DI is not used / needed any more if you are working with the CM Services. © 2011 SAP AG. All rights reserved. 329 Unit 7: Change Management and Software Logistics ADM800 In addition, the figure above outlines, which connections between the CTS system and the SAP NetWeaver Development Infrastructure system (SAP NWDI system) will be needed: • RFC destination CTSCONFIG from the CTS system to the SAP NWDI system. This RFC destination is used in two different cases (realized with the help of two different logical ports) – – for the creation of development configurations from transaction STMS using the logical port CTSCONFIG. for calling the CTS Deploy Web Service on the SAP NWDI system. Hint: The CTS Deploy Web Service in the SAP NWDI system is used on one hand when starting tp on the CTS system using the logical port CTSDEPLOY_DI (in case of transporting sources). On the other hand it is used in case of deploying from SAP NetWeaver Developer Studio into the central development system of the TMS system landscape. • • JCo destination sap.com/com.sap.tc.di.CTSserver of type RFC for the connection from the SAP NWDI system back to the communication system as defined in transaction STMS on the CTS system RFC destination CTSDEPLOY (using the logical port CTSDEPLOY) is needed when calling the CTS Deploy Web Service on the CTS system. Hint: This is done on one hand in case of using CTS for other transports such as e.g. portal content or SLD content. In case of transporting deployables on the other hand, you can call the CTS Deploy Web Service on the CTS system as well for the import into the QAS and the PRD system. In this scenario the SAP NWDI system will not be needed for the import into follow-up systems. 330 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Exercise 16: Checking the Settings on System Landscape Directory Exercise Objectives After completing this exercise, you will be able to: • Check settings in the Software Catalog area of SAP System Landscape Directory Business Example In 2005, the company COMPANY (Internet Domain company.com) launched the first version of the software product MATHEMATICS which consists, among other things, of version 1.0 of the software component CALCULATOR and is based on SAP Web AS 6.40. When first developed, version 1.0 of the software component CALCULATOR was implemented in JSP technology. Since then, a new version of MATHEMATICS (Version 2013.1) has been implemented. This consists (among other things) of version 4.0 of the software component CALCULATOR and is based on AS Java 7.30. During the review of CALCULATOR, a change was made from JSP technology to Java Web Dynpro. However, during the test phase, a number of minor errors were detected in CALCULATOR 4.0 which are now to be eliminated in this unit. Task: Check the SLD Settings Check whether a product MATHEMATICS with the version 2013.1 and an associated software component CALCULATOR version 4.0 exist in the SAP System Landscape Directory (SLD) of the SAP NWDI system. If not, create these elements in the SLD. Check whether a namespace for the Development Component Name company.com/math/calc is defined in the SLD. If not, create one. 2011 1. Log on to the Web interface of the SLD and check in the area Home → Products whether the product MATHEMATICS exists in Version 2013.1 from the vendor company.com. 2. Check whether there is a software component CALCULATOR in version 4.0 for this product. Make sure that this software component possesses the dependent software components JAVA FRAMEWORK OFFLINE 7.30, DI BUILD TOOL 7.30, J2EE ENGINE FACADE 7.30, ENGINEAPI 7.30 and WEB DYNPRO RUNTIME 7.30 in the Build Time context. 3. Check in the area Home → Name Reservation to see whether a namespace prefix company.com/math/calc is defined for the Development Component Name. © 2011 SAP AG. All rights reserved. 331 Unit 7: Change Management and Software Logistics ADM800 Solution 16: Checking the Settings on System Landscape Directory Task: Check the SLD Settings Check whether a product MATHEMATICS with the version 2013.1 and an associated software component CALCULATOR version 4.0 exist in the SAP System Landscape Directory (SLD) of the SAP NWDI system. If not, create these elements in the SLD. Check whether a namespace for the Development Component Name company.com/math/calc is defined in the SLD. If not, create one. 1. Log on to the Web interface of the SLD and check in the area Home → Products whether the product MATHEMATICS exists in Version 2013.1 from the vendor company.com. a) In the browser, call the URL http://<NWDI-Host>:<NWDI-Port>/sld, where <NWDI-Host> and <NWDI-Port> are the host name and port of the SAP NetWeaver Development Infrastructure (NWDI) for your training course, which are given to you by your instructor. Log on with your course user <CourseID>-## to the NDI system (## corresponds to the group number assigned to you in the course). You are now on the System Landscape Directory (SLD). b) Choose Home → Products. In the selection list, choose the Software Type Products and, in the resulting list, select MATHE* in the Filter field and choose Go to see whether there is an entry MATHEMATICS of company.com in version MATHEMATICS, 2013.1 of company.com (in the resulting list, you may need to scroll down to find this entry). If this is not the case, choose the button New Product Version, enter the following values in the input fields and then choose Create: Name: MATHEMATICS Vendor: company.com Version: 2013.1 Continued on next page 332 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) 2. Check whether there is a software component CALCULATOR in version 4.0 for this product. Make sure that this software component possesses the dependent software components JAVA FRAMEWORK OFFLINE 7.30, DI BUILD TOOL 7.30, J2EE ENGINE FACADE 7.30, ENGINEAPI 7.30 and WEB DYNPRO RUNTIME 7.30 in the Build Time context. a) If you have not already done so, call the URL http://<NWDIHost>:<NWDI-Port>/sld in the browser, where <NWDI-Host> and <NWDI-Port> are the host name and port of the SAP NetWeaver Development Infrastructure system for your training course, which are provided by your instructor. If you have not done so already, log on with your course user <CourseID>-## (## corresponds to the group number assigned to you in the course). You are now on the System Landscape Directory (SLD). b) Choose Home → Software Components. In the list, check whether there is an entry CALCULATOR of company.com, version CALCULATOR, 4.0 of company.com. To do this, enter CALCULATOR in the Filter field and choose Go (again you may need to scroll down in the resulting list to find this entry). If this entry exists, select it and check on the tab page Dependencies in the lower half of the screen (in the context BuildTime) whether the software component versions from the task description have been entered as Prerequisite Software Component Versions. c) If the entry CALCULATOR of company.com in Version 4.0 does not exist, choose the button New Software Component Version, enter the following values in the input fields and then choose Create: Product: MATHEMATICS, 2013.1 of company.com (select from the selection list) Unit: MATHEMATICS 2013.1: BASIC FEATURES (if this does not exist yet, create it by choosing Create New Unit) Vendor: company.com Name: CALCULATOR Version: 4.0 Production State: started Now select the new software component version. In the lower half of the screen, go to the Dependencies tab (in the BuildTime context) and enter the software component versions JAVA FRAMEWORK OFFLINE 7.30, DI BUILD TOOL 7.30, J2EE ENGINE FACADE 7.30, ENGINEAPI 7.30 and WEB DYNPRO RUNTIME 7.30 as prerequisite software component versions. Use the button Define Prerequisite Software Component Versions to do this. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 333 Unit 7: Change Management and Software Logistics 3. ADM800 Check in the area Home → Name Reservation to see whether a namespace prefix company.com/math/calc is defined for the Development Component Name. a) In the System Landscape Directory (SLD), choose Home → Name Reservation. On the tab page Name Prefixes, select the entry Development Component Name in the selection list of the field Name Category and check whether the list that is displayed contains the entry company.com/math/calc. If this is not the case, choose New Name Prefix..., enter the following values in the input fields and then choose Create: Quantity: Single Name Category: Development Component Name Name Prefix: company.com/math/calc Purpose: Used by developer Owner: <Your user name; this is the default> Result You have checked that the software component version CALCULATOR 4.0 exists on SAP System Landscape Directory and that a namespace prefix has been reserved. 334 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to SAP NetWeaver Development Infrastructure (NWDI) Lesson Summary You should now be able to: • Name the building blocks of SAP NetWeaver Development Infrastructure and explain their meaning • Explain the idea of SAP's component model for the development of Java based SAP applications • Outline the use of Change Management Services and the enhanced Change and Transport System for the use with SAP NetWeaver Development Infrastructure Related Information You will find an overview of the SAP NetWeaver Development Infrastructure in the online documentation on SAP NetWeaver 7.3 in the area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Using the Development Infrastructure. For more information about the Eclipse project, see http://www.eclipse.org. For more information about the enhanced CTS, go to the documentation for SAP NetWeaver 7.3 , area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Software Logistics → Change and Transport System → Change and Transport System – Overview (BC-CTS) → Transporting Non-ABAP Objects in Change and Transport System and see SAP Note 1003674 – Enhancement for non-ABAP systems in CTS . 2011 © 2011 SAP AG. All rights reserved. 335 Unit 7: Change Management and Software Logistics ADM800 Lesson: Preparing for the Development of Java Applications Lesson Overview After the general setup, the individual elements of SAP NetWeaver Development Infrastructure (NWDI) have been configured. But there are still other steps that must be done before you can start developing Java applications. For example, the system landscape needs to be defined and SAP NetWeaver Developer Studio must be connected to SAP NWDI. This lesson addresses these steps that are still required before the start of the actual development. Lesson Objectives After completing this lesson, you will be able to: • • List the necessary steps to define a system landscape for SAP NWDI based development in the ABAP Transport Management System Connect SAP NetWeaver Developer Studio to the central components of SAP NetWeaver Development Infrastructure Business Example Your company has decided to develop its own Java-based business applications using SAP NetWeaver Development Infrastructure (NWDI). After you, as a member of the system administration, have configured the central components of SAP NWDI, it is now your task to define the system landscape before the developers can start developing. Introduction After a complete SAP NetWeaver Development Infrastructure (NWDI) – consisting of the Change Management Services (CM Services), Design Time Repository (DTR) and Component Build Service (CBS) – has been installed, after three SAP NetWeaver AS Java systems are available for the development, quality assurance and the productive use of the application, and after the administrator has been assigned to write authorization on the System Landscape Directory (SLD), there are still a few steps that must be done to be able to use the activity-based SDA transport scenario with SAP NWDI. These configuration steps can be divided into two areas: • • initial setup and enablement of CM Services configuration of the system landscape This section gives an overview on the initial setup steps. The next sections the focus on the configuration of the system landscape. 336 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Roadmap The following configuration roadmap assumes that you start from zero – this means that neither the ABAP Change and Transport system (CTS) is configured for the transport of Java changes nor SAP NWDI or SLD are configured up to now. Hint: Concerning SAP NWDI, only the Design Time Repository (DTR) and the Component Build Service (CBS) are needed in case you use the development and transport options offered by CM Services. Therefore the configuration of the Change Management Service (CMS) is not part of this roadmap and this lesson. Figure 143: Configuring SAP NWDI for CM Services – Roadmap Steps 1 and 2 of the roadmap above are necessary for the use of SAP NWDI integration into the enhanced CTS (CTS+) independent from the use of CM Services. Step 4 is generally required to be able to use CTS+. There are wizards available in SAP NetWeaver Administrator (http://<Host>:<port>/nwa) area Deploy and Change → Configuration Wizard which allow to perform the initial configuration of the System Landscape Directory (CTC template NWA_01_This wizard will execute configuration for local SLD) and 2011 © 2011 SAP AG. All rights reserved. 337 Unit 7: Change Management and Software Logistics ADM800 to perform the initial configuration of SAP NetWeaver Development Infrastructure (CTC template Initial setup of functional unit Development Infrastructure (DI all-in-one)). Note: The configuration of SAP NetWeaver Development Infrastructure also includes the configuration of the Name Server on the System Landscape Directory. SAP recommends to use Single Sign-On (SSO) mechanisms (Logon Ticket, Assertion Ticket) options for the JCo destination between the SAP NWDI system and the CTS system. Therefore every SAP NWDI developer needs special permission on the CTS system as well. You therefore need to make sure that these users have assigned the correct role on the CTS system. Note: You have to create a user for every developer on the CTS system. The users are required on the CTS system e.g. to get a transport request when exporting. You can use the user IDs of your developers. Make sure that you use IDs which allow to be used in SSO mode. If the users already exist, continue with the profile that is required and assign it to all of the users. In transaction PFCG on the CTS system, copy role SAP_CTS_PLUS into your namespace (for example to role Z_CTS_PLUS). In addition you need to assign the actions and roles introduced by CM Services to the appropriate users: In the UME of your SAP NWDI System (http://<NWDI-Server>:<Host>/useradmin) • • map the SAP_DI_ADMINISTRATOR role to the NWDI.Administrators group. This role includes – among others – administrative authorizations for CM Services. map the SAP_DI_DEVELOPER role to the NWDI.Developers group. This role includes – among others – display and export authorization for CM Services. In order to use the Transport Organizer Web UI (for example for creating an upload transport request), you need to activate the service CTS_BROWSER and all other services that are necessary for ABAP Web Dynpro in transaction SICF. For details see SAP note 1088717 – Active services for Web Dynpro ABAP in transaction SICF. Hint: For more information, see the online documentation for SAP NetWeaver 7.3, area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Software Logistics → Change and Transport System → Change and Transport System – Overview → Transporting Non-ABAP Objects in Change and Transport System. 338 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications The RFC destination CTSCONFIG points from the CTS system to the system on which the CM services are running (that is the SAP NWDI system). This connection is used for the creation of development components (DTR workspaces, CBS buildspace) from transaction STMS of the CTS system. From technical point of view, this RFC destination is of type G – HTTP Connection to External Server. Note that this RFC destination is referenced by two different logical ports (in client 000 of the CTS system): • • logical port CTSCONFIG (proxy class CO_TDIDICONFIGURATION_SERVICE) for the creation of development configurations from transaction STMS logical port CTSDEPLOY_DI (proxy class CO_TFLDEPLOY_PROXY_VI_DOCUMENT) for calling the CTS Deploy Web Service on the SAP NWDI system. Hint: The CTS Deploy Web Service in the SAP NWDI system is used on one hand when starting tp on the CTS system using the logical port CTSDEPLOY_DI (in case of transporting sources). On the other hand it is used in case of deploying from SAP NetWeaver Developer Studio into the central development system of the TMS system landscape. The RFC destination CTSDEPLOY (using the logical port CTSDEPLOY) points from the AS ABAP of the CTS system to the AS Java of the CTS system. This destination is needed when calling the CTS Deploy Web Service on the CTS system. Hint: This is done on one hand in case of using CTS for other transports such as e.g. portal content or SLD content. In case of transporting deployables on the other hand, you can call the CTS Deploy Web Service on the CTS system as well for the import into the QAS and the PRD system. In this scenario the SAP NWDI system will not be needed for the import into follow-up systems. Before you can attach objects to transport requests directly in the application, you must first use RFC to connect your SAP application system (such as SAP NetWeaver Development Infrastructure) to the CTS system. This enables your application to communicate with the transport system. To create this RFC connection, proceed as follows: In SAP NetWeaver Administrator of your CM Services system (that is the SAP NWDI system: http://<NWDI-Host>:<port>/nwa), choose area System Management → Configuration → Destinations. Create a new destination of type RFC called (exactly!) sap.com/com.sap.tc.di.CTSserver by choosing New. 2011 © 2011 SAP AG. All rights reserved. 339 Unit 7: Change Management and Software Logistics ADM800 Finally you need to structure your development according to SAP's component model by defining a product that in turn consists of software component versions. This is done on SAP System Landscape Directory (SLD). Step 7 of the roadmap shown above is explained in more detail in the following sections of this lesson. The meaning of a system in the context of SAP NetWeaver Development Infrastructure The development configuration determines the developer's view of the development infrastructure. The development configuration defines the software components that are to be developed and determines the access to the objects in SAP NetWeaver Development Infrastructure. All developers that use the same development configuration work with the same, consistent objects. Two workspaces (one each for the “active” and “inactive” sources) are assigned to each development configuration in the Design Time Repository. A workspace contains the sources of a particular status of a software component. Workspaces are represented and addressed in the repository using URLs. Each development configuration is represented in the Component Build Service by exactly one buildspace. Among other things, the buildspace is responsible for the combining of changes and providing library archives for used components. The Transport Management System (TMS) transports software changes between systems. In the context of the transport of Java applications with the ABAP Transport Management System (TMS), a system can consist of a development configuration and a runtime system. A system can contain only a development configuration, only a runtime system, or both, depending on whether source code or deployable archives are to be transported. This is shown in the following figure. 340 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Figure 144: System – Building Blocks A system corresponds to a development stage (development, test, production) in the system landscape. Defining a System Landscape for Activity-based SDA Transports A system landscape for the development of Java applications contains all development configurations and all runtime environments that are required to develop, test, and produce one or more software components. Deployment to the runtime environment takes place for SAP systems that are based on AS Java 7.0x or SAP Web AS Java 6.40 via the Software Deployment Managers (SDM). The SDM password must be defined on the CTS system landscape for this purpose. For SAP systems that are based on AS Java 7.1 or higher, deployment takes place from the Deploy Controller. In this case, the password of a user (who can start the deployment process on the SAP system) must be defined on the Transport Management System (TMS) Roadmap The following roadmap contains the main configuration steps for the Transport Management System (TMS) on the CTS system. 2011 © 2011 SAP AG. All rights reserved. 341 Unit 7: Change Management and Software Logistics ADM800 Figure 145: Configuration of TMS on the CTS System – Roadmap Some of the steps are discussed in more detail in the remaining part of this section. Creating systems in Transport Management System Before you can define a system landscape for the transport of activities with SAP NetWeaver Development Infrastructure, you need to define the single systems of this landscape. This is done in transaction STMS (Transport Management System) on the CTS system (usually this is the transport domain controller system) in area Overview → Systems. Depending on the transport scenario, you need to define • • systems without development configuration and systems with development configuration For the activity-based SDA transport scenario, the development system is a system with development configuration whereas the upload system, the quality assurance system and the production system are all systems without development configuration. 342 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Figure 146: Configure a non-ABAP system in TMS 2011 © 2011 SAP AG. All rights reserved. 343 Unit 7: Change Management and Software Logistics ADM800 The creation of a non-ABAP System with development configuration is similar to the creation of a non-ABAP system without development configuration: On your CTS system, call transaction STMS. In the System Overview area, choose SAP System → Create → Non-ABAP-System and enter the required data (see the figure above). • System: Enter the SID of your runtime system or, for example, UPL (Upload System). Hint: If the SID is already used, you can also use any 3 letter name that has not yet been used in the transport domain. It is not required that the runtime systems are shown in CTS by their real SID – but it simplifies keeping an overview if you do so. • • • • Communication System: Choose the system where you have configured the logical port in transaction LPCONFIG and the RFC destination CTSCONFIG. Usually, this is your CTS system. Development Infrastructure: set the option Create Development Configuration only for systems with development configuration. This option is required for all systems where you would either like to develop or import sources based on SAP's AS Java. In the activity-based SDA transport scenario, this option needs to be selected only for the development system. Source System Settings: Activate the Transport Organizer Web UI to be able to create transport requests for this system. Choose this option for each and every system where you would like to do exports (usually, this should be done only for your development system and your upload system). Target System Settings: Specify your development runtime system by choosing the method SDM or DC (depending on the release of the runtime system) and enter host and instance number for this Java system. These settings do not need to be maintained for the upload system. Note: This configuration is different from what you might know when using CTS+, for example, for SAP NetWeaver Portal systems. When using the CM Services, the development system has to have both configurations: source and target system. The target system option for the development system is needed to be able to import the transport requests coming from the upload system. 344 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications When first saving a non-ABAP system with development configuration (Create Development Configuration is selected) additional data is required: • • • • On the System Landscape Directory screen, enter the URL of the SLD that you would like to use for SAP NWDI development (as specified when executing the template for the SAP NWDI configuration (Initial setup of functional unit Development Infrastructure (DI all-in-one)). Specify the user and password to be used by CM Services to communicate with the SLD. For example, enter NWDI_CMSADM as user and the password of this user (for example, the master password used during the execution of the template for the SAP NWDI configuration). Enter the user used by CM Services to communicate with DTR/CBS. This is also user NWDI_CMSADM with the appropriate password. After saving and distributing your changes, you finally need to set user and password for the deployment. In case of SDM deployment, you only have to enter a password, leave the entry for User to SDM. Note: For runtime systems with SDM (7.0x) use SDM as user. As of SAP NetWeaver AS Java 7.1 the Deploy Controller is used for deployments. In this case, enter a user with deploy permission and the appropriate password. After the changes have been saved and distributed, the Development Configuration UI appears (see the following figure). Figure 147: Development Configuration UI 2011 © 2011 SAP AG. All rights reserved. 345 Unit 7: Change Management and Software Logistics ADM800 With the Development Infrastructure – Configuration Service User Interface you can manage development configurations in your landscape. There are three tabs available: • System Landscape Directory tab: In the Copy to overwrite Local Settings and Software Component Definition area, you can copy the definition of a development configuration to the development configuration that is currently loaded. Note: You cannot modify some entries on the System Landscape Directory tab page data (SLD URL, user, password, and URL of CM Services) in the Configuration Service UI. You can modify the related values in TMS (transaction STMS). The SLD URL for example also is a global tp parameter (DI_SLD_URL), the user can be changed on the Transport Tool tab using Goto → Development Infrastructure → DI SLD User / Password. • Local Settings tab: Here you need to enter the Repository Location (DTR) URL for the storage and versioning of sources and the Build Tool Location (CBS) URL for building DCs (development components). Use the URLs of your SAP NWDI server. In the Transport Settings area, you can define the Export Mode and the granularity level of the export package that should be possible for your transport landscape. Hint: Before you can save these settings, you need to add at least one software component on the Software Component Definition tab as the DTR and CBS URL will be deleted in case that no software components are added for this configuration. • Software Component Definition tab: Here you can add software component versions (that you want to be developed in this development configuration). Choose Add SC in the Software Component section. All available software components are read from SLD and are provided in a list. Note that software components that are required for a certain software component are shown only if you have specified the DTR / CBS location on the Local Settings tab before. Hint: As of enhancement package 2 for SAP NetWeaver 7.0 you can specify Build Options here as well. As SAP NetWeaver Development Infrastructure supports the development of Java applications for different AS Java releases, different versions of the JDK may be required to build these applications. With the help of the Build Option com.sap.jdk.home_path_key you can specify which JDK is to be used for the build (the Value of this parameter needs to 346 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications match one entry in the JDK_HOME_PATH service properties for the Component Build Service (area Server → Services → Component Build Service in the Visual Administrator tool). tp parameter The transport control program tp is a tool for controlling transports between SAP systems. The behavior of tp can be controlled by tp parameters. To maintain tp parameters, use transaction STMS of the Transport Domain Controller system (System Overview area, Transport Tool tab for the system in question). Selected tp Parameters for Activity-based SDA Transport Scenario 2011 Quality Assurance System Production System Upload System Development System DI_SLD_URL not needed URL pointing to start page of AS Java on which SLD and Name Server are used URL pointing to start page of AS Java on which SLD and Name Server are used DEPLOY_ DATA_SHARE – \trans\data directory on CTS system \trans\data \trans\data directory on directory on CTS system CTS system DEPLOY_URL – URL pointing to the deploy tool of the development runtime system URL pointing to the deploy tool of the quality assurance runtime system URL pointing to the deploy tool of the production runtime system DEPLOY_ WEB_SERVICE – CTSDEPLOY_DI CTSDEPLOY CTSDEPLOY DI_SYSTEM – TRUE – – tp parameter © 2011 SAP AG. All rights reserved. URL pointing to start page of AS Java on which SLD and Name Server are used 347 Unit 7: Change Management and Software Logistics ADM800 Upload System Development System Quality Assurance System Production System NON_ABAP_ WBO_INBOX directory, in which SCA files for require SCs are located – – – NON_ABAP_ WBO_CLIENT client on CTS system on which STMS is called client on CTS system on which STMS is called – – WBO_GET_ REQ_STRATEGY SMART or SMART or TAGGED TAGGED – – WBO_REL_ REQ_STRATEGY AUTO or MANUAL – – tp parameter AUTO or MANUAL The following tp parameter are used for the activity-based SDA transport scenario: • • • • • 348 NON_ABAP_WBO_CLIENT specifies the client (on the CTS system) in which transport requests can be created and released. This parameter is needed to enable the Transport Organizer Web UI and to restrict this Web UI for non-ABAP systems to one client. The parameter WBO_GET_REQ_STRATEGY (values: SMART or TAGGED) defines the automatic creation of transport requests during the export process. The parameter WBO_REL_REQ_STRATEGY (values AUTO or MANUAL) defines the automatic release of transport requests. The parameter NON_ABAP_WBO_INBOX points to the directory in which the transport organizer looks for files that should be transported. The parameter DI_SYSTEM indicates whether or not it is a system with development configuration. You can choose how to send non-ABAP objects from transport requests to the target system. You can use a mount directory or a share directory – set the parameter DEPLOY_DATA_SHARE (this parameter points to the directory where tp stores the data and the CTS Deploy Web Service takes it for deployment to the runtime systems, the parameter will be generated automatically but you may need to adapt the value of this parameter manually). Or you can create an SAP Java Connector connection (JCo connection) – in this case set the parameter CTS_FILE_PROVIDER_URI. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications • • The value of the parameter DEPLOY_WEB_SERVICE must be changed to CTSDEPLOY_DI manually. This has been configured as the name for the logical port pointing to the RFC destination CTSCONFIG of type G before. This parameter is generated automatically but is set by default to the value CTSDEPLOY when creating a new non-ABAP system. If you want trigger the deployment in the target systems, you need to specify the parameter DEPLOY_URL. This parameter is generated automatically and should point to the URL of the deploy tool (for example: the Deploy Controller) of the target system. Note: You may need to change the DEPLOY_URL parameter to the correct deploy port if you are using runtime systems which are based on AS Java 7.1 or higher. For AS Java 7.1 and higher the DEPLOY_URL has to be http://<host>:5<instance number>04. System Landscape Transport routes are created using transaction STMS on the CTS system. The required transport routes depend on the transport settings that you did when creating the development configurations. Figure 148: TMS System Landscape for Activity-based SDA Transports The figure above shows the transport routes for the activity-based SDA transport scenario. Solid arrows indicate consolidation routes (including a transport layer), dashed arrows indicate delivery routes. 2011 © 2011 SAP AG. All rights reserved. 349 Unit 7: Change Management and Software Logistics ADM800 For details how to create transport routes, see the online documentation for SAP NetWeaver 7.3 , area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Software Logistics → Change and Transport System → Transport Management System (BC-CTS-TMS) → Configuring TMS → Configuring the Transport Routes. For the transport type Activity-based SDA Transport, you have to configure a consolidation route between the development system and the quality assurance system. This consolidation route is needed to export new developments from the development system and bring them to the target systems. The delivery route between the quality assurance system and the production system is required to be able to import all of the requests that were created in the development system into the production system as well. Upload Directory In order to be able to develop an application for AS Java you need to import some basic libraries (prerequisite software component archives) into DTR and CBS and maybe some SCAs containing sources that you would like to change. To be able to do so, a transport request with these libraries needs to be created and imported into the development system and all other systems of the transport route for which you have created a development configuration (all systems with tp parameter DI_SYSTEM = TRUE). As a prerequisite you need an upload directory as kind of “inbox” where the files can be taken from. You can create this folder on the client side as well as on the server side. If you choose to create the folder on the server side, see SAP note 1408532 – CTS+ Transport Organizer Upload of Large Files. Check-In and transport of required software components According to the definition of the software component version on SAP System Landscape Directory (SLD), among others the environment required for a central build (including the component DI BUILD TOOL) is defined as a prerequisite (dependent) software component. You must also check-in the version of all these dependent components (corresponding to the release and Support Package level of the runtime systems for which you want to develop). 350 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications You can download these software components from SAP Service Marketplace. To check them in, you must create a transport request for the upload system. Hint: You can find the required dependent SAP software components on SAP Service Marketplace under the Quick Link /patches. You can also trigger the download of these SC versions from here. You can use the following path to find the typical prerequisite software components: Support Package and Patches → A - Z Index → Support Packages and Patches → N → SAP NETWEAVER → SAP NETWEAVER <Release> → Entry by Component → Development Infrastructure → <SC in question> <Release>. The following figure shows how to create a transport request for the upload system to import the required sources and libraries into the development configurations of the system landscape: Figure 149: Creation of an Upload Transport Request On the CTS system (usually this is the transport domain controller system), call transaction STMS and choose the Transport Organizer Web UI button. On the following screen select your upload system, choose Copy and then Continue. A browser window opens. Choose Create Request, enter the required data, and choose Create. Make sure that the transport request is defined as Preselected Request. As a result, a transport request is created. Switch to the Object List tab page, choose Attach. Select the Application NWDI, and Client or Server depending on where your inbox is located. Browse for the required SCA 2011 © 2011 SAP AG. All rights reserved. 351 Unit 7: Change Management and Software Logistics ADM800 files and choose Ok. Repeat this step to attach all required SCAs to the request. Finally choose Release to release the transport request. On the Logs tab page you can see the target system information. Hint: Upload of big files from the client may fail. In this case, choose the option Server and upload the files from there (see SAP note 1408532 – CTS+ Transport Organizer Upload of Large Files). The import of transport requests into subsequent systems is done (as usual for ABAP transport requests) in transaction STMS of the CTS system (Import Overview area). During the import into the quality assurance system, the transport control program tp triggers the import dispatcher RDDIMPDP that in turn triggers the job RDDEPLOY. This job opens a connection to the CTS Deploy Proxy. This connection needs to be kept open during the complete deployment process. The CTS Deploy Proxy finally calls the import tool on the AS Java side (for example the Deploy Controller). As a result, the transport request is now listed in the import queue of the production system (according to the definition of the transport landscape in transaction STMS, area Transport Routes). After the import has finished, you may want to check the deployment log which can be accessed directly using the Logs button. Hint: If you cannot find the transport request in the import queue, feel free to look in the import history which can be accessed from the import queue with Goto → Import History. Configuring SAP NetWeaver Developer Studio Before the actual development of programs and applications can be started, the local development environment (that is, SAP NetWeaver Developer Studio) must also be configured for connection to the central infrastructure. Hint: The version of the SAP NetWeaver Developer Studio must match the version of the runtime systems for which it is developed. If, for example, the development is for SAP NetWeaver Portal 7.30 with SP Stack X and an SAP NWDI system on AS Java 7.02 with SP Stack Y is used for this, then SAP NetWeaver Developer Studio 7.30 SP Stack X needs to be used for the development. 352 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications For this purpose, in SAP NetWeaver Developer Studio (Studio), settings must be made for the connection to the SAP NWDI system and the local AS Java and for the proxy settings may have to be checked. You can find these settings using the menu path Window → Preferences. • • • • To have access to the development configurations in the SLD, define the URL of the SLD in the SAP NetWeaver Developer Studio. This is done for the SAP NetWeaver Developer Studio 7.11 in the area Development Infrastructure → System Landscape Directory. You must specify the location of the runtime environment for local testing. You do this in the area SAP AS Java. You must specify the host name and an instance number of the AS Java here (for example, of a local SAP NetWeaver Portal 7.3 system). You must also check the settings for the proxy. In this case, the addresses of the SAP NWDI servers (more precisely: the DTR server) must not be addressed via a proxy server. You make these settings in the area General → Network Connections. Depending on the release of SAP NetWeaver Developer Studio, you may also need to specify the connection to the CTS system. This is done in the area Destination Configurations → R/3 Configuration. Figure 150: Configuring SAP NetWeaver Developer Studio (Window → Preferences Menu) 2011 © 2011 SAP AG. All rights reserved. 353 Unit 7: Change Management and Software Logistics ADM800 Importing the Development Configuration Development configurations provide a development environment for one (or several) specific software component(s) in the current development status. Therefore, every development tasks begins with the selection of the development configuration. Hint: Logging on to a development configuration corresponds in the ABAP to logging on to a development system. The developer has access to the sources to be developed and the archives used with this logon. You can import the development configuration using a perspective provided for this purpose: the Development Infrastructure perspective. For this purpose, you have to log on to the central infrastructure (DTR, CBS, CM Services) from SAP NetWeaver Developer Studio. Hint: SAP NetWeaver Developer Studio is based on the Eclipse platform. It provides a range of tools for all aspects of application development. As is usual in Eclipse, the related tools are mainly combined into perspectives in accordance with task-specific requirements. After you have imported the development configuration, a tree structure for the development configuration and the software component appears in the Component Browser view of SAP NetWeaver Developer Studio. You can now create new development components by opening the software component's context menu. Alternatively, you can adapt existing development components. The changes to the sources of the software components are recorded in activities. Hint: An activity is a set of versions that have been created by a user and assigned to a workspace. It logs changes to the workspace resources that correspond to a single logical change. 354 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Exercise 17: Preparing for the Development of Java Applications Exercise Objectives After completing this exercise, you will be able to: • Connect SAP NetWeaver Developer Studio with the central components of SAP NetWeaver Development Infrastructure Business Example In 2005, the company COMPANY (Internet Domain company.com) launched the first version of the software product MATHEMATICS which consists, among other things, of version 1.0 of the software component CALCULATOR and is based on SAP Web AS 6.40. When first developed, version 1.0 of the software component CALCULATOR was implemented in JSP technology. Since then, a new the version of MATHEMATICS (version 2013.1) has been implemented. This consists (among other things) of the software component CALCULATOR in version 4.0 and is based on AS Java 7.30. During the review of CALCULATOR, it was decided to change from JSP technology to Web Dynpro. However, during the test phase, a number of minor errors were detected in CALCULATOR 4.0 which are now to be eliminated in this unit. Task 1: Optional: Check the System Landscape Check the system landscape for the development. Find out whether or not runtime systems are assigned to the quality assurance system and to the production system. Which software component version is to be developed in this system landscape? 1. Log on to the CTS system that is used in your training class with the user provided by your instructor. Open the Transport Route editor in transaction STMS and check the system landscape for the development of Portal applications. Find out which system ID belongs to the development system, which system ID belongs to the quality assurance system and which system ID belongs to the production system. 2. Check the tp parameter for the quality assurance system and for the production system. Is there a runtime system assigned to the quality assurance system and to the production system? 3. Find out which software component version is to be developed in the system landscape to which the Portal development system belongs. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 355 Unit 7: Change Management and Software Logistics ADM800 Task 2: Create Transport Request On the CTS system, create a transport request for the Portal development system. Assign your user to this transport request. Specify the transport request to be the preselected request. 1. Log on to the CTS system that is used in your training class. Your instructor will provide you with details. Start the Transport Organizer Web UI for the SAP NetWeaver Portal development system. 2. Create a transport request for the SAP NetWeaver Portal development system. Make sure that this transport request will be the preselected request for your user. Result You have created a transport request that can be used by your user later, for example when you work in SAP NetWeaver Developer Studio. Continued on next page 356 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Task 3: Configure SAP NetWeaver Developer Studio Figure 151: Structure of the Training Landscape Start the SAP NetWeaver Developer Studio that you have been assigned and configure it for connection to the central SAP NetWeaver Development Infrastructure. 1. Configure your SAP NetWeaver Developer Studio (Studio) so that you have access to the System Landscape Directory that is used in this training class. You must also specify the location of your SAP NetWeaver Portal system for local testing. Task 4: Import the Development Configuration into SAP NetWeaver Developer Studio Import the development configuration of the (central) Portal development system into your SAP NetWeaver Developer Studio. 1. 2011 In SAP NetWeaver Developer Studio, switch to the Development Infrastructure perspective and import the development configuration from the SLD that your instructor provides. © 2011 SAP AG. All rights reserved. 357 Unit 7: Change Management and Software Logistics ADM800 Solution 17: Preparing for the Development of Java Applications Task 1: Optional: Check the System Landscape Check the system landscape for the development. Find out whether or not runtime systems are assigned to the quality assurance system and to the production system. Which software component version is to be developed in this system landscape? 1. Log on to the CTS system that is used in your training class with the user provided by your instructor. Open the Transport Route editor in transaction STMS and check the system landscape for the development of Portal applications. Find out which system ID belongs to the development system, which system ID belongs to the quality assurance system and which system ID belongs to the production system. a) If you have not yet already done so, create an SAP Logon entry for the CTS system that is used in your training class. Your instructor will provide you with logon details. b) Log on to the CTS system that is used in your training class. Use the credentials which are provided by your instructor. c) Start transaction STMS (Transport Management System) and choose Overview → Transport Routes. You should find a system landscape for Portal development (for example systems POD, POQ and POP which play the role of the Portal development system, the Portal quality assurance system and the Portal production system). And you should find an upload system (for example UPL). d) You should find the following transport routes for this system landscape: • • • a consolidation route from the upload system to the Portal development system (indicated by a green arrow) a consolidation route from the Portal development system to the Portal quality assurance system (indicated by a green arrow) a delivery route from the Portal quality assurance system to the Portal production system (indicated by a black arrow) Continued on next page 358 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications 2. Check the tp parameter for the quality assurance system and for the production system. Is there a runtime system assigned to the quality assurance system and to the production system? a) If you have not yet already done, log on to the CTS system that is used in your training class. Use the credentials which are given to you by your instructor. b) Start transaction STMS (Transport Management System) and choose Overview → Systems. c) Double click on the line for the Portal quality assurance system (for example: the line for system POQ). Switch to the Transport Tool tab. d) Check whether or not a line for the tp parameter DEPLOY_URL exists. If it exists, there is a runtime system assigned to the Portal quality assurance system. In this case, the value of the parameter DEPLOY_URL should read http://<Host of the Portal quality assurance runtime system>:5<instance number of the Portal quality assurance system>04. Caution: Do not change any parameters here. e) Choose Back to go to the System Overview screen again. f) Double click on the line for the Portal production system (for example: the line for system POP). Switch to the Transport Tool tab. g) Check whether or not a line for the tp parameter DEPLOY_URL exists. If it exists, there is a runtime system assigned to the Portal production system. In this case, the value of the parameter DEPLOY_URL should read http://<Host of the Portal production runtime system>:5<instance number of the Portal production system>04. Caution: Do not change any parameters here. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 359 Unit 7: Change Management and Software Logistics 3. ADM800 Find out which software component version is to be developed in the system landscape to which the Portal development system belongs. a) If you have not yet already done, log on to the CTS system that is used in your training class. Use the credentials which are given to you by your instructor. b) Start transaction STMS (Transport Management System) and choose Overview → Systems. c) Double click on the line for the Portal development system (for example: the line for system POD). Switch to the Transport Tool tab. d) Click on the button Display/Change Development Configuration. You may be prompted to log on to the SAP NetWeaver Development Infrastructure (NWDI) system. In this case, enter your credentials on the SAP NWDI system. Your instructor will provide you with details. e) On the Development Infrastructure – Configuration Service screen, switch to the Local Settings tab. f) In the area Repository and Build Tool Location you find information on the Repository Location (DTR) and the Build Tool Location (CBS). In the lower right area you find information, which software component version is to be developed. Caution: Do not change any settings here. g) Finally close the browser window to leave the Development Infrastructure – Configuration Service screen. Continued on next page 360 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Task 2: Create Transport Request On the CTS system, create a transport request for the Portal development system. Assign your user to this transport request. Specify the transport request to be the preselected request. 1. 2. Log on to the CTS system that is used in your training class. Your instructor will provide you with details. Start the Transport Organizer Web UI for the SAP NetWeaver Portal development system. a) If you have not yet already done, log on to the CTS system that is used in your training class. Use the credentials which are given to you by your instructor. b) Start transaction STMS (Transport Management System) and choose the Transport Organizer Web UI button. On the following screen select the Portal development system (for example system POD) from the value help and choose Continue. c) In case that you are asked for credentials, enter your credentials for the CTS system. Create a transport request for the SAP NetWeaver Portal development system. Make sure that this transport request will be the preselected request for your user. a) On the Transport Organizer Web UI choose Create Request. On the resulting screen Create a Transport Request, enter a meaningful description (for example Transport Request Group ## where ## represents you group number). Check that your user <Course-ID>-## is the Owner of this transport request. b) Make sure that the checkbox Preselected Request is selected and choose Create. c) Finally close the browser window of the Transport Organizer Web UI. Result You have created a transport request that can be used by your user later, for example when you work in SAP NetWeaver Developer Studio. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 361 Unit 7: Change Management and Software Logistics ADM800 Task 3: Configure SAP NetWeaver Developer Studio Figure 152: Structure of the Training Landscape Start the SAP NetWeaver Developer Studio that you have been assigned and configure it for connection to the central SAP NetWeaver Development Infrastructure. 1. Configure your SAP NetWeaver Developer Studio (Studio) so that you have access to the System Landscape Directory that is used in this training class. You must also specify the location of your SAP NetWeaver Portal system for local testing. a) On the training host that your instructor has assigned to you (twdfxxxx), choose the desktop icon for SAP NetWeaver Developer Studio to start SAP NetWeaver Developer Studio (Studio). You may have to choose OK to confirm the prompt for a workspace. In the Studio, choose the menu path Window → Preferences. b) In the section Development Infrastructure → System Landscape Directory, enter the URL of the SAP NWDI server assigned to you (SAP system with system ID NDI) in the format http://<NWDI-host, fully qualified>:<port>, and then choose Ping to check the connection. Continued on next page 362 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications c) In the section SAP AS Java, choose Add... and enter the data of the SAP NetWeaver Portal server assigned to you (server name and instance number of the central instance) in the relevant fields. An example of an entry here could be: Instance Hostname: twdfxxxx.wdf.sap.corp Instance Number: 00 Add to Domain: Default Use HTTPS: <do not select> Then choose OK → OK to confirm your settings. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 363 Unit 7: Change Management and Software Logistics ADM800 Task 4: Import the Development Configuration into SAP NetWeaver Developer Studio Import the development configuration of the (central) Portal development system into your SAP NetWeaver Developer Studio. 1. In SAP NetWeaver Developer Studio, switch to the Development Infrastructure perspective and import the development configuration from the SLD that your instructor provides. a) If you have not already done so, close the initial screen (Welcome). To import the development component, switch to the Development Infrastructure perspective in the SAP NetWeaver Developer Studio by choosing Window → Open Perspective → Development Infrastructure (or – if it does not exist – select this perspective using Other ...). Start the import of development configurations by choosing the button New/Import Development Configuration in the standard toolbar. Select Import from System Landscape Directory (SLD) on the following screen and choose Next>. You may have to log on to SAP NetWeaver Development Infrastructure as a developer on the following screen (with the user and password that your instructor provides). Hint: Always enter your user name (case-sensitive) using lower-case characters (for example, <course-ID>-##) here and later on. b) Then select the configuration with the name <the development configuration path created by your instructor> → <SID of the central development system> and choose Next > → Finish. You may have to log on to the development infrastructure again (you can also select the field Save password to avoid any logon prompts in the future). The development configuration settings are now read, and your development environment is set up. In the Component Browser view, you can now see a new entry with the name of the imported development configuration together with the software components that are to be developed and that are required. Result You have made all of the settings required as preparation for developing or modifying Java applications in SAP NetWeaver Developer Studio. 364 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparing for the Development of Java Applications Lesson Summary You should now be able to: • List the necessary steps to define a system landscape for SAP NWDI based development in the ABAP Transport Management System • Connect SAP NetWeaver Developer Studio to the central components of SAP NetWeaver Development Infrastructure Related Information For more information on the configuration of SAP NetWeaver Development Infrastructure, see the class ADM225 – SAP Software Logistics for Java. For more information on the configuration of the Transport Management System (TMS), see the class ADM325 – SAP Software Logistics. 2011 © 2011 SAP AG. All rights reserved. 365 Unit 7: Change Management and Software Logistics ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Lesson Overview Java applications are usually developed in a decentralized way. In the SAP environment, SAP NetWeaver Developer Studio provides a separate local development environment for each developer. This lesson introduces the individual steps that are required to develop and modify Java applications. As an example, an existing Java Web Dynpro application is changed. The application is finally tested and the changes are released for transport to follow-on systems. Lesson Objectives After completing this lesson, you will be able to: • • List the individual steps that are required from the start of developing / changing Java objects to releasing these changes in the central development system Outline the structure of the Design Time Repository (DTR) Business Example Your company is using SAP NetWeaver Development Infrastructure. As a member of the development team for Java applications based on SAP NetWeaver Portal server, you want to implement your own Java application. You are therefore interested in the interaction between the local development environment and the central development infrastructure. Overview of the Development Process After SAP NetWeaver Development Infrastructure (NWDI) has been configured and the transport landscape has been defined, you can start the actual development of Java applications. The figure below provides an overview of the entire process of development using SAP NWDI. 366 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Figure 153: SAP NWDI Based Development: Process Overview Development configurations make available a development environment for the software component in the current development status. Therefore, every development task begins with the selection of the development configuration. Hint: Logging on to a special development configuration corresponds in the AS ABAP to logging on to a special development system. This gives the developer access to the current sources and the archives used (to runtime objects in the AS ABAP for example). Development configurations are generated and stored in the System Landscape Directory (SLD). They are imported into SAP NetWeaver Developer Studio (Studio) (step 1a). The local files can then be synchronized with the sources in the Design Time Repository (DTR) (step 1b) and the archives in the Component Build Service (CBS) (step 1c) . In the next step, the source files are created or revised (step 2). From time to time, the sources can be built locally. To do this, the build process is triggered from SAP NetWeaver Developer Studio (step 3a). After the source files and the used archives have been loaded (step 3b), the build starts automatically (step 3c). The result is that the generated archives are written back to the local file system. The results of the local build are then tested in the local development environment (step 4). After a successful local test, the sources are updated in the DTR (step 5). 2011 © 2011 SAP AG. All rights reserved. 367 Unit 7: Change Management and Software Logistics ADM800 After the sources in the DTR have been updated, the central build can be triggered from SAP NetWeaver Developer Studio (step 6a). The sources and required archives are loaded into the CBS for this (step 6b), and the build starts automatically (step 6c). If the build was successful, the sources are automatically activated in the DTR (step 6d). The automatic deployment of the generated archives to the central development system then starts, using software logistics (step 6e). A test in the context of other developers' developments is then performed here. If this is also successful, the activities can be released in the context of a transport request (step 7). When the transport request is released, the changes recorded in the activities involved are placed in the import queue of the follow-up system in the Transport Management System (TMS) system landscape. This concludes the task of the developer. Changing a Java Web Dynpro Application Standard Java development objects are developed using the Java EE perspective of SAP NetWeaver Developer Studios (Studio). This perspective ensures consistent access to all development objects of Java EE projects. If Java Web Dynpro applications are to be developed or changed, this adaptation is performed in a separate perspective in the SAP NetWeaver Developer Studio, the Web Dynpro perspective. This perspective ensures consistent access to all development objects of projects for Java Web Dypro. Hint: The Web Dynpro perspective is (on request from SAP NetWeaver Developer Studio) automatically displayed when a Web Dynpro project has been created. In other cases, you can start the perspective by choosing (Window → Open Perspective → Web Dynpro). The Web Dynpro perspective delivers a logical view of the local project structure and provides a starting point for the relevant activities, such as creating or editing development objects. By default, double-clicking an object starts the associated editor. You can create new development objects for a project using wizards. Changing a Java Web Dynpro Java Web Dynpro applications are usually adapted in the SAP NetWeaver Developer Studio within the framework of Web Dynpro projects. You can do this using the context menu on the entry of the relevant development component (Web Dynpro perspective, tab page Web Dynpro Explorer). The Web Dynpro editor is started automatically to enable you to change the Web Dynpro. The editor possesses a number of different tabs. The tab page Layout (on a special view, for example) indicates how the coding may appear in a browser. You can select an object to edit its properties (tab page Properties), for example the notation. 368 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Building the Application Locally and Testing Locally When you build locally, an EAR file is generated from the Enterprise Application project (or Web Dynpro project). When you do this, the created sources are compiled in the context of the versions of referenced objects that exist locally. At the same time, JAR, WAR or WDA files for the referenced projects are created. In the standard Java EE environment, project WAR files (WAR: Web Archive) are created for Web modules and project JAR files (JAR: Java Archive) are created for EJB modules. If SAP-proprietary Web Dynpro projects are used, then WDA files (Web Dynpro Archives) are generated. The EAR file may contain the JAR, WAR or WDA files and the deployment descriptors. You can also optionally build additional libraries into the EAR file. After the local build has been successfully completed, the application can be deployed into the local SAP NetWeaver Portal system on the developer's PC and tested locally (that is, in the context of the locally available sources and archives). Checking-in the changes The Design Time Repository (DTR) provides the versioning of source code in the context of SAP NetWeaver Development Infrastructure, and therefore allows the distributed development of software in teams and transport and replication of sources. At the start of the development, you must make the repository aware of the intended change and arrange a change list (activity) to record the changes. The files that are to be revised are then checked out of the DTR and changed locally (“offline”, as it were). After the changes have been made, the sources are then checked-in back to the DTR (in a new version). The changes to the components take effect when the activities are checked-in. Hint: Checking-in an activity to the DTR can be compared with releasing a task in the context of a transport request in the ABAP (not with the release of the transport request itself). If further changes to the objects are required after the check-in, a new activity must be created for this. Both activities can then be grouped together later on in the context of the same DI package and released in the same transport request. The DTR consists of two parts, the DTR client and the DTR server. The main activities of the individual developers, such as checking files in and out, and creating sources, are performed in SAP NetWeaver Developer Studio (which in this context plays the role of the DTR client). The DTR server manages the data versioning. All files are stored in the database of the AS Java on which the DTR is located. 2011 © 2011 SAP AG. All rights reserved. 369 Unit 7: Change Management and Software Logistics ADM800 The resources are accessed in the context of a workspace, and versions are administered in the context of activities. Put another way: the workspace refers to a set of resources, each in exactly one version. This also means that a resource can be referenced in multiple workspaces. Put simply, a workspace consists of a collection of pointers that point to file versions (see the following figure). If a versioned resource is changed or deleted, a new version is created for this resource. Each version of the resource created in a specific workspace receives a unique sequence number. The sequence number specifies the order in which the versions were created in this workspace. The DTR displays the relationships between the individual versions of a versioned resource graphically as a version graph. Figure 154: Structure of the Design Time Repository (DTR) Changed sources are always checked-in to the DTR in the inactive workspace. The active and inactive workspace each show a version of the files stored in the DTR. In the figure above, file 2 has already been changed a number of times. After the last change, version 3 was generated during check-in. However, the changes were last activated (in this workspace) with version 1, meaning that the active workspace shows this version. After check-in, the changes that have been made to a source are available for other developers. When copying used Development Components (DCs), on the other hand, the active version of the DC is always transferred to the local developer's PC, while the inactive versions of a developer's own DCs are checked out. 370 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Activation, Deployment to the Central Development System and Testing Centrally After checking-in to the inactive workspace of the DTR, the next step is that the application is activated. During activation – which is triggered from SAP NetWeaver Developer Studio – a build request is first sent to the CBS. The CBS then attempts to build the selected sources centrally (that is in the context of the centrally available sources, interfaces, and used archives). The result of the activation is that there are now runtime objects available for the source files created. If the build is successful, the buildspace of the software component to be edited is filled with the generated archive files (EAR file, and so on). After a successful build, the active workspace in the DTR also shows the current version of the file. The integration of the changes into the active workspace is known as activation. This process ensures that the active workspace of the DTR only contains successfully built (that is, compiled) sources, and that the active workspace is always synchronized with the buildspace. Buildspaces always contain the appropriate versions of the involved software components for a development configuration. In this way, they make a consistent development context available to the development teams. Figure 155: Central Build and Activation: Interaction Between the Component Build Service (CBS) and the Design Time Repository (DTR) After successful activation, the application (if the development configuration is configured accordingly in the Development Infrastructure – Configuration Service UI, tab page Local Settings) is automatically deployed into the central development system of the TMS system landscape. You can then test it there in combination with the successfully activated applications of other developers. 2011 © 2011 SAP AG. All rights reserved. 371 Unit 7: Change Management and Software Logistics ADM800 Releasing the Changes for Test When the development is complete and after all developers involved have checked-in their sources, centrally activated, and centrally tested them, the changes made by the developers can be released for transport to the quality assurance system. This is the equivalent to releasing transport requests in the development system of the ABAP stack. After a successful release, the changes that have been made are available for import into the quality assurance system. 372 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Exercise 18: Developing Java Objects in SAP NetWeaver Developer Studio Exercise Objectives After completing this exercise, you will be able to: • Adjust and test a simple Java Web Dynpro application using the SAP NetWeaver Developer Studio Business Example In 2005, the company COMPANY (Internet Domain company.com) launched the first version of the software product MATHEMATICS which consists, among other things, of version 1.0 of the software component CALCULATOR and is based on SAP Web AS 6.40. When first developed, version 1.0 of the software component CALCULATOR was implemented in JSP technology. Since then, a new version of MATHEMATICS (version 2013.1) has been implemented. This consists (among other things) of the software component CALCULATOR in version 4.0 and is based on AS Java 7.30. During the review of CALCULATOR, it was decided to change from JSP technology to Web Dynpro. However, during the test phase, a number of minor errors were detected in CALCULATOR 4.0 which are now to be eliminated in this exercise. The system administration has already created a system landscape in the Transport Management System (TMS) for this. Your task as a developer is to adjust the Web Dynpro application using SAP NetWeaver Developer Studio and to test this application both locally and centrally. Task 1: Preparation: Check the Used Development Components in SAP NetWeaver Developer Studio If you have not already done so, import the development configuration of the Portal development system into SAP NetWeaver Developer Studio and check whether the development component math/calc/group##/wd exists. ## is your group number. 1. If you have not already done so, open SAP NetWeaver Developer Studio on the training host assigned to you, switch to the Development Infrastructure perspective and import the development configuration from the System Landscape Directory that is specified by your instructor. 2. In the Component Browser view, check whether the following development component exists: math/calc/group##/wd. ## is your group number. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 373 Unit 7: Change Management and Software Logistics ADM800 Task 2: Changing a Java Web Dynpro DC Figure 156: Structure of the Training Landscape Change the Web Dynpro DC with the name math/calc/group##/wd so that the notation in the initial screen is correct. To do this, create a project for your Web Dynpro DC and then change the title from Wellcome to Welcome. ## is your group number. 1. Create a project for your Web Dynpro DC. If prompted, switch to the Web Dynpro perspective. 2. Navigate to the Web Dynpro DC that you want to modify via [<SID of the Portal development system> [<number>]] math/calc/group##/wd → Web Dynpro → Components → CalcComp## → Views → CalcView. Change the title from Wellcome to Welcome. To do this, you must check out objects and create a new activity in which all the changes to the Web Dynpro DC are stored. Result You have now changed an existing Web Dynpro application. Continued on next page 374 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Task 3: Build the Application Locally Create a local build of the Web Dynpro Development Component (DC) that you have changed in the previous task. Optionally, you can also test the changed Web Dynpro DC locally (that is, on the SAP NetWeaver Portal system entered under Window → Preferences → SAP AS Java) after deploying the application locally. 1. Create a local build for your Web Dynpro Development Component (Web Dynpro DC). 2. Optional: Locally (that is, on the SAP NetWeaver Portal system specified under Window → Preferences → SAP AS Java) test the execution of the Web Dynpro DC that you have changed after deploying the application to this system. Result If you have completed the entire exercise successfully up to this point, a browser opens with the URL http://twdfxxxx:5$$00/webdynpro/resources/company.com/math~calc~group##~wd/CalcApp## ($$ denotes an instance number of your SAP system, ## denotes your group number) and you see the calculator program. Task 4: Check-in to the DTR and activation Check-in your open activities to the Design Time Repository (DTR) and activate your changes in SAP NetWeaver Development Infrastructure. 1. Switch to the Development Infrastructure perspective. In the Open Activities view, check-in your activity. 2. Check whether your activity has been activated automatically. If not, trigger the central activation. Task 5: Test Centrally and Release the Activity Test your application in context with the applications of the other course participants on the central development system of the system landscape. After a successful test, release a transport request that contains your activity. 2011 1. Test your application on the central development system. It may take some time after the import before the application can be called successfully. 2. Attach your activity to a transport request and release the transport request. © 2011 SAP AG. All rights reserved. 375 Unit 7: Change Management and Software Logistics ADM800 Solution 18: Developing Java Objects in SAP NetWeaver Developer Studio Task 1: Preparation: Check the Used Development Components in SAP NetWeaver Developer Studio If you have not already done so, import the development configuration of the Portal development system into SAP NetWeaver Developer Studio and check whether the development component math/calc/group##/wd exists. ## is your group number. 1. If you have not already done so, open SAP NetWeaver Developer Studio on the training host assigned to you, switch to the Development Infrastructure perspective and import the development configuration from the System Landscape Directory that is specified by your instructor. a) If you have not already done so, close the initial screen (Welcome) in SAP NetWeaver Developer Studio. To import the development component, switch to the Development Infrastructure perspective in the SAP NetWeaver Developer Studio by choosing Window → Open Perspective → Development Infrastructure (or – if it does not exist – select this perspective using Other ...). Start the import of development configurations by choosing the button New/Import Development Configuration in the standard toolbar. Select Import from System Landscape Directory (SLD) on the following screen and choose Next>. You may have to log on to the Development Infrastructure as a developer on the following screen (with the user and password that your instructor provides). Hint: Always enter your user name (case-sensitive) using lower-case characters (for example, <course-ID>-##) here and later on. b) Then select the configuration with the name <the development configuration path created by your instructor> → <SID of the Portal development system> and choose Next> → Finish. You may have to log on to the development infrastructure again (you can also select the field Save password to avoid any logon prompts in the future). The development configuration settings are now read, and your development environment is set up. In the Component Browser view, you can now see a new entry (tree structure) with the name of the imported development configuration together with the software components that are to be developed and that are required. Continued on next page 376 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio 2. In the Component Browser view, check whether the following development component exists: math/calc/group##/wd. ## is your group number. a) In the Development Infrastructure perspective, choose the Component Browser view and open the corresponding tree structure. Check whether the entry math/calc/group##/wd exists (in the tree structure of the software component CALCULATOR [company.com]). Continued on next page 2011 © 2011 SAP AG. All rights reserved. 377 Unit 7: Change Management and Software Logistics ADM800 Task 2: Changing a Java Web Dynpro DC Figure 157: Structure of the Training Landscape Change the Web Dynpro DC with the name math/calc/group##/wd so that the notation in the initial screen is correct. To do this, create a project for your Web Dynpro DC and then change the title from Wellcome to Welcome. ## is your group number. 1. Create a project for your Web Dynpro DC. If prompted, switch to the Web Dynpro perspective. a) If you have not already done so, switch to the Development Infrastructure perspective (Window → Open Perspective → Development Infrastructure) and choose the view Component Browser. Select your Web Dynpro DC math/calc/group##/wd (in the area <SID of the Portal development system>[number] → CALCULATOR [company.com]). ## is your group number. b) Right-click and choose Sync / Create Project → Create Project. Choose OK to confirm the next screen Create DC Projects (Sync Sources and Used DCs) without making further changes. This step may take some time. In the dialog box Confirm Perspective Switch, choose Yes to switch to the Web Dynpro perspective. Continued on next page 378 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio 2. Navigate to the Web Dynpro DC that you want to modify via [<SID of the Portal development system> [<number>]] math/calc/group##/wd → Web Dynpro → Components → CalcComp## → Views → CalcView. Change the Continued on next page 2011 © 2011 SAP AG. All rights reserved. 379 Unit 7: Change Management and Software Logistics ADM800 title from Wellcome to Welcome. To do this, you must check out objects and create a new activity in which all the changes to the Web Dynpro DC are stored. a) CEnter Web Dynpro Explorer view in the Web Dynpro perspective. Navigate to the Web Dynpro that you want to modify via [<SID of the Portal development system> [<number>]] math/calc/group##/wd → Web Dynpro → Components → CalcComp## → Views → CalcView. If you now double-click on CalcView, you will see the calculator's start page. Hint: If you are not yet in the Web Dynpro perspective, choose the path Window → Open Perspective → Other... → Web Dynpro → OK in the menu bar to switch to it. b) Select the title Wellcome. In the properties displayed at the bottom, right-hand area of the SAP NetWeaver Developer Studio (tab page Properties), you can now change the value of the text line so that the correct notation Welcome is displayed. When you press Enter after making the change, you are informed that it is first necessary to check objects out of the DTR. Choose Check Out in the dialog box Checkout Required. • • c) In case that you are asked for, choose New... to create a new activity. Choose Web Dynpro Group## as the activity name and enter Correction of title for Web Dynpro Group ## as the Description. ## is your group number. Confirm the creation of the activity with OK. Select the activity that you just have created on the following screen and choose OK again. In case that you are not asked to create an activity, switch to the Development Infrastructure perspective (by choosing Window → Open Perspective → Development Infrastructure). Enter the Open Activities – <SID> view (tab page) and expand the tree structure. Right-click on the activity default <DEFAULT> and choose Edit. On the Edit Activity Details screen, enter Web Dynpro Group## as Display Name and Correction of title for Web Dynpro Group ## as Description. Choose OK to confirm your entries. Finally save your changes. Result You have now changed an existing Web Dynpro application. Continued on next page 380 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Task 3: Build the Application Locally Create a local build of the Web Dynpro Development Component (DC) that you have changed in the previous task. Optionally, you can also test the changed Web Dynpro DC locally (that is, on the SAP NetWeaver Portal system entered under Window → Preferences → SAP AS Java) after deploying the application locally. 1. Create a local build for your Web Dynpro Development Component (Web Dynpro DC). a) If you have not yet done so, choose Window → Open Perspective → Other... → Web Dynpro → OK to access the Web Dynpro perspective. Open the Web Dynpro Explorer tab. Select the project [<SID of the Portal development system> [<number>]] math/calc/group##/wd corresponding for the Web Dynpro DC that you are using. b) Right-click on this project and choose Development Component → Build.... In the following screen, select your development component and choose OK. You have now successfully created a local build for your application. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 381 Unit 7: Change Management and Software Logistics 2. ADM800 Optional: Locally (that is, on the SAP NetWeaver Portal system specified under Window → Preferences → SAP AS Java) test the execution of the Web Dynpro DC that you have changed after deploying the application to this system. a) If you have not yet done so, choose Window → Open Perspective → Other... → Web Dynpro to access the Web Dynpro perspective. Open the Web Dynpro Explorer tab. Select the project [<SID of the Portal development system> [<number>]] math/calc/group##/wd for the Web Dynpro DC that you are using. b) Right-click on this project and choose Development Component → Deploy ... in the context menu. On the following screen choose OK. If you are asked, enter the user ID and the password of your user on the local SAP NetWeaver Portal system in the next dialog box (Logon to SAP J2EE Engine). Activate the checkbox for the field Store user name. Choose OK to confirm the dialog box Deploy. The deployment may take some time. c) Then use the menu bar to choose Run → Run Configurations... in SAP NetWeaver Developer Studio. On the following screen, right-click on the entry SAP Application and choose New. Assign a descriptive Name to the start configuration. Use the Browse... button for the Module and Module Artifact fields to select your project [<SID of the Portal development system> [<number>]] math/calc/group##/wd and the Web Dynpro application /CalcApp. Then choose Run. Result If you have completed the entire exercise successfully up to this point, a browser opens with the URL http://twdfxxxx:5$$00/webdynpro/resources/company.com/math~calc~group##~wd/CalcApp## ($$ denotes an instance number of your SAP system, ## denotes your group number) and you see the calculator program. Task 4: Check-in to the DTR and activation Check-in your open activities to the Design Time Repository (DTR) and activate your changes in SAP NetWeaver Development Infrastructure. 1. Switch to the Development Infrastructure perspective. In the Open Activities view, check-in your activity. a) Switch to the Development Infrastructure perspective by choosing Window → Open Perspective → Development Infrastructure. Choose the view (tab page) Open Activates. Open the tree structure and select your activity in the tree structure. Using the right mouse button, choose Checkin. Confirm the following screen with OK. Continued on next page 382 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio 2. Check whether your activity has been activated automatically. If not, trigger the central activation. a) In the Development Infrastructure perspective of SAP NetWeaver Developer Studio, enter the Infrastructure Console view (tab page) in the lower area of that perspective. Scroll down the list and check whether after CHECKIN there is an entry ACTIVATE. • • b) If this is the case, write down the number of the Build Request ID. If this is not the case, switch to the Activation View – <SID> screen by choosing Window → Show View → Other... → CBS Activation → Activation View → OK. In this view, open the tree structure, right-click on the your activity and choose Activate. Write down the number of the Build Request ID. Switch to the Activation Request view by choosing Window → Show View → Other... → CBS Activation → Activation Requests → OK. Refresh this view periodically by choosing the appropriate button until your activation request has the status succeeded (green field with checkbox; you may need to increase the size of the corresponding window to see the relevant columns). When it is successfully activated, the application is then automatically deployed into the central development system. Task 5: Test Centrally and Release the Activity Test your application in context with the applications of the other course participants on the central development system of the system landscape. After a successful test, release a transport request that contains your activity. 1. Test your application on the central development system. It may take some time after the import before the application can be called successfully. a) Call the following URL in your browser: http://<Host of the central development system>:<port>/webdynpro/resource/company.com/math~calc~group##~wd/CalcApp##. Here the <host of the central development system> is the host name of the central development system as entered by your instructor in the TMS system landscape definition. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 383 Unit 7: Change Management and Software Logistics 2. ADM800 Attach your activity to a transport request and release the transport request. a) In SAP NetWeaver Developer Studio, open the Transport View by choosing Window → Show View → Other... → CMS → Transport View → OK . b) Expand the tree structure and select your activity in the Waiting area (in the directory of the active workspace you are using). Right-click and choose Release from the context menu. On the following screen, select your activity and confirm it with Release rebuilt deployable DCs. You now attach your activity to a transport request. c) Refresh the Transport View until the entry for your activity is no longer in the Waiting area, but is rather in the Released area. Hint: If necessary, adjust the user filter in the Transport View by choosing Menu → User Filter → All Users, and confirm the dialog box that is then displayed. Maybe also a log off from / log on to SAP NWDI helps in case that you cannot find your activity. Result You have successfully created a simple Java application and released it for transport to the quality assurance system. This completes the developer's task. 384 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Developing Java Objects in SAP NetWeaver Developer Studio Lesson Summary You should now be able to: • List the individual steps that are required from the start of developing / changing Java objects to releasing these changes in the central development system • Outline the structure of the Design Time Repository (DTR) Related Information For more detailed information about working with SAPNWDI from the developer's view, go to the online documentation for SAP NetWeaver 7.3 in the area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Using the Development and Production Infrastructure → Development Infrastructure → Concepts. You can find more information about the DTR and in particular about conflicts in the DTR in this area of the online documentation by navigating further to the area Components Development with the NWDI → Design Time Repository → Conflicts. 2011 © 2011 SAP AG. All rights reserved. 385 Unit 7: Change Management and Software Logistics ADM800 Lesson: Transporting Java Developments Lesson Overview After the individual developers have tested the applications that they have created for a specific system landscape in the central development system, the associated transport requests are released for transport and imported into follow-on systems. This lesson first discusses the transport process from the development system up to the production system. Then different transport types are presented. The lesson ends with some recommendations about when to use which transport type. Lesson Objectives After completing this lesson, you will be able to: • • Import changes into the quality assurance system List the individual transport steps for activity-based SDA transports Business Example Your company is using SAP NetWeaver Development Infrastructure. The changes that the individual developers in your company have made in the development system must be imported into follow-on systems and tested before they can be imported into the production system. As a member of the system administration team and the person responsible for software logistics in the SAP environment in your company, you want to obtain an overview of the process of transporting Java developments. Process Overview After activation and the developer's testing in the development system were successful, the developer releases the transport request in SAP NetWeaver Developer Studio and therefore transfers it to the Change and Transport System (CTS) . All the activities selected by the developer are packed in this transport request and placed in the import queue of the quality assurance system. The following roadmap contains the main steps to transport Java applications that are developed in SAP NetWeaver Developer Studio with the help of the enhanced Change and Transport System (CTS+ for short). 386 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Figure 158: Transport Java Developments with CM Services – Roadmap First you need to create a transport request (in case of creating it with transaction SE09 of type “workbench request”). This transport request can be created manually either on the development (source) system in transaction SE09 (Transport Organizer) or it can be created in the Transport Organizer Web UI that runs on the AS ABAP part of the communication system. Or this transport request can be created automatically by the application (by setting the tp parameter WBO_GET_REQ_STRATEGY to SMART for the source system). The transport request that you create with the help of this Transport Organizer Web UI on the communication system will be named <SID>K9<number> where <number> is a running number and <SID> is the name of the development system according to your transport landscape. Hint: In case of the creation of a transport request with the help of transaction SE09 – suitable for systems based on AS ABAP + Java – you may delete the task(s) of this transport request as a task is not needed for non-ABAP transports (only the transport request itself is needed). Next the developers start their work in SAP NetWeaver Developer Studio. When they release their activity in SAP NetWeaver Developer Studio, they attach their changes to the transport request. After assigning activities to a transport request, you can release this transport request. The release of a transport request starts the export of the files to file system level (transport directory). After releasing the transport request, this 2011 © 2011 SAP AG. All rights reserved. 387 Unit 7: Change Management and Software Logistics ADM800 transport request is ready for import into a subsequent system (according to the definition of the transport landscape in transaction STMS on the transport domain controller system). The release of the transport request <SID>K9<number> can either be done manually in transaction SE09 on the development system (in case of a development system based on AS ABAP + Java 7.x) or using the Transport Organizer Web UI (in case of a development system based on AS Java only). Or it can be done automatically (by setting the tp parameter WBO_REL_REQ_STRATEGY for the source system to AUTO). The import of transport requests into subsequent systems finally is done in transaction STMS_QUEUES (which is a subset of transaction STMS) on the transport domain controller (TDC) system. The Import Process in Detail The most important tools used to perform imports using TMS are the import queues that reflect the system-specific import buffers at the operating system level. The import queues display the requests that are to be imported, in the correct order. The import queues of all systems are displayed in each system of the transport domain. You can perform imports to all the systems from any SAP system in the domain. To access the TMS import overview, use transaction STMS and choose Overview → Imports. The import overview shows the current status of the import queue of each SAP system of the transport domain. If you jump to an import queue of one system, you can see all transport requests that are to be imported. Hint: To improve performance, data is read from the transport directory only the first time you start the Import Overview area in transaction STMS. After that, the information shown is buffered in the database. The time stamp in the import overview indicates how recent the data is. To refresh the data, choose Edit → Refresh. On the Import Overview screen in transaction STMS (or directly in transaction STMS_QUEUES), double-click the system in which you want to import the transport request (this is the system which was assigned as Target (System) in the transport request before). Select the transport request in question and choose the Import Request button. After the import has finished, you may want to check the deployment log. 388 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Figure 159: The Import Process for Activity Based SDA Transports in Detail During the import, the transport control program tp triggers the import dispatcher RDDIMPDP that in turn triggers the job RDDEPLOY on the CTS system. This job opens a connection to the CTS DeployProxy. This connection needs to be kept open during the complete deployment process. The CTS DeployProxy finally calls the import tool on the AS Java side (for example the Software Deployment Manager (SDM) or the Deploy Controller). During the import into a system with development configuration, first the system integrates the released changes into the inactive DTR workspace of the quality assurance system. Then CBS automatically builds the changed development components (DCs). After a successful build, the changes are also integrated into the active workspace of the DTR. Finally the changed DCs are deployed into the assigned runtime system. During the import into a system without development configuration, only the deployment step takes place. As a result, the transport request is now listed in the import queue of the follow-up system (according to the definition of the transport landscape in transaction STMS, area Transport Routes). The various transport tools write a log for each transport action into the transport subdirectory tmp. After completion of an import step, tp moves these logs from the tmp subfolder to the log subfolder of the transport directory. The log files are named <SID of the source system><action><6 digits>.<SID of the target system>, where the action is represented by a single character and the 6 digits are taken from the corresponding transport request. 2011 © 2011 SAP AG. All rights reserved. 389 Unit 7: Change Management and Software Logistics ADM800 For the deployment step, the action is represented by character T, so that for example the log PODT901234.POQ represents the deploy log of transport request PODK901234 into the POQ system. These import logs can be seen from the import queue of the system in question by choosing Goto → Import History and then selecting the transport request in question and choosing the Logs button. Figure 160: Accessing Transport Logs Transport Types (Scenarios) Before starting with executing transports, you should consider which transport types you require in your landscape and which ones are suitable for your situation. Depending on the release of both SAP NetWeaver Development Infrastructure and the runtime systems in your transport landscape, different transport types / transport scenarios are available. These transport types are discussed in this section in more detail. Hint: These scenario may be used either independent of each other or they can be combined. For example you may think about using the activity-based SDA transport type but combine it with the SCA transport which you perform from time to time. 390 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Activity Transports The option to transport single activities is provided in SAP NetWeaver Developer Studio as of enhancement package 1 for SAP NetWeaver 7.0. To be able to use this option, the CTS system also needs to be on enhancement package 1 for SAP NetWeaver 7.0 or higher. The corresponding objects in the transport requests are DIP files (Development Infrastructure Packages). This allows you to perform delta transports on source code level. As a consequence, small corrections in the development stage lead to small transport files which in turn result in fast rebuilds and fast deployments (depending on the number of required re-builds). Figure 161: Activity Transport – Process Overview As you can see in the figure above, when using this transport type each system configured in the Transport Management System (TMS) – be it source or target – has to have a development configuration and a Java URL assigned. As a consequence, workspaces in DTR and buildspaces in CBS are created for each system. The name of the workspace folder in DTR is the same as the SID in TMS. For CBS, the name of the buildspace also is the SID. Whenever an import is started, a re-build is triggered for the DCs which contain the changed source files and for all dependent DCs. In case the rebuilt DCs are deployable, they will be deployed to the runtime system as SDA files. The sources are integrated into the active DTR workspace of the changed software component. Caution: If you use this option, you have to be aware that a re-build is done on each and every system – even on the productive one. 2011 © 2011 SAP AG. All rights reserved. 391 Unit 7: Change Management and Software Logistics ADM800 Note that for this transport type you have to configure two transport routes between the development system and the quality assurance system. The consolidation route is needed to export new developments from the development system and bring them to the quality assurance system. The delivery route is required to be able to transport all of the requests that where created for the upload system to the quality assurance system as well. Using source transports requires that all of the libraries are part of the quality assurance system and the production system, as well. To summarize, the activity transport in SAP NetWeaver Developer Studio via the enhanced Change and Transport System (CTS+) offers the following advantages: • • • • Only one tool is needed to configure the landscape and to perform transports. Both is done in the CTS system. The transport granularity is no longer an SCA. Single activities / sources can be transported. The file type used is *.DIP (Development Infrastructure Package). SDAs are deployed to the runtime systems. The build log becomes part of the step Deployment of the Transport log. The monitoring can therefore be done via several tools: CTS Import Logs, Transport Organizer Web UI, Diagnostics within SAP Solution Manager. The activity transport is a delta transport on source code level. Therefore small changes in the development system result in small transport files which again results in fast rebuilds and deployments. The disadvantages of the activity transport are: • • A rebuild is needed for every system and therefore also a corresponding CBS buildspace and DTR workspaces A development configuration is needed for each TMS system SCA Transports Instead of the activity transport type (with or without an SCA based transport from time to time), it is possible to configure your landscape for a pure deployable transport by the help of the CM Services. In this case, you transport an SCA – which means: a deployable – through your landscape. A development configuration is only required for the development (DEV) system. All other systems in your transport route are pure deploy targets where you would like to import your application. For these systems you only have to make sure that there is the Java Deploy URL (tp parameter DEPLOY_URL) configured for the deployment. The process for this is shown in the following figure: 392 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Figure 162: SCA Transport – Basic Idea Concerning transport routes, you need to create a consolidation route from the upload system to the development system and from the development system to the quality assurance system. A delivery route is required from the quality assurance system to the production system. To export and attach the SCA to a transport request, a new UI is used - the DI Export Service Web UI. You can call this UI from the Development Infrastructure – Configuration Service UI. As a first step, you have to choose the system from where you would like to export an SCA – this is usually your source / development system. After that, you can choose one SCA from those that are to be developed in this system. The DI Export Service Web UI will guide you through the process of adding the SCA to a transport request. For this process, the same is valid as it was for the activity transport: a transport request can be taken automatically from the CTS system or you can create one by the help of the Transport Organizer Web UI. Also after having added the SCA to the transport request, the transport request can be released automatically or manually – this depends on the tp parameters that you have configured. Releasing the activities in SAP NetWeaver Developer Studio (NWDS) is not needed in this case. The activities that are listed as Waiting in SAP NWDS will be released automatically when you export the corresponding SCA. The advantages of an SCA transport via the DI Export Service Web UI are: • • • 2011 One tool is used to configure the landscape and to perform transports Pure deployment to target system – no rebuild needed Direct attachment of SCA without CMS administration step (CMS Web UI) © 2011 SAP AG. All rights reserved. 393 Unit 7: Change Management and Software Logistics ADM800 The disadvantages of transporting an SCA are: • • Transport granularity is SCA You have to know about the changed SCA that you would like to transport. Activity-based SDA Transports Transporting SDAs from within SAP NetWeaver Developer Studio (NWDS) is a new option offered with enhancement package 2 for SAP NetWeaver 7.0. Using this transport type, it is not the sources of the activities themselves that are automatically added to the transport request for activity-based SDA transports, but all runtime objects (SDAs) that were rebuilt because of the changed sources. Whenever you release an activity in SAP NetWeaver Developer Studio in this scenario, the system calculates for you the SDAs that have been rebuilt because of this change and attaches them to a transport request. Predecessor activities and build dependencies are taken into account to deploy a consistent state. This is not limited to one software component. If other software components are involved e.g. in predecessor activities, the respective SDAs are added to the transport request as well (in a separate DIP file). There is always one DIP used per SCA. All SDAs of the software component might be transported if this is required due to complex dependencies. Figure 163: Activity-based SDA transport – Process Overview The figure above shows the system landscape in case of the SDA transport based on activities. For this transport type, you only need a development configuration for the development system. No rebuilds are needed any more on the importing 394 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments systems. You can – again – transport deployables. The file attached to the transport request is still a DIP file (Development Infrastructure Package). The DIP file contains the affected, deployable SDAs and a reference to the released activities. The advantages of SDA transports based on activities are • • In contrast to activity transports, no rebuild takes place for imports. You only need the development configuration in the development system and the import time is reduced. The consistency of the target system is ensured by transporting all dependent runtime objects automatically. The disadvantage is that no sources exist in the follow-on systems. Change Management Service Starting with enhancement package 1 for SAP NetWeaver 7.0, SAP provides the first version of the CM Services (Change Management Services). The CM Services are the successor of CMS (Change Management Service) in SAP NetWeaver Development Infrastructure. CMS is now in maintenance mode – there are no new features going to be developed, but of course you may use CMS for the transport of Java applications as well. The “old” CMS provides the functionality to perform two different tasks. The first task is the system administration part where you setup a track in order to create a transport landscape for your runtime systems. This is done in CMS Landscape Configurator. A track can consist of up to four systems that represent the different development stages: development, consolidation, test and production. The second task is the configuration of development configurations for your development cycle and the export of deployable units (SCA files – Software Component Archives). The integration with the enhanced CTS (CTS+) is possible during the assembly step where the SCA file is attached to a CTS transport request. This is done in CMS Transport Studio. The following figure illustrates an example of the transport process within a track. Tracks form a configuration unit of the Change Management Service in which the development of software components is managed: They contain all development configurations and all runtime systems that are required to develop, test and produce one or more software component versions. 2011 © 2011 SAP AG. All rights reserved. 395 Unit 7: Change Management and Software Logistics ADM800 Figure 164: Change Management Service (CMS) – Transport Process The developer's task is more or less identical to the task when using CM Services: After checking-in the created or changes sources to the Design Time Repository (DTR), the developer can transfer the changes to the Component Build Service (CBS) (developer's step 1). The CBS attempts to rebuild all components that are directly and indirectly affected by the changes. If this is possible without errors, the changes are accepted and the results of all developers of the same development configuration are made available in the form of libraries or deployable archives. If the activation and the developer's testing in the development stage (system) were successful, the developer releases the change request in SAP NetWeaver Developer Studio and therefore transfers it to the Change Management Service (CMS) of SAP NWDI (developer's step 2). All the activities selected by the developer are packed in a change request and placed in the import queue of the consolidation stage. With the import (administrator's step 1) into the consolidation stage, the system integrates the released changes into the inactive DTR workspace of the consolidation stage and the CBS automatically compiles the changed components. The changes are also integrated into the active workspace of the DTR after a successful build. After a test of the application function (if a runtime system is assigned to the consolidation stage), the CMS creates a new version of the application (assembly) in the form of an SCA file from the consolidated status of the software changes and makes preparations for the import into the test system (administrator's step 2). 396 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments After the next import into the test system and the subsequent extensive function and integration testing, a quality manager can approve the software component for transport into the production system (approval, step 3). Recommendations and Restrictions Enhancement Package 1 for SAP NetWeaver 7.0 delivers the first version of the CM Services. Check whether the CM Services offer benefits for you and if yes, use them. If not, you can continue using Change Management Services (CMS). Please keep in mind that there is no new functionality planned for CMS. CMS is in maintenance mode. There are some restrictions for the usage of CM Services that you should take into consideration. Some of them are listed below. Hint: You should check the CM Services central SAP note 1361909 – CM Services in CTS+ for the latest recommendations and restrictions. CM Services an SAP NetWeaver Developer Studio on (at least) enhancement package 2 or SAP NetWeaver Composition Environment 7.2 for releasing the activity as a deployable (activity-based SDA transport) to CTS. If you develop Java Web Dynpro for a runtime system which is not yet on enhancement package 2 for SAP NetWeaver 7.0, you have to use one SAP NetWeaver Developer Studio on the release that fits to your runtime system for developing and another one which supports CM Services for releasing the activities. 2011 © 2011 SAP AG. All rights reserved. 397 Unit 7: Change Management and Software Logistics ADM800 In addition, CM Services do not support • • repair scenarios using track connections mixed scenarios where sources (activities) are transported only from the development system to the quality assurance system and after that, only complete SCA files are transported to the production system Note: A remark on build-options: If SAP NetWeaver Development Infrastructure (NWDI) is to support the development of Java applications for different AS Java releases, different versions of the Java Development Kit (JDK) may be required to build the applications. Applications for SAP Web AS Java 6.40 or AS Java 7.00 are based on JDK 1.4.2 for example; applications for SAP NetWeaver Portal 7.3, on the other hand, are based on Version 1.6 of the JDK. Therefore, a JDK 1.6 must be provided for the Component Build Service (CBS) of SAP NWDI (SAP NWDI itself is based on AS Java 7.0x). This JDK must be also installed at operating system level of the SAP NWDI host. The Component Build Service (CBS) uses two service properties to find the JDK used for the build process. These two properties determine, in association with a build option specified in a concrete development configuration, which JDK is used to compile Java sources for a special development component (DC): • • BUILD_TOOL_JDK_HOME defines the VM that executes the build environment; this property should point to the highest JDK version used by the CBS to ensure compatibility. JDK_HOME_PATH defines a list of variables and paths for directories in which the related JDK versions are stored. A special build option (option com.sap.jdk.home_path_key) can then be used for the individual systems of SAP NWDI to control which JDK is used for building for the concrete system. For the use of CM Services, SAP recommends to use your SAP Solution Manager system as central CTS system. The CM Services should run on the SAP NWDI system however. If you decide to transport sources (activity transport type) use the CTS Deploy Web Service on the SAP NWDI system (logical port CTSDEPLOY_DI). If you decide to transport deployables (SCA transport type, activity-based SDA transport type) however, use the CTS Deploy Web Service on the SAP NWDI system for the deployment into the development system (for which a development 398 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments configuration exists) and the CTS Deploy Web Service on the CTS system for the deployment into the quality assurance system and the production system (for which no development configurations exist). Hint: In this case, there is one system less that has to be up and running during deployments: the CTS Deploy Web Service on the SAP NWDI system (logical port CTSDEPLOY_DI) is only needed during the development phase and for importing the required archives and sources from your upload system into your development system. If you decide to use the activity transport type, use it in combination with the SCA transport for example if you did a lot of changes to very different DCs, you should transport the complete SCA instead of a lot of source files. Sources should only be changed in the development system. For the activity transport type it is technically possible to access (via the respective development configuration) and change the sources in your target systems. This is absolutely not recommended. Set DTR Access Control Lists (ACLs) accordingly for the DTR workspaces of all your target systems in your transport route. If you have already configured your SAP NWDI and you are using tracks for your development process, you can continue to do so. CM Services and CMS cannot be used together for example, in one transport route or track, but you could use CMS for one development project and the CM Services for another. Both of them could use the same DTR and CBS. Finally, it is not recommended to use the activity transport type if you are modifying ESS (Employee Self Services) or MSS (Manager Self Services) sources delivered by SAP. Note: For more information, see the online documentation for SAP NetWeaver 7.3, area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Using the Development and Production Infrastructure → Development Infrastructure (DI) → Organizing the Transports in the Landscape → Scenarios and Recommendations on Using CTS and NWDI . Summary The following figure shows the elements of the central development architecture again. 2011 © 2011 SAP AG. All rights reserved. 399 Unit 7: Change Management and Software Logistics ADM800 Figure 165: Summary: Components of the SAP NetWeaver Development Infrastructure Using SAP NetWeaver Development Infrastructure significantly reduces the possibilities for inconsistencies on the developers' PCs (caused, for example, due to the use of obsolete libraries or data structures). With the Central Build Service, there is also a build-on-demand service available. This allows error correction cycles to be reduced in comparison to centrally initiated and controlled builds. 400 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Exercise 19: Transporting Java Developments Exercise Objectives After completing this exercise, you will be able to: • Import Java applications into the quality assurance system and test them there Business Example Your company, COMPANY (internet domain company.com), is using SAP NetWeaver Development Infrastructure to develop Java applications for SAP systems. The development of the software component CALCULATOR 4.0 for the product version MATHEMATICS 2013.1 is almost complete, and the developers involved have already tested their work in the development system and released the transport requests for import into the quality assurance system. Your task now, as the person responsible for transports, is to import these transport requests into the quality assurance system of the system landscape. Task 1: Check the Status of the Transport Request In a preceding exercise, you have released a transport request in SAP NetWeaver Developer Studio. Check with the help of the Transport Organizer Web UI whether or not the corresponding transport request has been released already. If not, release it. 1. Open the Transport Organizer Web UI on the CTS system. Check whether or not your transport request has been released. If not, release it. Task 2: Import into the Quality Assurance System Import the transport request assigned to you by your instructor into the quality assurance system for your system landscape and check the import logs after successful execution. 1. Check that the transport request which you have checked in the previous task, is now added to the import queue of the Portal quality assurance system. 2. Start the import of “your” transport request into the quality assurance system. 3. After the import has been executed successfully, check the deployment log for the import into the quality assurance system. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 401 Unit 7: Change Management and Software Logistics ADM800 Task 3: Optional: Test in the Quality Assurance System Test your application in the quality assurance system. 1. Test the application that you transported into the quality assurance system using the Web browser. Task 4: Optional: Import into the Production System Import the transport request assigned to you by your instructor into the production system for your system landscape and check the import logs after successful execution. 402 1. Check that “your” transport request is now added to the import queue of the Portal production system. 2. Start the import of “your” transport request into the production system. 3. After the import has been executed successfully, check the deployment log for the import into the production system. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Solution 19: Transporting Java Developments Task 1: Check the Status of the Transport Request In a preceding exercise, you have released a transport request in SAP NetWeaver Developer Studio. Check with the help of the Transport Organizer Web UI whether or not the corresponding transport request has been released already. If not, release it. 1. Open the Transport Organizer Web UI on the CTS system. Check whether or not your transport request has been released. If not, release it. a) Log on to the CTS system that is used in your training class with the user provided by your instructor. Start transaction STMS. b) Click on the Transport Organizer Web UI button in the application toolbar. On the following screen select the SID of the Portal development system and choose Continue. The Transport Organizer Web UI starts. c) Select requests for the Portal development system for your Owner (<course-ID>-## where ## represents your group number) in Status Modifiable. • • d) If you can find your transport request, select the transport request. Switch to the Object List tab and verify that your changes from the previous exercise have been added to the transport request. In this case, choose Release. Then choose Refresh List. Your transport request should now disappear from the list. If you cannot find your transport request, select requests for the Portal development system for your Owner (<course-ID>-## where ## represents your group number) in Status Released. On the resulting list, you should find your transport request. Select the transport request. Switch to the Object List tab and verify that your changes from the previous exercise have been added to the transport request. Finally close the Transport Organizer Web UI. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 403 Unit 7: Change Management and Software Logistics ADM800 Task 2: Import into the Quality Assurance System Import the transport request assigned to you by your instructor into the quality assurance system for your system landscape and check the import logs after successful execution. 1. 2. 3. Check that the transport request which you have checked in the previous task, is now added to the import queue of the Portal quality assurance system. a) If you have not yet already done so, log on to the CTS system that is used in your training class with the user given to you by your instructor. Start transaction STMS. b) Choose Overview → Imports. On the resulting screen, double-click on the line for the Portal quality assurance system. If you cannot find your transport request here, choose Refresh. Start the import of “your” transport request into the quality assurance system. a) On the Import Queue screen, select the line with your transport request and choose Import Request. b) On the Import Transport Request popup, switch to the Options tab. Deselect the checkmark for the Leave Transport Requests in Queue for Later Import field and choose Continue. Confirm the following popup with Yes. The import starts. It may take some time. After the import has been executed successfully, check the deployment log for the import into the quality assurance system. a) After the import has been executed successfully, choose Goto → Import History. Select the line with “your” transport request. Click on the Logs button. b) On the resulting screen, click on the log icon for the Deployment step. Expand the deployment log with the Expand All button. c) Finally choose Back → Back → Back → Back to go back to the Import Overview screen. Continued on next page 404 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Task 3: Optional: Test in the Quality Assurance System Test your application in the quality assurance system. 1. Test the application that you transported into the quality assurance system using the Web browser. a) Open a browser and call the URL http://twdfxxxx.wdf.sap.corp:5$$00/webdynpro/resources/company.com/math~calc~group##~wd/CalcApp##. Replace ## with your group number. twdfxxxx and $$ denote the host name or the instance number on the SAP system that is defined in the system landscape definition (in transaction STMS on the CTS system) as the quality assurance (runtime) system. Hint: In the context of a previous exercise, if you have already tested your application from the SAP NetWeaver Developer Studio on the central Portal development system and if this browser page is still open, alternatively, you can simply change the URL to the URL specified above on this browser page and then choose Enter. Task 4: Optional: Import into the Production System Import the transport request assigned to you by your instructor into the production system for your system landscape and check the import logs after successful execution. 1. Check that “your” transport request is now added to the import queue of the Portal production system. a) If you have not yet already done so, log on to the CTS system that is used in your training class with the user given to you by your instructor. Start transaction STMS. b) On the start screen of transaction STMS choose Overview → Imports. On the resulting screen, double-click on the line for the Portal production system. If you cannot find your transport request here, choose Refresh. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 405 Unit 7: Change Management and Software Logistics 2. 3. ADM800 Start the import of “your” transport request into the production system. a) On the Import Queue screen, select the line with your transport request and choose Import Request. b) On the Import Transport Request popup, switch to the Options tab. Deselect the checkmark for the Leave Transport Requests in Queue for Later Import field and choose Continue. Confirm the following popup with Yes. The import starts. It may take some time. After the import has been executed successfully, check the deployment log for the import into the production system. a) After the import has been executed successfully, choose Goto → Import History. Select the line with “your” transport request. Click on the Logs button. b) On the resulting screen, click on the log icon for the Deployment step. Expand the deployment log with the Expand All button. c) Finally choose Back → Back → Back → Back to go back to the Import Overview screen. Result You have successfully imported a transport request into the quality assurance system of your transport landscape and you may also have tested it there. In addition you may also have imported the transport request into the production system. 406 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Transporting Java Developments Lesson Summary You should now be able to: • Import changes into the quality assurance system • List the individual transport steps for activity-based SDA transports Related Information For more information about the enhanced CTS, go to the documentation for SAP NetWeaver 7.3, area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Software Logistics → Change and Transport System → Change and Transport System - Overview → Transporting Non-ABAP Objects in Change and Transport System and see SAP Note 1003674 – Enhancement for non-ABAP systems in CTS . For more information on CM Services, read the Guide How To Setup CM Services, which is available on SAP Developer Netweork, Quick Link /cts (http://www.sdn.sap.com/irj/sdn/cts). For more information on recommendations and restrictions of CM Services, see the online documentation for SAP NetWeaver 7.3, area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Using the Development and Production Infrastructure → Development Infrastructure (DI) → Organizing the Transports in the Landscape → Scenarios and Recommendations on Using CTS and NWDI . Information on Change Management Service (CMS) can be found in the online documentation for SAP NetWeaver 7.3, area SAP NetWeaver → SAP NetWeaver Library: Function-Oriented View → Solution Life Cycle Management → Using the Development and Production Infrastructure → Development Infrastructure → Concepts → Components Development with the NWDI → Central Landscape and Transport Management. 2011 © 2011 SAP AG. All rights reserved. 407 Unit Summary ADM800 Unit Summary You should now be able to: • List the elements of a Java EE application • Outline the steps required to develop an executable Java EE application • Name differences between ABAP-based development and Java-based development • Name the building blocks of SAP NetWeaver Development Infrastructure and explain their meaning • Explain the idea of SAP's component model for the development of Java based SAP applications • Outline the use of Change Management Services and the enhanced Change and Transport System for the use with SAP NetWeaver Development Infrastructure • List the necessary steps to define a system landscape for SAP NWDI based development in the ABAP Transport Management System • Connect SAP NetWeaver Developer Studio to the central components of SAP NetWeaver Development Infrastructure • List the individual steps that are required from the start of developing / changing Java objects to releasing these changes in the central development system • Outline the structure of the Design Time Repository (DTR) • Import changes into the quality assurance system • List the individual transport steps for activity-based SDA transports 408 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. Which of these statements about the programming model of a Java EE application are correct? Choose the correct answer(s). 2. □ A □ B □ C □ D Presentation logic and application logic are closely linked in Java EE applications. Presentation logic and application logic are strictly separated in Java EE applications. Java Server Pages (JSPs) and servlets are part of the presentation logic. Java Server Pages (JSPs) and servlets are part of the application logic. Which of the following services are elements of SAP NetWeaver Development Infrastructure (NWDI)? Choose the correct answer(s). □ □ □ □ □ 3. A B C D E Design Time Repository (DTR) Object Development Tool (ODT) Component Build Service (CBS) Name server Central Make Tool (CMT) Assume that you want to use activity-based SDA transports within SAP NetWeaver Development Infrastructure (NWDI). Where do you define the system landscape? Choose the correct answer(s). 2011 □ □ □ A B C □ D In the active workspace of the DTR (Design Time Repository) In SAP NetWeaver Developer Studio In transaction STMS (Transport Management System) on the CTS system In the track definition of CMS (Change Management Service) on the SAP NWDI system. © 2011 SAP AG. All rights reserved. 409 Test Your Knowledge 4. ADM800 Which statements about the Design Time Repository (DTR) and the Component Build Service (CBS) are correct? Choose the correct answer(s). 5. □ □ A B □ C □ D There are active and inactive workspaces in the DTR. Checking-in development components to the DTR means that they can be used by other developers. Activating development components in the CBS means that they can be used by other developers. If the central build fails, the elements of the active workspace are placed in the inactive workspace. Consider the transport type activity-based SDA transport. Which steps happen automatically during the import of a transport request into the quality assurance system? Choose the correct answer(s). 410 □ A □ B □ □ C D The integration of the development objects that are contained in the transport request into the inactive DTR workspace. The update of the SLD Software Catalog for the relevant software component versions. The deployment process into the assigned runtime system. The CBS build process for the development components that need to be (re-)built. © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Answers 1. Which of these statements about the programming model of a Java EE application are correct? Answer: B, C In Java EE applications – unlike classical ABAP applications – presentation logic and application logic are strictly separated. JSPs and servlets are part of the presentation logic, the application logic is represented by Enterprise Beans. 2. Which of the following services are elements of SAP NetWeaver Development Infrastructure (NWDI)? Answer: A, C, D Included in the SAP NetWeaver Development Infrastructure (NWDI) are the Design Time Repository for managing versioned source code, the Component Build Service for the central build based on the component model and the Name Service as a central check instance for unique names. Central Make Tool and Object Development Tool are imaginary names, Java EE applications are developed using the SAP NetWeaver Developer Studio, based on Eclipse. 3. Assume that you want to use activity-based SDA transports within SAP NetWeaver Development Infrastructure (NWDI). Where do you define the system landscape? Answer: C As a prerequisite for activity-based SDA transports, you need to configure CM Services. In case of CM Services, you connect the SAP NWDI system with the ABAP Change and Transport System (CTS). You therefore define the system landscape in transaction STMS. The track definition of CMS is used if you do not use CM Services. 2011 © 2011 SAP AG. All rights reserved. 411 Test Your Knowledge 4. ADM800 Which statements about the Design Time Repository (DTR) and the Component Build Service (CBS) are correct? Answer: A, C The central build in the Component Build Service (CBS) builds the archives of the development components (DCs), which become usable for other developers through activation. During the central build, unchanged files are fetched from the active workspace, and changed files from the inactive workspace. After a successful build, the archive files are automatically available in the active workspace. 5. Consider the transport type activity-based SDA transport. Which steps happen automatically during the import of a transport request into the quality assurance system? Answer: C During the import into a system without development configuration, only the deployment into the runtime system is executed. DTR import and CBS build do not take place. These two steps are only executed during import into a system with development configuration. 412 © 2011 SAP AG. All rights reserved. 2011 Unit 8 Monitoring Unit Overview You can monitor SAP NetWeaver AS Java either locally in SAP NetWeaver AS Java itself or centrally using a central monitoring system (SAP NetWeaver AS ABAP). This unit shows both the local and central monitoring possibilities. Unit Objectives After completing this unit, you will be able to: • • • • • • • • • • • Describe the monitoring infrastructure Display monitoring data in the SAP NetWeaver Administrator (NWA) Make threshold value settings in the NWA Monitor Java instances in the central monitoring system Explain which configuration steps are required to be able to maintain the threshold values for Java instances from the central monitoring system Describe how an availability check using the GRMG works technically Configure an availability check Use the Log Viewer Explain the difference between logging and tracing Execute log configuration list technical components required for different monitoring capabilities of SAP Solution Manager 7.1 Unit Contents Lesson: Monitoring SAP NetWeaver AS Java ..............................414 Exercise 20: Monitoring SAP NetWeaver AS Java ....................421 Lesson: Connecting to a Central Monitoring System ......................425 Exercise 21: Registering with a Central Monitoring System ..........437 Lesson: Availability Monitoring ................................................443 Exercise 22: Availability Monitoring ......................................451 Lesson: Log Viewer and Log Configuration .................................456 Exercise 23: Log Viewer and Log Configuration .......................471 Lesson: Introduction to Monitoring Using SAP Solution Manager........477 2011 © 2011 SAP AG. All rights reserved. 413 Unit 8: Monitoring ADM800 Lesson: Monitoring SAP NetWeaver AS Java Lesson Overview SAP NetWeaver AS Java provides an infrastructure that makes monitoring data available. This monitoring data can be displayed in the SAP NetWeaver Administrator. You can also set threshold values for this data there. Threshold values determine the colors with which data is displayed in the monitor. Lesson Objectives After completing this lesson, you will be able to: • • • Describe the monitoring infrastructure Display monitoring data in the SAP NetWeaver Administrator (NWA) Make threshold value settings in the NWA Business Example You are using an SAP NetWeaver AS Java. Monitoring is important for safeguarding a stable system environment. It allows for some error situations to be identified in advance. SAP NetWeaver AS Java provides an infrastructure that makes monitoring data available. This monitoring data can be displayed in the NWA. Monitoring Infrastructure The monitoring in SAP NetWeaver AS Java is based on the standard Java Management Extension (JMX). JMX provides a new flexible administration infrastructure that is used for the monitors. The JMX infrastructure allows different resources to register as suppliers for monitoring data. Through the JMX API, data is made available for resources of all server components (services, interfaces, libraries, and managers), and applications using MBeans. The data of the JMX monitors is stored in the monitoring segment. Since JMX is a standard, this ensures that external tools can also access the monitoring data. The external tools connect through the JMX API and can display all current values in the JMX monitors. They can also create, delete, and change groups, as well as installing and uninstalling monitor nodes. The JMX infrastructure is provided by the JMX Adapter service. 414 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Monitoring SAP NetWeaver AS Java Figure 166: Monitoring Infrastructure During the start of the sapstartsrv the monitoring segment is created. The data collector of the AS Java stores the current status and open alerts of the monitoring objects in the monitoring segment. Completed alerts are removed from the monitoring segment. 2011 © 2011 SAP AG. All rights reserved. 415 Unit 8: Monitoring ADM800 The data in the monitoring infrastructure is grouped in several areas like Kernel, Services, Performance and Applications. • Kernel Status information for the managers registered for monitoring is displayed under the Kernel entry. • Performance The Performance area displays available data about performance measurements of the SAP NetWeaver AS Java, e.g. communication to external systems. • Services Status information for the services registered for monitoring is displayed under the Services entry. • Applications This branch contains information about the status of applications that are running on the SAP NetWeaver AS Java and for which monitoring functions are implemented in the coding. This is a configurable type of monitor, since you can specify which information is displayed in the monitor for your own applications. An application developer usually creates his or her own monitors and objects under the Applications branch. The other monitor branches, such as Kernel, System, and so on are reserved for data that is directly and automatically collected by the system. The monitor Table Buffer is always displayed in the Applications area along with other items. There are various tools for the operating with the monitoring data. 416 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Monitoring SAP NetWeaver AS Java Figure 167: Monitoring - Tools RZ20 The RZ20 in a CEN (central monitoring system with) is a powerfull tool to monitor multiple SAP systems and their operating systems. You can set up additional notifications in case of alerts and auto-reaction methods there. Beyond that, you are able to view the current status and open alerts of monitoring attributes. You can maintain thresholds and complete open alerts. The RZ20 gets her information out of the monitoring segment of the AS Java, this means, that e.g. performance issues of the AS Java doesn't affect the monitoring and alerting in the CEN system. SAP MC and SAP MMC With the SAP MC and SAP MMC you are able to view the current status and open alerts of monitoring attributes. The SAP MC and SAP MMC communicates directly with the sapstartsrv and gets the information out of the monitoring segment of the AS Java, this means, that e.g. performance issues of the AS Java doesn't affect the monitoring and alerting. System Overview The system overview is available in two versions. One version is available in the NWA and the other is avalable via sapstartsrv (this is called the offline system overview). The system overview gives you an graphical overview of the current status of some monitoring attributes and their values. The system overview in the NWA provides a navigation to expert functions in the NWA for the displayed attributes. 2011 © 2011 SAP AG. All rights reserved. 417 Unit 8: Monitoring ADM800 Monitoring Browser The monitoring browser is available in the NWA. The monitoring browser shows the current status of the monitoring attributes and you can maintain thresholds and activate/deactivate monitoring attributes. Monitoring with the SAP MC Figure 168: Monitoring with the SAP MC The monitoring area in the SAP MC or SAP MMC is divided in two parts. One area is for the current status and in the other the open alerts are displayed. Each area is structured in several parts, for example Java Instance, Server or Application where you can drill down. If you select Kernel from one server process, you get displayed all monitoring attributes in the right window pane. Time indicates the time, where the value was reportet from the AS Java. You can see all available alerts of the monitoring attribute by selecting the monitoring attribute and choose All Alerts from the context menu. This option is available in the current status area and open alert area. In the right pane press the left mouse button on the Alert Name headline for choosing the different sort criteria. Every click alternates between sorting “by alert”, “order of the monitoring structure” or “by reverse alert”. 418 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Monitoring SAP NetWeaver AS Java Monitoring with the Monitoring Browser The current status values for the monitoring attributes are displayed with alert colors in accordance with the “traffic light system”. in the SAP NetWeaver Administrator (abbreviation: NWA), the data is displayed in the Monitoring Browser. You are taken to the Monitor Browser with Availability and Performance → Resource Monitoring → History Reports. Here you can select the Monitor Browser tab. Figure 169: Monitoring with the Monitoring Browser In the Monitor Browser you have two views, one for the Active/Used monitoring attributes and one for the Inactive/Not used monitoring attributes. In the Monitor Browser you can activate/deactivate monitor attributes (there is no other tool for activation or deactivation of monitoring attributes). In the lower part of the Monitor Browser you can see the periode of the data collection. In the NWA, the Monitor Browser displays all the running nodes in the system with the current value of the selected monitoring attribute. A threshold value determines when which alert (color in the monitor) is to be triggered. For a working monitoring that is individually adjusted to your system, you should adjust the threshold values. In the Monitor Configuration area it is possible to maintain the thresholds. In the monitor itself, the statuses are identified with different colors. A color changes when a value exceeds or falls below a threshold value. Errors are highlighted in red and passed on to the highest level of the monitor. You can find the alert that has occurred by expanding the monitor. The following colors can be displayed in the monitor: 2011 © 2011 SAP AG. All rights reserved. 419 Unit 8: Monitoring ADM800 Monitoring with the System Overview Figure 170: Monitoring with the System Overview The system overview is available in two versions. You can access the System Overview in the NWA in the workcenter Availability and Performance in the work set System Overview. You can access the offline System Overview via url http://twdfxxxx:50013/ctsv/SystemOverview.html . Both versions show the current values of the displayed monitoring attributes. In the System Overview of the NWA you can navigate to other funcitons by choosing the left mouse button on the monitoring attribute. This is not possible in the offline System Overview. As shown in the figure above, on the selected attribute is a link (Help) available for the online documentation and links for View History (History Reports), Configure Thresholds (Monitoring Browser) and the Manage User Sessions (Session Management) available. The options can vary for every monitoring attribute. 420 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Monitoring SAP NetWeaver AS Java Exercise 20: Monitoring SAP NetWeaver AS Java Exercise Objectives After completing this exercise, you will be able to: • Monitor the SAP NetWeaver AS Java using the SAP NetWeaver Administrator • Monitor the SAP NetWeaver AS Java using the Visual Administrator • Make threshold value settings for individual objects in the monitor Business Example For successful monitoring using the Monitoring service in SAP NetWeaver AS Java, you must set the threshold values appropriately. Task: Making Settings with the NWA Check whether an alert has occurred in the Usage Rate in the memory service of the server processes. You may have to activate the data collection for the Usage Rate. Change the threshold value in the memory service of a server process so that a red alert is displayed in the Usage Rate area when 90% of memory is used (yellow: 75%). Display the historical values for the Usage Rate. 1. Log on to the SAP NetWeaver Administrator, open the Monitoring Browser, and check whether an alert has occurred in the memory service. 2. Check whether the data collection is activated for the Usage Rate monitor and activate it if necessary. 3. Set the alerting for the area Usage Rate so that a red alert is displayed for 90% (yellow: 75). 4. 2011 Display the historical data for the Usage Rate. © 2011 SAP AG. All rights reserved. 421 Unit 8: Monitoring ADM800 Solution 20: Monitoring SAP NetWeaver AS Java Task: Making Settings with the NWA Check whether an alert has occurred in the Usage Rate in the memory service of the server processes. You may have to activate the data collection for the Usage Rate. Change the threshold value in the memory service of a server process so that a red alert is displayed in the Usage Rate area when 90% of memory is used (yellow: 75%). Display the historical values for the Usage Rate. 1. 2. Log on to the SAP NetWeaver Administrator, open the Monitoring Browser, and check whether an alert has occurred in the memory service. a) Log on to your system's SAP NetWeaver Administrator, for example http://twdfSSSS.wdf.sap.corp:<http_port>/nwa. Log on with a user and password (your instructor will provide the user and password information). Switch to the monitor browser: Availability and Performance Management → Resource Monitoring → Java System Reports. Now select Monitor Browser as the Report. b) Select the appropriate server process and open Services → Memory Info there. Here you can see the various monitors. You can use the colors (red, yellow, green, gray) to identify whether an alert has occurred. Navigate to the Usage Rate monitor and select the monitor's current values. If you see No value has been reported yet then this indicates that data collection is not active. Move on to the next step. Skip the next step if the data collection is already active. Check whether the data collection is activated for the Usage Rate monitor and activate it if necessary. a) Select Usage Rate if you have not already done so. b) Select the tab page Configuration. Check whether the checkbox next to Enabled is selected. If it is not select the Edit Configuration Group button. Now check the box and save your configuration. Click on the Refresh button above the monitoring tree. Continued on next page 422 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Monitoring SAP NetWeaver AS Java 3. Set the alerting for the area Usage Rate so that a red alert is displayed for 90% (yellow: 75). a) Go back to the tab page Configuration. b) If you have not yet done so select the Edit Configuration Group button. Enter the following values, for example, and save your configuration: • • • • 4. 2011 Green to yellow: 75 Yellow to red: 90 Red to yellow: 85 Yellow to green: 70 Display the historical data for the Usage Rate. a) Switch to the History. b) Select a appropriate period for the display. In the field History per, you can select from hours, quarter hours and minutes. © 2011 SAP AG. All rights reserved. 423 Unit 8: Monitoring ADM800 Lesson Summary You should now be able to: • Describe the monitoring infrastructure • Display monitoring data in the SAP NetWeaver Administrator (NWA) • Make threshold value settings in the NWA 424 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Lesson: Connecting to a Central Monitoring System Lesson Overview You can monitor the SAP NetWeaver AS Java directly with the SAP NetWeaver Administrator (NWA) or using a central monitoring system. The configuration steps are presented here. Lesson Objectives After completing this lesson, you will be able to: • • Monitor Java instances in the central monitoring system Explain which configuration steps are required to be able to maintain the threshold values for Java instances from the central monitoring system Business Example You use a number of SAP systems in your company. You monitor these SAP systems using a central monitoring system. You have now also installed an SAP system with which you are going to use Java functions. You are therefore using an SAP NetWeaver AS Java, which you want to monitor in the central monitoring system, like your other SAP systems. You can display the most important system data in a central monitoring system, for example an SAP Solution Manager. Transferring Monitoring Data to a Central Monitoring System On the SAP NetWeaver AS Java, there is a monitoring infrastructure that collects various data, which is displayed in the monitoring browser of the SAP NetWeaver Administrators (NWA). You can display this data in a central SAP monitoring system by connecting the AS Java to the central monitoring system (called CEN here). 2011 © 2011 SAP AG. All rights reserved. 425 Unit 8: Monitoring ADM800 Figure 171: Connecting to a Central Monitoring System If the SAP NetWeaver AS Java starts, JMX monitors are created. They deliver data for runtime monitoring. To deliver the data to the CEN the SAP NetWeaver management agents are used. The SAP NetWeaver management agents are used to administer and monitor SAP NetWeaver components. They are automatically installed and started during the installation of any SAP NetWeaver components as of release SAP EHP2 for SAP NetWeaver 7.0 (in short 7.02) or SAP NetWeaver 7.1. There are two types of agents, depending on the associated component: the host agent and the instance agent. One host agent runs for each monitored host (including hosts on which one or more instance agent is running). An instance agent runs for each monitored instance. 426 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Figure 172: Monitoring Data Transfer from AS Java to CEN The SAP NetWeaver management agent sapstartsrv contains the functionality for different central monitoring functions. The functions of the CCMS agents (SAPCCMSR, SAPCCM4X) are integrated into sapstartsrv as a static library for this purpose; the CCMS agents therefore are no longer needed as standalone executables as of SAP NetWeaver 7.02. The monitoring functions are started in a separate thread within sapstartsrv. This thread connects to the monitoring segment in the shared memory of the monitored instance. Applications can access the monitoring functions of sapstartsrv through a Web service interface. This interface replaces the RFC server part of the CCMS agent. An application (usually an ABAP or dual-stack system) can register as a central monitoring system (CEN). The registration is performed using a protected Web service. During the registration, the caller sends sapstartsrv information about the CEN and the logon data for the CSMREG user. 2011 © 2011 SAP AG. All rights reserved. 427 Unit 8: Monitoring ADM800 An SAP NetWeaver management agent communicates with CEN in the following way: • • As a Web service, it provides access to the data in the monitoring segment. This access is, for example, used in transaction RZ20. As an RFC client, it independently sends alerts and values for the monitoring attributes to the CEN (push technology). This data is then stored in a cache there to allow the system to display it more quickly or triggers central auto-reaction methods there. This improves performance, since CEN then no longer needs to periodically query the agents. Hint: In addition to system monitoring, the SAP Solution Manager provides further functions. Registering AS Java to a CEN The following steps are required to install the SAPCCMSR agent: 1. Create the CSMREG user in the central monitoring system (transaction RZ21 in CEN) a) 2. 3. If the monitored system is an AS ABAP+Java create an CSMREG user in the monitored system also. Register the AS Java to the central monitoring system (transaction RZ21 in CEN) Create JCo Destination for the customizing destination Creating the CSMREG User The CSMREG user is used for communication between the agents and the central monitoring system. This user is a communication user with very specific authorizations. 428 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Figure 173: Creating the CMSREG User (RZ21) The CSMREG user is created with transaction RZ21. There go to Technical Infrastructure → Configure Central System → Create CSMREG User Register AS Java to the Central Monitoring System The technical infrastructure used when registering an AS Java depends slightly on the installation of the monitored system. The next figures show the difference between a monitored AS ABAP+Java (dual-stack) and an AS Java (single-stack). 2011 © 2011 SAP AG. All rights reserved. 429 Unit 8: Monitoring ADM800 Figure 174: Registering AS Java to CEN As shown in the figure above the instance agent (sapstartsrv) can be called by the CEN via Web Service to get the monitoring data. In addition sapstartsrv send alerts via RFC connection to the CEN (using user CSMREG in client 000). The operation system data is provided via shared memory by the host agent. For maintaining threshold values from the CEN in the AS Java an RFC customizing destination is used. 430 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Figure 175: RZ21: Registering AS Java In transaction RZ21 of the CEN system go to Technical infrastructure → Configure Central System → Create remote monitoring entry. From the Component Type to Be Monitored drop down select Java. Enter the System ID, host name of the Message Server, and HTTP Port of the Message Server of the monitored system. Now choose the Test push-button. Enter the Password of the CSMREG user in your CEN and the Password of the <sid>adm operating system user for the monitored system. Finally choose Save. Now all instance agents of the monitored system are registered, HTTP destinations to the agents are generated, and the customizing destination to the AS Java is created. 2011 © 2011 SAP AG. All rights reserved. 431 Unit 8: Monitoring ADM800 Figure 176: Registering AS ABAP+Java 7.1x to CEN In addition to the connections used for a single-stack AS Java 7.1x for an AS ABAP+Java two RFC connections are used. The CEN uses destination <SID>_RZ20_COLLECT to read monitoring data for the monitored system and complete alerts; the connection uses the CSMREG user in client 000. With destination <SID>_RZ20_ANALYZE an administrator can execute an analysis method in the monitored system. The destination is created without a user, meaning that you need to authenticate yourself to the monitored system. When maintaining thresholds for the AS Java, the CEN uses the RFC destination to connect to the remote AS ABAP and from there the local RFC customizing destination is used to access the AS Java. 432 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Figure 177: RZ21: Registering AS ABAP+Java In transaction RZ21 of the CEN system go to Technical infrastructure → Configure Central System → Create remote monitoring entry. From the Component Type to Be Monitored drop down select DualStack. Enter the System ID, host name of the Message Server, a Logon Group, and the Password of the CSMREG user of the monitored system. Now choose the Continue (Enter) push-button. The names of the RFC connections are generated. Now Test the <SID>_RZ20_COLLECT destination, if a successful logon is possible. Enter the Password of the CSMREG user in your CEN and the Password of the <sid>adm operating system user for the monitored system. Finally choose Save. Now all instance agents of the monitored system are registered, HTTP destinations to the agents are generated, RFC destinations to the monitored system are created, and the customizing destination is created in the ABAP stack of the monitored system. If you want to use the “old” technology with the sapccmsr agent, have a look in SAP Note 1547201. 2011 © 2011 SAP AG. All rights reserved. 433 Unit 8: Monitoring ADM800 Displaying the Monitoring Data in the Central Monitoring System You can display the J2EE monitoring data in the central monitoring system using the Alert Monitor. To do this, you must open the Alert Monitor (transaction RZ20) and select the monitor set SAP J2EE Monitor Templates. The status data is stored in the following monitors: • • The Engines monitor displays status data for the kernel, services, performance, and the system. The Applications monitor displays application data. In the SAP NetWeaver AS Java status monitors, you can see at a glance where warnings (yellow) and errors (red) have occurred. If you open the tree at the corresponding places, you learn more about the cause. Figure 178: Display in Transaction RZ20 If the service memory is highlighted in yellow, this means that the minimum threshold value of the memory service has been exceeded triggering a yellow alert. If you open the tree at this point, you can see which monitor this concerns. Some operating system data is displayed under Performance, the complete operating system data is displayed in the Opertating System monitor in the monitor set SAP J2EE Monitor Templates. The Applications monitor displays monitoring data for J2EE applications that have implemented a monitoring function. The operating system information is collected by the host agent. 434 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Figure 179: Operating System Information in Transaction RZ20 Customizing Destination The agent allows you to transfer the alerts that have occurred to the central monitoring system. The system should only display an alert if a value exceeds or falls below a specific threshold value, which is entered individually for a system. A threshold value defines the value/status at which an alert with a certain classification (red, yellow, green) is displayed. Figure 180: Connecting AS Java to the Central Monitoring System (threshold value maintenance) 2011 © 2011 SAP AG. All rights reserved. 435 Unit 8: Monitoring ADM800 You can perform the configuration of the threshold values not only in the SAP NetWeaver Administrator, but also in the central monitoring system. For this a JCo RFC destination in the AS Java pointing to the Gateway of the AS ABAP is used. This is usually called SAP.CCMS.J2EE.<SID> (<SID> of the AS Java). In transaction SM59 of the AS ABAP CEN system an RFC destination of the type T was created during registration of the monitored system. This RFC connection is also usually called SAP.CCMS.J2EE.<SID>. The name of the Registered Server Program in this destination must be identical to the name of the JCo RFC destination (Program ID). In transaction RZ21 in Agents for Remote Systems under Topology you should find the name of the RFC destination in the field J2EE Customizing Destination. Hint: You can maintain the field J2EE Customizing Destination only in change mode and you may be able to view it only in change mode too. It is the last field. Therefore, you may have to scroll to the right to view the J2EE Customizing Destination. You can change the threshold values in the Alert Monitor. Call transaction RZ20, and expand the SAP J2EE Monitor Templates monitor set. Start the Engines monitor. Expand the tree structure completely, and select, for example, a server node in the central instance in the tree. Now choose the Properties button and switch to change mode. You can now maintain its threshold values. 436 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Exercise 21: Registering with a Central Monitoring System Exercise Objectives After completing this exercise, you will be able to: • register your AS Java 7.1x with the central monitoring system Business Example You can monitor the monitoring data of the AS Java using the Monitoring Browser in the NWA or using a central monitoring system. To be able to display the data in the monitoring system, you need to register the system. Task 1: Optional: Create CSMREG user Caution: This task can only be done once per central monitoring system (CEN). If this course setup only provides one CEN, the CSMREG user was already created by the instructor. In this case please skip this whole task and the instructor provides you with the password of user CSMREG. 1. Log on to the Solution Manager system in client 000 with your course user and create the CSMREG user with transaction RZ21. Task 2: Register the AS Java Register your AS Java system to the central monitoring system. 1. Log on to the Solution Manager system in client 000 with your course user and register your AS Java with transaction RZ21. Task 3: View Monitoring Data View the monitoring data of your AS Java in the central monitoring system. 1. Check whether the monitoring data is displayed in the Alert Monitor (transaction RZ20). Continued on next page 2011 © 2011 SAP AG. All rights reserved. 437 Unit 8: Monitoring ADM800 Task 4: Create Customizing Destination Create the JCo RFC destination in your AS Java so that you can use the customizing destination to execute threshold value maintenance for the AS Java monitors in transaction RZ20 of the central monitoring system. 1. Check on your AS Java system whether a JCo RFC destination with the name (Program ID) SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) has been created and started. Task 5: Maintain Threshold Values Maintain threshold values for your AS Java using the Alert Monitor in the central monitoring system. 1. 438 In transaction RZ20, change the threshold value in the memory service of a server process so that a red alert is displayed in the Usage Rate area when 95% of memory is used (yellow: 80%). © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Solution 21: Registering with a Central Monitoring System Task 1: Optional: Create CSMREG user Caution: This task can only be done once per central monitoring system (CEN). If this course setup only provides one CEN, the CSMREG user was already created by the instructor. In this case please skip this whole task and the instructor provides you with the password of user CSMREG. 1. Log on to the Solution Manager system in client 000 with your course user and create the CSMREG user with transaction RZ21. a) Log on to the Solution Manager system in client 000 and call transaction RZ21. b) Go to Technical infrastructure → Configure Central System → Create CSMREG User. c) Enter a password twice and choose Continue (Enter). Task 2: Register the AS Java Register your AS Java system to the central monitoring system. 1. Log on to the Solution Manager system in client 000 with your course user and register your AS Java with transaction RZ21. a) Log on to the Solution Manager system in client 000 and call transaction RZ21. b) Choose Technical infrastructure → Configure Central System → Create remote monitoring entry. c) From the Component Type to Be Monitored drop down select Java d) Enter your SID as the System ID, for example P7T. Enter the full qualified host name of the Message Server, for example twdfSSSS.wdf.sap.corp. Enter the HTTP Port of the Message Server, for example 8101. e) Choose the Test push-button. f) Enter the Password of the CSMREG user in your CEN and the Password of the <sid>adm operating system user for the monitored system. g) Choose Save and wait a few seconds until the registration completes. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 439 Unit 8: Monitoring ADM800 Task 3: View Monitoring Data View the monitoring data of your AS Java in the central monitoring system. 1. Check whether the monitoring data is displayed in the Alert Monitor (transaction RZ20). a) Call transaction RZ20 in the Solution Manager system. b) Open the SAP J2EE Monitor Templates monitor set and choose the Engines monitor. Open the monitor by double-clicking it. You should now see data for your system. Note: It can take a few minutes before the data becomes visible. Task 4: Create Customizing Destination Create the JCo RFC destination in your AS Java so that you can use the customizing destination to execute threshold value maintenance for the AS Java monitors in transaction RZ20 of the central monitoring system. 1. Check on your AS Java system whether a JCo RFC destination with the name (Program ID) SAP.CCMS.J2EE.<SID><##> (<SID> stands for the system ID of your system, <##> stands for your group number) has been created and started. a) Call the NWA and switch to the JCo RFC Provider Configuration Management → Infrastructure → JCo RFC Provider. b) Start your JCo RFC Provider if it is stopped. If you still do not have a JCo RFC Provider, create it as described in the unit “Java Connector and Destinations”. Continued on next page 440 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Connecting to a Central Monitoring System Task 5: Maintain Threshold Values Maintain threshold values for your AS Java using the Alert Monitor in the central monitoring system. 1. In transaction RZ20, change the threshold value in the memory service of a server process so that a red alert is displayed in the Usage Rate area when 95% of memory is used (yellow: 80%). a) Call transaction RZ20 in the Solution Manager system. b) Open the SAP J2EE Monitor Templates monitor set and choose the Engines monitor. Open the monitor by double-clicking it. You should now see data for your system. c) Open an instance and the following nodes in the monitoring tree for your system: Services → Memory Info. d) Select Usage Rate and choose Properties to switch to threshold value maintenance. e) Switch to change mode, enter the following values, for example, and then save your configuration: • • • • f) 2011 Green to yellow: 80 Yellow to red: 95 Red to yellow: 90 Yellow to green: 75 Save your settings. © 2011 SAP AG. All rights reserved. 441 Unit 8: Monitoring ADM800 Lesson Summary You should now be able to: • Monitor Java instances in the central monitoring system • Explain which configuration steps are required to be able to maintain the threshold values for Java instances from the central monitoring system 442 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring Lesson: Availability Monitoring Lesson Overview SAP provides availability monitoring using the Generic Request and Message Generator (GRMG). You can use it to monitor both technical components of SAP NetWeaver AS Java and entire Java applications. You can use this availability monitoring with only a few configuration steps. Lesson Objectives After completing this lesson, you will be able to: • • Describe how an availability check using the GRMG works technically Configure an availability check Business Example You are using SAP NetWeaver AS Java and want to be notified as quickly as possible if a Java application or technical component of an SAP Web AS Java is not running. In this case, it is useful to configure an availability check using the GRMG. Fundamentals of Availability Monitoring SAP provides the tools for monitoring the SAP NetWeaver AS Java and Java applications. This availability monitoring is based on the Generic Request and Message Generator (GRMG). You can use the GRMG to monitor the availability of technical components and the availability of entire business processes. 2011 © 2011 SAP AG. All rights reserved. 443 Unit 8: Monitoring ADM800 Figure 181: Availability Monitoring The GRMG consists of two parts, both of which are required for a functioning GRMG environment: • GRMG infrastructure The GRMG infrastructure is part of the monitoring architecture of the Computing Center Management System (CCMS) of an SAP NetWeaver AS ABAP. Its task is to send a request (the GRMG request) to the GRMG application, to receive its response (the GRMG response), and to display this response in the CCMS Alert Monitor. • GRMG application The GRMG application performs the actual availability monitoring. From a technical point of view, it is a Java Server Page (JSP), a servlet, or a Business Server Page in an SAP NetWeaver Application Server with a defined interface that is called by the GRMG infrastructure. The GRMG request and GRMG response are messages in a special XML format. The concept of availability monitoring of monitored components can be described as an agent concept. This means that the GRMG application can run separately from the components and applications that it is monitoring. This detour means that if errors occur, you can differentiate between cases in which the components monitored in the scenario are not available (component errors) and those in which the scenario itself is not working correctly (for example, due to communication errors or an agent that is not running) (scenario errors). 444 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring The following different scenarios exist for setting up GRMG monitoring: • Technical Customizing for monitoring a GRMG application You have a complete Java application with a built-in GRMG application (from SAP or programmed yourself) and want to activate the availability monitoring for Java/HTTP-compatible components or Java applications. Note: This process is suitable for consultants and customers who want to activate GRMG monitoring for an application that is already instrumented for monitoring with the GRMG. • Instrument the application for GRMG monitoring You have a Java component or applications for which you want to create GRMG monitoring. You need to store all of the information (host name, application, and so on) required for an automatic GRMG request in a GRMG Customizing file. Create the messages that are to be returned in the GRMG response and create a monitor definition in the CCMS Alert Monitor. Note: This process is primarily suitable for application developers working for customers or partners who want to equip their own components for GRMG monitoring. For more information about this, see the following sections. 2011 © 2011 SAP AG. All rights reserved. 445 Unit 8: Monitoring ADM800 Availability Monitoring of SAP NetWeaver AS Java and of Java Applications Figure 182: Availability Monitoring with the GRMG You can use a central monitoring system to monitor the availability selected components of an SAP solution with the GRMG. The GRMG is suitable both for technical monitoring and for application monitoring. GRMG availability monitoring uses functions of the CCMS monitoring infrastructure (SAP NetWeaver AS ABAP) to store the heartbeat information. The communication is performed using HTTP POST. Note: Heartbeat - A signal is sent by the software at regular intervals to communicate the availability (running/not running). GRMG monitoring is performed as follows: 1. 2. 3. 446 An XML message is sent from the GRMG infrastructure to the target system. The GRMG application on the target system performs all of the tests for the availability monitoring of the component to be monitored or the business process step. The results of these tests are collected in the GRMG application and combined as the GRMG response. The GRMG response is sent back to the GRMG infrastructure and is displayed in the Alert Monitor of the SAP NetWeaver AS ABAP as heartbeat information. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring Setting Up Availability Monitoring Technically: 1. 2. 3. 4. Load the Application Server Java GRMG Monitoring Template from the SDN. Edit the tags scenstarturl and scendesc. Use transaction GRMG (central monitoring system) to upload the monitoring templates to the central monitoring system. Start the GRMG scenarios for availability monitoring Templates for availability monitoring are stored in the SDN http://www.sdn.sap.com/irj/sdn/operations. You can find these in the Knowledge Center in the area Monitoring → Enhancing your Monitoring Possibilities → GRMG Customizing Files. You can download the Application Server Java GRMG Monitoring Template here. If you unpack the .zip file, you get the file J2EE_630_Customizing.xml, which you can edit, for example, using an XML Editor. Under scenarios → scenario, you find the scenstarturl in which you maintain the host name and the HTTP port of the AS Java that is to be monitored. To display the SID or LongSid of the monitored system in transaction RZ20, enter the SID or LongSid and the host name under scenarios → scenario → scentexts → scentext → scendesc. Figure 183: Setting Up Availability Monitoring 2011 © 2011 SAP AG. All rights reserved. 447 Unit 8: Monitoring ADM800 You can use the Alert Monitor (transaction RZ20) to display availability data. In transaction RZ20, choose the SAP J2EE Monitor Templates monitor set. Start the Heartbeat monitor there. Figure 184: Availability (GRMG): Display in RZ20 If a scenario is running correctly, the components monitored by the scenario are displayed. For each monitored component, you can see the availability as a percentage, by default, averaged over the last 15 minutes, and the status with status messages that are returned by the GRMG application. To display the messages in the Alert Monitor, choose the Details button. If an error occurred in the scenario, the scenario would become red and the subtrees for the monitored components would appear colored white. 448 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring Instrumenting Availability Monitoring for Java Applications The following process provides an overview of the steps required to instrument an application for availability monitoring with the GRMG. The following steps are a Roadmap for Developers: • • • Design your GRMG scenario (which applications, components, processes, and so on). Create the messages that are to be returned in the GRMG response. Create a template for the GRMG Customizing file. The GRMG Customizing file contains all information required about the scenario, the monitored components, and the parameters that are sent with the GRMG request for the components. • Implement the GRMG application. The GRMG application receives the GRMG request with all transferred parameters from the GRMG infrastructure, executes the availability checks, and returns the result to the GRMG infrastructure as the GRMG response. 2011 © 2011 SAP AG. All rights reserved. 449 Unit 8: Monitoring ADM800 Figure 185: Creating a GRMG Application Hint: 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. 450 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring Exercise 22: Availability Monitoring Exercise Objectives After completing this exercise, you will be able to: • Configure availability monitoring with GRMG Business Example You are using SAP NW AS Java and want to be notified if a Java application or technical Java component is not running. In this case, it is useful to configure an availability check using GRMG. Task: Availability Monitoring On the central monitoring system that is used in your course, set up availability monitoring for the PAS instance of your AS Java. 1. Maintain the data for your AS Java that is to be monitored in the file J2EE_630_Customizing.xml of the Application Server Java GRMG Monitoring Template. For editing purposes, provide the file J2EE_630_Customizing.xml on a host where you have write authorization and where an XML Editor and an SAP GUI are available. The host on which your AS Java is running would be suitable, for example. 2. Start the manual upload of the GRMG customizing file for your central and dialog instance. Then check whether the scenarios that you have just loaded are visible in transaction GRMG. Start your scenarios only. Caution: Start the SAP GUI for Windows on the operating system of the host on which you edited the file J2EE_630_Customizing.xml. 3. 2011 Start your scenario in transaction GRMG and then check in the Alert Monitor (transaction RZ20), whether values are delivered. © 2011 SAP AG. All rights reserved. 451 Unit 8: Monitoring ADM800 Solution 22: Availability Monitoring Task: Availability Monitoring On the central monitoring system that is used in your course, set up availability monitoring for the PAS instance of your AS Java. 1. Maintain the data for your AS Java that is to be monitored in the file J2EE_630_Customizing.xml of the Application Server Java GRMG Monitoring Template. Continued on next page 452 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring For editing purposes, provide the file J2EE_630_Customizing.xml on a host where you have write authorization and where an XML Editor and an SAP GUI are available. The host on which your AS Java is running would be suitable, for example. a) Log on to the operating system of the host on which your AS Java is running. b) Create a directory with the name temp if it does not exist already. c) In the temp directory, create a directory of the form <SID><##>_<instance number> (## stands for your group number) for the central instance and for the dialog instance of your AS Java. d) Copy the file J2EE_630_Customizing.xml from the directory GRMG, which is located on the training share in the course directory, to each of the directories created above. e) Switch to the directory that you created <SID><##>_<instance number> for the central instance. f) Use the XML-Notepad Editor to edit the file J2EE_630_Customizing.xml. g) Now choose scenarios → scenario in the structure and maintain the name of the host and port on which your AS Java is running for the values from scenstarturl. Replace [host] with the host name, for example, twdfSSSS.wdf.sap.corp) and [port] with the HTTP port of the central instance, for example 50000. Save your entry. h) For scenversion enter your group number added by 1 with three digits, for example if your group number is 23, enter 024 as scenversion i) Now choose scenarios → scenario → scentexts → scentext in the structure and enter values for the LongSid in the form <SID><##>_<instance number> (## stands for your group number, for group 33, for example, P7T33_00 for instance 00) of your AS Java system in the scendesc field. Replace [SysID] and [host] with your own values. Save your entry. j) 2. Start the manual upload of the GRMG customizing file for your central and dialog instance. Then check whether the scenarios that you have just loaded are visible in transaction GRMG. Start your scenarios only. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 453 Unit 8: Monitoring ADM800 Caution: Start the SAP GUI for Windows on the operating system of the host on which you edited the file J2EE_630_Customizing.xml. 3. 454 a) Log on to the operating system of your training system and start the SAP GUI there. Log on to the Solution Manager system of your course. Your instructor will give you the required data. b) Call transaction GRMG and use Upload/Download → Upload scenario to upload the file J2EE_630_Customizing.xml for your central instance and dialog instance from the directories that you created (<SID><##>_<instance number>). Start your scenario in transaction GRMG and then check in the Alert Monitor (transaction RZ20), whether values are delivered. a) In transaction GRMG, select your scenario and use Start to start it. b) Now open transaction RZ20 and navigate to SAP J2EE Monitor Templates → Heartbeat → J2EE Engine. There you see the availability information of your instance. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Availability Monitoring Lesson Summary You should now be able to: • Describe how an availability check using the GRMG works technically • Configure an availability check 2011 © 2011 SAP AG. All rights reserved. 455 Unit 8: Monitoring ADM800 Lesson: Log Viewer and Log Configuration Lesson Overview Logging and tracing are important functions in the context of error analysis. You can configure the level of detail in which information is written to log files. You can access all log files with the Log Viewer. Lesson Objectives After completing this lesson, you will be able to: • • • Use the Log Viewer Explain the difference between logging and tracing Execute log configuration Business Example You are working with SAP NetWeaver AS Java and want to know more about the options for configuring and evaluating log files. Since a great deal of log information is created in the SAP NetWeaver AS Java environment, it is important to be familiar with a tool that displays the log files. Log and Trace Files All Java nodes write log and trace information to files in the file system. These files are formatted in a special way. This formatting makes it possible to use filters to hide or display specific entries when viewing the files in a Log Viewer. The files which possess this formatting are known as “ListLog”s. The entries in the ListLogs also contain a Severity field which indicates the weighting of the entry. Some of the ListLogs are listed in the figure “ListLogs in the File System”. For each Java server process, there is a separate directory named “log” in the file system under which the files for the node are stored. A basic distinction is made between log and trace files. Log files are sometimes also referred to as logging files. The trace files comprise only files with the name default.<xx>.trc where the <xx> stands for the node number and <x> for a sequential number. The trace files which are discussed here should not be confused with other “trace” files such as the developer traces. The log files include the other files displayed in the figure. 456 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration Figure 186: ListLogs in the File System Log files are displayed in the Log Viewer. There are two types of log files: logging and trace files. The following distinction is made between logging and tracing. Logging means: • • • Recording normal and exceptional events Runtime information of a system or an application is written to log files Active during normal operation Tracing means: • • • Recording the process flow of an application Use during development and for error detection in the production environment All traces are stored in the default.<xx>.trc files The Log Viewer To ensure stable operation, the log and trace files should be regularly checked for error messages. 2011 © 2011 SAP AG. All rights reserved. 457 Unit 8: Monitoring ADM800 SAP provides a mechanism for the automatic analysis of log and trace files. You can evaluate and monitor the log files in two ways: • Central monitoring with SAP NetWeaver AS ABAP If you are using an SAP NetWeaver AS ABAP that is acting as a central monitoring system, you can also use the standard monitoring methods of the ABAP environment. You can use the CCMS to search the log files every minute for predefined search patterns. If the agent finds a pattern, it reports an alert in the central monitoring system. The administrator can be notified from there on the basis of the alert. • Monitoring with the infrastructure of SAP NetWeaver AS Java (Log Viewer) Note: This lesson focuses on monitoring with SAP NetWeaver AS Java and the related infrastructure. The logging/tracing infrastructure is described in more detail in the following sections. The Log Viewer is always used to display log and trace files, irrespective of whether they are created by the kernel, services, libraries, or applications. The log files for all server nodes can be combined. The Log Viewer can search log files for entries that have a specific weighting (severity). You can use the Log Viewer in the following variants: • As Log Viewer in the SAP NetWeaver Administrator – • Log and trace files for the runtime environment and the running applications are automatically registered – Predefined views are supplied – You can create and save user-defined views As Log Viewer in the SAP MC – • Log and trace files for the runtime environment and the running applications are automatically registered – Log and trace files can also be displayed when the system is stopped. Command Line Log Viewer – – – Displays only local log files Can be activated during the deployment of applications Converts binary data to a readable format Note: This lesson focuses on the Log Viewer in the NWA and in the SAP MC. The Log Viewer in the SAP NetWeaver Administrator The Log Viewer runs as a service in SAP NetWeaver AS Java. As soon as the SAP Logging API is aware of a new log, the log is automatically included and you can display it in the Log Viewer. 458 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration Figure 187: Log Viewer in the NWA: Predefined Views The log and trace files are automatically registered when SAP NetWeaver AS Java is started so that they can be displayed using the above-mentioned. Log Viewer variants. In the NWA, you can call the Log Viewer via the following path Troubleshooting → Logs and Traces→ Log Viewer. Multiple predefined views are available (figure: Log Viewer in the NWA: Predefined Views) and you can also save your own user-defined views. The predefined views do not usually display all the log and trace entries. Instead these are restricted by filters in the views themselves. • SAP Logs Shows log entries but no trace entries • Developer Traces Shows defaulttrace entries but no log entries. • Expert Shows all log and trace entries without restriction • Security Shows the security log • Unstructured Log Files Shows file contents which are not of type “ListLog” 2011 © 2011 SAP AG. All rights reserved. 459 Unit 8: Monitoring ADM800 You can use the Show Advanced Filter button to activate further restrictions to the selected view by means of filters and save this as a user-defined (Custom) view. For more information, see the figure “Log Viewer im NWA: Filters”. Figure 188: Log Viewer in the NWA: Filter Use the Show Advanced Filter to show the Filter by Content area. You can create multiple filter with the <Select Filter> button. If you filter by Log Source you can restrict the view to different instances or individual nodes. The filter Log file named enables you to filter for special data sources like defaulttrace, security_audit and so on. Other filter of interest here may be, for example, Message, Date and Time, User, Category, Location. The filtered view which has been fine-tuned in this way can then be stored as a custom view. If you want to delete a filter, select the filter and use the trash can for deletion. If you identify an entry for which you want to see the associated messages (possibly from other files or related log and trace information) then it is often useful to filter for the Related Logs. You can use View → Customize Layout to display further log attributes as columns. In the Details column, you can activate or deactivate the details of an entry. The Expert View You can use Log Format to choose between ListLog and TextFormat. If you choose the ListLog restriction, then both trace and log data is available for display. This log and trace data is stored in different files as already discussed at the start of 460 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration the lesson (see also figure: “ListLogs in the File System”). You can use the Log file named to select a file whose data is to be displayed. If, as in the predefined views, you want to display the combined data from all the ListLogs then you should select Merge Logs if Possible. If you use Log File named then you can specify name patterns of the files from which data is to be included or excluded. Thus, “Log Format equals ListLog” together with “Log file named as DefaultTrace*” and “Merge Logs if Possible” yields the same result as the predefined Developer Trace view. If you want to see the data as in the SAP Logs view, you should instead simply choose “Log file named different from DefaultTrace*”. Files in text format cannot be combined using Merge Logs if Possible. If you choose TextFormat, then you can, for example, also display files such as the dev_server# file. Hint: If you only select Merge Logs if Possible and do not specify any further restrictions then you can use “Display Log File” to select a combination of all the log and trace files or the individual text format files. Log Viewer in the SAP MC The Log Viewer in the NWA can only be used if the AS Java is running. With the Log Viewer in the SAP MC, you have the option of displaying and filtering the logs if the AS Java system is not started. Figure 189: Log Viewer in the SAP MC: Analyse Log Files 2011 © 2011 SAP AG. All rights reserved. 461 Unit 8: Monitoring ADM800 You can right-click and use the menu entry Analyse Log Files to display the logs in the SAP MC system-wide or per instance. This displays the ListLogs and the developer traces from the work directory. You can restrict to a defined period of time or to severities. The severities “All”, “Warning” and “Error” are provided for this. If the severity “Error” is selected, this means that severities of the type “Error” are displayed (“Fatal” for fatal severities, for example). The displayed data can be filtered for the different fields. Note that a distinction is made between uppercase and lowercase in the search. If you only want to search for part of a text, you may have to enter “*” as a wild-card character at the start or end of the filter. You can filter using “<” (less than), “>” (greater than) and “!” for “not equal to” for numeric values. Click the field name to sort the fields. Choose Ctrl for multiple filtering. “Regular Expressions” can also be used as filters; they are introduced with “regex:”. You can restrict to the ListLogs using the expression regex:(.*log)|(.*trc) as a filter for “File Name” and the developer traces are hidden. Use the following URL for more information about the “Regular Expressions”:http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html You can select and display individual logs in the instance node under Log Files. Snapshots Information is written from the SAP MC to a “.zip” file using snapshots. This file contains selected information about the system status including parts of developer traces and ListLogs. A snapshot can be sent to SAP for error analysis, for example, or can be included in an SAP MC or SAP MMC for later error analysis. Figure 190: Log Viewer in the SAP MC: Snapshot You can include the snapshot in an SAP MC using the menu File → Load snapshot. 462 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration In a snapshot, information about the instances or the system can be displayed as it existed at the time of the snapshot. The developer traces and ListLogs included in the snapshot can be displayed and evaluated using Log Files. Filters can be set to the columns in the snapshot under Analyse Log Files. The evaluation settings (Severity, Time, Entries) can no longer be changed in the snapshot. Snapshots can be generated at system and instance level. This can be done by right-clicking and selecting Create snaphot. Logging and Tracing There are two types of log files: files for logging, and files for tracing. Logging means: • • • • • Recording normal and exceptional events Runtime information of a system or an application is written to log files Active during normal operation Logs are structured into categories, which are logical areas/topics. Predefined categories are: – System (Server, Network, Database, Security) – Application – Performance Each category points to one or more log destinations (storage locations in the file system) Tracing means: • • • • Recording the process flow of an application Use during development and for error detection in the production environment All traces are stored in the log destination defaultTrace_x.trc Traces are structured into locations. Note: Locations represent defined coding areas such as classes or software packages. The traces and logs are displayed in the logging/tracing infrastructure. The logging/tracing infrastructure for SAP NetWeaver AS Java consists of: • • • 2011 consisting of: SAP Logging API, Log Manager, Log Controller is configured via: Log Configurator service is displayed in: Log Viewer © 2011 SAP AG. All rights reserved. 463 Unit 8: Monitoring ADM800 SAP Logging API, Log Manager The SAP Logging Infrastructure consists of the SAP Logging API and the Log Manager. The Log Manager is responsible for writing the log and trace files. The Log Manager writes the log information of the system or an application to a log file in accordance with the severity. The Log Manager is a central manager in the structure of a JEE server. This manager is the first manager that is started. The storage location for all logs and traces is configured here. All log and trace files of an instance are written to the directory J2EE-Root/cluster/Server<Nr>/log (for example, /usr/sap/<SID>/<Instanz>/j2ee/cluster/server0/log). The entries of the log and trace files have different severities (Severity). This means, for example, that the system writes only errors, only errors and warnings or all information in debug mode to a log or trace file. Configuration of Logs and Traces in the Log Configurator Service In the NWA, you can carry out the logging/tracing configurations for components of the SAP NetWeaver AS Java and deployed applications under Troubleshooting → Logs and Traces → Log Configuration. You can carry out the following actions in the Config Tool under Log Configuration: • • • Change severity (in the Config Tool and NWA) Add, change, and delete log destinations (storage location) (Config Tool) Add, change, and delete log formatters (Config Tool) Hint: You usually only need to change the severities. All other settings are intended for experts. You can configure log destinations for categories (log files) and locations (trace files). A log destination allows you to determine where (size and number) the log/trace files are stored. Log formatters are formatters for files in different formats such as XML, trace, and list format. Changing Severities Severities can be set for the individual categories and locations. These severities control which messages are logged to the ListLogs. Only messages that have the same severity or higher are logged. If, for example, the severity “ERROR” is set 464 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration for a location, all messages with the severity ERROR, WARNING or NONE are logged. To analyze problems, the severities can be adjusted to a lower severity for the category or location in question in order to find more detailed information in the ListLogs. The following severities exist: • • • • • • • • ALL (Low) DEBUG PATH INFO WARNING ERROR FATAL NONE (High) The default for locations is usually ERROR and the default for categories is usually INFO. With the SAP NetWeaver Administrator, you can change the settings for the categories (logs) and locations (traces) severities in the same way as with the Config Tool. There is a separate view for both the categories and the locations and the severities can be adapted in these views. In the NWA, you are taken to the log configuration via Troubleshooting→ Logs and Traces → Log Configuration. Here you can select whether you want to set severities for categories or locations. Use the filter option to locate the required locations or categories quickly. 2011 © 2011 SAP AG. All rights reserved. 465 Unit 8: Monitoring ADM800 Figure 191: Severities in the NWA In the lower log configuration area, you can switch between the System Configuration and Per Instance Configuration tabs (figure: “Severities in the NWA”). In the System Configuration, you see the storage location defined under Log Destination and the name of the file to which the entries are written. You can use the Per Instance Configuration view to set other severities for individual instances. If different severities were set for instances, then “n/a” is displayed as severity in the upper frame. Severities can also be copied to subordinate nodes. If you want to reset a category or location to the value shipped by SAP then you can do this using the Reset Category or Reset Location button respectively. 466 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration Figure 192: Severities in the Config Tool The severities can also be adjusted in the Config Tool. You can do so in the template settings or instance-specifically. You can find the severities for the categories in the template in the Config Tool, for example, via cluster-data → template → log configuration → categories. The storage locations (log destinations) are specified for the categories as with the log configuration in the NWA. There is only one log destination for the location, namely “default_trace”. You can also adjust the severities in Log Destinations. They specify the minimum severity that a message must have to be allowed into the destination. The severities for the locations and categories control which messages are issued from the applications and system components and, at destination level, there is another mechanism that controls which messages are allowed into the destination. The severity “ALL” is usually set for the destination delivered by SAP. The figure “Logging API Logic” illustrates this fact. 2011 © 2011 SAP AG. All rights reserved. 467 Unit 8: Monitoring ADM800 Figure 193: Logging API Logic Adjusting Log Destinations In the Config Tool, you can find the destinations under log configuration. You can create new destinations or change existing destinations there. You make settings for the storage locations are made in the Pattern. You can also maintain the log formats (field Formatter) and filter settings here. Note: If you are creating a new log destination, you should define the file type. There are two file types, FileLog, and ConsoleLog. In the case of FileLog type, it is also necessary to make the following specifications: Pattern, Maximum File Size and Number of files. You usually only need to adjust log destinations if, for example, you are working with the UNIX operating system and want to view log files on the console. In this case, you need to change the log format to ConsoleLog. Log formatters are directly connected to LogDestinations. Adjusting Log Formatters In the Config Tool, you can see the Formatters under log configuration; you can change existing log formatters there. You need to maintain the fields Pattern and Type. SAP delivers the Types ListFormatter, TraceFormatter, and XMLFormatter. ListFormatter means that the log entry can be processed by an application 468 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration such as the Log Viewer. XMLFormatter outputs an element in the XML style. TraceFormatter is a formatter that can be read by users. Only with TraceFormatter can you maintain the second field Pattern. Hint: It is not usually necessary to maintain log formatters, since SAP delivers the appropriate log formatters. log archiving The Log Manager provides the Log Archiving option. Log files are automatically archives at specific intervals. You activate this function via the Config Tool (managers → Log Manager). Change the parameter ArchiveOldLogFiles to the value ON. By default, the archives are stored on the SAP NetWeaver AS in the directory J2EE-root-directory/cluster/<server>/log/archive(for example, /usr/sap/<SID>/<instance>/j2ee/cluster/server0/log/archive). The parameter ArchivesDirectory defines the storage location of the archives. The archives themselves are not automatically deleted. You need to do this manually. 2011 © 2011 SAP AG. All rights reserved. 469 Unit 8: Monitoring 470 ADM800 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration Exercise 23: Log Viewer and Log Configuration Exercise Objectives After completing this exercise, you will be able to: • View log files in the Log Viewer • Change the severity in the Log Configuration Business Example You are working with SAP NetWeaver AS Java and want to know more about the options for configuring and evaluating log files. Since a great deal of log information is created in the SAP NetWeaver AS Java environment, it is important to be familiar with a tool that automatically displays the log files for stable operation. Task 1: Custom Views in the NWA Log Viewer Create your own view in the NWA Log Viewer. 1. Log on to your system's NWA and switch to the Log Viewer. 2. Select the Expert view and create your own filter which provides you with information about the SLD. Save these settings as a custom view. 3. Add the columns Data Source, User, System, and Instance to this view. Task 2: Troubleshooting with the Log Viewer in the NWA Use the Log Viewer to search for messages with the severity Error in the NWA. 1. Create a new view. To do this, use the view created in the previous task as a template and name it, for example, my Expert Error. 2. Create a filter which supplies all the entries in which Error occurs in the Severity column. 3. Determine from which Location the message originates. 4. Determine from which node the message was reported. Task 3: OPTIONAL: UME Security Audit Log Evaluate the Security Audit Log 1. Evaluate the entries in the Security Audit Log (using a tool of your choice). Continued on next page 2011 © 2011 SAP AG. All rights reserved. 471 Unit 8: Monitoring ADM800 Task 4: Log Configuration in the NWA You found an error message in the previous task. Set the severity to Warning for the location from which the problem was reported. 472 1. In the NWA, go to Log Configuration 2. Choose the appropriate view (Tracing Locations). 3. Use the filter to find the location. 4. Change the Severity from Error to Warning and save your input. 5. Check whether additional information is written to the log and trace files. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration Solution 23: Log Viewer and Log Configuration Task 1: Custom Views in the NWA Log Viewer Create your own view in the NWA Log Viewer. 1. 2. 3. Log on to your system's NWA and switch to the Log Viewer. a) In the browser, start the URL http://<rechner>:<port>/nwa . b) Navigate to Troubleshooting→ Logs and Traces → Log Viewer. Select the Expert view and create your own filter which provides you with information about the SLD. Save these settings as a custom view. a) In the Log Viewer choose View → Open Expert View. b) Open the Filter view with Show Advanded Filter. c) Select Merge Logs if Possible and confirm the filter with Apply Filters. d) Set the Filter Log Format. If equals ListLog has not yet been selected, make sure that it is entered. Confirm the filter with Apply Filters. e) Select the Message filter and filter by contains SLD. Choose Apply Filters. You can find information about, for example, when data was last sent to the SLD (LastSendInfo) or an error occured. f) Save this view under a descriptive name, for example, myExpert SLD by choosing View → Save View As .... Add the columns Data Source, User, System, and Instance to this view. a) Choose View → Customize Layout. b) Select the above-mentioned columns in addition to those that are already selected and choose OK. c) Save your view. Task 2: Troubleshooting with the Log Viewer in the NWA Use the Log Viewer to search for messages with the severity Error in the NWA. 1. Create a new view. To do this, use the view created in the previous task as a template and name it, for example, my Expert Error. a) In the NWA, switch to your view from the previous task. b) Create a new view by choosing the button Save View As ... Continued on next page 2011 © 2011 SAP AG. All rights reserved. 473 Unit 8: Monitoring 2. 3. ADM800 Create a filter which supplies all the entries in which Error occurs in the Severity column. a) Create a new filter for the search of the severity Error and delete the entry for Message. b) Choose the “Apply Filter” button to apply the modified filter. You will definitely find messages with the severity Error. c) Save your settings. Determine from which Location the message originates. a) 4. You can find information about the location in the column Location or in the Details. Determine from which node the message was reported. a) In the Detail, there are entries that you can use to determine from which instance and which node the message was written. Task 3: OPTIONAL: UME Security Audit Log Evaluate the Security Audit Log 1. Evaluate the entries in the Security Audit Log (using a tool of your choice). a) Start (with your course user) a tool for evaluating logs (for example, the NWA). b) Open the file \usr\sap\<SID>\<instance_number>\j2ee\cluster\server<X>\log\system\security_audit_##_#.log for all the server processes in your Java cluster. The displayed entries allow you to identify who performed what operation and when. Task 4: Log Configuration in the NWA You found an error message in the previous task. Set the severity to Warning for the location from which the problem was reported. 1. In the NWA, go to Log Configuration a) 2. Switch to Troubleshooting → Logs and Traces → Log Configuration Choose the appropriate view (Tracing Locations). a) In the previous task “Troubleshooting with the Log Viewer in the NWA”, we saw that we are dealing with trace information and we therefore choose Tracing Locations Continued on next page 474 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Log Viewer and Log Configuration 3. Use the filter to find the location. a) Use Open Filter to open the filter. b) Enter the complete location from task 2 in the search field and choose Apply Filter. Here you find the set severity for the location. 4. Change the Severity from Error to Warning and save your input. a) 5. Check whether additional information is written to the log and trace files. a) 2011 You may have to scroll down a little in the top window. The location should already be visible. In the top window, click on Severity and select Warning. Choose Save Configuration to save the new severity level. Proceed as you did with task 2. © 2011 SAP AG. All rights reserved. 475 Unit 8: Monitoring ADM800 Lesson Summary You should now be able to: • Use the Log Viewer • Explain the difference between logging and tracing • Execute log configuration 476 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Lesson: Introduction to Monitoring Using SAP Solution Manager Lesson Overview This lesson will introduce the technological prerequisites for some monitoring/analysis options offered by SAP Solution Manager, based on the software release SAP Solution Manager 7.1 as available since Q4 of 2011. Lesson Objectives After completing this lesson, you will be able to: • list technical components required for different monitoring capabilities of SAP Solution Manager 7.1 Business Example You are interested in an short overview of the technical prerequisites of some monitoring/analysis functions offered by SAP Solution Manager 7.1. Monitoring and Analysis Functions of SAP Solution Manager 7.1 and CCMS - what's the Connection? In the recent years, SAP Solution Manager experienced quite some evolution. With SAP Solution Manager 7.1, the monitoring and analysis functions have been significantly expanded and have been based upon a new technical infrastructure. However, some fundamental questions around monitoring never change: 1. 2. 3. What data is collected? Where is the collected data stored (initially)? How is this data collected? How is the data transferred to the tool of analysis? Are special transfer options available? What tool is being used for data display and/or data analysis? If you have already worked with monitoring functions offered by the Computing Center Management System (CCMS), then you already know the answers to the fundamental questions given above. What data is collected? Where is the collected data stored (initially)? How is this data collected? Data is collected via differently implemented “data collectors”, only data for which data collectors exist, can be collected. The data is initially stored in monitoring segments, attached to each instance. 2011 © 2011 SAP AG. All rights reserved. 477 Unit 8: Monitoring ADM800 How is the data transferred to the tool of analysis? Are special transfer options available? Data is transferred to the central monitoring system (CEN) via RFC connections. Those RFC connections might point to instances of SAP systems based on AS ABAP or they may point to the so called “CCMS agents”, in systems based on SAP NetWeaver 7.1 and higher being replaced by “SAPSTARTSRV”. What tool is being used for data display and/or data analysis? Data collected by the CCMS can be displayed via transaction RZ20. For SAP Solution Manager 7.1 you need to be aware that the scope of metrics that can be monitored/analysed is not restricted to the metrics collected and stored by CCMS. SAP Solution Manager (7.1) can display additional data that doesn't origin in CCMS, this means... ... there are additional ways of collecting and storing data ... there are additional modes of data transfer between “place of origin” and SAP Solution Manager ... there are additional tools for displaying/analysing the collected information Note: Please be aware of the fact that because SAP Solution Manager uses largely its own infrastructure for data collection, storage and display, there are virtually no negative effects between using the advanced monitoring capabilities of SAP Solution Manager and the traditional monitoring functions of CCMS in parallel. Because you would like to avoid duplicate efforts, it is very unlikely that you will be using such a setup. However, you should know that, technically, there is no negative impact known. SAP Solution Manager is capable of collecting data from monitoring segments managed by CCMS and to transfer the data to its own data storage facilties. This data will be displayed using the graphical functions offered by SAP Solution Manager (instead of using RZ20) and can be analysed by the functions offered by SAP Solution Manager. A lot of addtional monitoring and analysis functions are available in SAP Solution Manager. 478 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Technical Prerequisites for selected Monitoring and Analysis Capabilities of SAP Solution Manager This section will list some Monitoring and Analysis capabilities of SAP Solution Manager and their technical prerequisites. Some of the following information is valid since many years, some information only applies to SAP Solution Manager 7.1. Caution: The content of this section is VERY high-level and of an introductionary character. For further insight, it is required to extensively study the recommended courses, listed below. Caution: Virtually all functions introduced in this lesson require that your SAP Solution Manager system has been set up “fundamentally” using transaction SOLMAN_SETUP. Therefore, this requirement is only given once, in this place. Note: Please be aware, this lesson focuses on an introduction to some technology-related topics. License- or maintenance contract-related topics won't be covered here. E.g. some of the functions described might require that your company makes use of SAP Enterprise Support. Technical Requirements for using Metrics Monitoring SAP Solution Manager 7.1 offers the monitoring of many different attributes of SAP and non-SAP systems within your system landscape. These attributes will be labelled as “metrics” in the following. For being able to monitor many different metrics and for making full use of the monitoring capabilities of SAP Solution Manager 7.1, it is necessary to configure SAP Solution Manager and the remote system accordingly. Remote systems are also named “managed systems” or “satellite systems”. SAP Solution Manager is sometimes labelled as “managing system”. 2011 © 2011 SAP AG. All rights reserved. 479 Unit 8: Monitoring ADM800 Figure 194: Technical Requirements for using Metrics Monitoring • • • • • • Find more documentation at https://service.sap.com/diagnostics. Please read SAP Note 1478974: Diagnostics in SAP Solution Manager 7.1 Please read SAP Note 1483508: Solution Manager 7.1: Root Cause Analysis pre-requisites for requirements on SAP Solution Manager and Managed Systems. Please read SAP Note 1612514: Solution Manager 7.1 SP Stack 3: recommended corrections Open the document named Managed System Configuration with 7.1 under the header 7.1 (NEW) at https://wiki.sdn.sap.com/wiki/display/SMSETUP/Home. Have a look into the document named End-to-End Root Cause Analysis Systems Landscape Setup Guide that can be found in the Media Library at https://service.sap.com/diagnostics. Technical Requirements for Monitoring AS Java Using Wily Introscope SAP Solution Manager can collect, display and analyze many metrics collected from AS Java. Fundamentally, you need to implement the following software components: 480 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Solution Manager Diagnostic Agent (SMD Agent or Diagnostics Agent) The Solution Manager Diagnostics Agent (SMD Agent or Diagnostics Agent) is the remote component of the End-To-End Root Cause Analysis. It allows to perform a connection between SAP Solution Manager and the managed system and to gather information from the remote system. It needs to be installed once per virtual host (for each “host name” a separate SMD Agent is required). One agent per host supports several managed systems running on the same named host. SAP Host Agent SAP Host Agent is component responsible for the monitoring of the host/operating system. It is installed once per physical host (to be monitored). Wily Introscope Bytecode Agent The Wily Introscope Bytecode Agent (sometimes named (Wily Introscope) Java Agent) is the component of Introscope that collects performance data from your applications running on Java Virtual Machines (JVMs), and sends it to the Introscope Enterprise Manager. It can be deployed to the remote AS Java from within SAP Solution Manager with the help of Solution Manager Diagnostics Agent. Figure 195: Technical Requirements for Monitoring AS Java Using Wily Introscope For more information, please refer to the following: 2011 © 2011 SAP AG. All rights reserved. 481 Unit 8: Monitoring ADM800 On Solution Manager Diagnostic Agent • • • Please read SAP Note 1365123: Installation of Diagnostics Agents and the attached document, named AgentInstallationStrategy.pdf. Please read SAP Note 1448655: Inst. 7.30 - Diagnostics Agent installation and the attached document, named 730_Diag_Agent_Setup_Guide.pdf. Please read SAP Note 1631978 : SAP Solution Manager Diagnostics Agent error : "Metric Limit exceeded: 1000. On Wily Introscope • • • • Please read SAP Note 797147: Wily Introscope Installation for SAP Customers Please read SAP Note 1273028: Introscope 8 Release Notes Please read SAP Note 1280961: SAP Extended Diagnostics by CA Wily Please read SAP Note 1579474: Management Modules for Introscope delivered by SAP On SAP Host Agent • • Please read SAP Note 1031096: Installing Package SAPHOSTAGENT and the document attached to this note, named Installation_SAPHOSTAGENT.pdf. Please read SAP Note 1473974: Using the SAP Host Agent Auto Upgrade Feature and the attached document, named SAPHostAgent-AutoUpgrade.pdf. Technical Requirements for using Early Watch Alert and related Services For being able to make use of Early Watch Alert and some other services offered by SAP, the involved SAP systems need to fulfill some requirements. 482 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Figure 196: Technical Requirements for using Early Watch Alert and related Services Technical Requirements for Early Watch Alert and other Services On the System to be Analysed • • • • Software Component ST-PI needs to be available (already included into many SAP products) Software Component ST-A/PI needs to be available (usually needs to be applied) SAP Note 91488: SAP Support Services - Central preparatory note needs to be followed SAP Note 69455: Servicetools for Applications ST-A/PI (ST14, RTCCTOOL, ST12) needs to be followed On the SAP Solution Manager • • • 2011 Software Components ST-PI and ST-SER need to be available (already included in SAP Solution Manager) Software Component ST-A/PI needs to be available (already included in SAP Solution Manager 7.1) SAP Note 1257308: FAQ: Using EarlyWatch Alert needs to be followed © 2011 SAP AG. All rights reserved. 483 Unit 8: Monitoring ADM800 Technical Requirements for using End-User Experience Monitoring SAP End User Experience Monitoring (EEM) collects information on the “real” and “subjective” system behavior as experienced by human end users. SAP EEM provides information on availability and performance of real applications as experienced by end users in the same location. For example, while working on the same SAP system, the creation of an customer order might take considerably longer from one location of your company (e.g. Sidney), whereas the same activity takes almost no time from another location (e.g. Tokyo). EEM captures this subjective system behavior. This collected information can help tremendously in root cause analysis of performance problems. For example, you can easily see if an unwanted system behavior can be observed globally or only from one location. Technically, SAP EEM relies on EEM robots to execute predefined scripts for “simulating” realistic end user activities. Please note, that this “simulated” work is actually carried out in the back end system. So, no “dummy-activities” take place, but REAL system interaction. EEM robots can carry out scripts describing activities via HTTP or in SAP GUI. You can create your own scripts via a script recorder. For implementing SAP End User Experience Monitoring (EEM) you need to install EEM robots - which are in fact Solution Manager Diagnostics Agents (SMD agents) - at the locations to be monitored. Usually, it suffices to install an EEM robot on an individual machine per location. SAP Solution Manager serves as the back end for SAP EEM. It is recommended to install standalone SMD-agents (>=7.20) that are running on SAP JVM. For this, please follow the instructions in SAP Note 1368413: Inst. 7.20/7.12 Diagnostics Agent installation. Attached to this note, you can find a guide that describes how to download the Standalone Diagnostics Agent 7.20 DVD. 484 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Figure 197: Technical Components required for SAP End User Experience Monitoring You can find more information on SAP EEM at the following location on SDN http://wiki.sdn.sap.com/wiki/display/EEM/Home. Technical Requirements for using BMC AppSight for SAP Client Diagnostics BMC AppSight for SAP Client Diagnostics helps in diagnosing front end related problems. This software records activitiy on the front end according to a Recording Profile (which is provided in a file of type *.RPR) in a so-called AppSight Log file (of type *.ASL). The recording activities are conducted by a software installed on the front end to be analysed, this software is called “Black Box” and is part of the BMC AppSight for SAP Client Diagnostics software package. Because personal data can be recorded, you need to consider SAP Note 1034760: Privacy Concerns when recording a problem using BMC AppSight. The following SAP Notes and other information sources will be also of interest for you, if you intend to use BMC AppSight for SAP Client Diagnostics: SAP Note 1034901: Installation of "BMC AppSight for SAP Client Diagnostics" 2011 © 2011 SAP AG. All rights reserved. 485 Unit 8: Monitoring ADM800 SAP Note 1034902 : FAQ: BMC AppSight for SAP Client Diagnostics SAP Note 1038811: BMC AppSight Recording Profile Templates for SAP Client Apps SAP Note 1034760: Privacy Concerns when recording a problem using BMC AppSight SAP SDN Link: http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/17742 A blog titled Quick start to BMC AppSight for SAP Client Diagnostics 486 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Introduction to Monitoring Using SAP Solution Manager Lesson Summary You should now be able to: • list technical components required for different monitoring capabilities of SAP Solution Manager 7.1 Related Information • SAP Courses: SM100 - SAP Solution Manager Configuration for Operations E2E100 - E2E Root Cause Analysis E2E120 - Technical Monitoring in SAP Solution Manager 7.1 ADM106 - SAP System Monitoring Using CCMS I ADM107 - SAP System Monitoring Using CCMS II 2011 © 2011 SAP AG. All rights reserved. 487 Unit Summary ADM800 Unit Summary You should now be able to: • Describe the monitoring infrastructure • Display monitoring data in the SAP NetWeaver Administrator (NWA) • Make threshold value settings in the NWA • Monitor Java instances in the central monitoring system • Explain which configuration steps are required to be able to maintain the threshold values for Java instances from the central monitoring system • Describe how an availability check using the GRMG works technically • Configure an availability check • Use the Log Viewer • Explain the difference between logging and tracing • Execute log configuration • list technical components required for different monitoring capabilities of SAP Solution Manager 7.1 488 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. Which actions are possible using the Monitor Browser in the NWA? Choose the correct answer(s). □ □ □ □ 2. A B C D Changes to threshold values Delete history values Cross-system monitoring Display monitoring data for Java instances Trace information is only important for the administrator. Determine whether this statement is true or false. □ □ 2011 True False © 2011 SAP AG. All rights reserved. 489 Test Your Knowledge ADM800 Answers 1. Which actions are possible using the Monitor Browser in the NWA? Answer: A, D The tasks of the Monitor Browser are to change threshold values, and display collected monitoring data. 2. Trace information is only important for the administrator. Answer: False Trace information is often used to identify problems during development, and provides developers with detailed information about an error that has occurred. 490 © 2011 SAP AG. All rights reserved. 2011 Unit 9 Software Maintenance Unit Overview For every type of software, there are corrections that must be installed. This unit provides an overview of the update of AS Java-based SAP systems. The tools for incorporating the corrections are introduced. The support and maintenance of an SAP system includes the execution of backups on a regular basis. This unit explains which components should be taken into account when backing up. Unit Objectives After completing this unit, you will be able to: • • • • • Explain the concept of maintenance certificates Describe a maintenance transaction Call the Java Support Package Manager (JSPM). Import Support Packages and Support Package Stacks for SAP NetWeaver AS Java 7.1x-based systems. Explain which regular backups are required for the SAP NetWeaver AS Java. Unit Contents Lesson: Preparation for Software Maintenance ............................492 Exercise 24: Execute a Maintenance Transaction .....................503 Lesson: Importing Corrections ................................................509 Exercise 25: Importing Corrections ......................................521 Lesson: Backing Up AS Java .................................................530 2011 © 2011 SAP AG. All rights reserved. 491 Unit 9: Software Maintenance ADM800 Lesson: Preparation for Software Maintenance Lesson Overview This lesson discusses the use of the SAP Solution Manager - Maintenance Optimizer (MOpz) to request Support Packages within a maintenance transaction. Lesson Objectives After completing this lesson, you will be able to: • • Explain the concept of maintenance certificates Describe a maintenance transaction Business Example You want to import Support Packages into your SAP system. You want to request these with the help of your Solution Manager Maintenance Certificates A maintenance certificate enables the SAP software logistics tools (for example, SPAM, SAINT, and JSPM) to identify the system to be maintained and to determine the extent of maintenance required. It is also used to ensure that only customers with a valid maintenance contract can perform the relevant maintenance transactions. Hint: As of January 2009, the software logistics tools can only maintain a system if a valid maintenance certificate is available. As of SPAM/SAINT Version 7.00/0034, a valid maintenance certificate is a prerequisite for importing Support Packages. Hint: All SAP products based on SAP NetWeaver AS ABAP 7.0 and higher require a maintenance certificate. Maintenance certificates are valid for a period of three months, after which time they must be renewed. To keep costs to a minimum, a SAP Solution Manager system can be used to automate the process of generating maintenance certificates. For this purpose, a SAP Solution Manager system must have release 7.0 and Support Package Stack level 16 or higher (recommended: 18). Hint: The SAP Solution Manager system requires a connection to SAP Service Marketplace and to the SAP system to be patched. 492 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance If these connections are not possible (for example, for security reasons), the maintenance certificates can also be requested manually from SAP Service Marketplace. When performing a release upgrade or importing SAP enhancement packages, Support Packages are incorporated into the update process. A maintenance certificate is not required here. You can use transaction SLICENSE to check whether your system has a valid maintenance certificate. Choose New Licenses (to switch to the Digitally-Signed License Keys view). You can now check the following: • • • Software Product: Maintenance in the Sware Prod column Valid From: Date on which the maintenance certificate was requested Valid To: Date on which the maintenance certificate was requested + approximately three months Hint: See also SAP Note 1280664 - Distribution of maintenance certificates: Troubleshooting 2011 © 2011 SAP AG. All rights reserved. 493 Unit 9: Software Maintenance ADM800 Figure 198: Maintenance Certificate 1. 2. 3. 4. 494 The SAP Solution Manager system requests a maintenance certificate for all managed systems, where the maintenance certificate is expiring. The maintenance certificates are generated in the SAP Global Support Backbone. The SAP Solution Manager system contains the maintenance certificates the next time a connection is established (every 24 hours). The managed systems receive the maintenance certificates from the SAP Solution Manager system. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance The following is a more detailed description of the process: 1. 2. 3. If automatic distribution is active for maintenance certificates, SAP Solution Manager passes the system numbers of all satellite systems to the SAP Global Support Backbone. The SAP Global Support Backbone automatically checks each system for a valid maintenance contract. If there is no valid maintenance contract, the process in the SAP Global Support Backbone automatically ends, and the customer's SAP Solution Manager system is informed. If there is a valid maintenance contract, the SAP Global Support Backbone automatically checks whether there is a maintenance certificate, and returns it to SAP Solution Manager. 4. 5. 6. 7. 8. If there is no maintenance certificate, the SAP Global Support Backbone automatically generates one for this system. The next time it runs (every 24 hours), SAP Solution Manager can get this maintenance certificate from the SAP Global Support Backbone. The maintenance certificates are automatically given to SAP Solution Manager, where they are saved and made available. The Maintenance Package task, which runs daily in the satellite systems (in the Service Data Control Center, transaction SDCCN), uses an RFC connection to request the relevant maintenance certificate from SAP Solution Manager. If a maintenance certificate is successfully retrieved, it is automatically saved locally in SAP License Management (transaction SLICENSE). If the tools SPAM or SAINT are used to import Support Packages, an automatic check is performed to check whether there is a valid maintenance certificate for the system. SAP Note 1280664 - Distribution of maintenance certificates: Troubleshooting provides detailed information about troubleshooting. Maintenance Transaction All SAP systems that are part of the customer's system landscape are registered in SAP Solution Manager. The Maintenance Optimizer (MOpz), as part of SAP Solution Manager, can then work with this information. To import Support Packages, among other things, SAP recommends that you create a maintenance transaction with the Maintenance Optimizer. On the one hand, this maintenance transaction is used to calculate a consistent combination 2011 © 2011 SAP AG. All rights reserved. 495 Unit 9: Software Maintenance ADM800 of Support Packages for a systems in the system landscape. On the other hand, the Support Packages to be imported must be approved before they can be downloaded. The approval is performed as part of the maintenance transaction. Hint: All Support Packages for systems based on SAP NetWeaver 7.0 (and higher) require the Maintenance Optimizer for approval. Figure 199: Maintenance Transaction 496 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance The following steps are necessary to perform a maintenance transaction and using it to select Support Packages: 1. 2. 3. 4. 5. 6. 7. 8. In the SAP Solution Manager system, the basic configuration needs to have been performed with transaction SOLMAN_SETUP. The SAP systems to be maintained need to have been registered in SAP Solution Manager with transaction SMSY. As part of this registration process, the systems are assigned to a logical component. The logical component needs to be assigned to a solution in the SAP Solution Manager Administration work center. In the Change Management work center you can create a maintenance transaction using the Maintenance Optimizer (MOpz) by choosing Common Tasks → New Maintenance Transaction. The required Support Packages can be selected within this maintenance transaction. The selected Support Packages can be placed in the download basket. They are then approved within the maintenance transaction so the Download Manager can be used to download them from the SAP Service Marketplace. (Alternatively, the Software Lifecycle Manager functions (SLM) can be used for the download.) The downloaded Support Packages can now be imported using the Support Package Manager (transaction SPAM in the AS ABAP based system to be maintained). In AS Java based systems Support Packages are imported with the tool JSPM. Hint: With SAP Solution Manager 7.1 transaction codes SOLUTION_MANAGER, DSWP, and DSMOP will be deactivated. Transaction SOLMAN_WORKCENTER replaces the transaction SOLUTION_MANAGER. For more information see SAP Note 1480419. A maintenance transaction consists of five major steps that need to be performed. Start the transaction SOLMAN_WORKCENTER to open SAP Solution Manager: Work Centers 2011 © 2011 SAP AG. All rights reserved. 497 Unit 9: Software Maintenance ADM800 Figure 200: Starting the Maintenance Optimizer and entering the Basic Data Select the tab (1) Change Management. In Overview select (2) Maintenance Optimizer to start a new maintenance transaction. As a shortcut you could select (3) New Maintenance Transaction in the Common Tasks. The screen New Maintenance Optimizer transaction will open. Here you need to select the (4) Solution and (5) Product Version. In the box Product System you need to select the systems that you want to patch in this maintenance transaction. When you have entered the correct basic data you can press (6) Continue. 498 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance Figure 201: Selecting the files and target patch level The figure above shows how to choose (1) the automatic or manual file selection and (2) Continue to the update options. Depending on your start release the system will present you (3) with the possible update option. Press (4) Continue to the Select Target screen. In this screen you can select the target support package stack that you want to implement. Choose (6) Continue to the screens Confirm Major Target, Select Add-on Products and Select OS/DB-Dependent Files. 2011 © 2011 SAP AG. All rights reserved. 499 Unit 9: Software Maintenance ADM800 Figure 202: Confirm target and select add-on and OSDB files 1/2 The choices above depend on the product that you are applying the patches to. In the example shown in the figure above we only select the correct OS/DB files. No add-on was selected. 500 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance Figure 203: Confirm target and select add-on and OSDB files 2/2 In the steps shown above you can choose to include a SPAM Update (step 2.5). In step 2.6 you can change the selected Stack-Dependant Files. Changing the selection here is not recommended. The step 2.7 will put the files into your Download Basket. 2011 © 2011 SAP AG. All rights reserved. 501 Unit 9: Software Maintenance ADM800 Figure 204: Download, implement and complete the maintenance transaction In download the selected files using the Download Manager in step 3. When this is done continue to step 4 and maintain the status of the implementation of the support package stack. This step can only continue when all the systems in this Maintenance Transaction have the status Completed. In step 5 you can close the Maintenance Transaction by choosing Complete Transaction. After completion no changes are possible. 502 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance Exercise 24: Execute a Maintenance Transaction Exercise Objectives After completing this exercise, you will be able to: • Create and execute a maintenance transaction for Support Packages in the SAP Solution Manager system. Business Example You want to update the SAP systems in your company to the latest Support Package level. You want to use a maintenance transaction in the SAP Solution Manager system to determine the Support Packages. Caution: The DEV groups log on to the partner QAS system and define a maintenance transaction for their own DEV system. The QAS groups log on to the partner DEV system and define a maintenance transaction for their own QAS system. The partner system is assumed to be the Solution Manager system, the own system is assumed to be the system to be updated. Caution: The maintenance transaction exercise requires certain system configurations to be made. The systems for this course are prepared accordingly. However, you may still need to create a solution and assign logical components. The first task is used for this. Task 1: Create a Solution Create a solution your partner SAP Solution Manager system that has a logical component assigned to it with your own system included. 1. Create a solution and assign your logical component to it. Use the SAP Solution Manager Administration work center. Task 2: Execute a Maintenance Transaction Use your partner SAP Solution Manager system to execute a maintenance transaction for your own system for importing a Support Package Stack into your system. 1. Create a maintenance transaction for importing a Support Package Stack. 2. Select the Support Package Stack you require for your maintenance transaction. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 503 Unit 9: Software Maintenance 3. 504 ADM800 Complete the maintenance transaction. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance Solution 24: Execute a Maintenance Transaction Task 1: Create a Solution Create a solution your partner SAP Solution Manager system that has a logical component assigned to it with your own system included. 1. Create a solution and assign your logical component to it. Use the SAP Solution Manager Administration work center. a) Log on to your SAP Solution Manager system. b) Call the SAP Solution Manager Administration work center using the SOLMAN_WORKCENTER transaction, for example. c) Choose Solutions and select the New button. d) Enter user and password and log on. You are now in the screen to create a new Solution. e) In the field Solution, enter the name of your solution, for example Solution ## and choose a language. f) Switch to the System Group tab. g) Choose Development System as the Leading Role of the Solution and then Save Solution. h) Press the F4 key in the first cell of column Logical Components to add the correct logical component. i) In the popup expand SAP SOLUTION MANAGER → Solution Manager ABAP Stack and select SAP Solution Manager. Confirm this selection. j) Save your changes. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 505 Unit 9: Software Maintenance ADM800 Task 2: Execute a Maintenance Transaction Use your partner SAP Solution Manager system to execute a maintenance transaction for your own system for importing a Support Package Stack into your system. 1. Create a maintenance transaction for importing a Support Package Stack. a) Log on to your partner SAP Solution Manager system. b) Call the Change Management work center using the SOLMAN_WORKCENTER transaction, for example. c) Choose Common Tasks → New Maintenance Transaction. d) Choose a Priority and enter a Description. Choose the Solution you created in the previous task. e) Choose SAP SOLUTION MANAGER 7.1 as the Product Version and select the row with your own SAP system. f) Choose Continue. Continued on next page 506 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Preparation for Software Maintenance 2. 3. 2011 Select the Support Package Stack you require for your maintenance transaction. a) Select Calculate Files Automatically - Recommended and choose Continue. b) Maintenance is already selected in your maintenance transaction. Choose Continue. c) Accept the Target stack currently proposed, for example, 03 (09/2011) and choose Continue. (This may take several minutes.) d) Check the technical system and choose Continue. e) Do not select any Add-on and choose Continue. f) You now see a selection of operation system- and database-dependent files. For the operating system Windows Server on x64 64bit, select the #Database independent and MaxDB files. Choose Continue. g) You now see a selection of stack-independent files. Leave the selection unchanged and choose Continue. h) You now see the files that belong to your stack. Leave the selection unchanged and choose Continue. i) As the download tool choose Download Basket. The files will be added to the download basket. Choose Continue. j) The files are automatically confirmed in your S-user's download basket. You could now start the Download Manager by choosing Download Files from Download Basket. In the context of this course this step is not necessary, because the relevant files are already downloaded to your server. k) Choose Continue. The Status of Implementation is New. You may want to set it to In Process. l) At this point, you would use the Download Manager to download the files and, for example, use transaction SPAM to import the Support Packages into your own AS ABAP based system. For an AS Java based system, the tool JSPM is used. However, this is not part of this exercise. Imagine that you have already successfully imported all of the files contained in your maintenance transaction. Complete the maintenance transaction. a) Set the Status of Implementation to Completed and Save. b) Choose Complete Transaction and Continue. © 2011 SAP AG. All rights reserved. 507 Unit 9: Software Maintenance ADM800 Lesson Summary You should now be able to: • Explain the concept of maintenance certificates • Describe a maintenance transaction 508 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Lesson: Importing Corrections Lesson Overview This lesson presents the updating of an AS Java 7.1x-based SAP system, for example SAP NetWeaver CE 7.1x or SAP NetWeaver PI 7.1x, by installing a current Support Package Stack. Lesson Objectives After completing this lesson, you will be able to: • • Call the Java Support Package Manager (JSPM). Import Support Packages and Support Package Stacks for SAP NetWeaver AS Java 7.1x-based systems. Business Example Quality control of the petrochemistry company XYZ AG has detected an error in an important business process. This error can be traced back to an incorrect delivery of an SAP software component. You must import the latest Support Package Stack to eliminate this error. Support Packages Support Packages are corrections that SAP supplies to customers. The component model used by SAP in the context of Java development is used both in delivery (installation) and in the context of maintenance (import of Support Packages). 2011 © 2011 SAP AG. All rights reserved. 509 Unit 9: Software Maintenance ADM800 Figure 205: Component Model in Delivery and Maintenance Software maintenance is organized into three tiers: • • A product consists of one or more software components that represent related business scenarios. Products are installed or undergo an upgrade to a new release. A release is a full delivery of software components that provides new functions (and possibly user interfaces) or improvements. Software components contain a set of development components. Support Packages are delivered in the context of software maintenance. A Support Package (SP) is (unlike ABAP) a full delivery of one (or more) software component(s) and contains a number of patches. If sources are delivered with Support Packages, the SPs must be transported using the NWDI's Change Management Service (CMS). The usual file format of an SP is the SCA format. SAP does not advise you to import Support Packages individually for each software component; rather you are advised to import them as uniformly as possible for an entire system or even entire applications (comprising several systems). Therefore, SAP releases the individual Support Packages together as a Support Package Stack for the respective product. • Patches are full deliveries of a development component that allow a quick error correction, before the complete SP is available. The usual file format is the SDA format. If patches include sources, they must also be imported using the resources of the CMS. Introduction: Java Support Package Manager As of SAP NetWeaver 7.0, the Java Support Package Manager (JSPM) is used to import Support Packages for SAP NetWeaver Application Server Java (AS Java) and all the Java-based software components running on it. There are two 510 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections additional tools, CEUPDATE and the Update Management Service, for SAP NetWeaver CE 7.1x only. Both serve as user interfaces to facilitate the import of a Support Package Stack. • Updating: – • • Kernel, Internet Graphic Server (IGS), SAP JVM and other native AS Java operating system binaries – JSPM itself – All Java software component installed in the system – Modified software components (integration with NWDI) Deployment of SAP and third-party software components Deployment, update and upgrade of Business Packages in the SAP Business Suite JSPM can import either individual Support Packages or a complete Support Package Stack SAP recommends that you always implement the complete Support Package Stack in a Java system. This is the only way to ensure the consistency of the system and the application. Java Support Package files (SCAs) contain all the software objects and the associated software components (Full Patch). As a result, it is sufficient to update the Java system with the required Support Package Stack. It is not necessary to import all the Support Package Stacks from the start Support Package Stack level through to the target Support Package Stack level one after the other. JSPM provides a simple, intuitive graphical user interface (GUI). JSPM only displays those components for which an update is possible. You can also see the current Support Package level in JSPM. JSPM simplifies the Support Package management process for Java applications by recognizing and taking account of dependencies and reducing manual activities. JSPM works together with the SAP NetWeaver Development Infrastructure (NWDI), thus making it possible to identify modified components. In NWDI development (DEV) and consolidation systems (CONS), JSPM detects modified software components and transports them for deployment to the NWDI system. In NWDI test (TEST) and production systems (PROD), JSPM detects and deploys modified software components. The AS Java must be started for JSPM to start. Hint: The user <sid>adm should start JSPM. You start JSPM using an instance file system script from the directory /usr/sap/<SID>/<instance>/j2ee/JSPM. The script is called go.bat (Windows) or go (Unix). You now have to enter the user ID and password of an administration user of the AS Java, for example Administrator or j2ee_admin. 2011 © 2011 SAP AG. All rights reserved. 511 Unit 9: Software Maintenance ADM800 JSPM writes all its log files to the directory /usr/sap/<SID>/<instance>/j2ee/JSPM/log. Hint: Before you use the Java Support Package Manager, read SAP Note 1147119. If you use SAP systems on iSeries then you can find additional information in SAP Note 1066038. JSPM: Preparatory Steps for SP Stack You should note the following steps before using JSPM: 1. 2. Before the update: Check the entire functional capability of the system Download the Support Package Stack (for all installed Usage Types) and the corresponding Support Package Stack definition file (SPSTab.xml). You should do this with the Maintenance Optimizer in SAP Solution Manager. 3. Storage location of the files (Support Packages and Support Package definition file): JSPM Inbox (Default: /usr/sap/trans/EPS/in) The storage location of the JSPM Inbox is defined via the parameter DIR_EPS_ROOT. 4. Check the free space in the file system for the directory /usr/sap/<SID>/<instance>/j2ee/JSPM/temp. Temporarily available disk space: approximately 3 times the size of the Support Package files If JSPM is to recognize the Support Package Stack correctly, both the Support Package files and the corresponding Support Package Stack definition file (SPSTab.xml) must be downloaded and available in the JSPM Inbox. 512 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections JSPM: Importing an SP Stack You perform the following steps to import SP Stacks using JSPM. 1. Log on as user <sid>adm to the instance host. Close all SAP MMC and services consoles under Windows. 2. Start JSPM and log on with an administration user of the AS Java. Start JSPM from /usr/sap/<SID>/<instance>/j2ee/JSPM using the script go or go.bat. 3. Update JSPM itself (you do not have to perform this step separately since JSMP is also contained in the SP Stack). The JSPM update can be imported at runtime. 4. 5. a) Select the Start Deployment tab. b) Select the option Java Support Package Manager (JSPM). Call and log on to JSPM again. In the Start Deployment tab, select the option Support and Enhancement Package Stack followed by Next. In this step, JSPM performs a number of status checks and displays the result for each individual software component in the following screen. The following status can be reported:. • • OK: SP can be imported. WARNING: The software contains customer modifications in a system monitored by NWDI Deployment can be performed. WARNING may also mean: the software components contain lower versions of development components than are available in the system. REVISE: Indicates inconsistencies with the corresponding software component. A deployment cannot be performed until all the problems have been eliminated. Select Next if the SP Stack has the appropriate status. This starts the updating of the software component and the status of the JSPM changes to SCHEDULED. • 6. JSPM starts and stops the AS Java several times during this procedure. 2011 © 2011 SAP AG. All rights reserved. 513 Unit 9: Software Maintenance ADM800 Figure 206: Import Support Package Stacks There are different ways to import Support Package Stacks. A significant difference is whether or not patches are applied. In particular, you apply patches if patches have already been applied on the current system. If the patch that has already been applied is of a younger date than the delivery date of the Support Package for the software components, the correction of the patch may not be contained in the Support Package for the software components. If you decide to apply patches, you can do this in one or two steps. The option to apply patches with the Support Package of the SPS in one step has been available as of 7.0 SPS 14. Before you decide on this option, read SAP Note 1080821 carefully. You start JSPM from the file system and log on with an administration user of the AS Java. 514 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Figure 207: Starting JSPM The step Specify Queue displays the (highest) Support Package Stack level available in the JSPM Inbox. Then, in the Check Queue step, JSPM checks the deployment queue and every software component in the stack is assigned a status. 2011 © 2011 SAP AG. All rights reserved. 515 Unit 9: Software Maintenance ADM800 Figure 208: Support Package Stack: Specify Queue, Check Queue In the Deploy Queue step, JSPM starts the deployment of the software components in the selected stack. When this is done, the status is set to SCHEDULED. The Completed step displays the status of the software components after deployment. 516 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Figure 209: Support Package Stack: Deploy Queue, Completed After import, the Support Packages can have the following status: • • • • DEPLOYED DEPLOYED WITH WARNING: The Support Packages have been deployed but might possibly not function correctly with other deployed components. ERROR: An error occurred during deployment and must be eliminated before continuing with the import of the Support Package. NOT DEPLOYED: For certain reasons, JSPM has not attempted to deploy the software components. Eliminate the problems and restart the import. If the Support Package Stack contains a Kernel Update, JSPM starts with the Kernel Update. JSPM updates the kernel binaries in the global kernel directory. When the instances are restarted, the kernel is then copied locally to all instances via sapcpe. In general, corrections can be imported individually or in the stack. SAP urgently recommends you to use Support Package Stacks in order to ensure the consistency of the system and the applications. JSPM: Importing Individual Support Packages If you want to update only individual software components and not all the components of the SP Stack, choose the option Single Support Packages and Patches (advanced use). 2011 © 2011 SAP AG. All rights reserved. 517 Unit 9: Software Maintenance ADM800 Caution: Before starting the import of Support Packages at a given level, you must make sure that the JSPM has at least the same level. Figure 210: Single Support Package: Select Package Type, Specify Queue In the next step, you specify the queue by choosing the required SP level or skip (do not import) for each software component. In the case of modified software components and systems monitored by NWDI, there is also the setting <SP level>, Modified by NWDI. JSPM now checks the validity of the deployment queue and outputs the status OK, WARNING or REVISE accordingly. 518 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Figure 211: Single Support Package: Check Queue In the fourth step, deployment is started and the status of all the components changes to SCHEDULED or IN PROGRESS. In the last step, the final status is displayed (DEPLOYED, DEPLOYED WITH WARNINGS, NOT DEPLOYED, ERROR) 2011 © 2011 SAP AG. All rights reserved. 519 Unit 9: Software Maintenance ADM800 Figure 212: Single Support Package: Deploy Queue, Completed 520 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Exercise 25: Importing Corrections Exercise Objectives After completing this exercise, you will be able to: • Implement corrections for SAP NetWeaver AS Java Business Example SAP NetWeaver Application Server Java is used as the runtime environment for applications that conform to the J2EE standard. You can use Support Packages to correct errors and implement new functions for SAP NetWeaver AS Java. Task 1: Preparations for applying Support Package Stacks Provide the required Support Packages, the corresponding file stack.xml, and the patches for the Support Package Stack in the directory EPS/in. Prepare to import the Support Package Stack from the training share. 1. For the software component JSPM, determine which Support Package number belongs to the Support Package Stack to be imported. 2. Copy the Support Packages of the Support Package Stack and the file stack.xml from the directory Stack Definition to the directory EPS/in. 3. Copy the patches for the Support Packages of the Support Package Stack from the directory Patches to the directory EPS/in. Task 2: Applying a JSPM Update Apply the patch that you copied in the previous task in your system. 1. Use JSPM to check the current JSPM level. To do this, start JSPM. 2. Carry out the JSPM update. 3. Use JSPM to check the current JSPM level. To do this, start JSPM. Result You have successfully applyed a JSPM Update for SAP NetWeaver AS Java. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 521 Unit 9: Software Maintenance ADM800 Task 3: Optional: Applying a Support Package Stack You can either carry out this task or the task of “applying a Support Package Stack with patches”. Use JSPM to apply a Support Package Stack. Caution: Close the SAP MMC and the Services if they are started on the host of your SAP system. 1. Appy the Support Package Stack. Task 4: Optional: Applying Patches You can carry out this task only if you have successfully completed the task of “applying a Support Package Stack”. Use the JSPM to apply the patches for your Support Package Stack. You made these patches available in the first task in the directory EPS/in. Caution: Stop the complete dialog instance (ABAP+Java) of your SAP system. Close the SAP MMC and the Services if they are started on the host of your SAP system. 1. Use the JSPM to apply the patches for your Support Package Stack. Task 5: Optional: Applying a Support Package Stack with Patches You can either carry out this task or the task of “applying a Support Package Stack”. Hint: Before you apply patches with the Support Package Stack option, read SAP Note 1080821. Use the JSPM to apply a Support Package Stack with the relevant patches. Caution: Stop your dialog instance and close the SAP MMC and the Services if they are started on the host of your SAP system. 522 1. Set the parameter /jspm/includePatchesInStack in the file jspm_config.txt to the value true. You can find the file jspm_config.txt in the directory param. 2. Apply the Support Package Stack with patches in one step. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Solution 25: Importing Corrections Task 1: Preparations for applying Support Package Stacks Provide the required Support Packages, the corresponding file stack.xml, and the patches for the Support Package Stack in the directory EPS/in. Prepare to import the Support Package Stack from the training share. 1. For the software component JSPM, determine which Support Package number belongs to the Support Package Stack to be imported. a) Search for the file JSPM<NumberX>_0-... in the subdirectory Support Packages, which you can find on the training share. <NumberX> is the number of the Support Package of the software component JSPM searched for. b) You can find the JSPM patches in the directory Patches (which you can find on the training share). c) The files have the following form: JSPM<NumberX>P_<NumberY>.... <NumberX> specifies the number of the Support Package and <NumberY> specifies the number of the patch. Copy the file where <NumberX> corresponds to the number from the previous exercise step. If there are several of these files, copy the one that has the highest <NumberY>. 2. Copy the Support Packages of the Support Package Stack and the file stack.xml from the directory Stack Definition to the directory EPS/in. a) 3. You can copy the complete contents of the directory Support Package to EPS/in. If the system issues a prompt asking you whether you want to overwrite a file, confirm this by choosing Yes, to all. Copy the patches for the Support Packages of the Support Package Stack from the directory Patches to the directory EPS/in. a) You can copy the complete contents of the directory Patches to EPS/in. If the system issues a prompt asking you whether you want to overwrite one of more files, confirm this by choosing Yes to All. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 523 Unit 9: Software Maintenance ADM800 Task 2: Applying a JSPM Update Apply the patch that you copied in the previous task in your system. 1. 2. Use JSPM to check the current JSPM level. To do this, start JSPM. a) Log on as user <sid>adm to your PAS instance's host. b) Start JSPM (/usr/sap/<SID>/<PAS>/j2ee/JSPM/ go.bat) and log on with the course user. c) In the menu, choose Help → About. You can find the version of the JSPM, for example, 7.30.<X>.<Y>.0, where <X> specifies the Support Package and <Y> specifies the patch. Carry out the JSPM update. a) If you have not yet already done so, start the JSPM (see 1.) b) In the step Select Package Type, choose the option Java Support Package Manager (JSPM) followed by Next. c) In the step Specify Queue, check whether the correct Support Package and patch was selected. If this is not the case, choose the correct Support Package and patch (see task 1). Confirm with Next. d) In the step Check Queue, start the import of the JSPM update. e) In the step Deploy Queue, the component is assigned the status SCHEDULED and is then displayed with the achieved status DEPLOYED after deployment. End the JSPM by choosing Exit. 3. Use JSPM to check the current JSPM level. To do this, start JSPM. a) Start JSPM (/usr/sap/<SID>/<PAS>/j2ee/JSPM/ go.bat) and log on with the course user. b) In the menu, choose Help → About. Here, you can find the version of the JSPM, for example, 7.30.<X>.<Y>.0, where <X> specifies the Support Package and <Y> specifies the patch. Result You have successfully applyed a JSPM Update for SAP NetWeaver AS Java. Continued on next page 524 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Task 3: Optional: Applying a Support Package Stack You can either carry out this task or the task of “applying a Support Package Stack with patches”. Use JSPM to apply a Support Package Stack. Caution: Close the SAP MMC and the Services if they are started on the host of your SAP system. 1. Appy the Support Package Stack. a) Log on as user <sid>adm to your central instance's host. Start JSPM (/usr/sap/<SID>/<PAS>/j2ee/JSPM/ go.bat) and log on with the course user. In the step Select Package Type, choose the option Support and Enhancement Package Stack and confirm by choosing Next. The stack that is available according to d:\usr\sap\trans\EPS\in\SPStab.xml and which may be possible to apply is now displayed. b) In the Specify Queue step, choose the highest available Support Package Stack level. Hint: The selected SP Stack level must be higher than that of the stack that is already imported! Choose Show Details to see which Support Package levels of the individual components. Now confirm with Next. c) In the step Check Queue, the status OK or WARNING should be displayed for all components. Choose Start to start the deployment. d) In the step Deploy Queue, the components are assigned the status SCHEDULED or IN PROGRESS, and, after the deployment, they are displayed with the status DEPLOYED or DEPLOYED WITH WARNING. e) In the Completed step, select Exit. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 525 Unit 9: Software Maintenance ADM800 Task 4: Optional: Applying Patches You can carry out this task only if you have successfully completed the task of “applying a Support Package Stack”. Use the JSPM to apply the patches for your Support Package Stack. You made these patches available in the first task in the directory EPS/in. Caution: Stop the complete dialog instance (ABAP+Java) of your SAP system. Close the SAP MMC and the Services if they are started on the host of your SAP system. 1. Use the JSPM to apply the patches for your Support Package Stack. a) Start JSPM (/usr/sap/<SID>/<PAS>/j2ee/JSPM/ go.bat) and log on with the course user. In the step Select Package Type, choose the option Single Support Packages (advanced use) followed by Next. b) In the step Specify Queue, check the proposed Support Package and patch level. These have the format: 7.30.<X>.<Y>, where <X> specifies the Support Package level and <Y> specifies the patch level. If, for a software component, the Support Package level is different from the current Support Package level, choose a patch that corresponds to the current Support Package level or deactivate the deployment of this patch by choosing skip. You do not need to concern yourself here with software components for which no patches or Support Packages were found. Now confirm with Next. c) In the step Check Queue, the status OK or WARNING should be displayed for all components. Choose Start to start the import. d) In the step Deploy Queue, the components are assigned the status SCHEDULED or IN PROGRESS, and, after the deployment, they are displayed with the achieved status DEPLOYED or DEPLOYED WITH WARNING. e) In the Completed step, select Exit. Continued on next page 526 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Task 5: Optional: Applying a Support Package Stack with Patches You can either carry out this task or the task of “applying a Support Package Stack”. Hint: Before you apply patches with the Support Package Stack option, read SAP Note 1080821. Use the JSPM to apply a Support Package Stack with the relevant patches. Caution: Stop your dialog instance and close the SAP MMC and the Services if they are started on the host of your SAP system. 1. Set the parameter /jspm/includePatchesInStack in the file jspm_config.txt to the value true. You can find the file jspm_config.txt in the directory param. a) Log on as user <sid>adm to your central instance's host. In the file /usr/sap/<SID>/<PAS>/j2ee/JSPM/ param/jspm_config.txt, search for the parameter /jspm/includePatchesInStack and replace the value false with true. Save your entry. Continued on next page 2011 © 2011 SAP AG. All rights reserved. 527 Unit 9: Software Maintenance 2. ADM800 Apply the Support Package Stack with patches in one step. a) Start JSPM (/usr/sap/<SID>/<PAS>/j2ee/JSPM/ go.bat) and log on with the course user. In the step Select Package Type, choose the option Support and Enhancement Package Stack and confirm by choosing Next. The stack that is available according to d:\usr\sap\trans\EPS\in\stack.xml and which it may be possible to import is now displayed. b) In the Specify Queue step, choose the highest available Support Package Stack level. Hint: The selected SP Stack level must be higher than that of the stack that is already applyed! Choose Show Details to see the Support Package levels of the individual components. Now confirm with Next. c) In the step Specify Queue Patches, check the proposed Support Package and patch level. These have the format: 7.30.<X>.<Y>, where <X> specifies the Support Package level and <Y> specifies the patch level. If, for a software component, the Support Package level is different from the current Support Package level, choose a patch that corresponds to the current Support Package level or deactivate the deployment of this patch by choosing 7.30.<X>.0. Now confirm with Next. 528 d) In the step Check Queue, the status OK or WARNING should be displayed for all components. Choose Start to start the deployment. e) In the step Deploy Queue, the components are assigned the status SCHEDULED or IN PROGRESS, and, after the deployment, they are displayed with the achieved status DEPLOYED or DEPLOYED WITH WARNING. f) In the Completed step, select Exit. © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Importing Corrections Lesson Summary You should now be able to: • Call the Java Support Package Manager (JSPM). • Import Support Packages and Support Package Stacks for SAP NetWeaver AS Java 7.1x-based systems. Related Information • • • 2011 SAP NetWeaver Support Package Stack Guide SAP Service Marketplace: Quick Link /sp-stacks © 2011 SAP AG. All rights reserved. 529 Unit 9: Software Maintenance ADM800 Lesson: Backing Up AS Java Lesson Overview You should back up a system with production data at regular intervals, so that no data loss occurs in the case of a severe system error, and you can recreate the system using restore/recovery mechanisms. This also applies to the SAP NetWeaver AS Java. In addition to backing up the database, it is also important to back up the proprietary SAP directories. Lesson Objectives After completing this lesson, you will be able to: • Explain which regular backups are required for the SAP NetWeaver AS Java. Business Example Your company runs several different SAP systems. To ensure that your system can be restored after serious errors – such as the unintentional deletion of tables – it is important to have a backup of the database and other directories. This also applies for an SAP system with Usage Type AS Java. Overview: Backing up the SAP NetWeaver AS Java Backing up SAP NetWeaver AS Java and the associated database protects you against data loss and is required to restore the SAP NetWeaver AS Java after a system error. Prerequisite for Backup Note the following prerequisite so that you can perform a backup: The backup tools for your database and the backup solution for your system must be installed and available. Hint: If you have not yet decided which backup strategy meets your system requirements, read the documentation for your database. First Backup After Installation and Upgrade After installation and after each upgrade/update of the SAP NetWeaver AS Java, you should perform the following: • • 530 A first file system backup of the AS Java (default path /usr/sap/<SID>/) A first file system backup of the home directory of the database (Microsoft Windows default path SAPDB\MaxDB: <drive>:\sapdb, Oracle: <drive>:\orant © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Backing Up AS Java Backup Routine Figure 213: Backing up the SAP NetWeaver AS Java A complete backup of all changes to the AS Java since the installation consists of: • • • Backing Up the Databases Backing up the file system: Global directory \usr\sap\<SID> Backing up the configuration (export using the Config Tool) Backing up the Database: We recommend that you include both the backing up of the database and the database change logs into your daily routine. • Online backup: If it is possible with your application, back up the database once a day with online backup. You should, of course, back up the log files that accumulate during production operation several times a day. Once a week, you should also perform an offline backup. • Offline backup: If your installed application can only be consistently backed up in offline mode, we recommend that you schedule an offline backup as often as possible (at least once at the weekend). You should, of course, back up the log files that accumulate during production operation several times a day. 2011 © 2011 SAP AG. All rights reserved. 531 Unit 9: Software Maintenance ADM800 Backing Up the Installed Applications Note the guidelines for each SAP application running on your SAP NetWeaver AS Java and perform any additional backup operations described there. 532 © 2011 SAP AG. All rights reserved. 2011 ADM800 Lesson: Backing Up AS Java Lesson Summary You should now be able to: • Explain which regular backups are required for the SAP NetWeaver AS Java. 2011 © 2011 SAP AG. All rights reserved. 533 Unit Summary ADM800 Unit Summary You should now be able to: • Explain the concept of maintenance certificates • Describe a maintenance transaction • Call the Java Support Package Manager (JSPM). • Import Support Packages and Support Package Stacks for SAP NetWeaver AS Java 7.1x-based systems. • Explain which regular backups are required for the SAP NetWeaver AS Java. 534 © 2011 SAP AG. All rights reserved. 2011 ADM800 Test Your Knowledge Test Your Knowledge 1. What can be done with a maintenance transaction? Choose the correct answer(s). □ □ □ □ □ 2. A B C D E Import Support Packages. Calculate Support Package Stacks for your SAP systems. Approve objects in your download basket. Import SAP Notes. Import SAP enhancement packages To be able to restore the SAP NetWeaver AS Java if a system error occurs, it is sufficient to backup the directory /usr/sap. Determine whether this statement is true or false. □ □ 2011 True False © 2011 SAP AG. All rights reserved. 535 Test Your Knowledge ADM800 Answers 1. What can be done with a maintenance transaction? Answer: B, C A maintenance transaction can not import SAP Notes, Support Packages and SAP enhancement packages. SAP Notes are imported via the Note Assistant, Support Packages for AS ABAP based systems via transaction SPAM, Support Packages for AS Java based systems via tool JSPM, SAP enhancement packages via the tool SAPehpi. 2. To be able to restore the SAP NetWeaver AS Java if a system error occurs, it is sufficient to backup the directory /usr/sap. Answer: False You must back up the database as well as the proprietary SAP directories. 536 © 2011 SAP AG. All rights reserved. 2011 ADM800 Course Summary Course Summary You should now be able to: • • • • • • • • • • • • • • • • 2011 Explain the architecture of SAP NetWeaver AS Java Start and stop SAP NetWeaver AS Java Carry out basic configurations for SAP NetWeaver AS Java Classify network security concepts Set up SSL encryption for SAP NetWeaver AS Java Explain the architecture of the User Management Engine Configure the User Management Engine Carry out user and authorization maintenance Understand and change the standard logon procedure of SAP NetWeaver AS Java Maintain destinations and the JCo RFC Provider Understand the architecture and the tasks of the SAP NetWeaver Development Infrastructure Explain the process flow of the development process using the SAP NetWeaver Development Infrastructure Specify the options for monitoring SAP NetWeaver AS Java Connect SAP NetWeaver AS Java to a central Monitoring system Display Monitoring and logging data using the SAP NetWeaver Administrator Implement corrections for SAP NetWeaver AS Java © 2011 SAP AG. All rights reserved. 537 Course Summary 538 ADM800 © 2011 SAP AG. All rights reserved. 2011 Glossary Activation Integration of changes from the incative workspace into the active workspace (after a successful build). Assembly Step for creating a software component version in CMS Transport Studio. This step takes the most up-to-date software status in the DTR workspace of the consolidation stage, if appropriate, takes the required archive from the CBS and creates a uniquely defined status of the developed software component from this. Buildspace Separate area within a CBS that implements exactly one development configuration. Component Build Service (CBS) Part of SAP NetWeaver Development Infrastructure and is used for the central build of the source texts. Cookie A cookie is a message that is sent to the Web browser (for example from a Web server). The Web browser saves this message either in the file system (persistent cookie) or it is stored in a temporary memory area and deleted when the browser is closed (session cookie). For each request to the issuing server, the Web browser sends the cookie to this server again. Deployment Transfer of archives to the runtime environment of the target system. Design Time Repository (DTR) Central memory for all kinds of source files. The memory is presented logically as a hierarchical file and folder structure. Physically, the contents are stored in a database and are accessible via the open logs WebDAV and DeltaV. Development Component Container for development objects in the Java environment. It represents a software module that the application developer can use both for structuring the application to be developed and to reuse an application. Development Object Element of a component that provides part of its function and can be changed or developed in some way. This can be a Java class, a table definition, a JSP page, and so on. Development objects are essentially stored in a repository. 2011 © 2011 SAP AG. All rights reserved. 539 Glossary ADM800 DIP file Development Infrastructure Package – file that contains changes sources and / or runtime objects based on one ore more activities. EAR file Enterprise Archive File type that contains a Web-based application for enterprises. An EAR file is, from a technical point of view, an archive of the MIME type "application/zip" and can be unpacked using any packing program. It always contains a file that describes all of the components in the archive. Other special applications are required to be able to correctly use an application contained in the archive. EIS Enterprise Information System Enterprise (Java) Beans Components for distributed and transaction-oriented business applications in Java. Typically, they contain a processing logic for business data. GRMG Generic Request and Message Generator: Central infrastructure for availability monitoring of Java-based components and applications Java Virtual Machine Interpreter for the controlled execution of Java bytecode on the respective hardware platform. JMX Java Management Extension JSP Java Server Pages, abbreviated to JSP, are used simplify the dynamic generation of the HTML and XML output of a Web server. This technology allows the embedding of Java code and special JSP actions in static content. The advantage of this technology is that the logic can be implemented independent of the design. maintenance certificate A maintenance certificate enables the SAP software logistics tools (for example, SPAM, SAINT, and JSPM) to identify the system to be maintained and to determine the extent of maintenance required. It is also used to ensure that only customers with a valid maintenance contract can perform the relevant maintenance transactions. maintenance transaction To import Support Packages, among other things, SAP recommends that you create a maintenance transaction with the Maintenance Optimizer. This maintenance transaction is used to calculate a consistent combination of Support Packages for a specific system or a combination of systems in the landscape and to approve this combination for download. Name Server Part of SAP System Landscape Directory (SLD). The Name Server enables the reservation of globally unique names for Java development objects. 540 © 2011 SAP AG. All rights reserved. 2011 ADM800 Glossary patch To be able to correct smaller problems in the SAP system, individual corrections, known as single patches are available as SAP Notes. Perspective SAP NetWeaver Developer Studio provides a range of tools for all aspects of application development. As is usual in Eclipse, the related tools are mainly combined into perspectives in accordance with task-specific requirements. Principle The umbrella term used for the “objects” user, account, group and role in the UME environment. Product Overlapping selection of software components. A software component can be contained in multiple products. Proxy Server Host that temporarily stores the Internet pages that are frequently requested by users. If a user calls a Web site, the proxy server checks whether the data already exists locally on it. If this is the case, the user simply receives a copy, which is transferred more quickly than the original. If the data does not yet exist, the proxy server connects the user to the desired address. Release Certain statuses of a software component can be classified as a release for delivery, deployment, and maintenance. A release is a large step in the development of a software component, which provides new functionality. SAP NetWeaver Developer Studio SAP's own development environment for the development of Java-based multi-level business applications. The development environment is based on the open source product Eclipse. SAP NetWeaver Development Infrastructure (NWDI) SAP NetWeaver Development Infrastructure (NWDI) extends the concept of an integrated development environment (IDE, SAP NetWeaver Developer Studio) with server-side services that provide development teams with a consistent central development environment and support software development during the entire lifecycle of a product. Secure Network Communication (SNC) SNC is an interface that allows secure communication between SAP systems. SNC provides the functions authentication, encryption and integrity. An external security product that uses the SNC interface of the SAP system is required for the implementation. The SNC interface is an implementation of the Generic Security Services Application Programming Interface (GSS API). The SAP Cryptographic Library is available as an external security product for many standard scenarios and SAP server components. 2011 © 2011 SAP AG. All rights reserved. 541 Glossary ADM800 Secure Sockets Layer (SSL) SSL is a protocol developed by Netscape that is used to safeguard Internet communication. SSL uses Public Private Key technology to safeguard the communication between client and server. The SSL protocol contains encryption of the communication, server authentication, client authentication and mutual authentication (server and client authentication). SOAP Simple Object Access Protocol (SOAP) describes a protocol by which Web Services can be called in distributed system landscapes. SOAP uses HTTP as a transport protocol. An SOAP message has a header with the additional information and a body with the actual message. Software Component Delivery and installation unit that combines development components into larger units. Startup and Control Framework The Framework is used to start, stop, and monitor Java instances. The Startup and Control Framework is the infrastructure that SAP provides for starting and stopping the Java stack. Support Package Collection of corrections for software errors in the SAP system. Support Packages are summarized in periodic intervals and made available by SAP. Support Package Stack Collection of Support Packages. SAP does not advise you to import Support Packages individually; instead, you should always import the entire Support Package Stack of a product. System In the context of the transport of Java applications with the ABAP Transport Management System (TMS), a system can consist of a development configuration and a runtime system. A system can contain only a development configuration, only a runtime system, or both, depending on whether source code or deployable archives are to be transported. tp Program for controlling transports between SAP Systems and for upgrading SAP Releases. As a control program, tp uses some special programs that are required to perform complete transports. Transport Request Transport object that bundles the source code files from the activities of SAP NetWeaver Developer Studio and transports them through the system landscape. UDDI Universal Description, Discovery, and Integration (UDDI) is a directory service for dynamic Web services. A directory of Web services is provided via an SOAP interface. You can find more information about UDDI under: http://uddi.xml.org. 542 © 2011 SAP AG. All rights reserved. 2011 ADM800 Glossary UME User Management Engine: A Java-based user administration component with central user administration, a single sign-on (SSO), and secure access to distributed applications. User Store Service provider in AS Java which saves user administration data such as user and group data. Web Service A Web service is a stand-alone, modulized, executable entity that can be published, localized and called within a network that uses open standards. For a caller or sender a Web service represents a blackbox that requires an entry and returns a result. Web services offer important integration for each asynchronous or synchronous communication technology within a company or between several companies. Workspace Logical storage area that contains multiple versioned source files, but only one version of each source file. These versions usually form a complete status of a software component. WS Security Web Service Security (WSS) is an OASIS standard that describes mechanisms to provide message integrity and confidentiality for SOAP communication. WS Security uses existing standards such as XML Signature and XML Encryption. See also http://www.oasis-open.org/committees/wss WSDL WSDL is a meta language that is used to describe the function of a Web service. Functions, parameters and return codes in particular are described in a machine-readable form. WSDL is standardized by the World Wide Web Consortium (W3C); see the following URL: http://www.w3.org/2002/ws/desc/ 2011 © 2011 SAP AG. All rights reserved. 543 Glossary 544 ADM800 © 2011 SAP AG. All rights reserved. 2011 Index A ABAP Dispatcher, 17 ABAP Work Processes, 17 Action, 226 Activation, 371 Activity Transport, 391 Additional Application Server Instance, 23 applet, 301 Assembly, 303, 539 Assertion Ticket, 252 attribute mapping, 199 Authentication Stack, 247 B Build, 302, 350, 367 build option, 346 buildspace, 391 Buildspace, 371 bytecode, 4, 297 C Categories, 463 Central Services, 24, 50 configuration, 140 Change and Transport System, 386 Change and Transport System (CTS), 311 Change Management Service, 396 change request, 396 Client-Based Load Balancing, 35 ClusterManager, 141 CM Services, 311, 328 Company (UME), 214 Component Build Service, 311, 326, 367, 396 Config Tool, 93 2011 Configuration of filters, 120 of managers and services, 118 of the Central Services, 140 of the message server, 140 of the Number of Server Processes, 121 of the VM Parameters, 115 Configuration Wizard, 138 Containers, 301 CSMCONF, 428 CSMREG, 428 D Data Partitioning, 190 Delegated user administration, 214 DeltaV, 306 Deployment, 303, 368 deployment descriptor, 302 Design Time Repository, 311, 326, 367, 369 Destination Service, 269 Development Component, 313, 354, 370 development configuration, 340 Development Configuration, 307, 354, 367 development object, 313 DI Export Web UI, 393 DI package, 369 DIP file, 391 E Eclipse, 306 © 2011 SAP AG. All rights reserved. 545 Index ADM800 EIS (Enterprise Information Systems), 268 Enqueue Server, 25 enqueue service, 25 Enterprise Archive, 303 Enterprise Information Systems, 268 Enterprise Java Bean, 302 Enterprise Java Beans, 10, 301 JEE security role, 224 JEE security roles, 227 JMX, 414 JSmon, 78 JSPM, 510 JVM, 8 F ICM, 24 IDE, 322 Instance Profile, 112 Internet Communication Manager, 17 location, 463 LockingManager, 142 log archiving, 469 Log Configurator service, 464 log destination, 464, 468 log formatter, 464, 468 Log Manager, 464 Log Viewer, 458 Log Viewer in the SAP NetWeaver Administrator, 458 Logging, 463 Login Module, 247 Login Module Stack, 247 Logon Ticket, 251 J M Filter configuration, 120 G Garbage Collector, 113 GRMG, 443 GSS-API, 253 I J2SE SDK, 299 JAAS, 246 Java Applet, 3 Java application, 3 Java Archive, 302 Java Beans, 9 Java Cluster, 23 Java Development Kit (JDK), 5 Java instance, 22 Java program, 3 Java Runtime Environment (JRE), 2, 298 Java Server Page, 301 Java Server Pages, 11 Java Support Package Manager, 510 Java Virtual Machine, 3 Java VM, 8 JCo RFC Provider, 270 546 © 2011 SAP AG. All rights reserved. K Kerberos, 253 L maintenance certificate, 492 Maintenance Optimizer, 497 maintenance transaction, 495 Manager configuration, 118 Managers, 29 MaxNewSize, 114 MaxPermSize, 114 Memory Allocation JVM, 113 Memory Management JVM, 113 Message server configuration, 140 Message Server, 24 Message Service, 24 N name server, 312, 317 NewSize, 114 2011 ADM800 Index NWA, 94, 132 NWDI, 306 P PAS, 23 patch, 510 permanent generation, 114 Permissions, 226 PermSize, 114 perspective, 368 Policy Configuration, 247 Primary Application Server Instance, 23 Principle, 211 Product, 313, 510 Profile Files, 139 Profile parameter enque/encni/port, 141 enque/serverinst, 141 enque/snapshot_pck_ids, 141 enque/table_size, 141 j2ee/enq/port, 143 j2ee/ms/port, 141 j2ee/scs/host, 141, 143 ms/http_port, 40 ms/server_port_0, 140 rdisp/mshost, 40 rdisp/msserv_internal, 140 public parts, 313 R Release, 313, 510 RMI, 297 Role JEE security role, 224 UME role, 224 Runtime filters configuration, 120 S SAML, 247 SAP JVM, 8 SAP Logging API, 464 SAP Management Console, 101 2011 SAP NetWeaver Administrator, 94, 132, 317 SAP NetWeaver Application Server, 15 SAP NetWeaver Application Server ABAP, 20 SAP NetWeaver Application Server ABAP and Java System, 20 SAP NetWeaver Application Server Java System, 20 SAP NetWeaver Developer Studio, 322, 325, 353, 367, 369, 387 SAP NetWeaver Development Infrastructure, 305, 322, 366 SAP System Landscape Directory, 312, 316 SAP Web Dispatcher, 39 SAP*, 238 SCA Transport, 392 SDA Transport, 394 Server process, 24 Server Processes Configuration of the Number, 121 Server-Based Load Balancing, 34 Services, 30 configuration, 118 Servlets, 301 severity, 464 Shell Console Administrator, 95, 103 Single Support Packages, 517 SNC, 152 Software component, 510 Software Component, 313 SP Stack, 512 SPNego, 253 SSL, 152 Startup and Control Framework, 51, 73 Stateful Requests, 37 © 2011 SAP AG. All rights reserved. 547 Index ADM800 stateless requests, 37 Support Package, 510 Support Package Stack, 510, 512 System, 340 System Landscape, 341 System Landscape Directory, 314 UME emergency user, 238 UME role, 224 UME roles, 226 User administration delegated, 214 User Store, 187 User Type (UME), 216 T VM, 8 VM Parameter Configuration, 115 VM Parameters, 94 Telnet (access to AS Java), 95 Telnet (Shell Console Administrator), 103 Template (Configuration), 110 tenured generation, 114 threshold value, 435 tp parameter, 348 Tracing, 463 track, 395 Transaction RZ20, 434 RZ21, 428 Transport Management System, 342 Transport Organizer Web UI, 387 transport request, 386 W Web Archive, 303 Web Dynpro, 368 Web Service Security, 156 WebDAV, 306 workspace, 391 Workspace, 370–371 WS Security, 157 X Xms, 114 Xmx, 114 Y young generation, 114 U UME, 187 UME administration console, 229 548 V © 2011 SAP AG. All rights reserved. Z Zero Administration, 110 2011 Feedback SAP AG has made every effort in the preparation of this course to ensure the accuracy and completeness of the materials. If you have any corrections or suggestions for improvement, please record them in the appropriate place in the course evaluation. 2011 © 2011 SAP AG. All rights reserved. 549