Difference between an Automation Server and a Function Server?
I found this at a site. I hope this helps the new-bies.
Q. What are the difference between an Automation Server and a Function Server?
If you are familiar with C programming language, it's easy to understand the difference. Baan sessions' execution start with a set of Standard Objects( ottstpstandard, ottstp_stddll, etc.). These Standard Objects functions as main() in C programming term, i.e., the Standard Objects control what events to process, if and when each part of user program scripts would be executed, how to handle the main table's i/o, when to commit transactions, etc.. In other words, these Standard Objects are the mind of execution, the user program scripts are arms and legs to be controlled by the Standard Objects and provide feedback to the Standard Objects.
An Automation Server is still a Baan session with its full capabilities including 100% of the Baan program scripts AND the Standard Objects that are the ultimate control of the Baan event-driven execution and transaction commitments.
A Function Server is a 3GL object whose execution is not controlled by Baan Standard Objects. Therefore, it is not event-driven execution. A programmer must analyze the possible data conditions and attempt to simulate what the Standard Objects would do, i.e., the sequences of external functions the Standard Objects would call, the record locking and transaction commitments the Standard objects would manage. Predetermined execution sequences are hard coded in function servers that often miss the alternative paths that are data dependent at run time. In laymen term, this process is like having an auto mechanic taking apart engine, transmission, steering, breaking system, etc. from a car, reassemble them without the original circuitry and on-board computer modules to make a vehicle to travel from point A to point B. It would be very difficult and unreliable, not to mention poor performance when it does run.
Also, 4GL-only functions and certain macros in the original Baan program scripts cannot exist in function servers' 3GL execution environment. Therefore, the creation of function servers involves removing some of the critical 4GL-only source codes and replacing them with something that are pseudo-implementations of the original functions. In multi-session automation process, the conflicts in external variables and their side effects make function servers even more problematic.
In short, function servers are not as reliable as and much less robust than their respective Baan sessions. And they generally have poorer performance.
What are the difference between an Automation Server and a BOI (Business Object Interface)?
BOI is based on Function Server technology. Please refer to the answer above regarding the differences between Automation Server and Function Server.