Hi Chang Lu,
Yes, Oracle BPM stores process instance data in a database schema called "SOAINFRA" and yes you can query this schema.
However your way of thinking is wrong. You don't need to query the database for an instance to initiate a case. This can be achieved very easily using the design time tools provided by Oracle and BPM Studio.
Since you are new to BPM i would highly recommend you a very interesting article that explains the BPM environment http://www.oracle.com/technetwork/articles/bpm-environment-explained-097155.html and would also point you to the official Oracle BPM documentation http://docs.oracle.com/middleware/1213/bpm/index.html
Thank you for your links, there're helpful and I'm still in the midst of going through it.
In the meantime, the database schema stores process instance data in SOAINFRA, in an XML format right? Because let's say I would like to create Case records (sort of like a Operational database that stores all case records), this can be customized / built using development tools right (such as ADF)? And then these data can be exposed as GUI forms / views and chained up using BPM, is this understanding correct?
Oracle BPM generates the Human Task forms using ADF so you can customize these auto-generated forms to include data from your operational database.
Let's say you want your Human Task form to include the details of an order (order id, order total and status) then you will attach these 3 elements on your human task. On generation of the ADF form, JDeveloper will generate components for each element (for example, input text components) with their respective bindings. You can then grab the values of these components and store them in your operational database.
Hope this helps
I've ran across similar situations in the past where a customer employed a sizable payload that wasn't conducive to being stored in BPM or they wanted to query for some information in the instance payload while the instance was in-flight. You could create your database structure and surface it inside of the BPM Human Task using an ADF Business Component (BC). Inside of your BPM payload store a foreign key reference to your data. When the BPM Human Task is loaded, employ the reference to pull information from the ADF BC.