few questions odbc + seaside

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

few questions odbc + seaside

Vaidas Didzbalis
Hello,
1. Can anyone share experience using Dolphin and Seaside?
2. Multithreading. Say we have Dolphin image on server hosting seaside
application that use oracle database via ODBC. Say two users connected and
first's user's session is waiting for database to return results. Will
another user be blocked? Squeak ODBC blocks entire image while processing
sql request.  Does Dolphin behave same way?
Thank you,
Vaidas


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

tgkuo
Hi Vaidas,


 Vaidas wrote:
> Hello,
> 1. Can anyone share experience using Dolphin and Seaside?
     I really had some experience in using Seaside on Dolphin for a couple
of months currently to serve my web site stably but at present, as a user,
I'm not quite mature to say anything expert enough on it since I'm not the
one that ported it or invented it originally ( see Steve Waring's web site,
http://www.chartexplorer.com/index.html or Seaside's
http://www.beta4.com/seaside2/ ). But I'd glad to see mutual interest on
this innovative web environment that it created in this News group, and
won't feel so lonely on the way, since Seaside's newsgroup is only active on
Squeak with Comanche server, which is at version 2 and becomes quite
difference to Dolphin's current port ( they said and preferred in Squeak's
jargon only, which I am not familiar at all or liked for its poor
perfomance, unstable image, strange Morph works, lack of UI or user friendly
debugging tools etc).



> 2. Multithreading. Say we have Dolphin image on server hosting seaside
> application that use oracle database via ODBC. Say two users connected and
> first's user's session is waiting for database to return results. Will
> another user be blocked? Squeak ODBC blocks entire image while processing
> sql request.  Does Dolphin behave same way?
     I knew Swazoo's web services are implemented on multithreading works in
Dolphin ( by forking process, see HTTPServer>>start) , the same is to each
ODBC querry that the web page's form request asked, it lived also in one
service. Dolphin's multithreading capability is good without significant
wait or lock ( for HTTP server, it used Processor's backgroundPriority, 3)
while processing the request , if something wrong really occurred, You may
ask those who are good at ODBC or threading.
     I'm using OmniBase quite well, which use transactions to eack querry
task, it would lock it while processing the transaction but won't block the
image, as I knew.



Best regards.
kuo.
http://tgkuo.dyndns.org ( in Chinese, big-5 coding only, my medical
professional site in Neurology).


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

tgkuo
Sorry, to clarify:
>      I'm using OmniBase quite well, which use transactions to eack querry
> task, it would lock it while processing the transaction but won't block
the
> image, as I knew.
    My image was really temporarily blocked while I'm saving the current
OmniBase transaction to a file.  During the block, the wait cursor was shown
and the whole image was frozen during the saving process ( It might be busy
at finding  indexed room in the target file, or doing GCs etc ).
    When processing the querries, it performed quite fast to its best
without significant wait ( that might depend on each ODBS vendor's specific
implementation in processing the querries).


Best regards.
kuo.


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

Avi Bryant-3
In reply to this post by tgkuo
"kuo" <[hidden email]> wrote in message news:<3ea7c492$[hidden email]>...

> But I'd glad to see mutual interest on
> this innovative web environment that it created in this News group, and
> won't feel so lonely on the way, since Seaside's newsgroup is only active on
> Squeak with Comanche server

I don't remember seeing many posts from Dolphin users on the Seaside
group, but we're more than happy to answer them.  I always assumed
there weren't any posts because there weren't any users of the Dolphin
port - but if you're hesitating to post because the list seems
Squeak-centric, please don't.  It wouldn't take many active Dolphin
users to change that bias.

> which is at version 2 and becomes quite
> difference to Dolphin's current port ( they said and preferred in Squeak's
> jargon only, which I am not familiar at all or liked for its poor
> perfomance, unstable image, strange Morph works, lack of UI or user friendly
> debugging tools etc).

I made an effort to keep Seaside 2 easily portable to Dolphin (it
originally required some Compiler modifications, for example, which I
removed after chatting with Jeff Odell), so it's just a matter of
somebody sitting down and doing it.  I'd be delighted to help out if
anyone wants to give it a shot.

And I don't think you're being entirely fair to Squeak, by the way -
performance is comparable to Dolphin, I've had no stability problems,
and it has the usual suite of debuggers and browsers (refactoring and
otherwise).  Morphic is indeed odd, but that hardly matters when
you're building web apps.

Cheers,
Avi


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

Vaidas Didzbalis
Hi Avi,
The problem with squeak is that it not connected to outer world. If you want
connect multi-user app to oracle, you have to develop OCI or JDBC bridges
yourself. For many average business app developers such heights are PITA. I
myself can afford being Squeak artist for a limited time.
Regards,
Vaidas


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

Avi Bryant-3
Vaidas Didzbalis wrote:
> Hi Avi,
> The problem with squeak is that it not connected to outer world. If you want
> connect multi-user app to oracle, you have to develop OCI or JDBC bridges
> yourself. For many average business app developers such heights are PITA. I
> myself can afford being Squeak artist for a limited time.

Where "outer world" means "Oracle", this is true.  The lack of a good
Oracle plugin for Squeak is indeed a PITA.  I'm happy to send you my
JDBC bridge code, however, which works passably well.  And the second I
*really* need it (ie, a client asks for it), I'll bite the bullet and
wrap OCI.

Ob-Dolphin - I don't think there was ever an answer to Vaidas' question
about whether FFI (eg, an ODBC call) blocks the entire VM or just one
Process.  Anyone?

Avi


Reply | Threaded
Open this post in threaded view
|

Re: few questions odbc + seaside

Roberto Lupi-2
In article <3eacf972$[hidden email]>, [hidden email] says...
> Ob-Dolphin - I don't think there was ever an answer to Vaidas' question
> about whether FFI (eg, an ODBC call) blocks the entire VM or just one
> Process.  Anyone?

Dolphin supports overlapped FFI calls, that is long-running calls to
external functions use their own OS-level thread. At the Smalltalk
level, only the current Process would be blocked.

That said, the Database Connection Base - Dolphin's ODBC wrapper - does
not use overlapped calls by default. I don't know the reason, modifying
ODBCLibrary to use overlapped calls would be easy.

I have developed a system for remote database synchronization in
Dolphin. The server uses ODBC to connect to a relational database, the
clients receive updates from the server over an home-grown RPC scheme.

We'll be testing this system for heavy load in the next month. If I find
bottlenecks in ODBC performance, I'll modify ODBCLibrary to use
overlapped calls.

--
Roberto Lupi