This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
As far as I know, WorkManagers were introduced just to allow developers to execute tasks asynchronously, when asynchronous methods invocation wasn't still available (of course, it depends on which version of WAS you 're using).
WAS 8.5.x supports JEE 6.0, so you have full, Async EJB method invocation support: I think that under the hood a WorkManager is still used by EJB container to support async invocations, but you may want to define and configurate a WorkManager instance and tell the EJB container to use that as default instance for async EJB method calls.
In my humble opionion, I would prefer to use standars instead of product specific extensions.
Implementing asynchronous stuff with the WorkManager is quite exhausting. For heavy workloads you need a sophisticated websphere configuration - the standard does not work so well for that.
The programming model is also not neat.
Since Java EE 6 you can simply add an @Asynchronous Annotation to mark an method as async. Thats a lot easier to handle. You can also combine this quite easily with Java Futures.
However you may have to break down your WorkManager-code for that.