The usage type Development Infrastructure (DI) is also referred to as SAP NetWeaver Development Infrastructure (NWDI). NWDI provides an infrastructure for developing applications on the SAP NetWeaver platform and is responsible for versioning, build and life cycle management of these applications.
The NWDI takes care of all parts of the development process in a project-specific way:
● Central source file management – in the Design Time Repository (DTR), a file storage in a database with export mechanisms that allow you to synchronize the instances of the DTR in a distributed development.
● Central build and archive management – in the Component Build Service (CBS), gives developers access to the latest archive versions in a central DB storage and a central build triggered by the developer.
● Central landscape and transport management – in the Change Management Service (CMS), gives administrators a central service to set up development landscapes for all development tasks and manage all transport processes for these tasks in the same UI.
The applications you develop are split into software components (SCs) (the installation units) and development components (DCs) (which are exactly on the granularity of projects and contain all development objects plus the aforementioned metadata).
In addition, the development is performed in what is called a track. The track abstraction allows you to develop different maintenance context for the development of specific releases of your software. The track also takes care of the phases development and consolidation and all transport processes from start to finish when the application is deployed to the productive system or delivered to customers. In this way you have better control over the development versions and the exact source development.
The following figure shows the main components of the NWDI and the relationships between them throughout the development process:
CMS defines source management (DTR) and archive management (CBS) for the new development project. Usually, almost everything you develop is stored in a database. A connection to the database for the software catalog is obtained to keep a track of what is developed. There are also runtime systems for automated deployment during all project phases. They are accessed by the developers either using the Developer Studio or the workplace.
The Developer Studio is SAP’s development environment based on the Eclipse Foundation’s Eclipse platform. With its comprehensive set of development tools and wizards, it is a robust environment for developing and running large-scale enterprise applications based on both standard (Java EE, J2EE) and SAP-proprietary (for example, Web Dynpro) models. From application developers’ point of view, the Developer Studio also serves as an interface to the NWDI services to facilitate large-scale development projects.
The Developer Studio is not part of the installation of usage type DI. The NWDI is a server-side installation, which can be accessed by multiple Developer Studios.
The DTR overcomes many of the limitations of file-based versioning systems for all kinds of development objects required in the development process. Java sources, XML files, and so on, are stored in a database, but still they are exposed to the client as files and folders, visible in the Developer Studio. The limitation we overcome is that the file version history is always transported together with the file, so that we can synchronize different DTR over repository boundaries by simple file transports.
Each file or folder has its own version history. DTR workspace allows you to group sets of files in a particular version for a specific purpose (for example, development, maintenance of delivered releases, and so on).
Developers access the DTR simply by checking out source files or by synchronizing files for read access to their local hard disks. After local development and testing, they check their changes in. The DTR manages distributed versions and is capable of resolving version conflicts when integrating changes from other workspaces.
The CBS is responsible for building the sources that are stored in the DTR and is the central build environment. Unlike in other central builds, the CBS also centrally hosts and makes available the latest archives and build results for all developers. The CBS also makes the integration available on the archives level, even for those objects that are still under development. The build is component-based; if a build fails, only a component is delayed. All other components will simply use the latest valid (that is successfully built) version in a central build.
In contrast to the conventional build tools, the goal of the CBS is to automate the build process in an incremental fashion. That is, only the changed files, as well as files that have a dependency on them, are built instead of building all sources from scratch.
This incremental builds concept dramatically reduces the source code correction cycles.
In addition, in CBS dependent objects are only rebuilt if the public parts they use have been changed.
The CMS is responsible for transporting and setting up the logical development landscapes and then for transporting the software changes centrally to various systems or tracks within the development landscape.
The usage type Application Server Java (AS Java) is a prerequisite for the usage type DI.
There are usage types that also use the DI functionality:
● Process Integration (PI)
● Enterprise Portal (EP)
You can also use the NWDI for custom development and Web Dynpro development.