private boolean _execRemoteApp(String application, boolean reset) {

	String xmlString = null;

	try {
	    URL url = new URL(HTTP_CAMERA_SERVER + HTTP_PATH_CONFIG + "?" + application);
	    xmlString = _readText(url.openStream()).trim();
	    Document document = _documentBuilder.parse(new InputSource(new StringReader(xmlString)));
	    _replyPanel.showReply(document, "Response to executing application = " + application + " on camera server", reset, EXPERT_MODE);

	    if(!isResponseOK(document))
		throw new Exception("XML response from camera server = " + HTTP_CAMERA_SERVER + " was not OK");

	    url = new URL(HTTP_DATA_SERVER + HTTP_PATH_CONFIG + "?" + application);
	    xmlString = _readText(url.openStream()).trim();
	    document = _documentBuilder.parse(new InputSource(new StringReader(xmlString)));
	    _replyPanel.showReply(document, "Response to executing application = " + application + " on data server", false, EXPERT_MODE);

	    if(!isResponseOK(document))
		throw new Exception("XML response from data server = " + HTTP_DATA_SERVER + " was not OK");

	    logPanel.add("Executed <strong>" + application + "</strong> on both servers", LogPanel.OK, true);

	    return true;
	}
	catch(SocketException e) {
       	    if(DEBUG) e.printStackTrace();
	    String message = "A SocketException can be caused if an invalid CGI argument is used after \"" +
		HTTP_PATH_CONFIG + "?\" in the URL.\n" +
		"Make sure \"" + HTTP_PATH_CONFIG + "?" + application + "\" is supported by the servers.\n" +
		"And check whether \"" + HTTP_PATH_CONFIG + "\" is supported by the servers.";
	    
	    JOptionPane.showMessageDialog(this, message, "SocketException", JOptionPane.WARNING_MESSAGE);
	}
	catch(SAXParseException e) {
       	    if(DEBUG) e.printStackTrace();
	    System.out.println("XML start\n" + xmlString + "\nXML end");
	    JOptionPane.showMessageDialog(this, e + "\nTry again.", e.getClass().getName(), JOptionPane.WARNING_MESSAGE);
	}
	catch(Exception e) {
	    if(DEBUG) e.printStackTrace();
	    JOptionPane.showMessageDialog(this, e + "\nTry again.", e.getClass().getName(), JOptionPane.WARNING_MESSAGE);
	}
	logPanel.add("Failed to execute <strong>" + application + "</strong>", LogPanel.ERROR, false);
	return false;
	
    }