Hi Olexiy,
First of all, you might consider that your bean could be enlisted within a transaction. It would make me feel quite uncomfortable to know that the result of the transaction depends upon the result of an external process. If your process updates a file but the transaction rolls back, will the file be in a consistent state? Isn�t too much of a thought to have global (distributed) 2PC transactions depending upon an external, uncontrolled process?
Second of all it might raise security issue. You have to grant to the container the permission to run that process. This means that all deployed applications can run the same process.
Finally you might find this article pretty interesting:
http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps_p.html Regards.