Flow Vs Java services

I am in the process of learning webMethods and I have developed some flow services for data transformation.
I would like to know the advantages and disadvantages of Flow services over Java Services.


There are many threads on this topic. Here are a couple of them.


Flow advantages:

  • Easier to write and easier to maintain.
  • Faster to complete most integration tasks than java in the hands of a professional
  • Easier to understand a hierarchical decomposition of a Flow service than a java service.
  • Flow plus the library of built-in service is able to accomplish most integration tasks without writing a line of java.
  • Less dependence on java means ease of ramping up folks who know the applicaitons but don’t know java.
  • Acceptably fast performance for most integration needs
  • Easy to extend when necessary (using java)
  • Seldom needs to be extended
1 Like

Thanks for your responses. I am continuing devloping flow services which are easier to devlop than java (not being a good java programmer) for data transformation.
I have devloped a simple service to data transformation and tested using the developer.
I want to test by sending i/p over HTTP or client. Please guide me thru this process.


most importantly, flow services are easier to debug. To debug a java service you will have to use an external IDE like eclipse or something. sys.out.println will not work from developer (atleast it is not straight forward).

1 Like

assuming there is a input field ‘input’ for your service, you can invoke your service via http as follows

http://hostname:portnumber/invoke/service.name.space/serviceName?input=&add other inputs here

Hello RKFord , Shahzafar , Rob !

I must correct the URL to Rob’s excellent “Integration Server and Java” thread:

For System.out.println messages, I believe if you redirect the stdout of server.sh to a file it should show it there.

Another nice trick in debugging Java services is using this where you want to stop the code and throw a message to the user:

 if (true){throw new ServiceException ("Reached here!");}

The ‘if (true)’ is to step around “unreachable statement” errors from the Java compiler.

Thanks for catching that. I’ve corrected the errant link in the post above.