Business Services

Business services, commonly called internal business services, perform a specific task. Internal business services do not have a public interface; methods and interfaces are called by published business services. You can change methods and value objects as long as the change to the internal business service does not affect the behavior of the published business service that calls it.

Because the methods and interfaces of internal business services are not public, it is practical that these will be reused, and may be called by both the new version and the existing version of the published business service. The internal business service can provide existing behavior for the existing method while still providing new behavior for the new method; the internal business service does not require renaming or version numbers. However, if the behavior is different, you create a new method or you could copy the original method and append a version number to the method that you copied.

For the internal value object, new non-required fields can be added without affecting the published business service. Typically the internal value object contains all of the fields that could potentially be passed into a business function or input/output call. So it is likely that the field is already included in the internal value object. Fields may be moved from one internal value object to another. You can make these changes to the internal business service without affecting the public interface.