I may have missed something but there is nothing in the thread indicating that using Java would provide a benefit.
There is also no indication that speed is a concern. Speed is usually addressed via measuring/profiling where the time is spent and improving the specific bottleneck, rather than assuming one approach is faster than another and optimizing prematurely. In most cases the speed differences are minor and immaterial. The “copy of the pipeline” during INVOKE is frequently mentioned as a speed problem but that is something that is trivial to overcome using scope or invoking as a transformer (assuming one has measured and determined this is where the time is spent).
Regarding “complex logic” there have been many threads over the many, many years. Complex is in the eye of the beholder. The recommendation to use Java is typically based upon relatively ill-defined terms of “complex” and “faster”.
This is definitely a YMMV item, but IME it is very rare to resort to a Java service for “complex mapping.” Instead, we have focused utilities such as string manipulation, using collections, etc. The main “driver” is a FLOW service, calling utilities like concat, split, regex-based search/replace, add to map, and so on. We never have a Java service that performs “complex logic” as the “main” service. Of course there are Java services, but the “logic” is in FLOW, not Java.
In general, resist the urge to write something in Java. Of course there are times it is the “right” way but using Java should be the exception, not the common practice.
As always, just my $0.02.
#webMethods-io-Integration#webMethods