In my experience Oracle and Java only work easily when you use Oracle's Java products. Eg: Oracle's crapola JDBC driver subclasses... They tend to make it quite painful to do anything useful with standard Java APIs.
What version of Oracle are you running? If 9i then you may save yourself alot of grief to surrender now and use their app server (which in version 9i is actually Orion, which is a v cool server).
Otherwise use a friendlier database that doesn't especially tweak every last one of its features to force a vendor lock-in ;-)
But, no, haven't used their 'business components', what do they offer ?
BC4J offers several advantages. The one that I am most interested about is its object-relational database mapping. Through JDeveloper(Oracles IDE), I can easily create BC4J that map to a table of user defined data types in oracle, which is the current schema I have going.
Unless I find out other wise how to get the CMP bean to rely on these BC4J to get the underlying oracle objects, I have 2 choices: Use BMP to handle the interaction between these BC4J, or scratch the object-relational schema all together and use a standard relational schema.
Any one else have any experience here??
I am using Oracle 8i as of now, with plans to upgrade to 9i once they release it for windows.(I am only a student working on my masters project and so am doing everything off my home pc) I have attempted to use the 9iAS(application server) but 1) It is the biggest thing I have ever downloaded!! and 2)It is the hardest thing I have ever tried to install and get running, so I quickly gave up on that after having to re-install the database several times when the 9iAS installation would erase some database components and then not be able to completely install itself!
So I am quickly agreeing with you as to the pain that Oracle causes when dealing with Java!
BC4J components are not compatible with the EJB container. They must be deployed separately. I think Oracle has indicated that they are no longer supported.
Oracle's BC was supposed to be something that you could deploy as EJB or other forms like their "AppModule". I don't think you want to have your entity beans talk to their BC. It's equivalent to having your entity beans talk to their entitybean, I believe. If you plan on using it, you should just forget about having your own beans. Use their persistance and provided features. Anything above that you are SOL. :-)
BC4J is fully compatible with any J2EE application server. For an overview of what kinds of J2EE Design Patterns the BC4J framework can implement for you, please see: