## 5 Implementation Results
The RAML data is defined for the IoT device, which is parsed by the RD server to a JSON data, and is used for inserting the DB. The print outed data is the JSON data that includes information from the RAML. The IoT device has resource/humidity that requires parameters rt and if. Figure 13 shows the result of publishing client registration that is captured from the loggings in the RD server. The publishing clients send the information to the RD server using OCF based on CoAP. The request uses the POST method with the payload that includes the RAML data for the information of the HTTP service provider. The title is Weather Service and the print outed string is the name of the RAML file that consists of the title. The RAML data is defined for the HTTP service provider, which is parsed by the RD server to JSON data, and is used for inserting the DB. The print outed data is the JSON data that includes information from the RAML. The HTTP service provider has resource/weather that requires parameter APPID and q.  
Figure 11: WSP RAML definition. Figure 14 shows the result of displaying the service providers' information in the list page and detail page of the IoT client. The page displays the registered service providers information list. Each item of the list displays the RAML name, version, and description. For requesting the page, the IoT client needs to include query parameters in the request URI. The parameter is the OCF resource interface, and the parameter keyword is used to retrieve the list with the query. The parameter startRowNo is used for pagination, and parameter pageSize is used for pagination. The request method is GET, and the handler of the method is in the RD server that is used for getting the service provider information list. The detail page displays the registered service provider detail information. The page includes the resource list because a provider can include multiple resources. For requesting the page, the IoT client needs to include query parameters in the request URI. The parameter is on the OCF resource interface, and id is used for retrieving a provider information by its ID. The request method is GET, and this method handler is in the RD server that is used for obtaining service provider information. Figure 12: IoT device registration result in RD server. Figure 13: Publishing client registration result in RD server. Figure 15 shows the results of accessing the IoT services which are discovered by the IoT client. The page in the Figure 15a shows the resource information with the form for sending the OCF request message to the/humidity resource using the GET method. The IoT client can recognize that the request is sent to an IoT device or an HTTP service provider through the information that is registered. If the request is used for requesting an IoT device, the parameters rt and if are used for generating the OCF request. If there are other parameters, then those parameters shall be used for the query parameter of the request. The result is shown in the screen using JSON format. The page in the Figure 15b shows the HTTP service provider service accessing the result through the service page. The page shows the resource information with the form for sending the OCF request message to the/weather resource using the GET method. To access the/weather resource, the parameters q and application identifier (APPID) are required. Once the parameters are filled, and then click the button REQUEST. The IoT client sends the request to the RD server. The RD server forwards the request to the HTTP service provider in the Internet. Figure 14: Result of displaying service provider information. (a) List page; (b) detail page. Figure 15: Results of accessing services. (a) IoT device service accessing result. (b) HTTP service provider service accessing result.