Hi All,

WSO2 App Manager Mobile component is responsible for following tasks

1. Providing configurations and data to the store UI
2. Providing connection and configurations to Mobile Device Management
(MDM) Systems.
3. Providing application reading and upload facilities to the publisher.

When a user install a mobile application from the store following things
will happen

1. Subscribe user to the mobile application.
2. Send installation message to the MDM

There is also enterprise subscription feature which enterprise admin can
install/uninstall application to/from users and roles.

1. When enterprise admin install an application to particular user, that
user will be subscribed to the application. An installation message will be
sent to the MDM to install the application to all the devices of that  user.

2. When  enterprise admin uninstall an application to particular role, all
the users in that role will be subscribed to the application. An
installation message will be sent to the MDM to install the application to
all the devices of that role.

3. Uninstallation of the application will happen in the similar manner and
users/roles will be unsubscribed from the application.

*NOTE:* There is no guarantee that the application will be installed to the
selected device or all the devices of a selected user or a role. But App
Manager records it as installed (subscribed) application. If the user want
to install the application again, there is a facility to re-install the
application from the UI.

If there is no MDM connect with the AppM, it act as a *catalog*. So that
the users are able to browse apps, but they cannot be installed.

Only one MDM can be connect with the AppM at a time, but it can be any MDM.
AppM mobile component provides an *interface* to MDM where they can be
connected to AppM through a connectors which is the implementation of that
interface.

Properties related to the Mobile component and MDM is configurable in the
app-manager.xml


         <MobileAppsConfiguration>

<MDMSettings>
           <Enabled>true</Enabled>
   <EnableSampleDevices>false</EnableSampleDevices>
   <AppDownloadURLHost>%http%</AppDownloadURLHost>
   <ActiveMDM>WSO2MDM</ActiveMDM>
           <IosPlistPath>publisher/api/mobileapp/getplist</IosPlistPath>
   <EnterpriseOperations>
<Enabled>true</Enabled>
<AuthorizedRole>admin</AuthorizedRole>
   </EnterpriseOperations>
                </MDMSettings>

<MDMProperties>

    <MDM name="WSO2MDM" bundle="org.wso2.carbon.appmgt.mdm.wso2mdm">
<Property name="ServerURL">https://localhost:9450</Property>
<Property name="TokenApiURL">https://localhost:9450/oauth2/token</Property>
<Property name="ClientKey">WjLm24IxBVLF0oz0VJfmtJbjJbka</Property>
<Property name="ClientSecret">v3KkIQXkJ1SDp_Bf8uUQxu5p7TQa</Property>
   </MDM>
   <!-- for other MDM
   <MDM name="OtherMDM" bundle="org.wso2.carbon.appmgt.mdm.othermdm">
<Property name="serverUrl">https://localhost:9454</Property>
   </MDM>
   -->
 </MDMProperties>

</MobileAppsConfiguration>

Below are the description of above configuration

*Enabled*
MDM connection can be enabled and disabled from this property.  If it is
disabled AppM mobile app pages act as a catalogue

*EnableSampleDevices*
Admin can enable sample devices. This is for testing purposes

*AppDownloadURLHost*
The host of the application download URL which sends to MDM. %http% forces
http url and %https% forces https url and this can be configurable to have
any host

*ActiveMDM*
Here as the ActiveMDM you can give the name of the MDM what you want to
connect with App Manager. MDM could have any number of properties and they
will be provided to the implementation class by the mobile component. Each
MDM component is an OSGI bundle and bundle id should be defined in MDM
properties.

*IosPlistPath*
plist download URL path for iOS devices. This will generate a plist file
for a given ipa file

*EnterpriseOperations*
Enterprise installation can be enabled and disabled from here. Also you can
define the authorized role who can perform enterprise operations from the
store UI

*MDMProperties*
Can have many MDM with different properties


Please let me know your suggestions


-- 
Regards,

Chatura Dilan Perera
*(Senior Software Engineer** - WSO2 Inc.**)*
www.dilan.me
_______________________________________________
Architecture mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to