sap composite application framework · composite application. scenario overview in the featured...

22
Building Building Building Building a New C a New C a New C a New Customer Process ustomer Process ustomer Process ustomer Process SAP Composite SAP Composite SAP Composite SAP Composite Application Application Application Application Framework Framework Framework Framework Document Version 1.00 – März 2006

Upload: others

Post on 12-Mar-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

BuildingBuildingBuildingBuilding a New C a New C a New C a New Customer Processustomer Processustomer Processustomer Process

SAP Composite SAP Composite SAP Composite SAP Composite

Application Application Application Application

FrameworkFrameworkFrameworkFramework Document Version 1.00 – März 2006

Page 2: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

SAP AGSAP AGSAP AGSAP AG Neurottstraße 16 69190 Walldorf Germany T +49/18 05/34 34 24 F +49/18 05/34 34 20 www.sap.comwww.sap.comwww.sap.comwww.sap.com

© Copyright 2005 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, and Informix are trademarks or

registered trademarks of IBM Corporation 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.

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: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

T yp o g r a p h i c C o n v e n t i o n s

Type Style Represents

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 Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE.

Example text Output on the screen. This includes 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 Exact user entry. 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.

I c o n s

Icon Meaning

Caution

Example

Note

Recommendation

Syntax

Page 4: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

Contents Introduction......................................................................................................................... 2

About This Document................................................................................................ 2 Scenario Overview .................................................................................................... 2 Prerequisites ............................................................................................................. 2 Disclaimer.................................................................................................................. 2

Building a New Customer Process..................................................................................... 3 1. Create a Web Service for Credit Worthiness Check............................................. 3 2. Create Composite Application Project .................................................................. 3 3. Configure UI Patterns............................................................................................ 8 4. Create a Guided Procedures Process ................................................................ 12

Page 5: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

Introduction

About This Document This guide demonstrates how you can use the CAF service and process layer together to build a composite application.

Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit worthiness.

Prerequisites The following table describes the prerequisites for running this tutorial.

Software The tutorial is compliant with:

• Sneak Preview SAP NetWeaver 04 – Web Application Server 6.40 Java. You can download the sneak preview at http://sdn.sap.com

Documents Before you start with this tutorial, see:

• Technical Aspects of CAF

• Usage and Configuration of the Property Editor UI Pattern

• Create an Entity Service and a Maintenance UI with the CAF UI Pattern

• Integrate a Web Service in Your Composite as an External Service

• Search SAP Web Pages Process or Google Search Process

Knowledge Basic knowledge of Java and the J2EE tools in the SAP NetWeaver Developer Studio is required.

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

Page 6: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

Building a New Customer Process

1. Create a Web Service for Credit Worthiness Check 1. Create the EJB Module-Project CWCheck for Web Service development

2. Create the session bean CWCheck, and add the method checkCreditWorthiness.

3. In the bean class enter the following coding for the newly created method.

public String checkCreditWorthiness(String firstname, String lastname) {

if (firstname == null || firstname.matches("[Pp]eter"))

return "No";

return "Yes";

}

4. Create the Enterprise Application Project CWCheckEar that references your EJB project.

5. Finally, create a Web Service for the session bean using the Web Service wizard.

2. Create Composite Application Project 1. Create a new composite application project named xcustnew.

Page 7: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

2. Import an external Service using the context menu of the External Service node.

3. Reference the newly created Web Service on the local machine.

4. Create the application service CreditWorthinessCheck.

5. On the Dependencies tab page selected the imported Web Service.

6. Create the operation checkCreditWorthiness

a. Add the following parameters:

Page 8: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

� firstname – type shortText

� lastname – type shortText

� Response – type shortText

� Exception – type ServiceException

b. On the Implementation tab page enter the following coding for the newly created operation between the custom code tags for the method.

retValue = null;

Ns2_parameters.Ns1_checkCreditWorthiness param = new Ns2_parameters.Ns1_checkCreditWorthiness();

param.setNs1_firstname(firstname);

param.setNs1_lastname(lastname);

try {

retValue = this.getCreditWorthinessCheckWSVi__Document().checkCreditWorthiness (param).getNs1_Response();

} catch (Exception e) {

e.printStackTrace();

throw new ServiceException(e);

}

7. Create the entity service Customer

a. Define the following attributes:

� firstname – type shortText

Page 9: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

� lastname – type shortText

� comment – type longText

b. Add the operation findByLastname and select the lastname attribute as a parameter.

c. Disable permission checks.

8. Create the application service CreateCustomer.

a. Add a dependency to the entity service Customer.

b. Create a custom operation createCustomer with the following parameters:

� firstname – type shortText

� lastname – type shortText

� comment – type longText

� response – id

Page 10: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

� exception - ServiceException

c. On the Implementation tab page enter the following coding for the newly created operation between the custom code tags for the method.

retValue = null;

CustomerServiceLocal cs = this.getCustomerService();

Customer customer = cs.create();

customer.setFirstname(firstname);

customer.setLastname(lastname);

customer.setComment(comment);

cs.update(customer);

retValue = customer.getKey();

9. Create the application service ReadCustomer.

a. Add a dependency to the entity service Customer.

b. Create a READ operation readCustomer and add a ServiceException to its definition.

Page 11: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

c. On the Implementation tab page enter the following coding for the newly created operation between the custom code tags for the method.

retValue = null;

retValue = this.getCustomerService().read(key);

10. Generate the project code, build the project and deploy it to the J2EE engine.

3. Configure UI Patterns 1. Use the Object Editor pattern for the entity service Customer.

Create a configuration named xcustnew.

Page 12: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

2. Open the CAF homepage and go to Administrative Tools → External Service Configuration External Service Configuration

Here you assign the Web Service to a real implementation.

For the WSDL use the URL http://localhost:53000/CWCheckWS/Config1?wsdl&style=document

Note that you must use document style.

Page 13: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

For the endpoint use the URL http://localhost:53000/CWCheckWS/Config1?style=document.

You can check the URLs in the Web Service Navigator running on the J2EE-Engine. You access it from the engine’s start page (http://<host>:<port>/).

Page 14: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit
Page 15: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

4. Create a Guided Procedures Process The process is described in the following figure.

First URL

Second URL

Page 16: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

1. Create the following callable objects:

� Enter Customer – callable object type Data Input Form

� Create Customer – callable object type Composite Application Service

Page 17: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

Select xcustnew for application name, CreateCustomer for service name, and createCustomer for method name.

� Customer Editor – callable object type Composite Application Web Dynpro Component

Page 18: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

� Read Customer – callable object type Composite Application Service

Select xcustnew for application name, ReadCustomer for service name, and readCustomer for method name.

� Check Credit Worthiness – callable object type Composite Application Service

Select xcustnew for application name, CreditWorthinessCheck for service name, and checkCreditWorthiness for method name.

� Credit Worthiness – callable object type Visual Approval

Page 19: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

2. For each callable object create an action with an identical name.

3. Put the actions in a sequential block named Credit Worthiness.

Page 20: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit
Page 21: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit

4. Finally, insert the block into a process.

Page 22: SAP Composite Application Framework · composite application. Scenario Overview In the featured process a new customer is entered in the database, and you can check his or her credit