Rules
Follow these rules when you develop published business service value object classes:
Implement the serialize interface for all published value objects. This facilitates exposing the published business service as a web service.
Initialize published business service value object compound attributes. This is to prevent null pointer exceptions when the method calls accessors.
Expose published business service value object compound collections as arrays. Collection objects such as an ArrayList cannot be exposed from a web service at this time.
Do not change published value objects, because the change breaks the contract that was created by the original value object. This is to support backwards compatibility.
Do not add a new field, because this breaks the original contract that was set by the value object. You must create a new version of the value object and method.
Create response value objects that contain a complete message (more than just keys).
Place mappings between published and internal value objects in a method in the published value object.