Date post: | 28-Jun-2015 |
Category: |
Documents |
Upload: | akrishnanr |
View: | 4,814 times |
Download: | 6 times |
NW 7.0NWDI – Netweaver Development Infrastructure
NW 7.0NWDI – Netweaver Development Infrastructure
Anandha Krishnan RSAP NetWeaver Technology ConsultantKaar Technologies
Motivation
Design Time Repository
Component Build Service
Change Management Service
Netweaver Development InfrastructureNetweaver Development Infrastructure
Motivation
Design Time Repository
Component Build Service
Change Management Service
Netweaver Development InfrastructureNetweaver Development Infrastructure
Delivery Process – Shipment to CustomerDelivery Process – Shipment to Customer
• Challenge for Application Software Vendors – Customer Needs to change the Standard Software– Need Complete build environment– Need the delivery format including all type of executables and sources– Need Concepts for handling of modifications
• With NWDI– NWDI Package format enables the shipment of various software types (e.g.
jars, java sources and dictionary)– Build Services option allows recompilation of modified sources– Source Code control system based on distributed versioning
• Enables controlled source delivery between different locations• Allows conflict resolution between customer modifications and new SAP deliveries
Development Cycle in Web AS ABAPDevelopment Cycle in Web AS ABAP
• Dev -> Qas -> Prod• Common Transport Directory or Local Transport Directory• The Objects will be available in the form of data file and
control file.
Development with NWDIDevelopment with NWDI
Development Infrastructure – Learning from ABAPDevelopment Infrastructure – Learning from ABAP
Netweaver Development InfrastructureNetweaver Development Infrastructure• Is standards based
– J2ee– WebDav, DeltaV
• Repository standards for accessing and versioning arbitrary development object
• Supported by all development tool vendors– Developer front-end plugged into eclipse (open source
Development tool)• Offers Substantial savings in business application Development
– Supports various parts of Business Applications beyond pure code like DB definitions, UI definitions, web services…
• Supports all SAP Netweaver Authoring Environments (PDK, MDK, IDE,…)
– Supports strong and well organized reuse between many developers
– Central administration frees developers from technical details• Is Adaptive to customer needs
– From simple projects to huge projects– Support projects with hundreds of developers in multiple layers
and mixed with SAP modifications
Components of NWDIComponents of NWDI
Design Time Repository
Component Build Service
Change Management Service
Motivation
Netweaver Development InfrastructureNetweaver Development Infrastructure
DTR – Goals and BasicsDTR – Goals and Basics• Distributed concurrent development
– Distributed Versioning that spans repositories– Conflict detection– Support for conflict resolution
• Open standard– Based on open standard – WebDAV, DeltaV
• Files and folders– DTR has knowledge on files and folders– No knowledge on objects of programming model
(classes, tables, screens)• Check in/check out model
– Files are checked out from DTR and modified “Offline”
– After correction the files are checked in again
DTR - ArchitectureDTR - Architecture
DTR - ArchitectureDTR - Architecture• DTR Client
– SAP NetWeaver Development Studio – Eclipse based client to perform common tasks with DTR
– Command line client – Performs Administrative task’s
– Web browser – Access to DTR contents using web browser or WebDAV enabled client
• DTR Server– Handles file versioning– Uses relational database to store files– Resources are accessed in context of workspace– Versions are managed in context of activities
• Integration– Data transferred between client and server using
WebDAV and DeltaV+
DTR – Integration ConflictDTR – Integration Conflict
• Same file was changed in two workspace concurrently
• The changes are propagated and meet in workspace
• Conflict is detected and stored
DTR – Conflict resolutionDTR – Conflict resolution
• Conflict resolution– Create new merge version– Accept Current Version– Accept Integrated Version
• Merges– Are propagated– Conflict can be resolved
by integration
DTR – Distributed VersioningDTR – Distributed Versioning
• Propagation of changes between repositories
• Distributed versioning and conflict resolution– Changes are recognized as versions of same file– Imported versions are correctly placed into version
graph– No risk of overwriting changes in target repository
• Allows upgrade of source code modified by customers
DTR – User ManagementDTR – User Management
Motivation
Design Time Repository
Component Build Service
Change Management Service
Netweaver Development InfrastructureNetweaver Development Infrastructure
Component Based DevelopmentComponent Based Development
• CBS– Is responsible for building the sources stored in
DTR– Provides Central Build environment– Automated Build Process– Build process happens in Incremental fashion– Successfully built DC’s are put into DTR and will
be ready for release.– The source state will be changed to Active– Activation concept guarantees consistent build
environment
CBS UsageCBS Usage
• CBS is J2EE based database application• CBS is accessed with
– SAP NetWeaver Developer Studio: Activation view and Activation Request view are integrated into Developer Studio
– The CBS Web User Interface for CBS Administration
– Command line tools: There is a dedicated command line tool for working with the CBS
CBS - ArchitectureCBS - Architecture
CBS Architecture & Integration with other ServicesCBS Architecture & Integration with other Services
• CBS Request Receiver– J2EE Application which accepts request from clients– Places in request queue and assigns request number– Execution later done by CBS J2EE Service– User can Query the process status
• CBS Database– Contains the request queue and the archive pool with the
built and imported archives – Contains data on the buildspaces, the activated
development components and the activation state of activities in the DTR.
• CBS J2EE Service– Service of the J2EE Engine, which implements the actual
build engine – Takes the requests from the request queue and starts a
build task for every request to execute the request – Can execute Several build task in parallel– Several server nodes with individual CBS J2EE services in
one J2EE cluster
Cont.,Cont.,
• Build Directory in File system– To start the build for a request, the CBS J2EE service first
creates a temporary directory – source text from the DTR and the required libraries from the
archive pool are copied– Also copies the build space-related components of the build
environment, the build plug-ins
• CBS Build Controller– Build Controller loads the required build plug-ins and
requests them to execute the actual build. – Is a Java command line application, which is started as a
separate process
• CBS Web UI– a Web Dynpro-based Web interface, which allows users to
use the CBS from within a Web browser.
The Component Model - ExplanationThe Component Model - Explanation• Development Objects
– Stored as versioned files in the source repository (DTR)
• Development Components– Development and build units– Group development objects
without overlapping
• Software Components– Delivery and installation units (like
e.g. HR in ABAP)– Group development components
without overlapping– Own the release definition
• Products– Overlapping selections of
software components
CBS FeaturesCBS Features
• Encapsulation/Decoupling– Reusable elements explicitly declared public– Nested components– Access control lists restrict component usage
• Controlling Dependencies– Explicit declaration of dependencies– Checked by build process
• Build Support– Predefined build templates for component types
• Generic Model– Independent of technology / programming language
• Tools– Fully integrated in SAP NetWeaver Developer Studio
Development ComponentsDevelopment Components
• Development Component (DC):– Container for
development objects and built units
– DCs are grouped to make software components
• Nested DCs– DCs may be contained in
another DC• Public parts
– Elements of a DC that may be used by other DCs (DC-interfacing)
• Usage dependencies– Declare that a DC uses
parts of other DCs during build or runtime
Components and Development Studio IntegrationComponents and Development Studio Integration
• Eclipse project handling– Development Components are mapped to eclipse projects– DC types are mapped to eclipse project types (natures)– Projects automatically created from DC data in the
repository– Automatic references to used libraries based on DC
dependencies
• Local Component Build– Checks rules of component model– Same build procedure as on CBS
• Preconfigured DC types– Web Dynpro, Data Dictionary, J2EE, Web Services, Java …
Component Model StructureComponent Model Structure
CBS, Build ProcessCBS, Build Process
Motivation
Design Time Repository
Component Build Service
Change Management Service
Netweaver Development InfrastructureNetweaver Development Infrastructure
NW Development Infrastructure - Big PictureNW Development Infrastructure - Big Picture
JAVA Development Life CycleJAVA Development Life Cycle• SLD – Definition of software to be developed
– Define a product– Define one or more software components (SCs) that
form the product• CMS – Definition of development landscape
– Define a trackfor the specific release of the SC– Development configurations are generated for each
development state of an SC (DEV or CONS)• Dev Studio – Edit and Build development
objects– Use the SAP NetWeaver Developer Studio with
access to the SAP NW DI for all development projects
– Release objects for further processing by QM/Admin.• CMS – Define further use of SC’s
– Transport into next dev. steps, quality assurance, and assembly using the Change Management Service
• CMS – Deliver Software components and patches
– Deliver software component versions building products as well as support packages
• CMS – New track for next software release
Track definition in CMSTrack definition in CMS
• A track comprises configurations and runtime systems (systems in CMS) required for developing software component versions.
• It ensures stable states of deliverables used by subsequent tracks.
Local and Central Development IntegrationLocal and Central Development Integration
• environment defined by development configuration
• based on SAP Component Model
• NetWeaver Developer Studio as local IDE
• Central versioning with the Design Time Repository (DTR)
• Local build and test cycles while developing components in inactive state
• For activating a development component, central build using the Component Build Service (CBS) is necessary
• Tests can run on central test system of the development system
Summary – Java Development StepsSummary – Java Development Steps
Summary – NWDI BenifitsSummary – NWDI Benifits• Higher efficiency in development
& maintenance• Allow Source-Delivery for
applications• Component concept
– better means to structure the software– control of dependencies
• CBS & BuildTool– no handwritten build scripts– consistent and up-to-date libraries for
IDE– activation check
• Design Time Repository– controlled source delivery &
modifications– avoidance of multiple maintenance
• Change Management Service– central control of logistics (similar to
TMS)– immediate deployment into central
test runtime– early integration
Questions?Questions?
Q&A
Source: http://help.sap.com, http://sdn.sap.com
Thank You
Thank You