Persistent Mobile Foundation Analytics Receiver Server Configuration Guide

Overview

This section describes steps for Configuration of the PMF Analytics Receiver Server. For a complete list of configuration properties and how to set them in your application server, see the below section Configuration Properties.

Configuration Properties

The PMF Analytics Receiver Server can start successfully with following additional configuration.

The configuration is done through JNDI properties on both the PMF and the PMF Analytics Receiver Server. Additionally, the PMF Analytics Receiver Server supports the use of environment variables to control configuration. Environment variables take precedence over JNDI properties.

The Analytics Receiver runtime web application must be restarted for any changes in these properties to take effect. It is not necessary to restart the entire application server.

To set a JNDI property on WebSphere Application Server Liberty, add a tag to the server.xml file as follows.

<jndiEntry jndiName="{PROPERTY NAME}" value="{PROPERTY VALUE}}" />

To set a JNDI property on Tomcat, add a tag to the context.xml file as follows.

<Environment name="{PROPERTY NAME}" value="{PROPERTY VALUE}" type="java.lang.String" override="false" />

The JNDI properties on WebSphere Application Server are available as environment variables.

  • In the WebSphere Application Server console, select Applications → Application Types → WebSphere Enterprise applications.
  • Select the MobileFirst Administration Service application.
  • In Web Module Properties, click Environment entries for Web Modules to display the JNDI properties.

PMF Analytics Receiver Server

The following table shows the properties that can be set in the PMF Analytics Receiver Server.

Property Description Default Value
receiver.analytics.url Required. The URL that is exposed by the PMF Analytics Server that receives incoming analytics data. For example, http://hostname:port/analytics-service/rest. None
receiver.analytics.username Required. The user name that is used if the data entry point is protected with basic authentication. None
receiver.analytics.password Required. The password that is used if the data entry point is protected with basic authentication. None
receiver.analytics.event.qsize Size of analytic event queue size. It should be added with caution by providing ample JVM heap size. Default queue size 10000 None
receiver.authorization.server.url Required. The URL of the OAuth authorization server that is used by analytics receiver service. If the property is not set properly, analytic logs will not be able to sent to the analytics receiver service.  
receiver.authorization.client.id Required. The identifier of the confidential client that handles OAuth authorization for the analytics receiver service.  
receiver.authorization.client.secret Required. The secret of the confidential client that handles OAuth authorization for the analytics receiver service.  

PMF

The following table shows the properties that can be set in the PMF.

Property Description Default Value
mfp.analytics.receiver.url Required. The URL that is exposed by the PMF Analytics Receiver Server that receives incoming analytics data and forward them to PMF Analytics Server. For example, http://hostname:port/analytics-receiver/rest. None

Mobile Foundation Admin Service

The following table shows the properties that can be set in the Mobile Foundation Admin Service. These properties are required to configure confidential client for Analytics Receiver service.

Property Description Default Value
mfpadmin/mfp.receiver.authorization.client.id Required. The identifier of the confidential client that handles OAuth authorization for the analytics receiver service. Mandatory only if the analytics-receiver enabled. None
mfpadmin/mfp.receiver.authorization.client.secret Required. The secret of the confidential client that handles OAuth authorization for the analytics receiver service. Mandatory only if the analytics-receiver enabled. None

Confidential Client and Scope Mapping

Confidential clients are clients that are capable of maintaining the confidentiality of their authentication credentials. Analytics Receiver API protects resources from unauthorized access by assigning a scope to the resource. The following steps are mandatory only if the analytics-receiver is enabled in the application. For more details see confidential client and scope mapping.

Registering the confidential client

Following step is required only if confidential client for analytics receiver service is not added by default. Ignore if its already added.

In the navigation sidebar of the PMF Operations Console, click Runtime SettingsConfidential Clients. Click New to add a new entry. You must provide the following information:

  • Display Name - an optional display name that is used to refer to the confidential client. For example: MyExternalServer.
  • ID - A unique identifier for the confidential client (can be considered as a username). The ID can contain only ASCII characters.
  • Secret - A private passphrase to authorize access from the confidential client (can be considered as an API key). The secret can contain only ASCII characters.
  • Allowed Scope - A confidential client that uses ID and Secret combination is automatically granted the scope that is defined here. By default it should be authorization.introspect

Configurting a confidential client

Scope mapping

Map the receiver.mobileclient scope element to the application. Mandatory only if analytics-receiver used to send analytics logs.

  1. Load the PMF Operations Console and navigate to [your application] → Security → Scope-Elements Mapping, click New.
  2. Enter MyExternalServer.mobileclient in the Scope element field. Then, click Add.

    Scope mapping

Last modified on