0

I'm reading an Oracle book, which states:

Java stored procedures are, of course, written using Java, and they facilitate the implementation of data-intensive business logic using Java.

What is "data-intensive business logic"? Would OLAP be an example and if not what would be?

lovespring
  • 19,051
  • 42
  • 103
  • 153
  • I suppose this means that the BL is completely separated from the data layer. No need to know where and how the data is stored and the data doesn't know what the business part needs to do. – Thrash Bean Feb 09 '14 at 21:07
  • This sounds like marketing speak, and [a Google search would seem to reinforce that preconception](https://www.google.co.uk/search?q=data-intensive+business-logic&oq=data&aqs=chrome.1.69i57j69i59j0l4.1689j0j7&sourceid=chrome&espv=210&es_sm=93&ie=UTF-8#q=%22data-intensive+business+logic%22). Everything that mentions this phrase on the first few pages is a product-sheet of some description. Data-intensive business logic would just be business logic that deals with a lot of data. – Ben Feb 09 '14 at 21:30
  • I assume you're reading this in _Expert Oracle9i Database Administration_ (plagiarized in it's entirety [here](http://www.scribd.com/doc/109457719/Oracle-Part-3) if someone wants to view the chapter)? If so there is no context for this quote at all... – Ben Feb 09 '14 at 21:32
  • @Ben yes, a new book version about 11g – lovespring Feb 09 '14 at 23:11

1 Answers1

1

DB people love to say that all your "business logic"* should be in the database. In practice, I haven't seen this work, but even if you don't subscribe to this principle there can be cases where you need to do intensive data manipulation; say, transforming text-based records in such a way that requires data from multiple tables per document transformation.

Doing these kinds of things in the database (i.e. with stored procedures) saves you the serialization-network-deserialization-possible-ORM-etc hit, so it can occasionally be sensible. If you've already decided to do this, then doing it in Java if you have the option is 10000x better than doing it in PL/SQL which invokes cthulhu.

*business logic meaning e.g. expiring/renewing customer subscriptions. data-intensive business logic might be some kind of data warehousing/statistics, I suppose.

beerbajay
  • 19,652
  • 6
  • 58
  • 75