25
SAP NetWeaver Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide Applicable Releases: SAP NetWeaver MDM 7.1 Topic Area: Information Management Capability: Master Data Management Version 1.0 August 2009

Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

SAP NetWeaver

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Applicable Releases:

SAP NetWeaver MDM 7.1

Topic Area: Information Management

Capability: Master Data Management

Version 1.0

August 2009

Page 2: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

© Copyright 2009 SAP AG. All rights reserved.

No part of this publication may be reproduced or

transmitted in any form or for any purpose without the

express permission of SAP AG. The information contained

herein may be changed without prior notice.

Some software products marketed by SAP AG and its

distributors contain proprietary software components of

other software vendors.

Microsoft, Windows, Outlook, and PowerPoint are

registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, OS/2, Parallel

Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390,

OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP,

Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix,

i5/OS, POWER, POWER5, OpenPower and PowerPC are

trademarks or registered trademarks of IBM Corporation.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader

are either trademarks or registered trademarks of Adobe

Systems Incorporated in the United States and/or other

countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered

trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame,

WinFrame, VideoFrame, and MultiWin are trademarks or

registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C 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.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP

NetWeaver, and other SAP products and services

mentioned herein as well as their respective logos are

trademarks or registered trademarks of SAP AG in

Germany and in several other countries all over the world.

All other product and service names mentioned are the

trademarks of their respective companies. Data contained

in this document serves informational purposes only.

National product specifications may vary.

These materials are subject to change without notice.

These materials are provided by SAP AG and its affiliated

companies ("SAP Group") for informational purposes only,

without representation or warranty of any kind, and SAP

Group shall not be liable for errors or omissions with

respect to the materials. The only warranties for SAP

Group products and services are those that are set forth in

the express warranty statements accompanying such

products and services, if any. Nothing herein should be

construed as constituting an additional warranty.

These materials are provided “as is” without a warranty of

any kind, either express or implied, including but not

limited to, the implied warranties of merchantability,

fitness for a particular purpose, or non-infringement.

SAP shall not be liable for damages of any kind including

without limitation direct, special, indirect, or consequential

damages that may result from the use of these materials.

SAP does not warrant the accuracy or completeness of the

information, text, graphics, links or other items contained

within these materials. SAP has no control over the

information that you may access through the use of hot

links contained in these materials and does not endorse

your use of third party web pages nor provide any warranty

whatsoever relating to third party web pages.

SAP NetWeaver “How-to” Guides are intended to simplify

the product implementation. While specific product

features and procedures typically are explained in a

practical business context, it is not implied that those

features and procedures are the only approach in solving a

specific business problem using SAP NetWeaver. Should

you wish to receive additional information, clarification or

support, please refer to SAP Consulting.

Any software coding and/or code lines / strings (“Code”)

included in this documentation are only examples and are

not intended to be used in a productive system

environment. The Code is only intended better explain and

visualize the syntax and phrasing rules of certain coding.

SAP does not warrant the correctness and completeness of

the Code given herein, and SAP shall not be liable for

errors or damages caused by the usage of the Code, except

if such damages were caused by SAP intentionally or

grossly negligent.

Disclaimer

Some components of this product are based on Java™. Any

code change in these components may cause unpredictable

and severe malfunctions and is therefore expressively

prohibited, as is any decompilation of these components.

Any Java™ Source Code delivered with this product is only

to be used by SAP’s Support Services and may not be

modified or altered in any way.

Page 3: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Document History Document Version Description

1.00 First official release of this guide

Page 4: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Typographic Conventions Type Style Description

Example Text Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options.

Cross-references to other documentation

Example text Emphasized words or phrases in body text, graphic titles, and table titles

Example text File and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools.

Example text User entry texts. These are words or characters that you enter in the system exactly as they appear in the documentation.

<Example text>

Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.

EXAMPLE TEXT Keys on the keyboard, for example, F2 or ENTER.

Icons Icon Description

Caution

Note or Important

Example

Recommendation or Tip

Page 5: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Table of Contents

1.  Business Scenario ............................................................................................................... 1 

2.  Prerequisites ........................................................................................................................ 1 

3.  Before you start ................................................................................................................... 2 

4.  Factors to consider ............................................................................................................. 3 

4.1  Available Skill Sets ....................................................................................................... 3 

4.1.1  ABAP ................................................................................................................ 3 

4.1.2  Java .................................................................................................................. 8 

