This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Integrating a Mobile Device Manager

The <MDMProperties> element in the <APPM_HOME>/repository/conf/app-manager.xml file defines the configurations for integrating a Mobile Device manager (MDM) with WSO2 App Manager (AppM) as follows.

<MDMProperties>

		  <MDM name="WSO2MDM" bundle="org.wso2.carbon.appmgt.mdm.wso2mdm">
			<Property name="ServerURL">https://localhost:9450</Property>
			<Property name="TokenApiURL">https://localhost:9448/oauth2/token</Property>	
			<Property name="ClientKey">WjLm24IxBVLF0oz0VJfmtJbjJbka</Property>	
			<Property name="ClientSecret">v3KkIQXkJ1SDp_Bf8uUQxu5p7TQa</Property>
            <Property name="AuthUser">admin</Property>    
            <Property name="AuthPass">admin</Property>
		  </MDM>

		  <MDM name="WSO2EMM" bundle="org.wso2.carbon.appmgt.mdm.wso2emm">
			<Property name="ServerURL">https://localhost:9451</Property>
			<Property name="ImageURL">https://localhost:9451/emm/assets/wso2mobile/img/models/%s.png</Property>
			<Property name="AuthUser">admin</Property>	
			<Property name="AuthPass">admin</Property>
		  </MDM>	
		
		  <!-- Please uncommnent this and define the name in ActiveMDM to activate this MDM
		  <MDM name="WSO2MDM" bundle="org.wso2.carbon.appmgt.mdm.othermdm">
			<Property name="serverUrl">https://localhost:9454</Property>
		  </MDM>
		  -->	
</MDMProperties>

You can use the above configurations to integrate WSO2 MDM, WSO2 EMM, or any other MDM as follows.

Integrating WSO2 MDM

Follow the steps below to integrate WSO2 MDM with WSO2 AppM.

  1. Change the default configurations within the <MobileAppsConfiguration> property in the <AppM_HOME>/repository/conf/app-manager.xml file as follows. For more information on the below configurations, see Mobile Apps Configurations.

    <MDMConfig>
               <Config name="IsCatalog">false</Config>
               <Config name="EnableMDMOperations">true</Config>
               <Config name="ActiveMDM">WSO2MDM</Config>
               <Config name="EnableSelfUnsubscription">false</Config> 
               <Config name="EnableSubscriptionFromDevices">true</Config>    
               <Config name="EnableSampleDevices">false</Config>
                
               <Config name="AppDownloadURLHost">%http%</Config>
               <Config name="IosPlistPath">publisher/api/mobileapp/getplist</Config>
               <Config name="EnterpriseOperations_Enabled">true</Config>
               <Config name="EnterpriseOperations_AuthorizedRole">admin</Config>
     </MDMConfig>
  2. Use the above configurations within the <MDM> property with the name WSO2MDM in the <APPM_HOME>/repository/conf/app-manager.xml file to integrate WSO2 MDM with WSO2 AppM. The descriptions of those properties are as follows. 

     <MDM name="WSO2MDM" bundle="org.wso2.carbon.appmgt.mdm.wso2mdm">
    	<Property name="ServerURL">https://10.100.7.44:9443</Property>
    	<Property name="TokenApiURL">https://10.100.7.44:9443/oauth2/token</Property>	
    	<Property name="ClientKey">wmDGttgLFP3r0iQe54F3YMJTGFQa</Property>	
    	<Property name="ClientSecret">5hn57sMeps_tbqlYPO9LPmTgVMwa</Property>
    	<Property name="AuthUser">admin</Property>	
    	<Property name="AuthPass">admin</Property>
     </MDM>

    The descriptions of those properties are as follows. 

    PropertyDescription
    bundle
    Name of the OSGi bundle of WSO2 MDM.
    ServerURL
    URL of the WSO2 MDM instance, which you want to connect to WSO2 AppM.
    TokenApiURL
    URL of the generated OAuth Token API of WSO2 MDM.
    ClientKey
    Client key for generating the OAuth Token.
    ClientSecret
    Client secret for generating the OAuth Token.
    AuthUser
    Username required to authenticate WSO2 MDM APIs using OAuth.
    AuthPass

    Password required to authenticate WSO2 MDM APIs using Oauth.

  3. Navigate to <AppM_HOME>/repository/conf/sso-idp-config.xml file, and change localhost to the IP address or the hostname of WSO2 App Manager within all <AssertionConsumerService> elements.

  4. Navigate to <AppM_HOME>/repository/conf/carbon.xml file, and change localhost to the IP address or the hostname of WSO2 App Manager within the <HostName> and <MgtHostName> elements.

  5. Start WSO2 AppM server.

Integrating WSO2 EMM

