IanG on Tap

Ian Griffiths in Weblog Form (RSS 2.0)

Blog Navigation

April (2018)

(1 item)

August (2014)

(1 item)

July (2014)

(5 items)

April (2014)

(1 item)

March (2014)

(1 item)

January (2014)

(2 items)

November (2013)

(2 items)

July (2013)

(4 items)

April (2013)

(1 item)

February (2013)

(6 items)

September (2011)

(2 items)

November (2010)

(4 items)

September (2010)

(1 item)

August (2010)

(4 items)

July (2010)

(2 items)

September (2009)

(1 item)

June (2009)

(1 item)

April (2009)

(1 item)

November (2008)

(1 item)

October (2008)

(1 item)

September (2008)

(1 item)

July (2008)

(1 item)

June (2008)

(1 item)

May (2008)

(2 items)

April (2008)

(2 items)

March (2008)

(5 items)

January (2008)

(3 items)

December (2007)

(1 item)

November (2007)

(1 item)

October (2007)

(1 item)

September (2007)

(3 items)

August (2007)

(1 item)

July (2007)

(1 item)

June (2007)

(2 items)

May (2007)

(8 items)

April (2007)

(2 items)

March (2007)

(7 items)

February (2007)

(2 items)

January (2007)

(2 items)

November (2006)

(1 item)

October (2006)

(2 items)

September (2006)

(1 item)

June (2006)

(2 items)

May (2006)

(4 items)

April (2006)

(1 item)

March (2006)

(5 items)

January (2006)

(1 item)

December (2005)

(3 items)

November (2005)

(2 items)

October (2005)

(2 items)

September (2005)

(8 items)

August (2005)

(7 items)

June (2005)

(3 items)

May (2005)

(7 items)

April (2005)

(6 items)

March (2005)

(1 item)

February (2005)

(2 items)

January (2005)

(5 items)

December (2004)

(5 items)

November (2004)

(7 items)

October (2004)

(3 items)

September (2004)

(7 items)

August (2004)

(16 items)

July (2004)

(10 items)

June (2004)

(27 items)

May (2004)

(15 items)

April (2004)

(15 items)

March (2004)

(13 items)

February (2004)

(16 items)

January (2004)

(15 items)

Blog Home

RSS 2.0

Writing

Programming C# 5.0

Programming WPF

Other Sites

Interact Software

Is Oracle a Service?

Thursday 16 September, 2004, 10:22 AM

I've been following the recent discussion between Ted Neward and others about what, if anything, SOA really means. There are many interesting aspects of this conversation, but I wanted to focus on one particular point that Ted raised in a recent post.

"Again, I propose the question--is an Oracle database a service? (Pat Helland thinks so.)"

I think the answer may well depend on exactly what you're referring to when you say 'an Oracle database'. There are at least two different things people mean when they talk about databases:

database noun:

  1. The program running on a server box or cluster which is able to store tables of data.
  2. A specific subset of the data stored on (1). E.g. 'the Northwind database'.

In SQL server terminology, you can qualify that you're talking about (1) by talking about a particular SQL instance, but I'm not aware of a good concise way of making it unambiguously clear when you mean (2) and not (1). I don't know Oracle so I have no idea how to draw the distinction there. But for now I'll just refer to these as (1) and (2).

Pat Helland wrote a very interesting article on the distinction between 'Data on the Outside vs. Data on the Inside'. One way of approaching Ted's question is to ask this: is the data that comes back when I SELECT * FROM Orders data on the inside or the outside?

If you use definition (1) of 'database' then the data is clearly on the outside. We do not have any control over what data structures the database uses in memory or on disk to store the information we ask it to store. We simply get to send in messages in the form of SQL requests, and we get back messages in the form of tabular data. Moreover, going by the four tenets of SOA, it seems pretty clear that database (1) is a service.

But if we are talking about database (2), then obviously the data that comes back from a SELECT statement is data on the inside. Indeed, by definition (2), the database is the data. The boundaries are not necessarily explicit, because the data that comes back tends to seep into the code that issues the query; the code that uses the results of database queries tends to be pretty tightly coupled to that data. So going by the four SOA tenets, a database (2) is clearly not a service.

So the only real problem here is the overloaded nature of the word 'database'. If you're clear about what you mean by 'database,' then it seems to be fairly straightforward.

Copyright © 2002-2018, Interact Software Ltd. Content by Ian Griffiths. Please direct all Web site inquiries to webmaster@interact-sw.co.uk