4.1.3  .NET ............................................................................................................... 16 

4.2  Existing Landscape .................................................................................................... 17 

4.3  Available Functionality ................................................................................................ 18 

4.4  Upcoming Functionality .............................................................................................. 18 

5.  Tips and Tricks .................................................................................................................. 19 

5.1  SAP NetWeaver MDM Data Access Performance ..................................................... 19 

5.2  SAP NetWeaver MDM Session Management ............................................................ 19 

5.3  Lifecycle Management ................................................................................................ 19 

Page 6: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

1. Business Scenario When starting an SAP NetWeaver MDM implementation, you, as the architect, must come up with a solid design that will meet all of your customer’s business requirements. When analyzing those business requirements, you may realize that some parts of the solution need to be developed. When it comes to these parts of the solution, you have many technology choices available to you. Whether it’s for the user interface, business rules management, business process management, data access & persistence, you usually have some decisions to make. The purpose of this guide is to explain those choices and help guide you so you can make the best decision for your situation.

2. Prerequisites • Documentation

SAP NetWeaver MDM 7.1 (User Documentation)

http://service.sap.com/installmdm71 (Master, Installation, Configuration, Security, etc…)

SAP NetWeaver 7.0 Enhancement Pack 1

SAP NetWeaver CE 7.1 Enhancement Pack 1

August 2009 1

Page 7: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

3. Before you start Before you start any development effort, it is always a good idea to evaluate if there’s any existing functionality that could be leveraged so that the scope and complexity of what you need to develop can be reduced. A perfect example of this is the pre-delivered SAP NetWeaver MDM Portal content. There are many different IViews e.g. search, resultset, item details, etc… that you might be able to leverage for your solution. Because these IViews support eventing, it is possible to integrate them with custom-built IViews and therefore reduce the overall effort required.

August 2009 2

Page 8: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4. Factors to consider There are a number of factors that need to be considered before an architect can determine a solid design. One of the most important is the skill sets of the people you will have at your disposal for your MDM implementation.

4.1 Available Skill Sets

4.1.1 ABAP The following sections describe what technology choices are available to a company that has access to people with ABAP and related skill sets.

User Interface • Web Dynpro for ABAP

If you wan to implement a web based solution, then Web Dynpro for ABAP is most likely the best choice for you. The Web Dynpro model is based on the Model-View-Controller (MVC) programming model and allows a clear separation of business logic and display logic. The development environment provides powerful graphical tools to layout the UI, which reduces the amount of programming that needs to be done. Please note however, that ABAP skills are still required.

Recommendation Web Dynpro is the recommended SAP NetWeaver programming model for user interfaces and it should be considered for all MDM scenarios requiring a custom user interface.

• SAP Interactive Forms by Adobe

SAP Interactive Forms by Adobe allows you to create PDF based forms that users can use to enter their data. For users that have access to the corporate network, the form can be accessed via a Web Dynpro application and be processed immediately. For those that don’t, the form can be sent to them via e-mail, filled out and returned via e-mail to the sender who then uploads the form for processing.

Recommendation This solution is particularly well suited to business processes in which users enter master data in a form-based solution, especially for offline scenarios where the master data is coming from business partners that don’t have access to your systems.

• Business Server Pages (BSP)

BSPs are a page-based Web programming model with server-side scripting in ABAP. BSPs give you complete freedom when designing UIs since any HTML and/or JavaScript can be sent to the client. With the HTMLB BSP extension, SAP also offers a library of predefined UI elements that simplify the creation of sophisticated BSP pages with a unified design.

Note BSPs can be considered for any MDM scenarios requiring a custom UI.

August 2009 3

Page 9: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

• Dynpro

ABAP based UI development on SAP backend systems.

CAUTION Although Dynpro permits, in principle, the use of the model-view-controller approach, this is not explicitly supported by the Framework or the existing tools. There is therefore a significant mixing of presentation and application logic within a program in most Dynpro-based applications. To achieve better maintainability, you should therefore structure the user interfaces of new ABAP-based applications with Web Dynpro ABAP, even if no use of the Internet is currently intended.

Workflow • SAP Business Workflow

This technology guides employees in their tasks, automates process steps, and provides a logical framework that encourages – often imposes – efficient work practices. In addition, it supplies the performance metrics you need for monitoring and benchmarking internal processes. SAP Business Workflow is used to automate tasks and drive process flow across all applications and is particularly suitable for situations in which work processes have to be executed repeatedly, or situations in which the business process requires the involvement of a large number of agents in a specific sequence.

