COMP263 Withnotes Print

120
COMP263 Tips and Tricks for Developers Using SAP NetWeaver Development Infrastructure Jeff Gebo, SAP RIG America Edwin Kempin, LM DI Development SAP AG Marion Schlotte, RIG EMEA SAP AG

Transcript of COMP263 Withnotes Print

  • COMP263

    Tips and Tricks for Developers Using SAP NetWeaver Development Infrastructure

    Jeff Gebo, SAP RIG AmericaEdwin Kempin, LM DI Development SAP AGMarion Schlotte, RIG EMEA SAP AG

  • Disclaimer

    This presentation outlines our general product direction and should not be relied on in making a purchase decision. This presentation is not subject to your license agreement or any other agreement with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to develop or release any functionality mentioned in this presentation. This presentation and SAP's strategy and possible future developments are subject to change and may be changed by SAP at any time for any reason without notice. This document is provided 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 assumes no responsibility for errors or omissions in this document, except if such damages were caused by SAP intentionally or grossly negligent.

  • AgendaOverviewTips & TricksHands-On3.1.Modify and extend a Composite Application3.2. Move an NWDI track

  • Key Features of Software Configuration Management with SAP ISource StorageVersioning

  • Key Features of Software Configuration Management with SAP IISource StorageVersioning

  • Key Features of Software Configuration Management with SAP IIISource StorageVersioningArchiveStorageConfig.ManagementPackaging

  • Key Features of Software Configuration Management with SAP IVSource StorageVersioningArchiveStorageConfig.ManagementPackaging

  • Key Features of Software Configuration Management with SAP VSource StorageVersioningArchiveStorageConfig.ManagementPackaging

  • Overview: SAP NetWeaver Development Infrastructure Central NWDILocal InstallationFile SystemDesign Time Repository Component Build Service

    SLDDeveloper StudioSLDRuntime SystemsDEVCONSTESTPRODCMS Transport StudioCMSLandscape ConfiguratorChange Management Service

  • Overview: SAP NetWeaver Development Infrastructure

  • Development TrackA track comprises development configurations and runtime systems required for developing software component versions. It ensures stable states of deliverables used by subsequent tracks.

    Development SystemConsolidation SystemTest SystemProduction SystemSystemSystemSystemSystemTrackDevelopment Configuration SC_DEVBuildspaceWorkspacesWorkspacesDevelopment Configuration SC_CONSBuildspaceWorkspacesWorkspacesRuntime Systems are optional.Development Configurations are created for the development stages Develoment and Consolidation.

  • Development Process within a TrackDevelopment SystemConsolidation SystemTest systemProduction System4Development ConfigurationEntwicklerDevelopment Configuration21CBDeveloper:Administrator:ABCheckIn124ImportAssembly Import Approval ImportBuildspace Software Component Archive (SCA)BuildspaceWorkspacesWorkspacesWorkspacesWorkspacesACActivateReleaseTRACKB3355

  • Single System TrackWith NWDI on NW 7.0 EHP 1 and CE 7.1 EHP1 it is possible to configure a Single System Track:1 Development System (Development) 1 Runtime System (Development)Development SystemSystemSingle System TrackDevelopment Configuration SC_DEVBuildspaceWorkspacesWorkspacesNote: Conversion of a Single System Track to a 2-System Track is not possible

  • Development Process within a Single System TrackDevelopment SystemDevelopment ConfigurationEntwickler1BDeveloper:Administrator:ABCheckIn12AssemblyApprovalBuildspace Software Component Archive (SCA)WorkspacesWorkspacesACActivateReleaseSINGLE SYSTEM TRACKBC2

  • NWDI in Enhancement Package 1 for CE 7.1 Installation

  • NWDI in Enhancement Package 1 for CE 7.1 ConfigurationGo to SAP NetWeaver Administrator Configuration Management Scenarios - start the Configuration Wizard

  • CMS Wizards in NWDI Start Page (devinf)Setting up the development environment for creating/modifying a software component in a new or existing track using the wizards safes a lot time.

  • AgendaOverview Tips & TricksHands-On3.1.Modify and extend a Composite Application3.2. Move an NWDI track

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • Types of Public PartsWhen to Use What?Build Time Dependency

    EJB Module DCassemblyimplfactoryapi

    EAR DCcompilationBuild Time DependencyDeployable DC TypeNon-Deployable DC Type

    Web Dynpro DCPublic Part Purpose: CompilationThe objects in the public part of a component are needed to compile the other component.A list of development objects offered to other components as interface.

    Public Part Purpose: AssemblyThe objects in the public part of a component are assembled by the using component for deployment reason.

  • Build- and Run-Time Dependencies

    EJB Module

    Web Module

    EARDeployableNon-DeployableWARWeb Dynpro EAREnterprise App EAREnterprise App EAREJB Module JARExtLib JARWeb Module WARBuild Time Depend.Runtime Depend.

  • Build- and Run-Time DependenciesAttention with Public Part Assembly I

    EJB Module

    Web Module

    EARDeployableNon-DeployableWARWeb Dynpro EAREnterprise App EAREnterprise App EARExtLib JARBuild Time Depend.Runtime Depend.ExtLib JARWeb Module WAR

    ExtLib JAREJB ModuleJAR

  • Build- and Run-Time DependenciesAttention with Public Part Assembly II

    EJB Module

    Web Module

    EARDeployableNon-DeployableWARWeb Dynpro EAREnterprise App EAREnterprise App EARExtLib JARBuild Time Depend.Runtime Depend.ExtLib JARWeb Module WAR

    ExtLib JAREJB ModuleJAR

  • Rules for DependencyRulesBuild Time Reference always to a Public Part and not to a complete DCto a complete DC would reference all Public Pars be more granularRuntime Reference always on DC levelBuild Time Reference to a Public Part of Type Assembly only from Deployable DCsUse ACLs to explicitly allow the usage of Public PartsRuntime Reference only between Deployable DCs (e.g. EAR, Web Dynpro) Deploy Time Reference only between Deployable DCsReferences to a Dictionary DC are always Deploy Time References as Runtime und Build Time References make no sense there are no runtime instances for a dictionary

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • Export SCA with NWDS CE 7.1With the CE IDE it is possible to export a Software Componentfor deploymentfor import into a local development configurationNote: not for NWDI import into a track Result in: Archive SC Source SC

  • Local Development: Create a Local Development ConfigurationCreate a Development Configuration from Scratch:Open Development Configuration Perspective and choose Give it a nameOption to create a new Source SCOption to specify SLDName Server

  • Local Development: Import Software Component ArchiveImport a Software Component from File:Right-click the Development Configuration -> Import SCBrowse for the sca fileImport Archive or Source SCA (depend on Export)

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • Start Local Migrate to NWDIYou started your development local and decide now to move your developments into an NWDI based development:[Migrate to the SAP Component Model]Create a new NWDI track with the Software Component you want to developCopy DCs in Local Development ConfigurationPaste copied DCs in NWDI Development ConfigurationAdd Development Components to Source Control

    SC Name of Source and Target can be different

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • Check if Runtime System is availableOpen CMS Landscape Configurator Track Data Runtime SystemsIf entries exist the connection to the runtime system works

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • DTR WebUI ImprovementsWith 7.01 and 7.11 the DTR WebUI supports write operations: in place editing of text filescreation and upload of new filescreation of new folders and workspacesdeletion of files, folders and workspacesbrowsing of deleted files and folders inside a workspaceundeletion of files inside a workspace

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • NWDI Command Line Tools Overview(EHP 1 for CE 7.1)DTR:Source Storage & VersioningCBS:Build Support & Archive StorageCMS: Config. Mgmt &Packaging

    CMS & CTS: System Administration & Transport

  • NWDI Command Line Tools Overview(EHP 1 for CE 7.1)CMS & CTS: System Administration & TransportDTR:Source Storage & VersioningCBS:Build Support & Archive StorageCMS: Config. Mgmt &Packaging

  • NWDI Command Line Tools Overview(EHP 1 for CE 7.1)CMS & CTS: System Administration & TransportCBS:Build Support & Archive StorageCMS: Config. Mgmt &Packaging

    DTR Console & DTR Command Line Tool

  • NWDI Command Line Tools Overview(EHP 1 for CE 7.1)CMS & CTS: System Administration & TransportCMS: Config. Mgmt &Packaging

    DTR Console & DTR Command Line ToolCBS Command Line Tool

  • NWDI Command Line Tools Overview(EHP 1 for CE 7.1)CMS & CTS: System Administration & Transport

    DTR Console & DTR Command Line ToolCBS Command Line ToolCMS Command Line Tool

  • NWDI Command Line Tools Overview (EHP 1 for CE 7.1) DTR Console & DTR Command Line ToolCBS Command Line ToolCMS Command Line Tool

    CMS Command Line Tool & Transport Console

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Consistent help formatting command description command syntax description of command options and arguments command examples

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Consistent help formatting command description command syntax description of command options and arguments command examples

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Consistent help formatting command description command syntax description of command options and arguments command examples

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Consistent help formatting command description command syntax description of command options and arguments command examples

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Help Export as Word document as HTML

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Spool Command writes console output into a file

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Startup Commands specify commands that should be automatically executed on startup, e.g. loading of sessions

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Scripting write command sequence in script file and execute it, e.g. track move

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Variables some commands return variables that can be used as input for other commands

  • NWDI Command Line Tools Common Features (EHP 1 for CE 7.1)Java-Embedding the NWDI Commandline Tools can be embedded into Java programs

  • DTR Console Command Examples Workspace DeletionPreconditions to delete a workspace: all open activities need to be deletedall open propagation lists need to be closedall dematerialized propagation lists need to be materialized

  • DTR Console Command Examples Workspace DeletionPreconditions to delete a workspace: all open activities need to be deletedall open propagation lists need to be closedall dematerialized propagation lists need to be materialized

    Do I need to do this all manually??

  • DTR Console Command Examples Workspace DeletionPreconditions to delete a workspace: all open activities need to be deletedall open propagation lists need to be closedall dematerialized propagation lists need to be materialized do all steps with 1 command in the DTR Console: delete -force /ws/[TRACK]/[SC]/dev/inactive

  • DTR Console Command Examples PurgeI accidentally checked-in my activity! WHAT CAN I DO NOW?

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivity

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivitychecked in

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivity43/act/myPurge

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivity43/act/myPurgeCopy

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivity43/act/myPurgeCopy==

  • DTR Console Command Examples PurgeFile a.txt123File b.txt12/act/myActivity43/act/myPurge====

  • DTR Console Command Examples PurgePurging an activity: Recreates for those files that were modified by the activity the content that the files had before the activity was checked-in. do all steps with 1 command in the DTR Console: purge -vs /act/myActivity -ci /ws/[TRACK]/[SC]/dev/inactive

  • DTR Console Command Examples PurgePurging an activity: Recreates for those files that were modified by the activity the content that the files had before the activity was checked-in.

    The checkin is NOT undone, but a new change is done that recreates the historical state.The purged activity CANNOT be checked-in later again.Further modifications that were done on the same files after the activity was checked-in are overwritten.

  • DTR Console Command Examples Mass Collision ResolutionA wrong transport was done and now there are 1000s of collisions! Do I need to solve them all one by one??

  • DTR Console Command Examples Mass Collision ResolutionResolve all collisions in a workspace into the same direction

    resolve all collisions with 1 command in the DTR Console: massResolve -type PredSucc -act -ci /ws/[TRACK]/[SC]/dev/inactive

  • Tips and TricksDependenciesExport SCA within NWDS Start local Migrate to NWDICheck for Runtime SystemDTR Web UICommand Line ToolsError analysis

  • Tips & Tricks Builds in DEV but not in CONSProblem ScenarioProblem Scenario: build succeeds in DEV, but fails in CONSno activities to release in Transport Viewempty Consolidation queue

  • Tips & Tricks Builds in DEV but not in CONSSolutionSolution:not all activities have been releasednon-released activities were not visible in the Transport View because of default Filter settings Select All Users for the User Filter Select Unlimited for the Date Filter

  • Tips & Tricks Builds in DEV but not in CONSHintHint:use the DTR Workspace Comparison to find unreleased activities compare the dev/active workspace with the cons/inactive workspace compare Workspace Integrations

  • AgendaOverview Tips & TricksHands-On3.1.Modify and extend a Composite Application3.2. Move an NWDI track

  • Model-Driven Development and Deployment With SAP NetWeaver Composition Environment 7.1

  • Implementation: Composite ApplicationComposite ApplicationBPM ProcessWeb Dynpro

  • Lifecycle Management of a Composite ApplicationComplete Composite Application is developed within one Software Component and controlled by NWDI

  • Application: Travel Request ProcessBefore the process can start:Web Service: Create a travel requestWeb Service: Start the processRoles: ApproverRequestor

    Tasks: Approver: Approve/Reject Travel RequestRequester: Resubmit/Finish Process

  • Create Travel Request via WS Navigator - 1Start the Web Service Navigator

  • Create Travel Request via WS Navigator - 2Enter the Parameters to create a Travel Request copy the Travel Request ID

  • Start Travel Request via WS Navigator I

  • Start Travel Request via WS Navigator II

  • Start Travel Request via WS Navigator III

  • Approver Task

    Process: Portal Logon as ApproverSelect the Approve Travel Request taskEnter an approvers noteApprove or Reject

  • Requestor Task

    Process: Portal Logon as RequestorSelect the lates Notify taskResubmit if rejectedFinish if Approved

  • EXERCISE Develop a new UI to create a Travel Request and start the Process with Visual Composer in Eclipse

  • Exercise 1: Goal ICreate a new User Interface to launch the two Web Services:Web Service: Create a travel requestWeb Service: Start the process

  • Exercise 1: Goal IICreate a new User Interface to launch the two Web Services:Web Service: Create a travel requestWeb Service: Start the process

  • Exercise 1: VC in Eclipse with NWDI integrationExercise: Create a new Development Component of Type Visual ComposerOpen Visual Composer Perspective

    Open Visual Composer

    Create new Model

    Implement the Model

  • EXERCISE Modify the Notify Web Dynpro Application (Resubmit Button)

  • Exercise 2: GoalModify the Web Dynpro Application Notify: The button Resubmit should be deactivated when the travel request has been approvedThe button Resubmit should be activated when the travel request has been rejected

  • Exercise 2Modify the Web Dynpro Application Notify: The button Resubmit should be deactivated when the travel request has been approvedThe button Resubmit should be activated when the travel request has been rejected

  • Exercise 2: Change Web Dynpro ViewExercise:Open the NotifyView

    Create a new boolean Attribute reject

    Add Coding for the condition

    Bind the enabled Property to the new Context attributeif(approved){ wdContext.currentContextElement().setReject(false);} else { wdContext.currentContextElement().setReject(true);}

  • AgendaOverview Tips & TricksHands-On3.1.Modify and extend a Composite Application3.2. Move an NWDI track

  • How to Move a Track Use CasesA Track should be moved from one NWDI to another NWDI sandbox Track on test NWDI should be moved to productive NWDI rename of Track move to new hardware (also System Copy can be used: Note 877029) moving a track from an older NWDI to a newer NWDI (e.g. to upgrade from NW 7.0 to CE)

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track delete the Track in the source NWDI

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDIconfigure it the same as the source Track (without import of sources)

    transport the sources into the target Track delete the Track in the source NWDI

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track delete the Track in the source NWDI

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track Option 1: assemble in the source Track, export SCA and import into the target Track Option 2: replicate the DTR content of the workspaces that belong to the Track delete the Track in the source NWDI

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track Option 1: assemble in the source Track, export SCA and import into the target Track WHAT ARE THE DISADVANTAGES OF THIS SOLUTION? Option 2: replicate the DTR content of the workspaces that belong to the Track delete the Track in the source NWDI

  • How to Move a Track Option 1Source DTR

  • How to Move a Track Option 11Source DTR

  • How to Move a Track Option 1111Source DTR

  • How to Move a Track Option 11112Source DTR

  • How to Move a Track Option 1111222Source DTR

  • How to Move a Track Option 11112322Source DTR

  • How to Move a Track Option 11112322Source DTR

  • How to Move a Track Option 11112322Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt

  • How to Move a Track Option 11112322322Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /prop/move

  • How to Move a Track Option 1Disadvantages322The version-history was NOT transported! NO revision historyNO content of previous versionsNO activity details (activity description, activity owner, release state)NO integration dates

    Target DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /prop/move

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track Option 1: assemble in the source Track, export SCA and import into the target Track (only if version-history not needed) Option 2: replicate the DTR content of the workspaces that belong to the Track delete the Track in the source NWDI

  • How to Move a Track Option 11112322Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt

  • How to Move a Track Option 211123221Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched

  • How to Move a Track Option 21112322111Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo

  • How to Move a Track Option 211123221112Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo 3 /act/demo2

  • How to Move a Track Option 21112322111222Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo 3 /act/demo2 4 /act/test

  • How to Move a Track Option 211123221112223Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo 3 /act/demo2 4 /act/test 5 /act/teched2

  • How to Move a Track Option 211123221112223Source DTRTarget DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo 3 /act/demo2 4 /act/test 5 /act/teched2

  • How to Move a Track Option 21112223The version-history was transported! revision historycontent of previous versionsactivity details (activity description, activity owner, release state)integration dates

    Target DTR

    DTR: http://new-dtr:50000/dtrWorkspace: /ws/TRACK/sap.com_SC/dev/inactiveISNActivitya.txtb.txtc.txt 1 /act/teched 2 /act/demo 3 /act/demo2 4 /act/test 5 /act/teched2

  • How to Move a Track How ToHow to move a Track from one NWDI to another NWDI: create the Track in the target NWDI

    transport the sources into the target Track Option 1: assemble in the source Track, export SCA and import into the target Track (only if version-history not needed) Option 2: replicate the DTR content of the workspaces that belong to the Track How To documentation in SAP Help done with the DTR Console (see replicate command) delete the Track in the source NWDI

  • EXERCISE Move the track MYTRACK from the NWDI on iwdf4377 to the NWDI on localhost

  • Exercise3: Move an NWDI TrackExercise:Create new track in local NWDI with CMS WizardReplicate DTR workspaces with DTR ConsoleSource NWDIhttp://iwdf4377:51100Target NWDIhttp://localhost:50000

  • Building Your Business with SDN SubscriptionsSDN Subscriptions offers developers and consultants like you, an annual license to the complete SAP NetWeaver platform software, related services, and educational content, to keep you at the top of your profession. SDN Software Subscriptions: (currently available in U.S. and Germany) A one year low cost, development, test, and commercialization license to the complete SAP NetWeaver software platform Automatic notification for patches and updatesContinuous learning presentations and demos to build expertise in each of the SAP NetWeaver platform componentsA personal SAP namespace SAP NetWeaver Content Subscription: (available globally) An online library of continuous learning content to help build skills. To learn more or to get your own SDN Subscription, visit us at the Community Clubhouse or at www.sdn.sap.com/irj/sdn/subscriptions

  • Fuel your Career with SAP CertificationTake advantage of the enhanced, expanded and multi tier certifications from SAP today!What the industry is saying Teams with certified architects and developers deliver projects on specification, on time, and on budget more often than other teams.2008 IDC Certification Analysis

    82% of hiring managers use certification as a hiring criteria.2008 SAP Client Survey

    SAP Certified Application Professional status is proof of quality, and thats what matters most to customers.*Conny Dahlgren, SAP Certified Professional

  • Further Information

  • Thank you!

  • FeedbackPlease complete your session evaluation.Be courteous deposit your trash, and do not take the handouts for the following session. Thank You !

  • Copyright 2008 SAP AGAll Rights ReservedNo 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.SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge 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 and associated logos displayed are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided 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 have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. 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.

    Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden.Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte knnen Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwhnte SAP-Produkte und Services sowie die dazugehrigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Lndern weltweit. Alle anderen in diesem Dokument erwhnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte knnen lnderspezifische Unterschiede aufweisen.Die in dieser Publikation enthaltene Information ist Eigentum der SAP. Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, nur mit ausdrcklicher schriftlicher Genehmigung durch SAP AG gestattet. Bei dieser Publikation handelt es sich um eine vorlufige Version, die nicht Ihrem gltigen Lizenzvertrag oder anderen Vereinbarungen mit SAP unterliegt. Diese Publikation enthlt nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP-Produkts. SAP entsteht aus dieser Publikation keine Verpflichtung zu einer bestimmten Geschfts- oder Produktstrategie und/oder bestimmten Entwicklungen. Diese Publikation kann von SAP jederzeit ohne vorherige Ankndigung gendert werden.SAP bernimmt keine Haftung fr Fehler oder Auslassungen in dieser Publikation. Des Weiteren bernimmt SAP keine Garantie fr die Exaktheit oder Vollstndigkeit der Informationen, Texte, Grafiken, Links und sonstigen in dieser Publikation enthaltenen Elementen. Diese Publikation wird ohne jegliche Gewhr, weder ausdrcklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschlielich, hinsichtlich der Gewhrleistung der Marktgngigkeit und der Eignung fr einen bestimmten Zweck sowie fr die Gewhrleistung der Nichtverletzung geltenden Rechts. SAP haftet nicht fr entstandene Schden. Dies gilt u.a. und uneingeschrnkt fr konkrete, besondere und mittelbare Schden oder Folgeschden, die aus der Nutzung dieser Materialien entstehen knnen. Diese Einschrnkung gilt nicht bei Vorsatz oder grober Fahrlssigkeit.Die gesetzliche Haftung bei Personenschden oder Produkthaftung bleibt unberhrt. Die Informationen, auf die Sie mglicherweise ber die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP untersttzt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewhrleistungen oder Zusagen ber Internetseiten Dritter ab. Alle Rechte vorbehalten.

    Tips and Tricks for Developers Using SAP NetWeaver Development InfrastructureThis hands-on session is focused on a developer point of view using the SAP NetWeaver Development Infrastructure (NWDI) when implementing applications (e.g. for the SAP NetWeaver Composition Environment offering). The session will give an overview on lifecycle management aspects of a composite application, answers typical questions when working with SAP's component model and DTR, provides tips and tricks when working with the NWDI integration in the SAP NetWeaver Developer Studio and introduces new NWDI features. Attendees get hands-on experience working with the SAP NetWeaver Development Infrastructure perspectives in the new SAP NetWeaver 7.1 IDE.

    Before we start with some insights, tips and tricks and guide you through the exercise, we will have a short NWDI overview or introduction.Here the key features of a Software Configuration Management are listed and it is shown which SAP components provide these features.

    Here the key features of a Software Configuration Management are listed and it is shown which SAP components provide these features.

    Here the key features of a Software Configuration Management are listed and it is shown which SAP components provide these features.

    Here the key features of a Software Configuration Management are listed and it is shown which SAP components provide these features.

    Here the key features of a Software Configuration Management are listed and it is shown which SAP components provide these features.

    The SAP NetWeaver Development Infrastructure (short: NWDI, or JDI in previous releases), together with the SAP NetWeaver Developer Studio, provides a complete Java development environment for developers,administrators, quality managers, and testers.Members of each rolefind everything they need for the software creation process in NWDI's central services. The main benefit of working in a centrally-defined development environment for developers is having direct access to all development objects needed for the specific project in the correct version, including both sources and archives, pre-defined or recently created. The components of NWDI are DTR for source control and versioning, CBS for central Build Support and CMS for Central Configuration and Transport Support.To work with NWDI an SLD is needed that is not part of NWDI shipped as the usage type DI. SLDs provide the following functionality for the NWDI use case: Software Catalog, Name Server for Name reservation and registry for the Development Configurations.The SAP NetWeaver Development Infrastructure (short: NWDI, or JDI in previous releases), together with the SAP NetWeaver Developer Studio, provides a complete Java development environment for developers,administrators, quality managers, and testers.Members of each rolefind everything they need for the software creation process in NWDI's central services. The main benefit of working in a centrally-defined development environment for developers is having direct access to all development objects needed for the specific project in the correct version, including both sources and archives, pre-defined or recently created. The components of NWDI are DTR for source control and versioning, CBS for central Build Support and CMS for Central Configuration and Transport Support.To work with NWDI an SLD is needed that is not part of NWDI shipped as the usage type DI. SLDs provide the following functionality for the NWDI use case: Software Catalog, Name Server for Name reservation and registry for the Development Configurations.

    Development with NWDI means development within a track. Before developers can start development an administrator has to setup an NWDI track. A track comprises of two development configurations one for the development stat Development and one for the state Consolidation. For a track you can configure up to 4 systems, that have a connection to physical runtime systems to which the new development and changes are deployed during the transport/import process.Now lets have a short look at the development process within a track. A developer imports the development configuration of the stage Development into his Developer Studio. Here he starts development and every change is recorded within DTR activities. With the CheckIn, he decides to store it in the DTR workspace to make it visible for all other developers working in that track. With the Activate step he starts the central build process on CBS to see if his coding works together with the active changes of all other project team members. With a successful activate the buildspace is updated with the new archives and the deployment to the Development System is triggered. Here the developer can test if his application is running. After that first integration test, he can release his changes. With the release he hand-over to the administrator. The Change list is now waiting for import into the Consolidation system. The developer can now perform the import. With the import the DTR workspace and CBS buildspace or the Consolidation Development Configuration is updated and if everything worked fine, the deployment is triggered to the Consolidation system. After that the Software Component can be assembled a SCA file is created. Now the sca file can be imported (deployed) to a Test and after a successful testing phase the changes can be approved and imported to the Production System.With NW 7.0 Enhancement Package 1 and CE 7.1 Enhancement Package 1, it is now possible to configure a track as a Single System Track. This can be done within the Landscape Configurator Track Data tab. Here you see a checkbox called Development System only. Doing so will create a track with just one Development Configuration for the development state Development and the option to configure one runtime system for auto-deployment for that development stage. During the exercise you will create and configure a Single System Track and see how it looks like. Be aware of the fact, that you cant go back to a full-blown track with all development stages Consolidation, Test and Prod. Once you decided to have a Single System Track you need to stick to it or move your track to a new track with the complete functionality.With a Single System Track, no Consolidation, Test and Production System is configured. Furthermore, no Development Configuration for CONS exists. That means the assembly process access the active workspace and buildspace of the Development system.NWDI is shipped on the CE platform as well you will find the installation option in CE 7.1 Enhancement Package 1.After the usage type DI NWDI is installed, it needs to be configured. The easiest and fastest way to do it, is to use the Configuration Wizard DI all-in-one. The wizards are provided in the SAP NetWeaver Administrator Configuration Management Scenarios.With the EhP1 for NW 7.0 and CE 7.1 the CMS wizards for setting up the development environment are included in the NWDI start page. Here you will find the wizard to create a new Software Component within an existing track or create a new track. The second wizard creates a track for a modification scenario.Now we start with our Tips and Tricks section according to our session title.We selected some in our opinion important tips and tricks. Of course it is not a complete list.Development components are the central element of the SAPs component model. A development component (short: component or DC) can be described as a frame shared by a number of objects, which are part of the software. A component presents a well-defined interface to the outside world, while its interior life remains invisible. Components can use one another by referring to the public interfaces of other components. Due to these characteristics, components form the basic reusable units of the model.Components protect their inner life with the black box principle. Their development objects are invisible to the outside world. Components can depend on one another and use one another. This corresponds to the idea of organizing software in small, comprehensive and reusable units, which are based on one another and communicate using well-defined interfaces. Dependencies between components are defined together with the components. A component that wants to use the functionality of another component, must declare its intention explicitly. The interfaces of a component are called its public part. A public part consists of a list of development objects offered to other components. All other parts of the component remain invisible (i.e. these other parts cannot be used by other DCs) .Note: A DC may contain more than one public part.Background information: Two types of public parts are available: A type that Provides an API for developing/compiling other DCs (compilation) and a type that Can be packaged into other build results (assembly).Here is an example for build-time and runtime dependencies. The green ones are the one that have a deployable build result, like ear and web dynpro. If classes are used a public part reference of type compilation is needed. If DCs need to be assembled the public part of type assembly will be referenced as Used DC.Please make sure, that you do not reference the Public Part of type Assembly if not really needed. Because with every wrong reference, the buildspace will grow and classloader problems might occur.Please make sure, that you do not reference the Public Part of type Assembly if not really needed. Because with every wrong reference, the buildspace will grow and classloader problems might occur.With the CE IDE you can export an SCA file. During export you decide if you want to export an archive SCA or a Source SCA. An Archive SCA can be used be others in case you have a layered development. The created SCA file can be used for deployment or transport or to exchange it with team members in the development group. Note, that the exported sca file can not be used for import into an NWDI track, as the sources are not packaged in a DTR conform format.In case you provide the sca file so that others can use it as source or archive. The steps how to import it are described on that slide. First of all a development configuration is needed. You can create a new one from scratch. Give it a name. To use an SLD name server is optional. Furthermore you can create a new source SC within the same wizard step.Within a development configuration choose Import SC.. from the context menu of your development configuration. Browse for the sca file on your file system. If the imported Software Component can be used as archive or source SC depend on the settings during the export.This slide describes the steps that needs to be done when migrating the local developments to an NWDI controlled development.Your development is part of a local development configuration and your projects are development components.You imported a development configuration that was created via NWDI CMS which is part of a CMS track. Now you can copy the DCs in your local configuration and paste them to the central NWDI configuration. The source and target SCs does not have the same name or vendor. Last but not least as the files are stored locally you need to add them to the DTR via Add to Source Control.Note: This migration step is used only once. You should not repeat that step to migrate updates on an already existing DC.

    To check if you configured the runtime system correctly and if the runtime system is available, you can open the tray to show the Deployment Substitution Parameters. Only if the table contains entries, the connection to the runtime system works.With 7.01 and 7.11 the DTR WebUI supports write operations. This means that in the DTR WebUI you can now directly edit, add or delete files and folder. Also inside workspaces it's possible to browse deleted resources and to undelete them.

    For write operations normally the DTR Client in the NetWeaver Development Studio (NWDS) is used, so one could ask: "Why is this functionality needed in the DTR WebUI?"The use case here is that sometimes you may want to quickly make a small change without the need of having a full NWDS installation. This is especially true for administrators that may not have an NWDS installed.

    With this feature you for example use the DTR as storage to version and share documents.

    In the next slides the new icons and views for this functionality are introduced.This picture gives an overview over the 7.11 NetWeaver Development Infrastructure (NWDI) and its components:The Design Time Repository (DTR) is used for the storage and versioning of sources.The Component Build Service (CBS) provides a central build and stores the archives.The Change Management Service (CMS) covers the Configuration Management, Packaging and aspects of the System Administration and Transport

    The Change and Transport System (CTS) is not part of the NWDI but is integrated with CTS+. It is used for the Transport between systems.

    Within the NWDI there are various commandline tools. The next slides give a short overview about which NWDI commandline tools exist and for what they can be used.For the DTR Administration the DTR Console can be used. It provides a big range of functionality from simple DTR operations like checkout, checkin to powerfull reports and complex operations like workspace replication.The DTR Command Line Tool is the old DTR Command Line Client. It has less functionality than the DTR Console, but in opposite to the DTR Console it is capable to operate on the DTR Client state from the NetWeaver Development Studio (NWDS). This is why it is still available. In the long run this functionality will be integrated into the DTR Console.For the CBS there is the CBS Command Line Tool which is an addition to CBS WebUI. It allows you to retrieve status information and to perform administrative CBS tasks.For the administration of the CMS the CMS Command Line Tool can be used. It offers functionalities in addition to the CMS WebUI.To work with the Change and Transport System (CTS) the Transport Console can be used. It is an alternative to using the Tranport Organizer UI of the CTS.

    Another NWDI Commandline Tool which is not in the picture is the DC Command Line Tool. The DC Command Line Tool operates on a Development Configuration and allows you to perform several tasks related to Development Conponents (DCs). It can e.g. be used to do a local DC build.In 7.11 most of the NWDI Commandline Tools are based on a common framework (exceptions are only the old DTR Command Line Tool and the CMS Command Line Tool).The commandline framework ensures a consistent user experience and provides common functionalities.

    [Note: in 7.00 only the DTR Console is based on this Commandline Framework][Note: An overview over the Commandline Tools in 7.00 can be found here: http://help.sap.com/saphelp_nw70/helpdata/EN/61/1c57428a070e53e10000000a155106/content.htm]

    Most obvious is the consistent formatting of the help texts. For each command the help text includes a command description,

    For each command the help text includes a command description, the command syntax, For each command the help text includes a command description, the command syntax, a description of the command options and arguments, For each command the help text includes a command description, the command syntax, a description of the command options and arguments and command examples.One very nice feature is that the help can be exported as Word document or as HTML page. So you can always generate a complete manual that is up to date.

    [Note: type help help in the commandline to get details about the help command]

    One common command that is very helpful is the Spool command. It allows you to record the complete console output into a file. This is especially useful in case errors have to be analyzed.

    [Note: type help spool in the commandline to get details about the spool command]The commandline framework allows you to specify some commands that should be automatically executed on startup of the commandline tool.E.g. for the DTR Console the first thing you normally need to do is to connect to a DTR Server or to load existing sessions. If you are tired of doing this on each startup of the DTR Console you can configure the DTR Console in such a way that the sessions are automatically loaded on startup.

    [Note: type help startup in the commandline to get details about the startup command][Note: to learn more about the session handling in the DTR Console type help connect and help sessions in the DTR Console]It is also possible to write a sequence of commands into a script file, which can then be executed.Here as an example a script is shown that replicates the DTR Content of a Track to another DTR Server.

    [Note: type help startup and help script in the commandline to get details about the scripting functionality][Note: type replicate in the commandline to get details about the workspace replication functionality]

    For some of the commands outout variables are defined that are automatically set during the command execution. These variables can then be used as input for other commands.

    As an example the checkout command of the DTR Console is shown here. The checkout command is capable to automatically create an activity for the checkout if none was specified. The path of the activity that was automatically created is returned by the $act variable. This variable can then later be used to checkin the activity. During the checkout also a working resource is created which is available via the $wr variable. This variable can be used for uploading the new file content.

    [Note: type help checkout in the commandline to get details about the checkout command][Note: type vars in the commandline to get a list of the defined variables]

    The existence of variables is especially needed for writing scripts.

    In a script file you can only define a sequence of commands that should be executed. However for some use cases it is needed to also have control structures (if-then-else, loops, etc.).For such scenarios it is possible to embed the NWDI Commandline Tools into Java programs.

    Here as an example a short Java program is shown that uses the DTR Console to sync a remote folder from the the DTR Server.Now after the common commandline functionality was explained we want to have a closer look at certain use cases and see how the commandline tools can help to support them.

    At first we want to look at how a workspace can be deleted in DTR. Normally there are three preconditions to delete a DTR workspace: all open activities of this workspace need to be reverted and deleted all open propagation lists of this workspace need to be closed all dematerialized propagation lists of this workspace need to be materializedSometimes there are situations where there are 100s of open activities in the workspace that should be deleted. In this case it is really painful to revert and delete every single open activity.

    [Note: activities can be reverted in the NWDS, the DTR WebUI and in the DTR Console (see revert and delete command)]The good news is that in the DTR Console it is now possible to do all these steps within one single command: delete -force wspPath

    [Note: type help delete in the DTR Console to get details about the delete command]Another problem that is occuring from time to time is that somebody accidentally checks in an activity that was supposed to be reverted.Lets assume there is an open activity /act/myActivity which modified two files a.txt and b.txt.Now this activity is accidentally checked-in and due to this the source state gets broken.The question is how the situation can be repaired now.What you would normally do in this case is to checkout the same files again in a new activity

    What you would normally do in this case is to checkout the same files again in a new activity find for these files the content that existed before the activity was checked-in and copy this content to the new version

    What you would normally do in this case is to checkout the same files again in a new activity find for these files the content that existed before the activity was checked-in and copy this content to the new version

    Since the steps 2 and 3 have to be done for each file that was modified it is very much effort if this operation has to be done manually for an activity which modified many files.What you would normally do in this case is to checkout the same files again in a new activity find for these files the content that existed before the activity was checked-in and copy this content to the new version do a checkin of the correction activity to restore the historical content

    This whole operation is in DTR called Purge.In the DTR Console there is a command which automatically does all these steps for you: the purge command!It recreates for those files that were modified by the activity the content that the files had before the activity was checked-in. This is done by creating new versions that have the old content.

    [Note: type help purge in the DTR Console to get details about the purge command]

    Please note that purging an activity does NOT mean that the checkin of the activity is UNDONE, it just means that a new change is done that recreates the historical state (by checkout / checkin).This also means that the purged activity CANNOT be checked-in in later point in time again. If the changes are later needed they have to be redone.Also it is important to understand that further modifications of the same file that were done after the activity was checked-in will be overwritten by doing a purge.

    A purge only recreates the historical content for the affected files. If the activity that is purged resolved collisions in DTR these collisions will not be recreated by purging the activity!

    Please also note that it is NOT possible to purge the integration of an activity in the CONS system with the intention of later releasing the same activity again. If a purge is done the purging activity needs to be transported to all the systems.Sometimes there is the situation that a wrong transport is done which results in thousands of collisions. Normally a collision indicates two concurrent changes and somebody has to decide which of the conflicting versions should be taken or how the changes should be merged.In case of a wrong transport with thousands of collisions you may be sure that you want to accept for all the collision either the active or the colliding version. It would be very painful to manually do this collision resolution for each and every collision.

    [Note: often the term conflict is used as synonym for a collision in DTR]There is one command in the DTR Console that allows you to resolve all collisions in a workspace into the same direction (either always accept the active or the colliding version). This command is called massResolve.

    [Note: type help massResolve in the DTR Console to get details about the massResolve command]

    One problem scenario that occurs quite often is that in a Track everything can be build successfully in the DEV system but in the CONS system the build fails,although there are no activities for release in the Transport View (in the NWDS) and no waiting transports in the Consolidation Queue (in the CMS Transport Studio).In most cases the reason for this is that actually NOT all activities have been released and so the sources between the DEV and the CONS system are different.The problem is that in the Transport View by default only own activities of the last 14 days are shown. Other unreleased activities are not shown.To see all unreleased activities switch the User Filter to All Users and the Date Filter to Unlimited.

    To find all unreleased activities also the Workspace Comparison in the DTR WebUI can be used.If you compare the dev/active workspace with the cons/inactive workspace and select comparison by integrations you we get the lists of activities that was not integrated in both the workspaces.

    [Note: if you compare the dev/inactive and the dev/active workspace you can also find all activities that were not yet activated in dev]The SAP NetWeaver Composition Environment is based on an enterprise-class Java EE 5 application server as runtime and an Eclipse 3.3-based development environment:The SAP NetWeaver Java Application Server, an enterprise-class Java EE 5 application server to ensure robustness, scalability, and supportability through features such as configurable session failover, built-in load balancing and cluster support, robust monitoring, and unique supportability of non-functional problems based on SAP's own Java VM features. The server offers full support of the latest Java EE 5 features, such as EJB 3.0, JSF 1.2, Java Persistency API 1.0, Service Data Objects (SDO) 2.1 standard simplifying data programming for applications and frameworks, support for development of standard-based portlets, and a job scheduler implementation. With the Java Connector Architecture (JCA) 1.5 and full Web Services standards support, it enables connectivity to SAP and non-SAP backends and services. Memory Analyzer is a complementary debugging and analysis tool for Java heap dumps (donated to the Eclipse Technology Project).The SAP NetWeaver Developer Studio, an integrated Eclipse 3.3-based development environment for the creation of Java-based, multi-tiered composite SOA applications. SAP NetWeaver Developer Studio is built on Eclipse, an open-source tooling platform comprised of extensible frameworks and tools. SAP has enhanced the standard Eclipse functionality with a comprehensive set of design, construction, and modeling tools.Customers and partners can already develop and run Java applications in an SOA landscape with this Java-only option. However, integration with software lifecycle management, an enterprise services repository and registry, and an enterprise service bus are mandatory for complex and heterogeneous business application landscapes.SAP NetWeaver Enterprise Services Repository (ESR) is the central registry and repository in which service interfaces and enterprise services are modeled and their metadata is stored. This includes the metadata repository of all service objects in an enterprise SOA as well as a UDDI (Universal Description, Discovery and Integration) v3-compliant services registry that supports publishing, classifying and discovering services.Integration with SAP NetWeaver Development Infrastructure (NWDI) ensure a comprehensive software lifecycle management and transport logistics for all content (including models and code) through the development-test-production landscape.Optional connectivity through a service bus infrastructure and EAI is achieved with SAP NetWeaver PI 7.1SAP NetWeaver CE also provides a set of model-driven tools for composing services, creating user interfaces, and orchestrating processes that simplify development and increase productivity significantly.The SAP Composite Application Framework (CAF) is a business-object modeling and service-composition tool, enabling development of new business logic and adaptation of existing enterprise services.SAP NetWeaver Visual Composer provides a model-driven user interface (UI) development tool for transactional and analytical UIs, including the incorporation of voice and mobile interaction into enterprise applications.Web Dynpro allows to build rich user interfaces and data-driven applications while benefiting from graphical tools and code generation that speed up the development process. Web Dynpro clearly separates business and display logic in a model-view-control (MVC) paradigm.SAP Interactive Forms by Adobe add online and offline support for composite formsA Portal is included with SAP NetWeaver CE to offer a single access point for end users and roles through a federated portal network implementationSAP NetWeaver CE provides SAP NetWeaver BPM as a flexible framework for designing and running user-centric collaborative processes and reusable workflows.For the exercise a Composite Application was prepared. It exists of a BPM process, three Web Dynpro applications and a Composite Application for the Business Logic and persistence layer.The complete Composite Application is developed within one Software Component that is controlled by NWDI. All development takes place in the SAP NetWeaver Developer Studio within the SAP Component Model.The composite applications provides a travel request process. On the right side, you see a screenshot of the BPM process. Before the process can start a travel request (object) has to be created. This has to be done by executing two Web Services directly. It is part of exercise two to create a Web UI for that. There are two roles: Approver and Requestor. The task of the approver is to approve or reject the travel request. The requestor gets a notify task and cen resubmit in case the request was rejected or finish the process, when it was approved.Here you see some screenshots how to start the Web Services to create a travel request. As there is no UI until now the Web Service Navigator is used to execute them directly.Operation: createTravelRequestStart the travel request by pasting the travel request ID and enter all the parameters. In exercise 2 the UI will path the parameters from the first Web Service to the next.Now the travel request process can start.Start the travel request by pasting the travel request ID and enter all the parameters. In exercise 2 the UI will path the parameters from the first Web Service to the next.Now the travel request process can start.Start the travel request by pasting the travel request ID and enter all the parameters. In exercise 2 the UI will path the parameters from the first Web Service to the next.Now the travel request process can start.The process is started, which means the approver has a new entry in his task list. So he logon to the portal as approver. Select the tasks in the universal work list and opens it.He can now enter an approvers not and approve or reject the travel request.After the approver has approved or rejected the request, the requestor logon to the portal. He select his new notify task in the universal work list.In case the request was rejected, he can resubmit it. Otherwise you will finish the process.The first exercise is to create a new Web UI for executing the Web Services to create a travel request and start the process. This will be done in the NetWeaver Developer Studio as a Visual Composer DC. The new feature is Visual Composer is Eclipse together with the NWDI integration.A new Visual Composer DC is created in the same Software Component, controlled by NWDI.A new Visual Composer DC is created in the same Software Component, controlled by NWDI.Here is a short overview of the exercise steps. For all details on how to implement the model see the exercise description.The next exercise will modify one of the Web Dynpro components the Notify View - to change the behavior of the Resubmit button.There are several use cases that require a Track Move.

    For example it may be that you have a test NWDI on which you start developing your application in a sandbox Track and then later you want to move this Track to your productive NWDI landscape.

    Another use case would be renaming of an existing track.

    It is also possible to move parts of your NWDI to new hardware by moving tracks to the NWDI on the new hardware. This might be needed if for example the amount of data stored in the DTR Server becomes too big, in this case the sources for some Tracks can be moved to a new DTR Server.For moving the complete NWDI to new hardware it is recommand to use the System Copy Tool as explained in the Note 877029. However the System Copy Tool will move ALL applications installed on the engine. If you have the usage type DI + other usage types installed on your engine and you want to split the DI usage type from the others you can do this moving all the tracks to a new NWDI on another system.

    In addition the Track move can also be used for upgrade scenarios. With this you can move Tracks from an older NWDI to a newer NWDI. This way you can for example move your Tracks from an NWDI 7.0 system to and NWDI CE system. [Note: an normal upgrade from 7.0 to CE is not available]To move a Track from one NWDI system to another NWDI system 3 steps need be done: the Track needs to be created in the target NWDi the sources of the source Track need to be transported into the target Track the Track in the source NWDI can be deletedThe Track that is created in the target NWDI must be configured the same as the source Track. This means that the same archive SCAs have to be imported and the same set a Developed SCs should be configured for the Track. Sources should not be imported into the Track at this point in time (see next slides how the sources should be imported into the target Track).For the creation of the Track in the target NWDI the new CMS Wizard Create an Application Skeleton can be used. This wizard is available on the NWDI-devinf page, e.g.: http://localhost:50000/devinfAfter the target Track has been created we now want to transport the sources from the source Track into the target Track.Here it is important to know that the sources are stored in DTR workspaces that belong to the Track.

    [Note: for reducing the complexity in the graphic, the Tracks shown here are Single-System-Tracks that have only a Development System]To transport the sources from the source Track into the target Track there are two options: do an assembly in the source Track, export the SCA and import it into the target Track replicate the DTR content of the workspaces that belong to the TrackThe first option, to transport the sources from the source Track into the target Track by doing an assembly, exporting the SCA and importing it into the target Track, has some disadvantages that will be explained in the next slides.To understand the disadvantages of the first option we should first have a closer look at the development process and how it is reflected in DTR.All changes done in DTR are recorded inside activities which are on checkin integrated into the DTR workspace.Each integration in a workspace can be identified by the Integration Sequence Number (ISN) which is simply a counter of the integrations that happen in the workspace.What we see here is the integration history of one workspace and how it changes when development is ongoing.Lets assume that the first activity that is checked-in creates a new file a.txt.On the right side we see the first version of this file.A second activity creates another two files b.txt and c.txt, so also for these files we get a first version created in DTR.In a further activity the file b.txt is changed and so a second version of this file gets created.What we see in the columns on the right side is actually the version-graph of the single files. The little arrow marks for each file the active version (which is the version that is currently visible in the workspace).Development is ongoing and in another activity new versions of the files a.txt and c.txt are created.At last there comes an activity that bring another change of the file a.txt.If we look at the integration history of this workspace now. We can see that in the workspace currently for the file a.txt the third version is active, whereas for the files b.txt and c.txt the second version is active.The content of the previous versions is accessable throught the version-graphs. There you can also see by which activity the modifications were done an you can find out who was doing the change, when it was done and why.As next step we want to see what would happen if we assemble the current state of the Track to which this workspace belongs and import it into another DTR.During the assembly for each workspace that belongs to the Track a propagation list is created which contains the currently active versions of the workspace. Only these version are then brought into the new DTR.As we can see in the integration history of the workspace in the new DTR we have here much less information than in the source workspace.If the source workspace gets deleted we have lostthe revision historythe content of previous versionsthe activity details which includes the activity description, the activity owner as well as release information (was the activity already released in the track?) andthe integration dates.

    This is why the first option is not advisable if the track should be moved!If the complete version history should be migrated to the new DTR only option 2 is applicable, which replicates the content of the workspaces that belong to the Track.In the next slides it will be shown how this workspace replication is working.To replicate the content of the source workspace to the target workspace, we simply repeat all the integrations that happened in the source workspace in the target workspace.So the first step of the replication is to integrate the first activity into the target workspace. During this integration the historic timestamp and the original user are preserved.Afterwards all other integrations of the source workspace are repeated in the target workspaceThe 3rd activity is replicated.The 4th activity is replicated.The 5th activity is replicated.After the replication has finished, we have exactly the same state in the target workspace as in the source workspace.

    It is also possible to rerun the migration if further development has happened in the source workspace. Rerunning the migration would then only replicate the missing delta.This is especially good if the content of the source workspace is very big and because of this the migration runs for a long time (e.g. in case of ESS/MSS workspaces some hours). During the initial migration the development can continue in the source Track and only afterwards when the last delta is migrated a short downtime is needed.In the end all version-history information is also available in the target workspace.You have the full revision history, the content of all previous versions, all activity details and the integration dates.To do a workspace replication the DTR Console has to be used, which is a commandline tool for DTR Server administration.The DTR Console can be found in the installation directory of the engine under /usr/sap/[INSTANCE]/SYS/global/com.sap.dtr.console/run.bat.A description of how to move a Track is available in the SAP Help.

    As last step the source Track needs to be deleted. Deleted it in CMS does not deleted the workspaces that belong to the Track. The workspace afterwards need to be deleted manually. This can for example de done in the DTR WebUI or by using the DTR Console (see delete command).

    In this exercise the track MYTRACK on the NWDI system iwdf4377:51100 should be moved to your local NWDI on localhost:50000.The exercise includes only the first two steps:creating the track andreplicating the workspace contentsThe deletion of the source Track is NOT part of the exercise.Unlike trial versions which expire after 90 days, requiring you to uninstall, reinstall, and re-configure. SDN Subscriptions provides developers uninterrupted access to an environment that they can personalize and completely control, saving them valuable time and increasing productivity through reduced downtime.

    Specific subscriptions include: SAP NetWeaver Development Subscription. Hands-on access and ownership to the complete SAP NetWeaver software platform. (available in Germany and U.S.) Low cost, access to the SAP NetWeaver platform with a one year, development and commercialization license Choice of development method with SAP NetWeaver ABAP, Java, and/or composite applications Continuous learning presentations and demos to build skills in each of the SAP NetWeaver platform components SAP NetWeaver Content Subscription. An online library of continuous learning content to help build skills. (available globally)SAP NetWeaver Composition Subscription. Uninterrupted, total control for creating, testing, and selling Java-based solutions that integrate with SAP applications. (available in Germany and U.S.)

    To learn more or to get your own SDN Subscription, visit SAP NetWeaver, Development Subscription, www.sdn.sap.com/irj/sdn/devsubSAP NetWeaver, Content Subscription, www.sdn.sap.com/irj/sdn/subscriptions/contentSAP NetWeaver, Composition Subscription, www.sdn.sap.com/irj/sdn/subscriptions/composition

    Key Benefits include: Complete control Uninterrupted, hands-on access Latest NetWeaver software Continuous learning And Supporting services