@Override
    protected void serviceStart() throws Exception {
        final Configuration conf = getConfig();
        YarnRPC rpc = YarnRPC.create(conf);
        initializeWebApp(conf);
        InetSocketAddress address = conf.getSocketAddr(
                HboxConfiguration.HBOX_HISTORY_BIND_HOST,
                HboxConfiguration.HBOX_HISTORY_ADDRESS,
                conf.get(HboxConfiguration.HBOX_HISTORY_ADDRESS, HboxConfiguration.DEFAULT_HBOX_HISTORY_ADDRESS),
                conf.getInt(HboxConfiguration.HBOX_HISTORY_PORT, HboxConfiguration.DEFAULT_HBOX_HISTORY_PORT));

        server = rpc.getServer(
                HSClientProtocol.class,
                protocolHandler,
                address,
                conf,
                jhsDTSecretManager,
                conf.getInt(
                        HboxConfiguration.HBOX_HISTORY_CLIENT_THREAD_COUNT,
                        HboxConfiguration.DEFAULT_HBOX_HISTORY_CLIENT_THREAD_COUNT));

        // Enable service authorization?
        if (conf.getBoolean(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHORIZATION, false)) {
            server.refreshServiceAcl(conf, new ClientHSPolicyProvider());
        }

        server.start();
        this.bindAddress = conf.updateConnectAddr(
                HboxConfiguration.HBOX_HISTORY_BIND_HOST,
                HboxConfiguration.HBOX_HISTORY_ADDRESS,
                conf.get(HboxConfiguration.HBOX_HISTORY_ADDRESS, HboxConfiguration.DEFAULT_HBOX_HISTORY_ADDRESS),
                server.getListenerAddress());
        LOG.info("Instantiated HistoryClientService at " + this.bindAddress);

        super.serviceStart();
    }
This module is responsible for talking to the
JobClient (user facing).
history-server/src/main/java/net/qihoo/hbox/jobhistory/HistoryClientService.java