I want to invoke my short/long lived processes through my java code.
Now, There are two ways to achieve this as i know .
1. Invocation API (which I am using currently now)
2. java client libraries
Now my question is whether one can use java client libraries to invoke workbench processes through java code?
If yes, is it better than Invocation API ?
You can invoke any service defined to LC (there are several exceptions for good reasons) whether they are out-of-the-box services or applications you have built yourself.
In my opinion, your preference for invocation should be based upon the best fit for your existing Java classes. That's the beauty of the LC APIs. They give you some flexibility. The invocation APIs are nice for dealing with documents (PDF and native file formats). However, if your Java class(es) use Web Services then use the SOAP endpoint to call the LC process, for example. If performance is an issue and the Java class(es) run on the same host as LC, then use EJB.