To deliver your product, you have first to package it. There are different packages you can use for shipping your product to your customers:
Software Component Archives (SCAs) - this is the standard way to deliver software for the SAP NetWeaver platform.
Software Deployment Archives (SDAs) - for top-level applications you can deliver only the executable part of the software. You can directly deploy the SDA file.
Public Part Archives (PPAs) in Development Component Interface Archives (DCIAs) - for reusable components (Java EE server libraries, Web Dynpro components, Visual Composer components and so on). You can deliver only the metadata of the components. DCIA can be included in SCA file too.
How to do that?
Using the command line tool provided with the SAP NetWeaver Composition Environment you can:
package a collection of components into an SCA including only the deployable archives. This is required if you do not want others to reuse the delivered components.
package a collection of components into an SCA including the deployable archives and the corresponding interface archives. This allows customers to develop against these components. Those customers can directly import the SCA into their own SAP NetWeaver Development Infrastructure (NWDI) or into an SAP NetWeaver Developer Studio local installation.
package the public parts of a component together with the required metadata into a DCIA (and further into an SCA).
include source code into an SCA.
unpack a deliverable archive and drop the result into an existing version control system for example, or directly import them into an existing Design Time Repository (DTR).
Delivery of Source Code for Further Customization
In addition, you can deliver source code to your customers to allow further customizing or add-on development. The deliverable archive may contain sources for:
individual development components (DCs).
a collection of development components, for example a whole software component (SC).
A customer can add a new source compartment to an existing configuration, and then locate that compartment in the file system where it is accessible by the version control system in charge. Then he or she extracts the sources with the command line tool to the compartments root directory and refreshes the configuration in the SAP NetWeaver Developer Studio. The compartment tree is populated with components from the archive. Afterwards, the customer may put those components under version control. Deliverables that contain only individual components may be treated accordingly.
This mechanism may also be used for other purposes, for example for setting up a simple backup and restore mechanism for components in Developer Studio, or sharing DC sources without having a central version control system: a developer may pack a compartment and store the resulting SCA on a central share or backup system. Another developer may take that SCA and import it.
Note the following limitations connected with this kind of source code delivery:
There is no support for handling conflicts when different actors in a delivery chain develop independently in the same source code. You cannot prevent the customer from modifying delivered sources. When you ship a new version of the sources, there is no special support for updating and no support for merging the update with modifications done by the customer. You and the customer have to agree on a process how those conflicts are handled. For example, the customer can decide not to import the update you deliver directly into the active development line, but to unpack the delivered sources to some unconnected sandbox system and perform the required merges manually.
When you deliver source code to customers, it is important that you also deliver the required libraries and generators that are needed to build these sources. For example, it may be necessary to ship some archive compartments that contain used components.
There is no support for delivering deletions in a new version. If a source file was deleted, the customer has to manually ensure that the file is also deleted in the Developer Studio or source code management system.
If a customer prefers to work with the SAP NetWeaver Development Infrastructure (NWDI), this customer cannot directly import the source delivery package into the NWDI landscape. Between NWDI landscapes at different places, sources usually are exchanged through a more sophisticated export format that contains not only the pure source code, but also the versioning meta information of the exporting DTRs. This ensures that the importing repository can detect conflicts that arise due to modifications. If this versioning information is not available, the only way to import source deliveries is to unpack them to a file system and manually put them under version control with the Design Time Repository perspective of the Developer Studio. In case of an update, the customer would have to check out all affected files, merge them with the new versions from the source delivery, and finally check them in as a new version.