Hi:
You said: "Example of a simple use case: Workflows can be designed to interact with workers/approvers to automatically/manually move forward a process. For example, user1 submits document via web, user2 approves and adds document, and finally it is finished. The software should be able to keep track of the processes for everyone, so workers can keep track of the work and other users such as submitters/managers can see how the process is going. Processes also need to interact with our oracle/sql dbs and cold fusion envrionment."
My comment: Sounds like you are trying to jump into a solution without knowing the system end-user's world, ie, the business at hand.
My suggestion: Let your imagination run wild and imagine that you have perfect technology at hand. In this imaginary scenario, there is no need to develope a solution; a black box solution just magically appears when needed. The system users simply state what info they need and "puff", like magic, it instantly appears - no work is required to retrieve it.
Now ask yourself, in this world of perfect technology, what info does does the user need to get business done. Such info is called the essential business requirement. After you get the essential business requirements, and most of all, have an understanding of logically how they all initerrealte, THEN think solutions.
Tony