migrating web dynpro

Upload: freemindxx600

Post on 07-Apr-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Migrating Web Dynpro

    1/83

  • 8/6/2019 Migrating Web Dynpro

    2/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 2

    Contributing Speakers

    Bertram GanzSAP NetWeaver UI, Web Dynpro Development, SAP AG

    Marco Ertel

    NetWeaver UI Product Management, SAP AGChris Whealy

    NetWeaver RIG, SAP (UK) Ltd

  • 8/6/2019 Migrating Web Dynpro

    3/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 3

    Learning Objectives

    As a result of this workshop, you will be able to: Understand the Web Dynpro Compatibility Contract

    in SAP NetWeaver CE 7.1

    Migrate existing Web Dynpro Development Components

    to SAP NetWeaver CE 7.1 Understand the changes of the New Web Dynpro component model

    Understand Component Controller Patterns and Anti-Patterns

    Migrate existing Web Dynpro components to the new componentmodel utilizing the Web Dynpro component migration tool (CheatSheet)

  • 8/6/2019 Migrating Web Dynpro

    4/83

    Migrating Web Dynpro Components

    Summary

    Web Dynpro Backward Compatibility

    Migrating Web Dynpro DCs

  • 8/6/2019 Migrating Web Dynpro

    5/83

    Web Dynprro Backward Compatibility

    Migrating Web Dynpro Components

    Summary

    Migrating Web Dynpro DCs

  • 8/6/2019 Migrating Web Dynpro

    6/83 SAP AG 2007, SAP TechEd 07 / CE206 / 6

    Backward Compatibilty in Web Dynpro Java

    Backward CompatibilityBackward Compatibility

    You can still run existing Web Dynpro applications developed in SAP

    NetWeaver 04 and SAP NetWeaver 7.0 within an SAP SAP NetWeaver CE7.1 environment.

    Source CompatibilitySource Compatibility

    Your Web Dynpro application will run after re-generation, re-compilationand re-deploymentof all Web Dynpro DCs it consists of requiring nosource code adaptations.

    Binary Compatibility:Binary Compatibility: Not supported

    Web Dynpro Compatibility Contract

    The Web Dynpro Foundation for Java in SAP NetWeaver CE 7.1

    is backward source-compatible with SAP NetWeaver 04 and SAP

    NetWeaver 7.0.

  • 8/6/2019 Migrating Web Dynpro

    7/83

    Migrating Web Dynpro Components

    Summary

    Web Dynpro Backward Compatibility

    Migrating Web Dynpro DCs

  • 8/6/2019 Migrating Web Dynpro

    8/83 SAP AG 2007, SAP TechEd 07 / CE206 / 8

    Migrating Web Dynpro Applications (DCs) to SAP NetWeaver CE 7.1

    Web Dynpro DC Migration Process

    SAP NetWeaver 7.0SP13 NWDI

    Valid Track for SAP

    NetWeaver CE 7.1

    is set up (the

    required Net-

    Weaver SCs are

    added)

    Set upDevelopmentInfrastructure

    Create ActiveProjects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of Web

    Dynpro DCs in Web

    Dynpro Explorer

    Refactor/DeleteBroken or

    Deprecated Public

    Parts of Used

    Library DCs

    Migrate DCDependencies

    Eliminate all un-supported coding

    (e.g. typecasts to

    "forbidden"

    internal Web

    Dynpro FPIs).

    Based on the new

    Web Dynpro

    Facade concept

    such code cannotbe compiled any

    more.

    Rebuild your Web

    Dynpro DCs

    RebuildWeb Dynpro DCs

    Redeploy your WebDynpro DCs

    Run your Web

    Dynpro Application

    Deployand Run

  • 8/6/2019 Migrating Web Dynpro

    9/83 SAP AG 2007, SAP TechEd 07 / CE206 / 9

    Migration Step 1

    Set up Development Infrastructure

    Web Dynpro DC Migration Process Step

    SAP NetWeaver

    7.0 SP13 NWDIValid Track for

    SAP NetWeaver

    CE 7.1 is set up

    (the requiredNet-Weaver SCs

    are added)

    A SAP NetWeaver Developer Studio for SAP NetWeaver CESAP NetWeaver Developer Studio for SAP NetWeaver CE

    7.17.1 must be used as a designtime environment. SAP NetWeaver CE 7.1 does notdoes not come with an installation

    of the SAP NetWeaver Development Infrastructure (NWDI).

    Two main scenarios for a valid development and production

    infrastructure exits: Use an existing SAP NetWeaver 7.0 Development

    Infrastructure with valid tracks for SAP NetWeaver CE

    7.1 set up.

    Use a third party development and productioninfrastructure.

    Set up Development Infrastructure

    1

  • 8/6/2019 Migrating Web Dynpro

    10/83 SAP AG 2007, SAP TechEd 07 / CE206 / 10

    Migration Step 2

    Migrate DC Dependencies

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of WebDynpro DCs in Web

    Dynpro Explorer

    Refactor/Delete

    Broken or

    Deprecated Public

    Parts of Used

    Library DCs

    The initial Library DC dependencies for Web Dynpro DCs

    have changed in SAP NetWeaver CE 7.1A new Web Dynpro Library DC (Web Dynpro Faade) was

    introduced only exposing the public Web Dynpro Runtime

    APIs

    Forbidden typecasts to invoce internal Web Dynpro FPI(Framework Programming Interfaces) are no longer

    possible

    Manually added DC dependencies might have changed also.

    They must be migrated to the new DC Public Parts manually

    Migrate DC Dependencies

    2

  • 8/6/2019 Migrating Web Dynpro

    11/83 SAP AG 2007, SAP TechEd 07 / CE206 / 11

    Migration Step 2

    Create Active Projects

    Web Dynpro DC Migration Process Step

    Create Active

    Projects forWeb Dynpro

    DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of Web

    Dynpro DCs in Web

    Dynpro Explorer Refactor/Delete

    Broken or

    Deprecated Public

    Parts of Used

    Library DCs

    Open Development Infrastructure Perspective

    Select Web Dynpro DCs of your application to be migrated

    Select context menu item Sync / Create ProjectSync / Create Project CreateCreate

    Active ProjectActive Project

    Migrate DC Dependencies

    2

  • 8/6/2019 Migrating Web Dynpro

    12/83 SAP AG 2007, SAP TechEd 07 / CE206 / 12

    Migration Step 2

    Repair Projects

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of

    Web Dynpro DCs

    in Web Dynpro

    Explorer

    Refactor/Delete

    Broken or

    Deprecated Public

    Parts of Used

    Library DCs

    Web Dynpro Explorer opens autmatically

    Select Web Dynpro DCs of your application to be migrated

    Select context menu item RepairRepair Project Structure andProject Structure and

    ClasspathClasspath

    Migrate DC Dependencies

    2

  • 8/6/2019 Migrating Web Dynpro

    13/83 SAP AG 2007, SAP TechEd 07 / CE206 / 13

    Migration Step 2

    Repair Project Result

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of

    Web Dynpro DCs

    in Web Dynpro

    Explorer

    Refactor/Delete

    Broken or

    Deprecated Public

    Parts of Used DCs

    After Repair ProjectsRepair Projects new Library DC usages are added

    Deprecated DC usages still exist and will be deleted in nextstep

    Migrate DC Dependencies

    2

    Repair ProjectRepair Project

  • 8/6/2019 Migrating Web Dynpro

    14/83 SAP AG 2007, SAP TechEd 07 / CE206 / 14

    Migration Step 2

    Delete Deprecated Library DCs

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of WebDynpro DCs in Web

    Dynpro Explorer

    Delete

    DeprecatedPublic Parts of

    Used Library

    DCs

    Open Development Infrastructure Perspective

    Open DependenciesDependencies Tab

    Repeatedly select single Web Dynpro DC

    Delete Deprecated Library DC usage relations

    Migrate DC Dependencies

    2

  • 8/6/2019 Migrating Web Dynpro

    15/83 SAP AG 2007, SAP TechEd 07 / CE206 / 15

    Migration Step 2

    Set Build Time Dependency

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of WebDynpro DCs in Web

    Dynpro Explorer

    Set Build Time

    Dependency ofPP gciin Web

    Dynpro Library

    DC tc/wd/api

    Open Development Infrastructure Perspective

    Open DependenciesDependencies Tab

    Repeatedly select single Web Dynpro DC

    Set Build Time dependency of Public Part gcigciin required

    Web Dynpro Library DC tc/wd/apitc/wd/api

    Migrate DC Dependencies

    2

    Prior toPrior to

    SAPSAP

    NetWeaverNetWeaver

    CE 7.1 SP3CE 7.1 SP3OnlyOnly

  • 8/6/2019 Migrating Web Dynpro

    16/83 SAP AG 2007, SAP TechEd 07 / CE206 / 16

    Migration Step 2

    Migrate Manually Added DC Usages

    Web Dynpro DC Migration Process Step

    Create Active

    Projects for Web

    Dynpro DCs to be

    migrated

    Repair Project

    Structure and

    Classpath of WebDynpro DCs in Web

    Dynpro Explorer

    Refactor broken

    or deprecatedPublic Parts of

    used External

    Library DCs or

    used WebDynpro DCs

    Open Development Infrastructure Perspective

    Open DependenciesDependencies Tab

    Repeatedly select single Web Dynpro DC

    Migrate deprecated Public Part usages of manually added

    External Library DCs or other Web Dynpro DCs

    Apply QuickfixQuickfix (CTRL + 1) in case a Public Part successor isdefined

    Migrate DC Dependencies

    2

  • 8/6/2019 Migrating Web Dynpro

    17/83 SAP AG 2007, SAP TechEd 07 / CE206 / 17

    Open Development Infrastructure Perspective

    Open DependenciesDependencies Tab

    Select Web Dynpro DCs of your application to be migrated

    Select context menu item BuildBuild

    Migration Step 3

    Rebuild Web Dynpro DCs

    Web Dynpro DC Migration Process Step

    Eliminate all un-

    supported coding

    (e.g. typecasts to

    "forbidden"

    internal Web

    Dynpro FPIs).

    Based on the newWeb Dynpro

    Facade concept

    such code cannot

    be compiled any

    more.

    Rebuild your

    Web Dynpro DCs

    Rebuild Web Dynpro DCs

    3

  • 8/6/2019 Migrating Web Dynpro

    18/83

  • 8/6/2019 Migrating Web Dynpro

    19/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 19

    Open Web Dynpro ExplorerWeb Dynpro Explorer

    Open Web Dynpro DC comprising your Web Dynproapplication entity

    Select context menu item RunRun for application entity

    Migration Step 4

    Deploy and Run Application

    Web Dynpro DC Migration Process Step

    Deploy your Web

    Dynpro DCs

    Run your Web

    Dynpro

    Application

    Deploy and Run Application

    4

  • 8/6/2019 Migrating Web Dynpro

    20/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 20

    Migrating

    Web Dynpro DCs to

    SAP NetWeaver CE 7.1

  • 8/6/2019 Migrating Web Dynpro

    21/83

    Migrating Web Dynpro Components

    Enhanced Web Dynpro Component Model

    SAP Recommendations on Component Migration

    How To Migrate Web Dynpro Components

    Further Migration Aspects

  • 8/6/2019 Migrating Web Dynpro

    22/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 22

    Web Dynpro Component Migration at a Glance

    What is

    Web Dynprocomponentmigration?

    The Web Dynpro component programming model was

    significantly changed in SAP NetWeaver CE 7.1!

    Existing Web Dynpro component created in NetWeaver 04

    or 7.0 can be migrated to the new component model.

    ?

    What aboutWeb Dynprocomponentcompatibility?

    SAP NetWeaver CE 7.1 is sourcesource--compatiblecompatible to all your

    existing Web Dynpro components created in SAPNetWeaver 04 or 7.0.

    After repair, rebuild and deployment of Web Dynpro DCsyour can run exsting components in CE 7.1.

    ?

    Must all myWeb Dynprocomponentsbe migrated?

    No! Based on the given sourcesource--compatibilitycompatibility you can runexisting Web Dynpro components without migration.

    Under certain conditions component migration should or

    must be applied (e.g. to use new functions).

    ?

    How can Imigrate myWeb Dynpro

    components?

    Read the Component Migration Process Stepsdescribed

    in this presentation

    Run the Web Dynpro component cigration tool (CheatWeb Dynpro component cigration tool (Cheat

    Sheet)Sheet) assisting you in successfully migrating existing

    components to the new component model.

    ?

  • 8/6/2019 Migrating Web Dynpro

    23/83

    Migrating Web Dynpro Components

    Enhanced Web Dynpro Component Model

    Further Migration Aspects

    SAP Recommendations on Component Migration

    How To Migrate Web Dynpro Components

  • 8/6/2019 Migrating Web Dynpro

    24/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 24

    Modified Web Dynpro Component Architecture

    Overview

    There are significant changes in the Web Dynpro component

    programming model in SAP NetWeaver CE 7.1

    The changes are sourcesource--compatiblecompatible. Existing Web Dynpro components

    can be rebuilt, rearchived, redeployed and will then run.

    Old components will look visibly different (grey component icons) and will

    further be based on the old programming model.

    Old Web Dynpro components will further be supported

    All Web Dynpro components which are newly created in the SAP

    NetWeaver CE 7.1 Developer Studio are based on the new programming

    model

    Themigrationmigration of existing Web Dynpro component is supported by the

    Web Dynpro Tools but can potentially be a complex task.

    SAP recommends not to migrate existing Web Dynpro components by

    default. Component migration is only recommended in specific use cases.

    Web Dynpro Components in SAP NetWeaver CE 7.1!

  • 8/6/2019 Migrating Web Dynpro

    25/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 25

    Modified Web Dynpro Component Architecture (2)

    New Window Controller

    Replaces former Component

    Interface Controller class

    Implements one ore many

    Interface Views defined in

    Local or Standalone

    Component Interface

    Definitions The 1..1 relation to former

    Component Interface View is

    no more mandatory

    New Window Plugs for

    Simpler Cross-Component

    Navigation

    !

    f C (1)

  • 8/6/2019 Migrating Web Dynpro

    26/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 26

    Modified Web Dynpro Component Architecture (1)

    New Local Component Interface Definition

    Local Component InterfaceLocal Component Interface

    DefintionDefintion is purely abstract

    Defines IExternal-API of a

    component implementation

    Component Interface Controller

    Class no longer exists

    Component controllerimplements LocalLocaland

    StandaloneStandaloneComponent InterfaceComponent Interface

    DefintionsDefintions

    View containers in component

    interface views

    Component interface inheritance

    !

    W b D C t A t SAP N tW 7 0

  • 8/6/2019 Migrating Web Dynpro

    27/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 27

    Web Dynpro Component Anatomy

    SAP NetWeaver 7.0

    W b D C t A t SAP N tW CE 7 1

  • 8/6/2019 Migrating Web Dynpro

    28/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 28

    Web Dynpro Component Anatomy

    SAP NetWeaver CE 7.1

    W b D C t A t SAP N tW CE 7 1

  • 8/6/2019 Migrating Web Dynpro

    29/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 29

    Web Dynpro Component Anatomy

    SAP NetWeaver CE 7.1

  • 8/6/2019 Migrating Web Dynpro

    30/83

    Migrating Web Dynpro Components

    Enhanced Web Dynpro Component Model

    Further Migration Aspects

    SAP Recommendations on Component Migration

    How To Migrate Web Dynpro Components

    St ti Th W b D C t Mi ti T l

  • 8/6/2019 Migrating Web Dynpro

    31/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 31

    Starting The Web Dynpro Component Migration Tool

    Components which are based on the old component model aredisplayed with a greygreycomponent iconcomponent icon

    Old Web Dynpro components can be migrated with the semisemi--

    automaticautomatic Web Dynpro Component Migration ToolWeb Dynpro Component Migration Tool based on a useruser

    assistance cheat sheetassistance cheat sheet

    Start the ComponentMigration Tool withcontext menu item

    Migrate

    Web Dynpro Component Migration Cheat Sheet

  • 8/6/2019 Migrating Web Dynpro

    32/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 32

    Web Dynpro Component Migration Cheat Sheet

    The Component Migration Cheat SheetsComponent Migration Cheat Sheets assists the developer inpreparing a Web Dynpro component for migration

    Migration can be started after successful component preparation

    Potential Side Effects of Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    33/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 33

    Potential Side Effects of Web Dynpro Component Migration

    Irreversible

    Process

    The Component Migration Process cannot bereverted.

    Im

    portan

    tNote

    !

    Migrated Components might changebehaviorally post-migration testing required.

    Carefully migrate heavily used components!

    Behavioral

    Changes

    Hook Method

    Invocation

    Changes

    Hook methods doBeforeNavigation() anddoPostProcessing() are only called with

    pending action might affect application logicContext Specific

    Changes

    Invocation of IWDNode.bind() now throws aruntime exception when a correspondingsuppliy function is defined.

    Table UI

    Element Changes

    Table Selection Change Behavior will change

    when selectionChangeBehavior was set tovalues auto or nw04 (notnw04splus) before.

    Naming UI

    Element IDs UI element IDs MUST NOT start with _

    How to Simplify and Accelerate Component Migration

  • 8/6/2019 Migrating Web Dynpro

    34/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 34

    How to Simplify and Accelerate Component Migration

    RESOLVE all Component Controller Bypass AntiComponent Controller Bypass Anti--PatternsPatterns in Yourcomponent implementation before migrating it!

    ADHERE to the Component Controller Delegation PatternsComponent Controller Delegation Patterns! Thisaccelerates and simplifies Your Component Migration Process!

    ONLY Define IndirectUsage Relations

    To the Interface Controller using the

    Component Controller as Delegator!

    NEVER Define a Usage Relation from a

    Non-Component Controller to the

    Interface Controller directly!

    ALWAYS Define IndirectControllerUsage Relations from the Interface

    Controller to NON-Component

    Controllers using the Component

    Controller as Delegator!

    NEVER Define a Usage Relation from a

    Component Interface Controller to a

    Non-Component Controller!

    Patterns Anti-Patterns

    Component Controller Bypass Anti Patterns

  • 8/6/2019 Migrating Web Dynpro

    35/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 35

    Component Controller Bypass Anti-Patterns

    NEVER Define a Usage Relation from a Non-Component Controller to the Interface Controller!

    applies toSAP NetWeaver 04 and 7.0

    Detecting Anti Patterns in Your Web Dynpro Component

  • 8/6/2019 Migrating Web Dynpro

    36/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 36

    Detecting Anti-Patterns in Your Web Dynpro Component

    To easily detect the Component Controller Bypass AntiComponent Controller Bypass Anti--PatternPattern Youcan apply the Inverse Search FunctionInverse Search Function provided by the Web DynproTools:

    Im

    porta

    ntTip

    Select ComponentInterface Controller

    Open context menu Select Menu Item

    References Project

    Component Controller Delegation Patterns

  • 8/6/2019 Migrating Web Dynpro

    37/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 37

    Component Controller Delegation Patterns

    ONLY Define IndirectUsage Relations to the

    Interface Controller using the Component

    Controller as Delegator!

    applies toSAP NetWeaver 04 and 7.0

    Component Controller Bypass Anti-Patterns

  • 8/6/2019 Migrating Web Dynpro

    38/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 38

    Component Controller Bypass Anti-Patterns

    NEVER Define a Usage Relation from aComponent Interface Controller to aNon-Component Controller!

    applies toSAP NetWeaver 04 and 7.0

    Component Controller Delegation Pattern A

  • 8/6/2019 Migrating Web Dynpro

    39/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 39

    Component Controller Delegation Pattern A

    ALWAYS Define Indirect Controller Usage Relations from the

    Interface Controller to Non-Component Controllers using the

    Component Controller as a Delegator!

    applies toSAP NetWeaver 04 and 7.0

    Quick Fixes for Interface Controller Implementation Errors

  • 8/6/2019 Migrating Web Dynpro

    40/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 40

    Quick Fixes for Interface Controller Implementation Errors

    Apply Quick FixQuick Fix to resolve a broken implementation relation fromthe Component Controller to a Local or Standalone ComponentInterface Defintion

    How to Migrate a Web Dynpro Component Process Steps

  • 8/6/2019 Migrating Web Dynpro

    41/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 41

    How to Migrate a Web Dynpro Component

    Process Steps

    Post-Processing StepsafterComponent Migration

    Component MigrationPreparative Steps

    beforeComponent Migration

    CheckPackage Namespacesof Component Entities

    StartWeb Dynpro

    Component Migration

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface

    Views and Controllers

    Implement

    Window Controllers

    Invoke IPublic-API of

    Window Controllers

    Web Dynpro Component Migration Cheat Sheet

    Analyze and PrepareImplemented Interfaces

    Real Life Component Migration Scenarios

  • 8/6/2019 Migrating Web Dynpro

    42/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 42

    Real Life Component Migration Scenarios

    The component migration process steps described in thispresentation are all potential steps to be applied.

    Most Web Dynpro component implementations can be migrated tothe new component model more easilymore easily by applying a small subsetsmall subset

    of component migration process steps!

    Post-Processing Steps

    afterComponent MigrationComponent Migration

    Preparative Steps

    beforeComponent Migration

    StartWeb DynproComponentMigration

    Analyze andPrepare

    ComponentInterface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Post-Processing StepsafterComponent Migration

    Component MigrationPreparative Steps

    beforeComponent Migration

    StartWeb DynproComponentMigration

    Analyze andPrepare

    ComponentInterface

    Controller

    Analyze andPrepare

    ComponentInterface Viewsand Controllers

    ImplementWindow

    Controllers

    Invoke IPublic-API of

    WindowControllers

    Web Dynpro Component Migration Cheat Sheet

    Post-Processing StepsafterComponent Migration

    Component MigrationPreparative Steps

    beforeComponent Migration

    CheckPackageNamespaces

    of ComponentEntities

    StartWeb DynproComponentMigration

    Analyze andPrepare

    ComponentInterface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze andPrepare

    ImplementedInterfacesModel ComponentModel Component

    MigrationMigration Visual ComponentVisual Component

    MigrationMigration Faceless ComponentFaceless Component

    MigrationMigration

    Scenario 1Scenario 2

    Scenario 3

    Im

    portan

    tNote

    !

    Component Preparation: Names and Packages

  • 8/6/2019 Migrating Web Dynpro

    43/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 43

    Component Preparation: Names and Packages

    Preparative Steps beforeComponent Migration

    CheckNames and Packagesof Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Move Views, Windows

    and Custom Controllers

    Check ConflictingWindow Names

    CheckComponent Package

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    * dynamic cheat sheet step

    * dynamic cheat sheet step

    Component Preparation: Move Component Entities

  • 8/6/2019 Migrating Web Dynpro

    44/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 44

    Component Preparation: Move Component Entities

    Preparative Steps beforeComponent Migration

    CheckNames and Packagesof Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Move Views, Windows

    and Custom Controllers

    Check ConflictingWindow Names

    CheckComponent Package

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    * dynamic cheat sheet step

    Component Preparation: Check Conflicting Window Names

  • 8/6/2019 Migrating Web Dynpro

    45/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 45

    Component Preparation: Check Conflicting Window Names

    Preparative Steps beforeComponent Migration

    CheckNames and Packagesof Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Move Views, Windows and

    Custom Controllers

    Check ConflictingWindow Names

    CheckComponent Package

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Component Preparation: Check Component Package

  • 8/6/2019 Migrating Web Dynpro

    46/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 46

    Component Preparation: Check Component Package

    Preparative Steps beforeComponent Migration

    CheckNames and Packagesof Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Move Views, Windows and

    Custom Controllers

    Check ConflictingWindow Names

    CheckComponent Package

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    * dynamic cheat sheet step

    Component Preparation: Component Interface Controller

  • 8/6/2019 Migrating Web Dynpro

    47/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 47

    Co po e t epa at o Co po e t te ace Co t o e

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    Usage

    Relations

    Analyze and Prepare

    Interface Context

    Analyze and PreparePublic Interface

    Methods

    Analyze and TransferInterface Controller

    Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Analyze and PrepareInterface Events and

    Event Handlers

    Adhere to the Component Controller Delegation Patterns

  • 8/6/2019 Migrating Web Dynpro

    48/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 48

    p g

    STRICTLY Adhere to the Component Controller Delegation

    Patterns! RESOLVE all Bypass Anti-Patterns before!

    This highly accelerates Your Component Migration Process!

    Component Preparation: Component Interface Controller

  • 8/6/2019 Migrating Web Dynpro

    49/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 49

    p p p

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    Usage

    Relations

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Analyze and Prepare

    Interface Context

    Analyze and PreparePublic Interface Methods

    Analyze and TransferInterface Controller Coding

    Analyze and PrepareInterface Events and

    Event Handlers

    Component Preparation: Interface Context

  • 8/6/2019 Migrating Web Dynpro

    50/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 50

    p p

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    Usage

    Relations

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze and Prepare

    Interface Context

    Analyze and PreparePublic Interface Methods

    Analyze and TransferInterface Controller Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Analyze and PrepareInterface Events and

    Event Handlers

    Component Preparation: Interface Event Handlers

  • 8/6/2019 Migrating Web Dynpro

    51/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 51

    p p

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    Usage

    Relations

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze and Prepare

    Interface Context

    Analyze and PrepareInterface Events and

    Event Handlers

    Analyze and PreparePublic Interface Methods

    Analyze and TransferInterface Controller Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Component Preparation: Interface Events

  • 8/6/2019 Migrating Web Dynpro

    52/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 52

    p p

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    UsageRelations

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze and Prepare

    Interface Context

    Analyze and PrepareInterface Events and

    Event Handlers

    Analyze and PreparePublic Interface Methods

    Analyze and TransferInterface Controller Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Component Preparation: Public Interface Methods

  • 8/6/2019 Migrating Web Dynpro

    53/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 53

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    UsageRelations

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze and Prepare

    Interface Context

    Analyze and PrepareInterface Events and

    Event Handlers

    Analyze and PreparePublic Interface

    Methods

    Analyze and TransferInterface Controller Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Component Preparation: Interface Controller Coding

  • 8/6/2019 Migrating Web Dynpro

    54/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 54

    ImplementInterfaceController in

    ComponentController

    Re-DefineController

    UsageRelations

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Web Dynpro Component Migration Cheat Sheet

    Analyze and Prepare

    Interface Context

    Analyze and PreparePublic Interface Methods

    Analyze and TransferInterface Controller

    Coding

    Analyze and PrepareComponent Interface Views

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    Analyze and PrepareInterface Events and

    Event Handlers

    Component Preparation: Component Interface Views

  • 8/6/2019 Migrating Web Dynpro

    55/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 55

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface Views

    and their Controllers

    Web Dynpro Component Migration Cheat Sheet

    Preparative Steps beforeComponent Migration

    Note Outbound, Exitand Suspend Plugs

    Analyze and CopyInterface View

    Controller CodingInvoking IPublic-APIs

    Analyze and CopyInterface View

    Controller CodeHandling Plugs

    See StepPost-Processing Steps

    after Component Migration

    Component Preparation: Outbound, Exit and Suspend Plugs

  • 8/6/2019 Migrating Web Dynpro

    56/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 56

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface Views

    and their Controllers

    Web Dynpro Component Migration Cheat Sheet

    Preparative Steps beforeComponent Migration

    Note Outbound, Exitand Suspend Plugs

    Analyze and Copy InterfaceView Controller Code

    Handling Plugs

    Analyze and Copy InterfaceView Controller CodingInvoking IPublic-APIs

    See StepPost-Processing Steps

    after Component Migration

    Component Preparation: Interface View Controller Coding

  • 8/6/2019 Migrating Web Dynpro

    57/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 57

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface Views

    and their Controllers

    Web Dynpro Component Migration Cheat Sheet

    Note Outbound, Exit andSuspend Plugs

    Analyze and CopyInterface View

    Controller CodeHandling Plugs

    Preparative Steps beforeComponent Migration

    Analyze and Copy InterfaceView Controller CodingInvoking IPublic-APIs

    See StepPost-Processing Steps

    after Component Migration

    Component Preparation: Interface View Controller Coding

  • 8/6/2019 Migrating Web Dynpro

    58/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 58

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface Views

    and their Controllers

    Web Dynpro Component Migration Cheat Sheet

    Note Outbound, Exit andSuspend Plugs

    Analyze and Copy InterfaceView Controller Code

    Handling Plugs

    Preparative Steps beforeComponent Migration

    Analyze and CopyInterface View

    Controller CodingInvoking IPublic-APIs

    See StepPost-Processing Steps

    after Component Migration

    Component Preparation: Implemented Interfaces

  • 8/6/2019 Migrating Web Dynpro

    59/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 59

    Web Dynpro Component Migration Cheat Sheet

    Check Native InterfaceInheritance

    CheckPackage Namespaces

    of Component Entities

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent Interface Views

    and their Controllers

    Analyze and PrepareImplemented Interfaces

    Preparative Steps beforeComponent Migration

    * dynamic cheat sheet step

    Start Component Migration

  • 8/6/2019 Migrating Web Dynpro

    60/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 60

    Web Dynpro Component Migration Cheat Sheet

    Component Migration

    StartWeb Dynpro

    Component Migration

    Post-Processing Steps after Component Migration

  • 8/6/2019 Migrating Web Dynpro

    61/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 61

    Post-Processing Steps afterComponent Migration

    ImplementWindow Controllers

    Invoke IPublic-API ofWindow Controllers

    Implement Inbound-,Resume- and Startup-Plug Event handlers

    Implement Inbound-,Resume- and Startup-Plug Event handlers

    Implement Inbound-,Resume- and Startup-

    Plug Event handlers

    See StepComponent Preparation:

    Component Interface Views

    Complete Web Dynpro Component Migration Process

  • 8/6/2019 Migrating Web Dynpro

    62/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 62

    Preparing your Web Dynpro Components for MigrationPreparing your Web Dynpro Components for Migration

    Refactor Component Controller Bypass Anti-Patterns

    Make sure, that the Component Controller Delegation Pattern isstrictly applied!

    Copy Component Interface View Controller Implementation toNotepad

    Applying the Web Dynpro Component Migration ToolApplying the Web Dynpro Component Migration Tool

    Component Migration PostComponent Migration Post--ProcessingProcessing

    Paste Interface View Controller Implementation from Notepad to

    Window Controller

    Redefine broken interface controller usages pointing to newwindow controller

    Invoke the window controller's IPublic-API to fire exit, outboundand suspend plugsMi

    grationProc

    essSu

    mmary

  • 8/6/2019 Migrating Web Dynpro

    63/83

    Migrating Web Dynpro Components

    Enhanced Web Dynpro Component Model

    Further Migration Aspects

    SAP Recommendations on Component Migration

    How To Migrate Web Dynpro Components

    SAP Recommendation on Component Migration at a Glance

  • 8/6/2019 Migrating Web Dynpro

    64/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 64

    Do not

    Migrate Web Dynpro Components By Default!

    You can still run existing Web Dynpro Components in CE 7.1

    SAP recommends notto migrate existing Web Dynpro components by

    default.

    In many existing Web Dynpro application scenarios there is no

    mandatory necessity for component migration.

    Do

    Migrate Web Dynpro Components In Specific Use CasesOnly!

    Existing Web Dynpro component should only be migrated to the new

    component model in specific use cases:

    Ease of maintenance: Developers only deal with new component model

    Simplified cross-Component Navigation

    Apply inheritance of Standalone Component Interfaces

    Implementation of Standalone Component Interface using new function

    Development of pure layout components referencing UI components

    SAP Recommendations on Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    65/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 65

    Mandatory

    Migration

    An existing Web Dynpro component must implement a new

    standalone component interface definition utilizing new functions

    An existing Web Dynpro component must utilize component

    interface inheritance which is only supported in the new

    component model

    An existing Web Dynpro component must support the genericsecondary help service

    Optional

    Migration

    Web Dynpro component developers are not familiar with the old

    Web Dynpro component model

    You want to simplify your cross-component navigation byapplying the new window navigation plug concept

    Not

    Necessary

    Migration

    An existing Web Dynpro component must implement a new

    standalone component interface definition not utilizing new

    functions

    Utilizing View Containers in Component Interface Views

    You want to apply the new default plug property for Web Dynpro

    view usages

    You want to use the new universal context nodes

    SAP Recommendations on Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    66/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 66

    Mandatory

    Migration

    An existing Web Dynpro componentmust implement a new standalone

    component interface definition

    utilizing new functions

    An existing Web Dynpro component

    must utilize component interface

    inheritance which is only supported

    in the new component model

    An existing Web Dynpro componentmust support the generic secondary

    help service

    SAP Recommendations on Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    67/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 67

    Optional

    Migration

    Web Dynpro componentdevelopers are not familiar with

    the old Web Dynpro componentmodel

    You want to simplify your

    cross-component navigationby

    applying the new window

    navigation plug concept

    SAP Recommendations on Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    68/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 68

    Unneccessary

    Migration

    An existing Web Dynprocomponent must implement a

    new standalone componentinterface definition not utilizing

    new functions

    Utilizing View Containers in

    Component Interface Views to

    develop Layout ComponentsLayout Components

    referencing UI Components

    SAP Recommendations on Web Dynpro Component Migration

  • 8/6/2019 Migrating Web Dynpro

    69/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 69

    Unneccessary

    Migration

    You want to apply the newdefault plug property for Web

    Dynpro view usages You want to use the new

    universal context nodes

    Migrating

  • 8/6/2019 Migrating Web Dynpro

    70/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 70

    Migrating

    Web Dynpro

    Components from

    SAP NetWeaver 7.0

    to CE 7.1

    Sample Component Migration Scenario

  • 8/6/2019 Migrating Web Dynpro

    71/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 71

    1

    4

    2

    3

    5

    6

    Pattern Description

    Window NameConflicts withComponent ControllerName

    Exit plug defined in

    Component InterfaceView

    View controller firesexit plug invoking theinterface view

    controllers IPublic-API

    View controller by-passes componentcontroller

    Component context ismapped to interfacedata context

    Interface context ismapped to thecomponent context

    1

    2

    3

    4

    5

    6

    How to Migrate a Web Dynpro Component Process Steps

  • 8/6/2019 Migrating Web Dynpro

    72/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 72

    Post-Processing Steps

    afterComponent MigrationComponent MigrationPreparative Steps

    beforeComponent Migration

    CheckPackage Namespaces

    of Component Entities

    StartWeb Dynpro

    Component Migration

    Analyze and PrepareComponent Interface

    Controller

    Analyze and PrepareComponent InterfaceViews and Controllers

    Implement

    Window Controllers

    Invoke IPublic-API of

    Window Controllers

    Web Dynpro Component Migration Cheat Sheet

  • 8/6/2019 Migrating Web Dynpro

    73/83

    Migrating Web Dynpro Components

    Enhanced Web Dynpro Component Model

    Further Migration Aspects

    SAP Recommendations on Component Migration

    How To Migrate Web Dynpro Components

    Migrating Component Interface Definitions

  • 8/6/2019 Migrating Web Dynpro

    74/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 74

    1. SAP recommends not to migratenot to migrate existing Web Dynpro

    component interface definitions by default. In many existingWeb Dynpro application scenarios there is no mandatorynecessitiy for component interface definition migration.

    2. Existing Web Dynpro component interface definitions shouldonly be migrated to the new component model in specific usecases.

    SAPR

    ecom

    menda

    tion

    Migrating Web Dynpro Controller Contexts

  • 8/6/2019 Migrating Web Dynpro

    75/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 75

    No, the component migration tool does notdoes not migrate former contextmodel and value elements to the new universal context elementsitself.

    You must explicitly trigger this context migration in a separate step.

    Does the component migration tool also convert the former context

    model and value elements to the new universal elements?

    ?

    I know that there is no difference between context model versus value elements

    (nodes and attributes) any more in SAP NetWeaver CE 7.1.

    Both element types are merged in the new universal context nodes and attributes.

    Migrate complete

    controller contexthierarchy separately viacontext menu itemMigrate Context Treeoncontext root node level.

    Migrating Deprecated UI Element Associations

  • 8/6/2019 Migrating Web Dynpro

    76/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 76

    In SAP NetWeaver CE 7.1 the following UI element associationsUI element associations of

    the TableTableUI elementUI element were deprecateddeprecated:

    Deprecated Association New Association Association Target UI Element

    Column GroupedColumn IWDTableColumn

    IWDTableColumnGroup

    MasterColumn RowArrangement IWDTreeByNestingTableColumn IWDTableRowGrouping

    Migrate deprecated UI element

    associations of the Table UI

    element with context functionMigrate Columns

  • 8/6/2019 Migrating Web Dynpro

    77/83

  • 8/6/2019 Migrating Web Dynpro

    78/83

    Migrating Web Dynpro Components

    Summary

    Web Dynpro Backward Compatibility

    Migrating Web Dynpro DCs

    Summary

  • 8/6/2019 Migrating Web Dynpro

    79/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 79

    The Web Dynpro Foundation for Java in SAP NetWeaver CE 7.1 is

    backward source-compatible with SAP NetWeaver 04 and 7.0

    The migration of Web Dynpro applications to SAP NetWeaver CE 7.1 ismade very simple:

    just repair, build and deploy related Web Dynpro DCs and then run

    your Web Dynpro application

    The Web Dynpro component model was subject to significant changesin SAP NetWeaver CE 7.1.

    Abstract component interfaces (views, controller) are now implementedby component and new window controllers.

    Existing Web Dynpro components can be migrated with the semi-automatic Web Dynpro Component Migration Tool

    SAP Recommendation on Web Dynpro component migration:

    Do not migrate components by default!

    Migrate components in specific use cases only!

    Further Information

  • 8/6/2019 Migrating Web Dynpro

    80/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 80

    SAP Public Web:SAP Developer Network (SDN): www.sdn.sap.com

    and

    www.sdn.sap.com/irj/sdn/developerareas/webdynpro

    Business Process Expert (BPX) Community: www.bpx.sap.com

    Related Workshops/Lectures at SAP TechEd 2007CE110, Web Dynpro Java

    What's New in SAP NetWeaver 7.1

    Composition Environment, 1 hour lecture

    CE351, Designing Low TCO Applications in Web Dynpro Java, CE352, Getting the best from the Web Dynpro Framework, CE252, Moving J2EE Applications to SAP NetWeaver CompositionEnvironment Made Easy

    Related SAP Education and Certification Opportunitieshttp://www.sap.com/education/

    SAP NetWeaver, Development Subscription

    http://www.sdn.sap.com/http://www.sdn.sap.com/http://www.sdn.sap.com/http://www.sdn.sap.com/irj/sdn/developerareas/webdynprohttp://www.bpx.sap.com/http://www.sap.com/education/http://www.sap.com/education/http://www.bpx.sap.com/http://www.sdn.sap.com/irj/sdn/developerareas/webdynprohttp://www.sdn.sap.com/
  • 8/6/2019 Migrating Web Dynpro

    81/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 81

    The SAP NetWeaver, Development Subscription offers acost effective total solution for developers to buildapplications for the SAP NetWeaver platform.

    Subscription gives you one year access to

    SAP NetWeaver platform software, patches, and updates

    Development license for SAP NetWeaver to evaluate, develop and test

    Standard software maintenance

    Online sessions from SAP TechEd

    Access to SAP Enterprise Services Workplace for testing

    Premium presence in forums

    Purchase the SAP NetWeaver, Development Subscription

    today at the TechEd Community Clubhouse, or online athttps://www.sdn.sap.com/irj/sdn/subscriptions

    Show us you are a subscriber and get a reward!

    Q & A

    https://www.sdn.sap.com/irj/sdn/subscriptionshttps://www.sdn.sap.com/irj/sdn/subscriptions
  • 8/6/2019 Migrating Web Dynpro

    82/83

    SAP AG 2007, SAP TechEd 07 / CE206 / 82

    THANK YOU FOR YOUR

    ATTENTION !

    QUESTIONS

    SUGGESTIONS

    DISCUSSION

  • 8/6/2019 Migrating Web Dynpro

    83/83

    Please complete your session evaluation.

    Be courteous deposit your trash,and do not take the handouts for the following session.

    Feedback

    Thank You !