Follow the steps below to integrate WSO2 EMM with WSO2 AppM.

  1. Download WSO2 Enterprise Mobility Manager version 1.1.0.

  2. Download the patch for WSO2 EMM, and copy it to <EMM_HOME>/repository/deployment/server/jaggeryapps/ directory.

  3. Execute the following command to apply the patch: patch -Np1 -d emm/ < emm-appm.patch

  4. Delete the patch file in the <EMM_HOME>/repository/deployment/server/jaggeryapps/ directory, after applying it.

  5. Download the Android agent patch for WSO2 EMM, and copy it to <EMM_HOME>/repository/deployment/server/jaggeryapps/emm/client_app/ directory.

  6. Start the WSO2 EMM server set 8 as the port offset.

    To set 8 as the port offset in WSO2 EMM, change the value of the <Offset> element in <EMM_HOME>/repository/conf/carbon.xml file as follows: <Offset>8</Offset>.  

  7. Change the following default configurations in the <EMM_HOME>/repository/deployment/server/jaggeryapps/emm/config/config.json file accordingly.

    "appM": {
            "apiAuthRole": "admin",
            "appMApiLocation": "https://localhost:9443/api/v1",
            "appMApiUsername" : "admin",
            "appMApiPassword" : "admin"
     } 

    The descriptions of those properties are as follows. 

    PropertyDescription
    apiAuthRole
    User role required to authenticate WSO2 EMM APIs using Basic Authentication.
    appMApiLocation
    Location of the WSO2 AppM API.
    appMApiUsername
    Username required to authenticate WSO2 AppM APIs using Basic Authentication.
    appMApiPassword
    Password required to authenticate WSO2 AppM APIs using Basic Authentication.
  8. Change the default configurations within the <MobileAppsConfiguration> property in the <APPM_HOME>/repository/conf/app-manager.xml file as follows. For more information on the below configurations, see Mobile Apps Configurations.

    <MDMConfig>
               <Config name="IsCatalog">false</Config>
               <Config name="EnableMDMOperations">true</Config>
               <Config name="ActiveMDM">WSO2EMM</Config>
               <Config name="EnableSelfUnsubscription">false</Config> 
               <Config name="EnableSubscriptionFromDevices">true</Config>    
               <Config name="EnableSampleDevices">false</Config>
                
               <Config name="AppDownloadURLHost">%http%</Config>
               <Config name="IosPlistPath">publisher/api/mobileapp/getplist</Config>
               <Config name="EnterpriseOperations_Enabled">true</Config>
               <Config name="EnterpriseOperations_AuthorizedRole">admin</Config>
     </MDMConfig>
  9. Change the following default configurations within the <MDMProperties> property with the name WSO2EMM in the <APPM_HOME>/repository/conf/app-manager.xml file to integrate WSO2 EMM with WSO2 AppM.

    <MDM name="WSO2EMM" bundle="org.wso2.carbon.appmgt.mdm.wso2emm">
    			<Property name="ServerURL">https://localhost:9451</Property>
    			<Property name="ImageURL">https://localhost:9451/emm/assets/wso2mobile/img/models/%s.png</Property>
    			<Property name="AuthUser">admin</Property>	
    			<Property name="AuthPass">admin</Property>
    </MDM>	 

    The descriptions of those properties are as follows. 

    PropertyDescription
    bundle
    Name of the OSGi bundle of WSO2 EMM.
    ServerURL
    URL of the WSO2 EMM instance, which you want to connect to WSO2 AppM.
    ImageURL
    Path of the directory which includes the images of WSO2 EMM.
    AuthUser
    Username required to authenticate WSO2 EMM APIs using Basic Authentication.
    AuthPass
    Password required to authenticate WSO2 EMM APIs using Basic Authentication.
  10. Navigate to <AppM_HOME>/repository/conf/sso-idp-config.xml file, and change localhost to the IP address or the hostname of WSO2 App Manager within all <AssertionConsumerService> elements.

  11. Navigate to <AppM_HOME>/repository/conf/carbon.xml file, and change localhost to the IP address or the hostname of WSO2 App Manager within the <HostName> and <MgtHostName> elements.

  12. Start WSO2 AppM server.

 

For information on enrolling devices in WSO2 EMM, see WSO2 EMM Documentation. If you are using IOS or Android with HTTPS, replace the below files in <AppM_HOME>/repository/resources/security/ directory, with the files in <EMM_HOME>/repository/resources/security/directory.

  • client_truststore.jks
  • wso2carbon.jks

 

Integrating other MDMs 

You can integrate other MDMs using plugins written for WSO2 AppM by creating a new OSGi bundle similar to the WOS2 EMM OSGi bundle.

After defining the MDM within the <MDMProperties> element, change the default values within the <MDMConfig> configurations in Mobile Apps Configurations. You can activate only one MDM at a time.