JD Edwards EnterpriseOne as a Web Service Consumer

JD Edwards EnterpriseOne can consume web services from third-party systems. Although these web services do not expose a contract in the form of published methods and interfaces, they may need to be changed to take advantage of third-party enhancements or new services. Because JD Edwards EnterpriseOne business functions call the methods of the third-party web services, any new version or method must be added as new code that is called by the business function. You must determine how to control which version of the business service the business function calls. You might consider using a processing option or a service constant to control the behavior.

The only reason for changing a business service that consumes a third-party web service is that the third-party web service has changed. The following scenarios illustrate how to control the behavior of the business services using a processing option or service constant.

Scenario 1: A third party web service has changed--use a processing option

For this scenario, you should version method or value objects by appending a version number to the name. Most likely, the third-party service that changed is also versioned. The new version of the business service method is called directly from the JD Edwards EnterpriseOne business function, which may or may not pass new data to the changed third-party web service. You can create a new JD Edwards EnterpriseOne processing option to control the version of the business service method that is called and the data that is passed to it.

Scenario 2: A third-party web service has changed--use a service constant

An alternative to Scenario 1, is that the existing method could call the new method based on a service constant that controls what version is being called. In this scenario, all of the data passed from the business function must be the same for both versions. This scenario minimizes the impact to existing business function calls while allowing you to control what version of the third-party service is called.

Scenario 3: The consumer business service is calling a free web service that has been updated

You have decided to upgrade the consumer business service to use the new version of a free web service. There will be no impact to users of the consumer business service if the business service starts calling the new version of the free web service without giving the user the option to use the previous version. There is no need to version the consumer business service. You can enhance the JD Edwards EnterpriseOne web service to use the new version of the free web service providing no backward compatibility is required.