Hey guys this is my first post in this forum and i'm new to Openedge database. I need an information how the broker process allocates server and how communication is performed between broker and server????? Thanks and regards...
Hey guys this is my first post in this forum and i'm new to Openedge database.
I need an information how the broker process allocates server and how communication is performed between broker and server?????
Thanks and regards...
When a broker is started, it listens for network logins over tcp/ip (ipv4 or ipv6) on the port number (or service name) specified by the -S configuration parameter. You can start more than one broker if you want, with different configuration parameters.
When a login request arrives, the broker either assigns the new client to an existing server process or starts a new server process and assigns the client to the the new server. The broker sends a reply message to the client telling it to which server it should connect. If there are no server processes with free slots and you are at the maximum number of server processes or maximum number of connections, then the login request is rejected. After the client receives the reply from the broker it terminates its connection with the broker and (assuming login was not rejected) connects to the specified server. After that, there is no further communication between client and broker. Communication between brokers and servers is via shared memory data and is infrequent.
There are also self-serving clients that combine the client and server into a single process. In those, client and server comminicate by means of subroutine calls instead of network messages. To use those, the client must be executing on the same machine as the database. Self-serving clients are for 4GL only.
There are configuration parameters that control the maximum number of connections, maximum number of servers, maximum and minimum number of clients per server, number of servers for sql cleints, number of servers for 4GL clients, port ranges, ssl, etc. With suitable arrangement of the configuration parameters, you can do round robin, filling servers roughly equally and starting them as soon as possible, or start new servers only when all existing ones are maximized.
Clients can be SQL or 4GL. If SQL, then either JDBC or ODBC (no other types of sql interfaces are supported). If 4GL, then either slef-serving or networked. For SQL, there are 32 and 64 bit ODBC driver shared libraries and a type 4 JDBC driver. There is no charge for the ODBC or JDBC drivers.
The relevant configuration parameters are (see database administation manual for details)
Message was edited by: Gus Bjorklund
Excellent !! Thanks Gus for the detailed information.
Hey Buddy thanks a lot. I got an idea now but still i have a doubt! How Server identifies that this client gonna get connected ? Do broker pass any information about the client to server?? Where does client authenticaion take place,either by broker or server??
Thanks and regards,Aravind.
Also intimate me whether attached pdf describing the architecture of OE RDBMS is right???Coz i made it myself with my own assumptions.If you have any clear OE DBMS architecture,kindly attach!
thanks & regards
nice investigation. But the "mindmap" doesn't look like newbie! Do you reverse engeneer?
The main thing is you only need to know, how to connect to the database, and get/set your data for your application,
and to be sure, that your Data is best in Progress' hand.