NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Janet, >Date: Mon, 22 Sep 2003 14:09:05 -0600 >From: "Janet S Gibson" <address@hidden> >Organization: NOAA >To: Steve Emmerson <address@hidden> >Subject: Re: 20030922: Request for information re: LDM The above message contained the following: > Thanks again for the information and your patience. It sounds like > LDM is a powerful system and a really good/dependable product which a > lot of people use regularly. Kevin at NSSL had very good things to > say about his experience with LDM. Just a few more questions and I > promise I'll leave you alone. Your questions are not a problem. Please feel free to continue asking them. > 1. What do you mean by async/sync? The callback's in Java don't wait > for data...plus they're multi-threaded. Would you still characterize > the behavior to be synchronous? I don't understand why RMI would be > considered synchronous. Java RMI implements a kind of remote procedure call (RPC). In a synchronous RPC-call, the initiator of the call waits for a reply from the receiver of the call before the initiator moves on to something else. This is done so that the receiver of the call can indicate whether or not an error occurred in processing the call. In an asynchronous RPC-call, the initiator of the call doesn't wait for a reply and errors must be handled by another mechanism. I belive Java RMI is synchronous in this respect. > 2. Since you use stdin how do you handle multiple data sources in the same > process? I'm not sure what you mean. Every decoder is designed to handle a particular type of data-product and the LDM ensures that all data-products of a particular type are written sequentially to the relevant decoder. It wouldn't make sense to have two decoders handling the same type of data-product. There could be a situation in which multiple instances of the same decoder were used for disjoint sets of data products. One would have to ensure in the LDM configuration-file that data-products went to the right decoder instance. > 3. If I were to put a Java decoder (with RPC) on a windows box, could > I then interface with the LDM server? Or put another way do you need > LDM on a box before using the Java RPC solution (can the clients be > run on a straight Windows box)? Decoders aren't intended to receive their data-products via RPC. They are intended to read their data-products from standard input. When an LDM system receives a data-product, it looks up the type of the data-product in a configuration table and pipes the data-product to the indicated decoder. Consequently, data-product decoders need to run on the same computer on which the LDM runs. I can imagine a Java-based decoder running on the UNIX system that runs the LDM that reads data-products from standard input and disposes of those data-products by sending them via Java RMI to a nearby Windows system. Perhaps this is relevant? Regards, Steve Emmerson