integrating web dynpro applications into sap enterprise portal · ©sap ag 2002, title of...

34
Integrating Web Dynpro Applications into SAP Enterprise Portal Dr.-Ing. Oliver Stiefbold Product Management, SAP AG

Upload: others

Post on 10-Jul-2020

12 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

Integrating Web DynproApplications into SAP Enterprise Portal

Dr.-Ing. Oliver StiefboldProduct Management, SAP AG

Page 2: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 2

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 3: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 3

Unified Rendering and Branding

SAP application controls are unified and use portal design service Web Dynpro in Portal thus offers a unified end user experience

Portal

Web Dynpro 4 Java

Portal Page

Page 4: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 4

Web Dynpro Theme Editor – Custom Corporate Branding

SAP Design

Service.KEYcom.sap.portal.design.portaldesigndata

Custom Design Custom Design

Web Dynpro Theme Editor is available at SDNWeb Dynpro Theme Editor is available at SDN

Page 5: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 5

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 6: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 6

WorkProtect Mode

Web Dynpro applications can use WorkProtect mode to prevent unsaved data in the Web Dynpro application from being lost if the

user navigates to another portal page.

Web Dynpro applications can use WorkProtect mode to prevent unsaved data in the Web Dynpro application from being lost if the

user navigates to another portal page.

12

Page 7: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 7

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Portal Personalization

Summary and Outlook

Page 8: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 8

Web Dynpro and Portal Eventing

1

2

Portal eventing can be used to communicate between Web Dynpro and non Web Dynpro portal content

Portal eventing can be used to communicate between Web Dynpro and non Web Dynpro portal content

Sam Wilson

HELLO ! Sam Wilson

Page 9: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 9

Web Dynpro Portal Eventing

Several Web Dynpro applications running on one portal page can communicate using portal eventing.

If Web Dynpro Portal eventing is needed, depends on the use case and application design.

loosely coupling

• No predefined user dialog• No defined application flow• Variing page composition• Reuse of iViews

„Let the administrator decide“

strong coupling

• Defined user dialog• Strong linear application flow control• Web Dynpro based page composition• No reuse of components

„Dont let the admin decide“

Page 10: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 10

EPCF – Portal Client Framework

Enterprise Portal Client Framework provides a JavaScript function for event handling in Pages and iViews:

EPCM.subscribeEvent('namespace', 'eventName', eventHandlingFunctionName);

'namespace' - an text string that uniquely identifies your domain. The recommended namespace format is 'urn:eventURN'.

'eventName' - an text string that uniquely identifies your event name. EventName and namespace together define a unique event type identifier.

eventHandlingFunctionName - the name of a JavaScript function in your HTML code, without the function signature. The named function will be called upon event receival:function eventHandlingFunctionName( evt ) { doSth; }

Page 11: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 11

EPCF – Raise an Event

To raise an EPCF event the application calls:

EPCM.raiseEvent('namespace', 'eventName', 'eventData');

The arguments of the function are:

'namespace' - a text string that uniquely identifies your domain. The recommended namespace format is 'urn:eventURN'.

'eventName' - a text string that uniquely identifies your event name. EventName and namespace together define a unique event type identifier.

eventData - a JavaScript object identifier. This object is passed on to the event handling method. 'eventData' can be a string or any other JavaScript object type.

Page 12: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 12

Web Dynpro – Subcribe a Portal Event

You can reuse a Web Dynpro action for several portal events.

WDPortalEventing.subscribe( “urn:myurn.test.portal”, “TestEvent”,

wdThis.wdGetTestEventAction() );

You may define the following parameters for your Web Dynpro action:

Namespace: name space of the received portal event.

Name: This parameter contains the name of the received portal event.

dataObject: the transported parameter of the portal event.

Page 13: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 13

Web Dynpro – Unsubscribe a Portal Event

Unsubscribing for a portal event is very similar to subscribing:

WDPortalEventing.unsubscribe(“urn:myurn.test.portal”, “TestEvent”, wdThis.wdGetTestEventAction() );

Note: Be sure that you unsubscribe every single Web Dynpro view, as the subscription and unsubscription is valid only for the current view.

Page 14: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 14

Web Dynpro – Raise a Portal Event

The following example demonstrates how to raise a portal event:

WDPortalEventing.fire ( “urn:myurn.test.portal”, “TestEvent”, “AParameter”);

You can fire a portal event at any place in your Web Dynpro application.

The event is transported with the next response to the client.

You can also raise more than one portal event in one request-response cycle. Typically, you will fire a portal event in a Web Dynpro action event handler (for example, pressing a button).

Page 15: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 15

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 16: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 16

Portal Navigation for Web Dynpro ecosystem

Main window

Page 17: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 17

Navigation Connector

A custom navigation connector may enhance the portal standard navigation connector Portal Content Directory PCD

A navigation connector can be merged on top level

All functionality is available

Navigation and structure can be created dynamically

Example available in PDK

PCD

Custom Navigation Connector Example

Page 18: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 18

EPCM - Navigation Client Functionality

