Web Services use XML as the language in which the Web service is called, including any parameter type information that needs to be passed to the Web service. Therefore, the client would need to extract the required information from its Objects and put them into XML in order to make the Web service call.
Without the "Web" in Web services, an SOA might support native calls, such as Java. In this case, the client could pass the objects "as is" and let the SOA manage how to get them passed to the requested service.
In this SOA scenario, the performance of nested Java objects as paramenters is dependent upon how the SOA implements the object to service call. It also depends upon deployment issues such as remoting.
To increase performance of service calls in an SOA world, it is extremely important to implement appropriately course-grained services. Having course-grained services minimizes the number of client to service calls, increasing performance over fine-grained services.
Course-grained services also allow the service to provide real business domain functionality without requiring the client to know too much about the internals of the service. This allows a much looser coupling between the client and service, providing increased flexibility. For example, it might be possible to optimize the service by reimplementing a core piece. Since the service is course-grained, the implementation of the service can change significantly without affecting the service's API.
Dig deeper on Service-oriented architecture (SOA) implementations
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.