From: hoffman@xdelta.zko.dec.nospam Sent: Thursday, February 17, 2000 5:40 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: Inter-process communication In article <38AC734D.DB2B96B0@zisnet.com>, Bob Fera writes: :I have a character-based app running on VMS that I'd like to make more :"client-server-like". By that I mean that I want to split off some of :the functions of the app into a separate process. The two processes will :probably end up executing the same installed shared image. Is there any :way for one process (the client) to call a procedure in the other :process (the server)? If possible, this seems like the easiest way to :accomplish what we want. Other methods we have thought of involve :transmitting a request from client to server (via mailbox, global :section, etc) asking it to perform a function, which would translate to :a giant "case" statement in the server and thus be a pain to implement :and maintain. RPC and COM/DCOM would be available approaches, as would (depending on what you are up to) threads... The sharing of access to various shareable images is normal and is fully supported. The usual approach is to divide the application up based on the processing and communications requirements -- higher bandwidth communications can mean you should look at other process-level divisions of the application... Direct interprocess calling of code routines -- from one process to another -- is not supported, though there are more than a few ways to trigger routines and pass parameters... The lock manager, ICC, IP sockets, DECnet task-to-task, etc., are some of the many interprocess communications mechanisms available... Queues in shared memory, too... "Simulating" direct interprocess calling gets a little interesting, as you would have to account for the virtual address space in the target process, as well as figuring out how to pass the arguments over and return the results back... This verges on what various available RPC tools will provide for you... Other options include various middleware communications packages. (eg: BEA MessageQ) There are several RPC clients around, including one in the TCP/IP Services package and one that is part of the DCE environment... --------------------------- pure personal opinion --------------------------- Hoff (Stephen) Hoffman OpenVMS Engineering hoffman#xdelta.zko.dec.com