Recommendation SAP Business Workflow is the recommended workflow solution for ABAP based systems and should be used for any MDM scenario that requires workflow functionality to support data management processes.

Business Rules • MDM Validations

Recommendation MDM Validations are recommended when business rules don’t require data that is stored outside of SAP NetWeaver MDM.

• Business Rules Framework Plus (BRFplus)

BRFplus provides a comprehensive application programming interface (API) and user interface (UI) for defining and processing business rules. It allows you to model rules in an intuitive way, decoupled from application code and also allows you to reuse these rules in different applications.

Applications can use BRFplus in the following scenarios:

To validate data and detect invalid data and states

Match responsibilities, suitable products and locations

Calculate costs, overhead and risks

As a technical configuration engine

August 2009 4

Page 10: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Recommendation BRFplus is recommended when business rules are too complex to be implemented as MDM validations.

Recommendation BRFplus is recommended when master data related business rules need to be called from other systems containing master data, not just SAP NetWeaver MDM.

Recommendation BRFplus is recommended when you want the ability to easily change the business rules without having to modify source code.

CAUTION Since the MDM Data Manager can’t invoke external functions to validate data, implementing BRF plus also means that all master data maintenance should be performed via custom UI. This is to ensure that the data is always validated before it is persisted in SAP NetWeaver MDM.

Note Business Rules Framework plus is available as of SAP NetWeaver AS 7.0 Enhancement Pack 1.

• ABAP

ABAP allows quick development of business applications providing powerful macros to create the business logic based on SAP backend systems.

Recommendation ABAP is recommended when business rules require data from other systems that is not stored in SAP NetWeaver MDM.

Recommendation ABAP is recommended when business rules are too complex to be implemented as MDM validations

Recommendation ABAP is recommended when master data related business rules need to be called from other systems containing master data, not just SAP NetWeaver MDM.

CAUTION Since the MDM Data Manager can’t invoke external functions to validate data, implementing business rules in ABAP also means that all master data maintenance should be performed via custom UI. This is to ensure that the data is always validated before it is persisted in SAP NetWeaver MDM.

August 2009 5

Page 11: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Data Access and Persistence • MDM ABAP API

The MDM ABAP API provides a programming interface for accessing SAP MDM 7.1 using ABAP. The interface is easy to configure and convenient to use. The MDM ABAP API is delivered for a NetWeaver AS ABAP as an add-on. It is optimized for ABAP developers and available using ABAP Objects and function modules. In addition to the core services performed on the records (create, retrieve, update, delete, query, etc), metadata (tables, fields, etc.) and administrative functions (such as repository) are delivered as well.

Important There are two versions of the MDM ABAP API

MDM TECHNOLOGY 7.10 700

• For deployment on SAP NetWeaver AS ABAP 7.0

• Can connect to MDM 5.5 and MDM 7.1

MDM TECHNOLOGY 7.10 710

• For deployment on SAP NetWeaver PI 7.1 (ABAP Stack)

• Can only connect to MDM 7.1

Security • MDM User/Password

User credentials are provided to the MDM Server for authentication.

Note The logged-on user (sy-uname) is always the one provided to the MDM Server.

• LDAP

The MDM Server can be configured to pass user credentials to an LDAP directory server for authentication.

Note Single Sign-On (SSO) isn’t supported.

• Trusted Connections

SAP NetWeaver MDM can be configured to use trusted connections from an ABAP based system. Trusted connections enable users from “safe” machines to access MDM Servers and repositories using their sign-on credentials only, without having to additionally provide MDM Server and repository passwords.

Note User names for MDM users must be the same in the ABAP system and SAP NetWeaver MDM.

August 2009 6

Page 12: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Typical Architecture The graphic below contains an architectural diagram of a typical deployment when using the MDM ABAP API. Web Dynpro ABAP is used as the presentation layer, ABAP is used for business logic and the MDM ABAP API is used for data access and persistence.

August 2009 7

Page 13: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4.1.2 Java When it comes to Java-based solutions, you have many choices. You must choose the technology you want to use e.g. Web Dynpro Java, JSP, Swing, etc…, as well as the platform on which you want to deploy the solution e.g. SAP NetWeaver AS Java, another Application Server or the Java Runtime Engine (JRE). Of course, the choice of technology will affect the deployment platform because some platforms don’t support certain technologies.

