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 |
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). |
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. |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |