Re: Nextra's K2 and large-scale CL apps

Marco Baringer <[email protected]> Wed, 05 Nov 2003 23:36:03 +0100
Newsgroups gmane.lisp.clump
Message-ID <[email protected]>
Guan Yang <[email protected]> writes:

>  - What is the purpose of the "Sherpa" layer (layer 2)? Is there an
>    open source equivalent? Why doesn't the CL code access the
>    database  directly?

i don't know. maybe they didn't want to mess with FFI. Personally I
had no problems attaching oracle 8.1.7 to UnCommonSQL, but maybe they
didn't want to or didn't know about UnCommonSQL.

>   - How do CL applications like this usually handle the
>     object-relational mapping? Do you write tedious code that creates
>     a  CLOS instance for every row in a database, and equivalent code
>     to  update the database when the CLOS object changes, or is there
>     some  library to make this easier?

[lispniks dont write tedious code. lispniks write tedious code
writing macros.]

a) they don't. They use prevalence or save-image.

b) (a) doesn't go over very well with a lot of people (like the ones
   who want to be _sure_ the orders don't get corrupted (or who
   already spent 50000 EUR for oracle)) so they write a
   define-data-object macro which creates a CLOS class and the code
   for mapping to the rdbms.

c) they use UnCommonSQL

>   - Many CL success stories mention being able to update the system
>     "live" as a huge advantage. How exactly is this implemented? Is
>     there  some way to telnet directly into a running server, or does
>     the  programmer have to implement some kind of toplevel and way of
>     communicating with it?

a) all lisp implementations provide a console based repl. use
   detachtty (or something similar) and an ssh tunnel.

b) cvs update the source code, stop the writes to the db, reload
   (either via a repl or some backoffice form).

either way you will sometimes have to write code to correct any
inconsistencys in the data structures, but that's usually a fairly
small problem (essential, but small).

-- 
-Marco
Ring the bells that still can ring.
Forget your perfect offering.
There is a crack in everything.
That's how the light gets in.
     -Leonard Cohen