Skip to main content

I would go with a unified model that contains all the required info regarding the postal addresses from the different external services. This will be used in the "internals" of your application.

Your clients for the external services with the required interfaces will include a translation layer from the internal representation to the required schema by the service and vice versa. IMO conceptually this is where they belong, since I expect each external service will require a different translation.

This way you have a separation/abstraction of your core application which deals with a unified model and the interaction with the external parties. Changes byin the external service will not affect the rest of the application - only the client. You can add/remove clients offrom external services easier.

I would go with a unified model that contains all the required info regarding the postal addresses from the different external services. This will be used in the "internals" of your application.

Your clients for the external services with the required interfaces will include a translation layer from the internal representation to the required schema by the service and vice versa. IMO conceptually this is where they belong, since I expect each external service will require a different translation.

This way you have a separation/abstraction of your core application which deals with a unified model and the interaction with the external parties. Changes by the external service will not affect the rest of the application - only the client. You can add/remove clients of external services easier.

I would go with a unified model that contains all the required info regarding the postal addresses from the different external services. This will be used in the "internals" of your application.

Your clients for the external services with the required interfaces will include a translation layer from the internal representation to the required schema by the service and vice versa. IMO conceptually this is where they belong since I expect each external service will require a different translation.

This way you have a separation/abstraction of your core application which deals with a unified model and the interaction with the external parties. Changes in the external service will not affect the rest of the application - only the client. You can add/remove clients from external services easier.

Source Link
mart
  • 121
  • 3

I would go with a unified model that contains all the required info regarding the postal addresses from the different external services. This will be used in the "internals" of your application.

Your clients for the external services with the required interfaces will include a translation layer from the internal representation to the required schema by the service and vice versa. IMO conceptually this is where they belong, since I expect each external service will require a different translation.

This way you have a separation/abstraction of your core application which deals with a unified model and the interaction with the external parties. Changes by the external service will not affect the rest of the application - only the client. You can add/remove clients of external services easier.