3 ms·
For those who are wondering, the best description I have seen is on wikiwikiweb, https://wiki.c2.com/?TransactionProcessingMonitor https://wiki.c2.com/?Transac
by crdrost 4y ago
For those who are wondering, the best description I have seen is on wikiwikiweb,
https://wiki.c2.com/?TransactionProcessingMonitor https://wiki.c2.com/?TransactionProcessingMonitor
The essential idea is apparently to have a central server which does not know your application code directly, spawning workers—application code processes with some communication protocol. The supervisor can then have better uptime guarantees because it doesn't crash when application code crashes. With some more tweaking (what tweaking exactly?) the supervisor is able to enforce transactional consistency: if a worker crashes, we can roll back any partial updates it was doing. Is that about right?
Would be interesting to know about your “how to program” comment in greater detail. Do you mean just the idea of buffering client connections and maintaining a worker pool? Or is there some hard problem around transactionality that needs to be solved and a particular perspective for it? Both? Neither?
- zabzonk 4y agoThe last TP monitor I used definitely had a programming API, but I'm afraid that I've been retired from programming for so long now that I can't remember how I used it :-( You definitely had write code (or at least config files) to tell the thing what sort of transactions to monitor.
- jonahbenton 4y agoTuxedo is a good example of this type of system. Code interacting with Tuxedo generally written in Cobol but libraries would be available in other languages like C. To start to understand this, think of a world where * http and webservers do not exist * sql and databases do not exist * ram is measured in kilobytes * storage measured in megabytes * there is network connectivity but tcp/ip is not pervasive and there is no dns * files exist and there are myriad wonderful binary data storage formats There are so many other weird things but best just to dig into the docs: https://docs.oracle.com/cd/E72452_01/tuxedo/docs1222/pcb/pbint.html https://docs.oracle.com/cd/E72452_01/tuxedo/docs1222/pcb/pbi...