Determining if Versioning is Required

Use the following diagram to help decide whether you should create a version of the original method name and value object class name:

Determine whether to version an internal business service

When determining whether to version an internal business service method or internal value object, you should focus on the behavior of the internal business service. The goal is to maintain the existing behavior for the existing published methods while still providing a new behavior.

You may want to employ a technique where a version parameter is passed to the internal function. When called from the original published business service, a value of V1 is passed in the parameter and when called from a new version published business service, a value of V2 is passed. Within the internal business service logic, only new logic is performed if the parameter is V2. This keeps original logic intact while allowing additional functionality for V2.