Although CBS communication mechanisms run in the background without any user intervention, it is helpful to understand how they operate.
IFS/Constraint Based Scheduling is composed of at least three separate computer systems:
Communication between the Client windows and the Oracle database is accomplished by the
normal client/server mechanisms used in all IFS applications. However, communication
between the Oracle Database and the Scheduling Server requires a special CBS Bridge that
ensures data consistency in both storage locations.
The CBS Bridge is responsible for packaging and forwarding messages between the Scheduling
Interface methods that are called by the IFS applications
business logic and the Scheduling Server that receives those messages
and acts upon them. The CBS Bridge also returns messages containing the results of the
Scheduling Server actions.
The CBS Bridge consists of four elements:
Oracle pipes are mechanisms for transferring data between different sessions or jobs running in the Oracle database without storing the data in a database table. Windows NT sockets are mechanisms for transferring data between different tasks executing on a PC without storing it in a file.
The Session and Transport PL/SQL methods are called whenever data needed by a CBS site is added or modified in the IFS application. This can include data regarding a Work Center, Resource, Calendar, Shop Order, or Shop Order Operation. When you click Save in the Client, the IFS business logic begins processing and storing the information in the Oracle database. As information is inserted or modified, the CBS Scheduling Interface is called to transfer the data needed for scheduling to the Scheduling Server.
The Scheduling Interface inserts the data into messages in the IFS Message format and passes those messages to the Session methods. The Session methods ensure that an Oracle pipe has been created for the sending Oracle session or user and that the Bridge executable is ready to receive from this pipe. It adds a header to the messages to identify which Oracle session or user is sending the information, then calls the Transport methods. The Transport methods divide the message into 4096 byte pieces and pack them into an Oracle pipe.
The Bridge executable is a Windows NT program that runs continuously on a PC. It is normally installed on the same PC that is running the Scheduling Server. When started, the Bridge executable displays a simple window that records message transmissions as vertical lines on a horizontally scrolling field. These vertical lines appear on the right side of the window and scroll to the left. The vertical length of a line indicates how many bytes have been transmitted in the two seconds before that line was drawn. Lines extending above the center line represent messages from the Oracle database to the Scheduling Server, while lines extending below the center line represent messages from the Scheduling Server to the Oracle database.
The Bridge executable reads the message pieces from the Oracle pipe and transfers them to a Windows NT socket. Note that several IFS sessions or users may be sending messages from different Oracle pipes simultaneously. The Bridge executable reads from each pipe and transfers the data to a different socket for each session.
The Bridge executable alerts the Scheduling Server that message data is present in a socket. The Scheduling Server reads the message from the socket and stores it in internal buffers. It then begins processing the message, which can include storing or changing information in its in-memory data storage, returning information requested by the message, or starting a scheduling process. If information is to be returned, it is packaged into a message and transmitted across the Bridge in much the same manner that the requesting message was transmitted.
The CBS Bridge allows fast, layered transmission of IFS messages from an Oracle database to a PC executable with minimal overhead. It is a fundamental component of the CBS solution.