The following sections describe what technology choices are available when a company has access to people with Java and Java related skill sets.

As you will see, the SAP NetWeaver AS Java section contains details on all of the Java related technologies it supports. For non-SAP platforms, only usable MDM components are described because the technology choices are too numerous and change constantly.

4.1.2.1 SAP NetWeaver AS Java

User Interface • Web Dynpro for Java

If you want to implement a web based solution, then Web Dynpro for Java is most likely the best choice for you. The Web Dynpro model is based on the Model-View-Controller (MVC) programming model and allows a clear separation of business logic and display logic. The development environment provides powerful graphical tools to layout the UI, which reduces the amount of programming that needs to be done. Please note however, that Java skills are still required.

Recommendation Web Dynpro is the recommended SAP NetWeaver programming model for user interfaces and it should be considered for all MDM scenarios requiring a custom user interface.

• SAP Interactive Forms by Adobe

SAP Interactive Forms by Adobe allows you to create PDF based forms that users can use to enter their data. For users that have access to the corporate network, the form can be accessed via a Web Dynpro application and be processed immediately. For those that don’t, the form can be sent to them via e-mail, filled out and returned via e-mail to the sender who then uploads the form for processing.

Recommendation This solution is particularly well suited to business processes in which users enter master data in a form-based solution, especially for offline scenarios where the master data is coming from business partners that don’t have access to your systems.

• Java Server Pages (JSP)

JSPs are a page-based Web programming model with server-side scripting in Java. JSPs give you complete freedom when designing UIs since any HTML and/or JavaScript can be sent to the client.

Note JSPs can be considered for any MDM scenarios requiring a custom UI.

August 2009 8

Page 14: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Workflow • MDM Workflow

MDM workflows consist of a sequence of steps that allow you to orchestrate a series of operations that include user tasks, validations, and approvals, automating business processes at the data management level. The runtime execution of workflows in MDM can be controlled via the MDM Java API

Recommendation MDM Workflows are recommended when the business process is confined to SAP NetWeaver MDM and the data stored within.

• SAP NetWeaver Business Process Management (BPM)

SAP NetWeaver BPM enables you to model, connect, compile, deploy and maintain composite business processes.

A process model is an abstraction of a process and describes all the aspects of the process:

Activities: steps that are executed within the process

Roles: users or systems that execute the activities

Artifacts: objects, such as business documents, for example, that are processed by the process

Recommendation SAP NetWeaver BPM is recommended for business processes that are too complex to be modeled using MDM Workflow. For example, by using expressions to determine potential and excluded owners of a task or to assign a substitute when a user goes on vacation.

Recommendation SAP NetWeaver BPM is recommended for business processes that span multiple systems and aren’t just confined to SAP NetWeaver MDM.

Note SAP NetWeaver BPM is available as of SAP NetWeaver CE 7.1 Enhancement Pack 1.

Note Integration between SAP NetWeaver BPM and SAP NetWeaver MDM is achieved via generated MDM Web Services.

• SAP Composite Application Framework Guided Procedures (CAF GP)

SAP CAF GP provides tools and a framework for modeling and executing user-oriented workflows. It supports business specialists in implementing processes and guides casual users through the execution of these processes by helping them to understand their work context better and to contribute more effectively.

CAUTION SAP CAF GP should only be considered if you currently have NetWeaver AS 7.0 and have no immediate plans to implement SAP NetWeaver CE 7.1 Enhancement Pack 1, which contains SAP NetWeaver BPM.

August 2009 9

Page 15: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Note SAP CAF GP is a component of SAP NetWeaver Portal.

Note Integration between SAP CAF GP and SAP NetWeaver MDM can be achieved via generated MDM Web Services.

Business Rules • MDM Validations

Recommendation MDM Validations are recommended when business rules don’t require data that is stored outside of SAP NetWeaver MDM.

• SAP NetWeaver Business Rules Management (BRM)

SAP NetWeaver enables organizations to manage business rules for decision automation. Business users participate in and control rule definition and change, while business process experts model, validate, deploy, update, and archive business rules through their lifecycle. As such, IT organizations can work with business users to manage business rules that drive process flow and execution.

Recommendation SAP NetWeaver BRM is recommended when business rules are too complex to be implemented as MDM validations.

