Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

The XMLRPC communication is already abstracted in the classes below. The Client and the Server interfaces share the same method signatures for the functionality. The Client side implementation serializes the operation requested by the caller and sends it the the Server side implementation. The Client class is in fact used as a proxy to the Server one. Specific to the XMLRPC implementation, the XMLRPC logic is used only for method call and parameter passing as String, the real parameter serialization is done with something independent of XMLRPC (Serializer).

Image Added

 

Code Block
Searching 152 files for "apache.xmlrpc."

/home/radu/oodt/catalog/src/main/java/org/apache/oodt/cas/catalog/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java:
   43  
   44  //APACHE imports
   45: import org.apache.xmlrpc.CommonsXmlRpcTransportFactory;
   46: import org.apache.xmlrpc.XmlRpcClient;
   47  
   48  /**

/home/radu/oodt/catalog/src/main/java/org/apache/oodt/cas/catalog/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java:
   38  
   39  //APACHE imports
   40: import org.apache.xmlrpc.WebServer;
   41  
   42  /**

3 matches across 2 files

...

A multithreaded, reusable XML-RPC server object. The name may be misleading because this does not open any server sockets. Instead it is fed by passing instances of XmlRpcRequest from a transport.

 Image Added

Code Block
Searching 126 files for "apache.xmlrpc."

/home/radu/oodt/commons/src/main/java/org/apache/oodt/commons/ExecServer.java:
   28  import org.apache.oodt.commons.io.Log;
   29  import org.apache.oodt.commons.util.*;
   30: import org.apache.xmlrpc.XmlRpcClientLite;
   31: import org.apache.xmlrpc.XmlRpcServer;
   32  import org.w3c.dom.*;
   33  import org.xml.sax.*;

2 matches in 1 file

...

There are two classes that uses xmlrpc, CrawlDeamon method startCrawling uses xmlrpc WebServer directly to get requests from a client to control the CrawlerDaemon. In the constructor of the CrawlDeamonController class xmlRpcClinent is used to send RPC requests to the CrawlerDaemon which are transformed into calls of the methods of CrawlDaemon. There is no abstraction of XMLRPC. CrawlDaemonController is used to call CrawlDaemon methods remotely.

Image Added

Code Block
Searching 74 files for "apache.xmlrpc."

/home/radu/oodt/crawler/src/main/java/org/apache/oodt/cas/crawl/daemon/CrawlDaemon.java:
   27  
   28  //APACHE imports
   29: import org.apache.xmlrpc.WebServer;
   30  
   31  /**

/home/radu/oodt/crawler/src/main/java/org/apache/oodt/cas/crawl/daemon/CrawlDaemonController.java:
   29  
   30  //APACHE imports
   31: import org.apache.xmlrpc.XmlRpcClient;
   32: import org.apache.xmlrpc.XmlRpcException;
   33  
   34  /**

3 matches across 2 files

...

The XmlRpcFileManager abd XmlRpcFileManagerClient, uses xmlrpc exactly the same as the crawler. XmlRpcFileManager uses the WebServer to process client request. In the same matter XmlRpcFileManagerClient send RPC requests to WebServer. SecureWebServer its a class that implements xmlrpc.WebServer and AuthenticatedXmlRpcHandler, for secure access to server throught username and password.  No abstraction of XMLRPC for this classes nether.

Image Added

Code Block
Searching 338 files for "apache.xmlrpc."

/home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManager.java:
   19  
   20  //APACHE imports
   21: import org.apache.xmlrpc.WebServer;
   22  
   23  //OODT imports

/home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/XmlRpcFileManagerClient.java:
   19  
   20  //APACHE imports
   21: import org.apache.xmlrpc.CommonsXmlRpcTransport;
   22: import org.apache.xmlrpc.XmlRpcClient;
   23: import org.apache.xmlrpc.XmlRpcClientException;
   24: import org.apache.xmlrpc.XmlRpcException;
   25: import org.apache.xmlrpc.XmlRpcTransport;
   26: import org.apache.xmlrpc.XmlRpcTransportFactory;
   27  //JDK imports
   28  import java.net.URL;

/home/radu/oodt/filemgr/src/main/java/org/apache/oodt/cas/filemgr/system/auth/SecureWebServer.java:
   26  
   27  //XML-RPC imports
   28: import org.apache.xmlrpc.AuthenticatedXmlRpcHandler;
   29  
   30  /**
   ..
   33   * @author kelly
   34   */
   35: public final class SecureWebServer extends org.apache.xmlrpc.WebServer
   36          implements AuthenticatedXmlRpcHandler {
   37  

/home/radu/oodt/filemgr/src/test/java/org/apache/oodt/cas/filemgr/structs/type/TestTypeHandler.java:
   56  import java.util.logging.Logger;
   57  import javax.sql.DataSource;
   58: import org.apache.xmlrpc.XmlRpcException;
   59  import junit.framework.TestCase;
   60  

10 matches across 4 files

...

PCSHealthMonitor its a class showing information and stats of various daemons. This class uses xmlrpc client through classes like CrawlerManager class, and directly is order to contact the daemons.

Image Added

Code Block
Searching 136 files for "apache.xmlrpc."

/home/radu/oodt/pcs/core/src/main/java/org/apache/oodt/pcs/tools/PCSHealthMonitor.java:
   28  
   29  //APACHE imports
   30: import org.apache.xmlrpc.XmlRpcClient;
   31  
   32  //OODT imports

/home/radu/oodt/pcs/core/src/main/java/org/apache/oodt/pcs/util/WorkflowManagerUtils.java:
   30  import org.apache.oodt.cas.workflow.structs.WorkflowInstance;
   31  import org.apache.oodt.cas.workflow.system.XmlRpcWorkflowManagerClient;
   32: import org.apache.xmlrpc.XmlRpcClient;
   33  
   34  /**

2 matches across 2 files

...

XmlRpcWorkflowManagerClient sends commands to the XmlRpcWorkflowManager (Server). Setup is very similar to before.
It is using XmlRpcStructFactory to transform XmlRpc data types to actual objects.

Image Added

Code Block
Hashtable pageHash = null;
...
return XmlRpcStructFactory.getWorkflowInstancePageFromXmlRpc(pageHash);

...