com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_link3' is unknown.

Product Profiles

When a WSO2 product starts, it starts all components, features and related artifacts bundled with it. The main functionality of WSO2 IoT Server can be divided into six different profiles that each contain a bundle of specific components, features, and artifacts related to the profile. This section guides you on how to create a profile distribution in order to support a distributed setup. 

By default, each profile is started on a different port number. The following table lists out the profiles available in the WSO2 IoT Server and their respective port numbers.

ProfilePort NumbersDescription
Device Manager Backend9444/9763This profile consists of the core services and device types that are used by the WSO2 IoT core framework and handles external traffic for the backend services. The Device Manager Backend profile does not consist of any Graphical User Interface (GUI) applications that need to be used directly by the end user.
Device Manager9443/9763

This profile mainly consists of the GUI for all applications that facilitate device management. These applications include the following:

  • Device management application
  • Application manager
  • Publisher and store
  • API store
  • Dashboard Portal.

Additionally, there are some exposed REST APIs for the publisher and store in WSO2 App Manager and WSO2 API Manager. These APIs can be called remotely and some actions, which can also be performed through the GUI applications, can be performed through the API itself.

Key Manager9447/9767

This profile acts as both a key manager, and an identity provider. The user operations done in the Device Manager profile are authenticated via this profile.

IoT Analytics9445/9764This profile receives various device information and analytics (real-time and batch analytics) on the events that are received. The events can be published to the analytics server directly or it can be pushed via a broker profile.
Broker1886This profile acts as the MQTT broker that can be published and subscribed to from profiles such as the device backend profile and the analytics profile.  

Creating profile distributions

The distributions for the profiles are created by executing a script from the WSO2 IoT distribution. Follow the steps given below to create the respective profiles:

  1. Download WSO2 IoT Server
  2. Unzip the WSO2 IoT Server distribution in any preferred location. This location is referred to as <IOTS_HOME> throughout this document. 
  3. Navigate to the <IOTS_HOME>/bin directory on a command prompt or terminal window, and execute the profile creator script. 

  4. Enter the profile number of the profile you want to create. 
    You can either enter the profile numbers separately to create multiple profiles or select the ‘All Profiles’ option (number 6) to create all the profiles in one go.

  5. Once the profile number is entered, the profiles archive is created in the target directory. The target directory resides in the same directory as <IOTS_HOME> . Copy the respective archives into the preferred machines and locations.

Multi-profiling

Tip: A particular profile contains only a subset of features bundled in the product. In order to identify what feature bundles apply to which profile, the product maintains a set of bundles.info files. In WSO2 IoT Server, these files can be found in the <IOTS_HOME>/wso2/components/<profile-name>/configuration/org.eclipse.equinox.simpleconfigurator directories. The bundles.info files contain references to the actual bundles.

Note that the <profile-name> in the directory path refers to the name of the profile. For example, when there's a product profile named device-backend, references to all the feature bundles required for the device-backend profile to function, are in a bundles.info file saved in the <IOTS_HOME>/wso2/components/device-backend/configuration/org.eclipse.equinox.simpleconfigurator directory.

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.