Recommendation SAP NetWeaver BRM is recommended when master data related business rules need to be called from other systems containing master data, not just SAP NetWeaver MDM.

Recommendation SAP NetWeaver BRM is recommended when you want the ability to easily change the business rules without having to modify source code.

CAUTION Since the MDM Data Manager can’t invoke external functions to validate data, implementing SAP NetWeaver BRM also means that all master data maintenance should be performed via custom UI. This is to ensure that the data is always validated before it is persisted in SAP NetWeaver MDM.

Tip Business rules can be created using the SAP NetWeaver BRM Rules Composer or within SAP NetWeaver BPM. Since rules created within SAP NetWeaver BPM can only be invoked within the business process model, it is recommended to create business rules in the Rules Composer. These rules are deployed as stateless EJBs and can be exposed as Web Services and be invoked from any application.

Important SAP NetWeaver BRM is available as of SAP NetWeaver CE 7.1 Enhancement Pack 1.

August 2009 10

Page 16: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

• Enterprise Java Beans (EJB)

J2EE is the industry standard technology for developing, assembling, deploying, and managing distributed applications in an enterprise environment. It simplifies the handling of issues inherent in distributed applications. By concealing such complexities as security, transaction handling, and database access, the EJB architecture enables component developers to focus on business logic.

Recommendation EJBs are recommended when business rules require data from other systems that is not stored in SAP NetWeaver MDM.

Recommendation EJBs are recommended when business rules are too complex to be implemented as MDM validations

Recommendation EJBs are recommended when master data related business rules need to be called from other systems containing master data, not just SAP NetWeaver MDM.

CAUTION Since the MDM Data Manager can’t invoke external functions to validate data, implementing business rules in EJBs also means that all master data maintenance should be performed via custom UI. This is to ensure that the data is always validated before it is persisted in SAP NetWeaver MDM.

Data Access and Persistence • MDM Java API

The MDM Java API provides a programming interface for accessing SAP MDM 7.1 using Java. It is designed to be a flexible and robust interface for the MDM Server. The API exposes a granular and comprehensive set of functions for basic operations like searching and editing data as well as advanced functionality like repository administration.

Recommendation The MDM Java API is available as a set of Java Archives (.jar files) and as a Software Component Archive (.sca file), the latter is recommended. This deploys the MDM Java API as a library on the SAP NetWeaver AS Java and is available for any application that wants to interact with SAP NetWeaver MDM. This way of deploying also allows you to update the MDM Java API without impacting the applications that use it and vice versa.

Recommendation When developing an application to be deployed on the NetWeaver AS Java, you should use the JCA compliant MDM Connector to connect to the Master Data Server. The MDM Connector provides connection pooling capabilities. Please consult the Java API section of the MDM help documentation found here.

August 2009 11

Page 17: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

• MDM Web Services

Web Services for MDM are open interfaces to the MDM Server. They are based on the Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL) standards. They provide data management capabilities (create, read, update and delete) and access to central key mapping (create, read).

MDM Web Services provide synchronous access to MDM for the consumer of the Web Services.

Web Services are generated and hard-wired to MDM’s repository/schema for which they are generated. Schema changes require the adaptation of the interface by regenerating the Web Service.

Important In order to generate and use MDM Web Services, the following components must be deployed on SAP NetWeaver AS Java or SAP NetWeaver CE.

MDM Web Services Generator

MDM Web Services Runtime Library

Please have a look at the SAP NetWeaver MDM 7.1 Master Guide to know which versions of SAP NetWeaver AS Java and SAP NetWeaver CE are supported.

Note Even though generated MDM Web Services must run on SAP NetWeaver AS Java or SAP NetWeaver CE, they can be used by Web Service clients running on any platform, for example, ABAP, .NET, etc…

Security • MDM User/Password

User credentials are provided to the MDM Server for authentication.

• LDAP

The MDM Server can be configured to pass user credentials to an LDAP directory server for authentication.

Note Single Sign-On (SSO) isn’t supported.

• Trusted Connections

SAP NetWeaver MDM can be configured to use trusted connections from a Java based system. Trusted connections enable users from “safe” machines to access MDM Servers and repositories using their sign-on credentials only, without having to additionally provide MDM Server and repository passwords.

Note User names for MDM users must be the same in the Java system and SAP NetWeaver MDM.

August 2009 12

Page 18: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

When using SAP NetWeaver Portal, there are several security possibilities.

