# An Approach to Designing Critical Railway Voice Communication
## 4 FRMCS Common Functions as RESTful Service Blocks
### FRMCS Data Management API  
FRMCS data management can be designed as three microservices of the FRMCS applications, namely:  
* the Functional Identity Profile Management (FIPM) service;
* the User Profile Management (UPM) service;
* the Application Data Management (ADM) service.  
The functional identity profile defines the responsibilities of the functional identity, its priority, and the applications that can be used. The FIPM service allows the network operator to configure and modify data for different FRMCS functional entities. The service clients can retrieve information about the profiles of the functional identities. It is also used by the service client to subscribe to notifications about functional entity data changes, modify the subscription, or unsubscribe from notifications about functional entity data changes. In the case of an active subscription, the FIPM service sends a notification based on the subscribed data modification.  
Figure 2 depicts the structure of the URIs of the FIPM service resources.  
The FIProfiles resource is a container for the functional identity profiles. It supports the GET method, which retrieves the list of functional identity profiles. An individual functional identity profile is represented by the {FIPprofileID} resource and the GET method retrieves information about the specific functional identity.  
The FIProfileSubscriptions resource represents subscriptions to notifications about changes to the functional identity profiles. The POST method is used to create a new subscription and the GET method is used to retrieve the list of active subscriptions. The {FIProfileSubscriptionID} resource represents an individual subscription to notifications  
Figure 2: Structure of the URIs of the FIPM service resources.  
about changes to the functional identity profiles and it supports the GET/PUT/DELETE methods to retrieve/modify/delete information about existing subscriptions.  
The user profile contains the user credentials used for user authentication and the assigned functional identity(ies) that can be registered by the user. The UPM service is used by the FRMCS applications to retrieve the user profile data. The service allows for subscriptions to notifications about changes to the user profiles. Figure 3 depicts the structure of the URIs of the UPM service resources.  
The UserProfiles resource is a container for resources representing the user profiles. It supports the HTTP GET method, which is used to retrieve the list of user profiles. The [UserProfileID] resource represents an individual user profile and supports the HTTP GET method to retrieve information about the user profile. The subscription-related resources define the subscriptions to notifications about changes to user data profiles.  
The application profile contains application-specific data. The ADM service is used by FRMCS applications to retrieve information about configured application data. Subscriptions to notifications about application data changes are also supported. Figure 4 depicts the structure of the URIs of the ADM service resources.  
The AppProfiles resource is a container for resources and represents the application profiles. The GET method is used to retrieve the list of application profiles. The [AppProfileID] resource represents an individual application profile. Information about an existing application profile can be retrieved using the GET method. The AppProfileSubscriptions resource and [AppProfileSubscriptionID] resource represent all subscriptions and an individual subscription to notifications about changes to application profiles, respectively. Using the HTTP method, the list of existing subscriptions can be retrieved; a subscription can be created, modified, or deleted; and information about an existing subscription can be retrieved.