| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)
Christian Brunschen wrote:
> In article <1149165601.331313.237840_at_u72g2000cwu.googlegroups.com>,
> <frebe73_at_gmail.com> wrote:
>
>>>For a trivial example, consider an application that needs to somehow >>>authenticate users (because different users have permission or not for >>>different parts of the functonality of the application. The user >>>information (name, password, etc) will have to be stored somewhere - a >>>relational database might be an excellent place, in particular if this >>>application is essentially a stand-alone one. >>> >>>However, it might be that the application is intented to be integrated >>>into an existing infrastructure, that has user information stored in an >>>LDAP-accessible database; or for another example, the user information >>>might be stored in a Unix-style flat file (a la /etc/passwd). >> >>Yes, authentication data may be stored in older obsolete hierachial >>databases (LDAP).
I agree that obsolete is a very poor choice of word. It implies unpopularity of something that might still be in good working order. In this case, the thing is very popular while not necessarily working all that well.
>>Using a pluggable solution is a good strategy here, >>like JAAS if you are using Java. But I have never seen any >>authentication solution were you actually get username and password
>>from the store. Instead you ask a serverice if your username/password
>>pair is correct or not. In this case, the interface sould not be >>between the application and the database, but between the application >>and a pluggable service.
Or one might simply use the very powerful and transparent authentication and security features of the dbms itself. I see no reason to fantasize additional complexity.
[snip]
>>There might be other examples there some data by techical reasons need >>to be stored somewhere else but a SQL database, but that is still not >>an argument for separating all SQL statements by default.
But I fail to see how abstractions separate anything from the application. The definitions of the functions/procedures/methods remain part of the application.
[snip]
>>Actually it would also be possible to write an own ODBC driver catching >>the SQL statements accesing the "user" table and call the LDAP database >>instead.
How does one create a higher-level interface in a lower-level language? Do you likewise recommend implementing higher-level interfaces to your C/C++/Java/OO-du-jour in assembler?
The end result is essentially the same: There's a sihgle,
> well-defined interface through which we can work with the data as
> necessary from the point of view of the application.
What makes it well-defined? The relational model is well-defined equivalently as set algebra and predicate logic. What causes you to consider an ad-hoc collection of features for creating large complex state machines well-defined?
[snip]
>>(I have done a similar solution while converting stored >>procedures to Java. The client still thinks it is calling a stored >>procedure in the database using "execute procedure abc()". But the ODBC >>realized that this is not a database call and calls the appropiate java >>method instead.)
So, I take it you consider expending considerable effort to re-invent existing services "cool" ? Does "cool" justify the expense? Are you the one actually paying for "cool" or is that someone else? Received on Thu Jun 01 2006 - 18:39:23 CDT
![]() |
![]() |