• When User Mapping is defined: ...

If user mapping is defined for the logged on Portal User, the system first attempts to establish an Authenticated Connection (with mapped User ID and Password)

If this fails, the system tries to connect using the Trusted Connection (with a mapped User ID only).

If both these attempts fail, access to the back-end MDM system is denied.

• When User Mapping is not defined:

If no user mapping is defined, a Trusted Connection with the Portal User ID is executed (SSO-like feature).

A Trusted Connection must be previously configured in order to use theSSO-like feature. Trusted Connections enable authentication to the MDM repository with the User

August 2009 13

Page 19: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

Typical Architecture The graphic below contains an architectural diagram of a typical deployment when using the MDM Java API. SAP NetWeaver BPM is used to orchestrate the business process, Web Dynpro Java is used as the presentation layer, a Web Service is used for business logic and the MDM Java API is used for data access and persistence.

Note Please note that there could be multiple SAP NetWeaver AS instances if the number of users warrants it. Also, the MDM Web Services could be deployed on another SAP NetWeaver AS Java instance such as the one used by SAP NetWeaver Process Integration (PI).

RDBMS

SAP NetWeaver MDM

SAP NetWeaver AS

SAP NetWeaver AS Java

MDM Java API

TCP

MDM Web Service

SAP NetWeaver Portal

WebDynpro Java

SAP NetWeaver BPM

WebDynpro Java

WebDynpro Java

Master Data Server

Database

August 2009 14

Page 20: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4.1.2.2 Other Java Application Server or Java Runtime Engine (JRE)

Workflow • MDM Workflow

MDM workflows consist of a sequence of steps that allow you to orchestrate a series of operations that include user tasks, validations, and approvals, automating business processes at the data management level. The runtime execution of workflows in MDM can be controlled via the MDM Java API.

Recommendation MDM Workflows are recommended when the business process is confined to SAP NetWeaver MDM and the data stored within.

Data Access and Persistence • MDM Java API

The MDM Java API provides a programming interface for accessing SAP MDM 7.1 using Java. It is designed to be a flexible and robust interface for the MDM Server. The API exposes a granular and comprehensive set of functions for basic operations like searching and editing data as well as advanced functionality like repository administration.

Note The MDM Java API is available as a set of .Java Archives (.jar files) and as a Software Component Archive (.sca file). When not deploying to SAP NetWeaver AS Java, you must use the Java Archives (.jar files)

Security • MDM User/Password

User credentials are provided to the MDM Server for authentication.

• LDAP

The MDM Server can be configured to pass user credentials to an LDAP directory server for authentication.

Note Single Sign-On (SSO) isn’t supported.

• Trusted Connections

SAP NetWeaver MDM can be configured to use trusted connections from a Java based system. Trusted connections enable users from “safe” machines to access MDM Servers and repositories using their sign-on credentials only, without having to additionally provide MDM Server and repository passwords.

Note User names for MDM users must be the same in the Java system and SAP NetWeaver MDM.

August 2009 15

Page 21: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4.1.3 .NET

Workflow • MDM Workflow

MDM workflows consist of a sequence of steps that allow you to orchestrate a series of operations that include user tasks, validations, and approvals, automating business processes at the data management level. The runtime execution of workflows in MDM can be controlled via the MDM .NET API.

Recommendation MDM Workflows are recommended when the business process is confined to SAP NetWeaver MDM and the data stored within.

Data Access and Persistence • MDM .NET API

The Master Data Management (MDM) .NET API is a Microsoft-based programming interface that allows to access MDM services from applications running on a Microsoft platform. The MDM .NET API enables MDM customers to write customized applications for interacting with the MDM Server.

The MDM .NET API is designed to be a flexible and robust interface for the MDM Server. The API command classes expose a granular and comprehensive set of functions for basic operations like editing data and searching as well as advanced functionality like repository administration.

Important The MDM .NET API requires .NET Framework version 2.0 or greater.

Security • MDM User/Password

User credentials are provided to the MDM Server for authentication.

• LDAP

The MDM Server can be configured to pass user credentials to an LDAP directory server for authentication.

Note Single Sign-On (SSO) isn’t supported.

• Trusted Connections

SAP NetWeaver MDM can be configured to use trusted connections from a .NET based system. Trusted connections enable users from “safe” machines to access MDM Servers and repositories using their sign-on credentials only, without having to additionally provide MDM Server and repository passwords.

