Skip to main content
Version: 8.7.x

Development Process and Tooling

Self-Managed Commerce is provided as source code, and subsequent patches and updates are also provided as source code. Self-Managed Commerce customers modify and extend the source to meet the unique needs of their business, and so a Self-Managed Commerce project is a software development project that includes all portions of a software development lifecycle. You must implement and follow good software development practices throughout the lifetime of your Self-Managed Commerce system.

The implementation team will require software development tools, processes and systems to work effectively together.

Infrastructure Overview​

Self-Managed Commerce is developed in the Java programming language and builds are controlled using the Apache Maven build tool. Your project will require tooling to integrate, build, test and deploy the Self-Managed Commerce code changes that the implementation team will develop over time.

The following diagram illustrates an example of typical infrastructure and components that make up a Self-Managed Commerce continuous integration and deployment solution.

Self-Managed Commerce Deployment Overview

For more information of the infrastructure components see Self-Managed Commerce Deployment Solutions.

Deployment Artifacts​

The Self-Managed Commerce build and continuous integration (CI) processes generate several deployable artifacts. For more information about those artifacts, see Self-Managed Commerce Deployment Artifacts.

First Steps for Shared Development​

The initial steps to help the development team work effectively together are:

Continuous Integration and Deployment​

Once the development begins, the team will require continuous integration (CI) tools to build and test Self-Managed Commerce code changes. For more information, see Setting up Continuous Integration Server.

Integration and QA Environments​

The team will require Self-Managed Commerce integration and QA environments where code changes can be deployed and validated. For more information see, Test Environments.

Other Development Considerations​

Service containerization​

Self-Managed Commerce is most often run in Docker-style containers. For more information about containerization tooling, see DevOps Tooling.

Branching and Maven artifact versioning​

Some suggestions around artifact versioning are available in Branch and Version Number Convention.