Enterprise Portal offers a JavaScript function for Navigation

EPCM.doNavigate = function( target, mode, winfeatures, winname, history, targetTitle, context , postBody)

Target: ROLES://dir1/dir2/role1/page1

Mode: 0/1/2 – new /same window, with/wo portal header

Context: ROLES://dir1/dir2/role1/page2

Winfeatures: Example: "width=400,height=500".

Winname: „this window has my name ☺“

History: a breadcrumb control to help users find back

Postbody: If you dont like „GET“

Page 19: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 19

EPCM - Navigation Client Functionality

Relative Navigation

EPCM.doRelativeNavigate(basenodename, levelsup, pathnameslist, mode, winfeatures, winname, history, addParams, targetTitle, context)

basenodename = current presented URLlevelsup = Number of levels to ascend in the treepathnameslist = list of all atomic names of children from the point reached by going number of levels up the tree

Rendered link EXAMPLE:

<A HREF="myLink2" onclick="return EPCM.doRelativeNavigate('ROLES://portal_content/Roles/MyRole/Level1/Level2/Level3', 1, '{PortalEventing}',0)"> This is a link using doRelativeNavigate</A>

Page 20: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 20

Summary and Review of Navigation API

The Navigation API allows application to navigate not only in between a known application, but between the complete Portal content.

Navigation targets are iViews, Pages, Worksets, Roles

Navigation Targets are a Portal Content Directory URL

Dynamic Navigation windows offer an additonal dynamic navigation context for application designers

Related Targets offer also an additonal navigation context.

Object Based Navigation decouples Navigation Link and Navigation Target (next chapter)

Page 21: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 21

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

Object Based Navigation

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 22: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 22

Object Based Navigation – Maintaining Content

Page 23: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 23

Object Based Navigation – Maintaining Content

The objective of OBN is to determine the Application flow at runtime, based on:

Customizing of the Portal

User Decisions

User Roles

Page 24: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 24

EPCM - Navigation Client Functionality

Object Based Navigation JavaScript API

EPCM.doObjBasedNavigate = function( systemAlias, businessObjName, objValue, operation ){

EPCM.raiseEvent('urn:com.sapportals:navigation','ObjBasedNavigate', { systemAlias: systemAlias, businessObjName: businessObjName, objValue: objValue, operation: operation} );

}

systemAlias Portal systembusinessObjName ID of the navigation target „businness object“objValue optional – pass a parameteroperation optional specific operation of a BO

Page 25: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 25

Use Navigation Java API for OBN

// Cast the navigation service object to IClientNavigationGenerator IClientNavigationGenerator navGenerator;

navGenerator = (IClientNavigationGenerator) PortalRuntime

.getRuntimeResources().getService("com.sap.portal.navigation.service.navigation");

// use navGenerator to generate the link String objectNavigateClientCall = navGenerator.createObjectNavigateClientCall(

systemAlias,businessObjectId,parameter,opId);

//Bind to a link object link.setOnClientClick(objectNavigateClientCall);

Page 26: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 26

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 27: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 27

Easy Integration of Web Dynpro Applications

Netweaver 04 -

No automatic Integration of Web Dynpro Applications (see Wizard)

No tight integration into Portal personalization

Netweaver 04 -

No automatic Integration of Web Dynpro Applications (see Wizard)

No tight integration into Portal personalization

Page 28: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 28

WD Portal Personalization with next Pagebuilder

<component-profile>

<property name="systemalias" value="PDKDummySystem">

<property name="personalization" value="dialog"/>

<property name="inheritance" value="non-final"/>

</property>

<property name="businessobjectid" value="PDKDummyObjectID">

<property name="personalization" value="dialog"/>

<property name="inheritance" value="non-final"/>

</property>

</component-profile>

Page 29: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 29

Agenda

Integrating Web Dynpro into SAP Enterprise Portal:

Unified Rendering – Portal Themes

Work Protect Mode

Portal Eventing

Navigation

OBN

Outlook: Web Dynpro Portal Personalization

Portal Development Kit and Netweaver Developer Cockpit

Page 30: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 30

Download PDK and Sneak Preview on SDN

Page 31: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 31

What is Portal Development Kit ?

What it is:

• a collection of Netweaver Developer samples for released Netweaver Java APIs

• a set of additional tools to ease developers life

• supports the SAP Java Developer Community with the Netweaver 04 Sneak Preview Edition

And it will be:

• a business package with ready to run Netweaver Developer and Business Administrator scenarios

Page 32: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 32

Portal Development

Portal Development Kit 6.0.x - Example

Page 33: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 33

Get Support on SDN for Web Dynpro Integration

https://www.sdn.sap.com/sdn/developerareas/webdynpro.sdn?page=webdynpro_EP_integration.htm

Page 34: Integrating Web Dynpro Applications into SAP Enterprise Portal · ©SAP AG 2002, Title of Presentation, Speaker Name 9 Web Dynpro Portal Eventing Several Web Dynpro applications running

© SAP AG 2002, Title of Presentation, Speaker Name 34

Q&A

Questions?