Note User names for MDM users must be the same in the .NET system and SAP NetWeaver MDM.

August 2009 16

Page 22: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4.2 Existing Landscape The following table details the available technologies based on you current existing landscape.

Functionality Technology SAP NetWeaver AS ABAP

SAP NetWeaver AS Java

UI Adobe Interactive Forms

BSP

JSP

Web Dynpro ABAP

Web Dynpro Java

Workflow Business Process Management 1

Business Workflow

Guided Procedures 2

MDM Workflow 3

Business Rules ABAP 4

Business Rules Framework plus

Business Rules Management

EJB

Data Access & Persistence

MDM ABAP API

MDM Java API

MDM .NET API 5

MDM Web Services 6

1. Requires SAP NetWeaver CE 7.1 Enhancement Pack 1

2. Requires Enterprise Portal

3. MDM workflows are accessed via the MDM Java API

4. Requires SAP NetWeaver AS 7.0 Enhancement Pack 1

5. The MDM .NET API requires .NET Framework version 2.0 or greater and can therefore only be deployed on Microsoft Windows based servers.

6. MDM Web Services are deployed and run on SAP NetWeaver AS Java but can be called by any Web Service client

August 2009 17

Page 23: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

4.3 Available Functionality The following table details the kinds of operations that can be performed using the respective MDM APIs.

Operations ABAP Java .NET Web Services

Repository Management

Security Management

Metadata Management

Data Management

Workflow 1 2 1. Workflow functions in the MDM ABAP API are planned for the next version of MDM.

2. Limited workflow functions are planned for an upcoming SP for MDM 7.1.

4.4 Upcoming Functionality The following enhancements are planned for MDM 7.1 SP4.

MDM Web Dynpro Components These components are configurable building blocks that enable the development of web applications or BPM processes with low TCO.

Components in scope:

• Item Details (including the ability to incorporate custom code for, external - non MDM, data enrichment and validations)

• Result Set

• Search

• Graphical design time configurator for the components above.

Web Services The following operations will be added as possible operations for the generated Web Services.

• Execute validations

• Check In/out, rollback, join/unjoin check-out, modify/retrieve checkout permissions

• Execute assignments

• Start workflow job, get workflow job status

• Execute matching strategy, get matching results

• Add/get key mappings

August 2009 18

Page 24: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide

5. Tips and Tricks

5.1 SAP NetWeaver MDM Data Access Performance When using the MDM APIs or Web Services, be careful how much data you retrieve from the MDM Server at any one time. Since the amount of data in MDM can be significant, it is quite easy for the application that uses the MDM APIs to retrieve lots of data and use up large amounts of memory.

All APIs (Java, ABAP, .NET) and Web Services have implemented a paging mechanism to control the number of records returned from a query.

5.2 SAP NetWeaver MDM Session Management In order to invoke a function on the Master Data Server, you need a connection and a session. Unlike a connection, which should be acquired/used/released as needed, a session should be instantiated when the user logs in to your application and destroyed when the user leaves the application.

5.3 Lifecycle Management All Java development should be done using the NetWeaver Developer Infrastructure (NWDI).

Important The MDM Java API isn’t available as a DC (Development Component) so you will have to create an External Library DC that contains the jar files that make up the MDM Java API.

NWDI offers the following services

• Design Time Repository (DTR) – provides centralized source control management capabilities

• Component Build Services (CBS) – creates deployable units from the source code managed by the DTR. It also provides access to the deployable units to other developers for their development efforts.

• Change Management Service (CMS) – provides a central service to setup development landscapes and manages software changes between systems.

In addition to NWDI, using the enhanced Change and Transport System (CTS+) is recommended for all non-ABAP based development objects such as Enterprise Portal Archives (EPAs), Enterprise Portal Applications (PARs), Software Component Archives (SCAs), etc…

In case you didn’t notice, there is some overlap between NWDI and CTS+ since they both offer change management capabilities. It is also possible to integrate the two solutions and the following documents should help guide you in your decision making process.

Scenarios and Recommendations on Using CTS and NWDI

Integrating NWDI Transports with the Change and Transport System

August 2009 19

Page 25: Developing Applications on top of SAP NetWeaver MDM - An ... · Developing Applications on top of SAP NetWeaver MDM - An Architect's Guide • Dynpro . ABAP based UI development on

www.sdn.sap.com/irj/sdn/howtoguides