mraguthu
21st July 2003, 19:54
Please answer some one....
Francesco
21st July 2003, 21:59
Because it really is both.
A bshell (virtual machine) is multi-threaded.
The database driver is multi-threaded.
However, any bshell can only have one database driver at a time. Whenever the bshell puts out a request to the oracle driver, all other activity in that bshell is put on hold (blocked).
Consequently, the bottle-neck in any process is the single-threaded bshell-database connection. The same applies when using the openworld interface, which is in effect a shell over the bshell's field-buffer.
NPRao
21st July 2003, 22:26
However, any bshell can only have one database driver at a time. Whenever the bshell puts out a request to the oracle driver, all other activity in that bshell is put on hold (blocked).
Francesco,
I have to contradict you.
If I have multiple databases for my BaaN instance, then I can spawn multiple oracle driver connections based on the companies I am accessing.
[DEV:nprao]/app/common/home/nprao >ps -ef | grep nprao
nprao 13788 13786 0 11:12:51 pts/16 0:00 /usr/bin/ksh
nprao 6821 6810 0 08:53:51 ? 0:00 dtwm
nprao 15598 15592 0 11:44:01 pts/5 0:00 rlogin ml022
nprao 6813 1 0 08:53:51 ? 0:00 /usr/dt/bin/ttsession -s
nprao 23204 23202 0 08:46:23 ? 0:02 oracle8 (nprao[root]:23202/LSOCKET<prashanth@MBN273282:21
nprao 23203 23202 0 08:46:23 ? 0:00 audit (nprao[root]:23202/LSOCKET<prashanth@MBN273282:2132
nprao 11341 11340 0 08:55:36 ? 0:14 /usr/dt/bin/dtterm
nprao 15592 11343 0 11:44:01 pts/5 0:00 rlogin ml022
nprao 11340 6821 0 08:55:36 ? 0:00 /usr/dt/bin/dtexec -open 0 -ttprocid 2.-70oF 01 6813 1342177
nprao 11493 13788 0 12:10:54 pts/16 0:00 grep nprao
nprao 11492 13788 7 12:10:54 pts/16 0:00 ps -ef
nprao 23731 23202 0 08:48:59 ? 0:00 oracle8 (nprao[root]:23202/LSOCKET<prashanth@MBN273282:21
nprao 6783 6759 0 08:53:49 ? 0:00 /usr/bin/ksh /usr/dt/bin/Xsession
nprao 13786 13785 2 11:12:51 ? 0:00 /usr/dt/bin/dtterm
nprao 6810 6783 0 08:53:50 ? 0:00 /usr/dt/bin/dtsession
nprao 23699 23202 0 08:48:07 ? 0:00 oracle8 (nprao[root]:23202/LSOCKET<prashanth@MBN273282:21
nprao 13785 6821 0 11:12:51 ? 0:00 /usr/dt/bin/dtexec -open 0 -ttprocid 2.-70oF 01 6813 1342177
nprao 23202 12899 0 08:46:21 ? 0:06 bshell_lmssmbni (nprao@mbn273282:2132/SOCKET<prashanth@MB
nprao 11343 11341 0 08:55:36 pts/5 0:00 /usr/bin/ksh
[DEV:nprao]/app/common/home/nprao >
Please correct me if I am wrong.
shaboo
21st July 2003, 22:42
I think the single-threaded portion of OpenWorld is the tmboaserver session which will put the client request in a que and process them one by one. That is why I guess it is recommended to create separate bus components for heavy calls and have them run in a separate bshell.
Francesco
21st July 2003, 23:02
If I have multiple databases for my BaaN instance, then I can spawn multiple oracle driver connections based on the companies I am accessing.
And your evidently right.
Do you know how the event-handler deals with this scenario?
NPRao
23rd July 2003, 23:05
Francesco,
I uploaded the zip file at the link about the Bshell architecture -
How Bshell Works... (http://www.baanboard.com/baanboard/showthread.php?s=&postid=45992#post45992)
mraguthu
24th July 2003, 18:20
I appreciated every response.
Good site.