{"id":289093,"date":"2018-09-07T14:00:02","date_gmt":"2018-09-07T10:00:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=289093"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2018-09-07T10:00:02","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=289093","title":{"rendered":"\u041a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u043d\u0430\u0442\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439?"},"content":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/sap\/blog\/422475\/\" class=\"post__text post__text-html js-mediator-article\">\u0412 \u0438\u044e\u043b\u0435 \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043e\u0447\u043d\u044b\u0439 \u0445\u0430\u0431 \u2014 \u0426\u0435\u043d\u0442\u0440 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0433\u043e \u043b\u0438\u0434\u0435\u0440\u0441\u0442\u0432\u0430. \u042d\u0442\u043e \u043d\u043e\u0432\u0430\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u0434\u043b\u044f \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u043f\u0430\u0440\u0442\u043d\u0451\u0440\u0430\u043c\u0438 SAP.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/iy\/sh\/hj\/iyshhjwysnjmzo_qn6o8aqir7g0.jpeg\"><\/p>\n<p>  \u041f\u0440\u0438 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0426\u0435\u043d\u0442\u0440\u0430 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0435\u043c\u043e-\u0441\u0442\u0435\u043d\u0434\u043e\u0432, \u043d\u043e \u0438 \u0442\u0430\u043a\u0436\u0435 \u0432\u043d\u0435\u0434\u0440\u044f\u0442\u044c \u0438\u0445 \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0430\u043c\u043e\u0433\u043e \u0426\u0435\u043d\u0442\u0440\u0430.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0441\u0435 \u0437\u0430\u043b\u044b \u0438 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438 \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u043c\u043e\u0433\u0443\u0442 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u2013 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439 \u2014 \u0438 \u0432\u043d\u043e\u0432\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0435\u0434\u0438\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e. \u0422\u0430\u043a\u0436\u0435 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u00ab\u0443\u043c\u043d\u044b\u043c \u043e\u0444\u0438\u0441\u043e\u043c\u00bb \u2014 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438, \u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446, \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439. <\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u044b \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 SAP Cloud Platform \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u043d\u0430\u0442\u044b. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430 \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<p>  \u041c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0430\u0431\u043e\u0442\u0443 c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0432 SAP Cloud Platform \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439. \u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 IoT Service \u0432 SAP Cloud Platform (SCP) \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Cloud Foundry \u0432 SCP.<\/p>\n<p>  \u0414\u0435\u043c\u043e-\u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u0438\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432:  <\/p>\n<ol>\n<li>\u041c\u0430\u0433\u043d\u0438\u0442\u043e\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0439 \u0434\u0430\u0442\u0447\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u043d\u0438\u0435, \u0442\u0430\u043a \u0438 \u043d\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0434\u0432\u0435\u0440\u0435\u0439<\/li>\n<li>\u0418\u043d\u0444\u0440\u0430\u043a\u0440\u0430\u0441\u043d\u044b\u0439 \u0434\u0430\u0442\u0447\u0438\u043a \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0432 \u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u0443\u044e \u0437\u043e\u043d\u0443, \u0430 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0449\u0451 \u0438 \u0432 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u0443\u044e \u043a\u043e\u043c\u043d\u0430\u0442\u0443<\/li>\n<\/ol>\n<p>  \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0445 \u043a\u043e\u043c\u043d\u0430\u0442 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c, \u043a\u0430\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u2013 \u0441\u043e\u0441\u0442\u043e\u044f\u043b\u0430\u0441\u044c \u043b\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0430 \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u0430\u044f \u0431\u044b\u043b\u0430 \u043f\u0443\u0441\u0442\u043e\u0439 \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u044e\u0434\u0435\u0439 \u0432 \u0438\u0442\u043e\u0433\u0435 \u043f\u043e\u0441\u0435\u0442\u0438\u043b\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0442\u0430\u043b\u0438. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/du\/nm\/us\/dunmusoraoz-1kkv3tfr8pbk0qi.png\"><br \/>  <i>\u0420\u0438\u0441 1. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Internet of Things \u0432 SAP Cloud Platform<br \/>  <\/i><br \/>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 SAP Cloud Platform \u0438 \u0441\u0435\u0440\u0432\u0438\u0441 Internet of Things. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430 \u0420\u0438\u0441.1, \u043e\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0442\u0430\u043a \u0438 \u0442\u043e\u0447\u0435\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (Gateway) \u0432 \u043e\u0431\u0449\u0443\u044e \u0441\u0435\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Internet of Things \u0432 SAP Cloud Platform.<\/p>\n<p>  \u0414\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 HTTPS\/MQTT, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043d\u0430 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a\u043e\u043d\u0441\u043e\u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442 \u0438\u0445 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e \u0432 SAP Cloud Internet of Things, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f IoT GateWay Edge. \u042d\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c: HTTPS, MQTT, Modbus(1), CoAP, File(2), OPC UA (3), SigFox(4), SNMP(5). \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c SDK \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 GateWay \u0438 \u0438\u043c\u043f\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432 \u043f\u043e \u043e\u0431\u043c\u0435\u043d\u0443 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f<\/b><\/p>\n<div class=\"spoiler_text\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f \u0438\u0437 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e SAP Cloud Platform:<\/p>\n<p>  1) Modus is currently implemented using:<br \/>  \u2022 TCP\/IP over Ethernet<br \/>  \u2022 Asynchronous serial transmission over various media (wire: RS-232, RS-485; fiber, radio, and so on)<br \/>  \u2022 ModbusPLUS, a high speed token passing network.<br \/>  Modbus defines a simple protocol data unit that is independent of the underlying communication layers. The mapping on specific buses or networks can introduce some additional fields on the application data unit. The protocol follows a client-server approach, where a client initiates a Modbus transaction to poll a server for data.<\/p>\n<p>  2) The typical workflow of the adapter is the following:<br \/>  1. Read a certain file, based on a set of configuration parameters.<br \/>  2. Go through the file content and extract valuable fields as instructed by an adapter parsing schema file.<br \/>  3. Map such fields onto the concepts and entities of the Internet of Things Service (for example, device addressing metadata, measurements and so on), also based on the parsing schema file of the adapter.<br \/>  4. Stream normalized data up to Internet of Things Core Service.<br \/>  5. Remove the target file from its original location and, optionally, back it up into another folder.<br \/>  The supported file formats are JSON, CSV, and binary. For binary, the file is transferred as a Base64 encoded string to the Internet of Things Core Service.<\/p>\n<p>  3) The Internet of Things Gateway integrates OPC UA Servers by acting as an OPC UA Client. The adapter can connect to the server to establish an OPC UA session; at first connection, the adapter browses the server address space and creates a corresponding device with a set of sensors. Then, it configures the retrieval of data, per two possible options:<br \/>  \u2022 Periodic pull mode: the adapter polls the server for data on a periodic base, with a configurable polling interval<br \/>  \u2022 Subscription mode: the adapter creates a subscription on the server nodes, to be notified by the server itself whenever the value of a node changes<\/p>\n<p>  4) SigFox is a French company employing a UNB-based (Ultra Narrow Band) radio technology to connect IoT devices to its network. It currently uses the ISM band on 868MHz (as defined by ETSI and CEPT) in Europe and on 902MHz in the US (as defined by the FCC), depending on specific regional regulations. To expand the service coverage area, SigFox has partnerships with several network operators around the world. By utilizing the UNB infrastructure provided by these partners, SigFox enables communication between devices operating the SigFox radio protocol and the SigFox cloud. In this context, the SigFox infrastructure acts as the transport layer which sends the data generated by the devices to the cloud. This layer is data-agnostic, meaning that it does not interpret the data but simply transfers it. Considering this, device manufacturers who install the SigFox firmware on their products can use the SigFox service to access their data, and a set of REST APIs to build applications based on this data. The graphic illustrates the SigFox network in a simplified way.<\/p>\n<p>  5) The data flow follows two routes:<br \/>  \u2022 The Internet of Things Gateway issues a cyclic polling over all the devices, performing a complete MIB-WALK for each connected device.<br \/>  \u2022 The Internet of Things Gateway receives traps from devices, if the devices are able to send the traps.<\/p><\/div>\n<\/div>\n<p>  \u0412 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 Internet of Things \u0441\u0435\u0440\u0432\u0438\u0441 GateWay \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a\u0430\u043a \u0432 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 SAP Cloud Platform, \u0442\u0430\u043a \u0438 \u043d\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0435. \u041e\u0434\u043d\u0438\u043c \u0438\u0437 \u0441\u0435\u0440\u044c\u0451\u0437\u043d\u044b\u0445 \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432 GateWay \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 SAP Cloud Platform, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d \u0440\u0435\u0448\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0432 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443. \u041d\u043e \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c Internet of Things \u0438 \u0431\u0435\u0437 \u0443\u0447\u0430\u0441\u0442\u0438\u044f GateWay, \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c MQTT\/HTTPS.<\/p>\n<p>  \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Internet of Things \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0440\u0435\u0434\u044b Cloud Foundry, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u0432 SAP Cloud Platform \u0441\u0432\u043e\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 Python, JavaScript (Nodejs), Java (Tomcat), Go, Scala \u0438 <a href=\"https:\/\/docs.cloudfoundry.org\/buildpacks\/\">\u0434\u0440<\/a>. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 Nodejs-\u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043f\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0432 \u0441\u0440\u0435\u0434\u0435 SAP Cloud Platform. <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043d\u0430 \u0431\u0430\u0437\u0435 Nodejs \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0437\u0434\u0435\u0441\u044c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">const http = require('http'); const hdb = require('hdb');  http.createServer(function (req, res) {      if (req.method === 'POST') {         let body = '';      req.on('data', chunk =&gt; {         body += chunk.toString(); \/\/ convert Buffer to string     });      req.on('end', () =&gt; {          \t\tvar data = JSON.parse(body); \t\tvar id = data.id; \t\tvar data = data.payload; \t\tvar timestamp = data.TIMESTAMP;                                 var vcap_services = JSON.parse(process.env.VCAP_SERVICES); \t\t  var db_cred = vcap_services[\"hana-db\"]; \t\t  var credentials = db_cred[0].credentials; \t\t  var port = credentials.port; \t\t  var host = credentials.host; \t\t  var crt = credentials.certificate; \t\t   \t\t  var client = hdb.createClient({ \t\t  host     : host, \t\t  port     : port, \t\t  user     : 'user_name', \t\t  password : 'password', \t\t  useTLS: true \t\t  }); \t\t   \t\t  client.on('error', function (err) { \t\t  console.error('Network connection error', err); \t\t  }); \t\t   \t\t  console.log(client.readyState); \/\/ new \t\t   \t\t  client.connect(function (err) { \t\t  if (err) { \t\t\treturn console.error('Error:', err); \t\t  } \t\t  console.log(client.readyState); \/\/ connected \t\t  }); \t\t   \t\t  client.prepare('call NEW_EVENT (?, ?, ?)', function(err, statement){ \t\t  if (err) { \t\t\treturn console.error('Prepare error:', err); \t\t  }  \t\t  statement.exec({ ID: id, PAYLOAD : data, TS: timestamp}, function(err, affectedRows)                    { \t\t\tif (err) { \t\t\t  return console.error('Exec error:', err); \t\t\t} \t\t\tconsole.log('Number of affected rows:', affectedRows);\t\t\t \t\t  }); \t\t  }); \t\t   \t\t  res.write(\"OK\"); \t\t  \t\t  res.end(); \t} <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432 Nodejs \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c node-hdb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0432\u044f\u0437\u044c \u0441 \u0421\u0423\u0411\u0414 HANA \u0438 \u0443\u0436\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 buildpack nodejs \u0432 CloudFoundry.<\/p>\n<p>  \u0412 \u0441\u0440\u0435\u0434\u0435 CloudFoundry \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 Nodejs \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043c\u043e\u0434\u0443\u043b\u044e \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 package.json \u0441\u0441\u044b\u043b\u043a\u0443<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">dependency<\/b><\/p>\n<div class=\"spoiler_text\"><code>\"dependencies\" : {<br \/>   \"hdb\" : \"0.x.x\"<br \/>   }<\/code>  <\/div>\n<\/div>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0434\u0432\u0438\u0436\u043a\u0430 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0421\u0423\u0411\u0414 HANA. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043c\u043e\u0434\u0443\u043b\u044f <a href=\"https:\/\/github.com\/SAP\/node-hdb\">node-hdb<\/a> \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 Bulk Insert (\u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445), \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f\u043c\u0438 (commit, rollback, autocommit), \u0432\u044b\u0437\u043e\u0432 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0445 SQL-\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440.<\/p>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439, \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 Internet of Things Service \u0432 SAP Cloud Platform \u2014 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430 \u0431\u0430\u0437\u0435 Nodejs. \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0444\u043e\u0440\u043c\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 SAP Cloud Internet of Things.<\/p>\n<h3>\u041a\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c UI \u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b SAP UI5?<\/h3>\n<p>  \u0414\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u044b \u0432 \u0441\u0435\u0440\u0432\u0438\u0441\u0435 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 <a href=\"https:\/\/sapui5.hana.ondemand.com\/#\/api\/sap.m.GenericTile\">GenericTile<\/a>. \u041d\u0430 \u0420\u0438\u0441.2 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 GenericTile \u0434\u043b\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u0438 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u044b.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yy\/fp\/ib\/yyfpibdnrv_4dhqmh7juyfvkvlm.png\"><\/p>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c \u0438 \u0446\u0432\u0435\u0442\u043e\u0432\u043e\u0439 \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u0438 \u043d\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435 GenericTile \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 HTML5-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 canvas \u0438 \u043c\u0435\u0442\u043e\u0434 renderer \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438 SAP UI5. <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0437\u0434\u0435\u0441\u044c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">renderer: function (oRM, oControl) { \t\t    var model; \t\t    var d; \t\t    var view = sap.ui.getCore().byId(\"samplecontainer---mainview\"); \t\t \t\t    if (!this.status) \t\t        this.status = {\"door\":\"\",\"motion\":\"\",\"color\":\"#2bbc2d\",\"busy\":0}; \t\t    \t\t    if (view != undefined) \t\t        model = view.getModel(\"DT1\"); \t\t    if (model != undefined){ \t\t        d = JSON.parse(model.getJSON()); \t\t        if (this.status){     \t\t        this.status.busy = d.busy;     \t\t        this.status.door = d.door;     \t\t        this.status.motion = d.motion;     \t\t        this.status.color = d.color; \t\t        } \t\t    } \t\t\toRM.write(\"&lt;div\"); \t\t\toRM.writeControlData(oControl); \t\t\toRM.write(\"&gt;\"); &lt;\/spoiler&gt; \t\t\tif (this.status.busy == 0){ \t\t        oRM.write(\"&lt;img id='iDT1' src='\/iotex\/images\/room_empty.png' alt='Empty' height='64' width='70'&gt;\"); \t\t\t} else { \t\t\t    oRM.write(\"&lt;img id='iDT1' src='\/iotex\/images\/room_booked.png' alt='Booked' height='64' width='70'&gt;\"); \t\t\t} \t\t    oRM.write(\"&lt;canvas id='cDT1' width='30' height='30'&gt;&lt;\/canvas&gt;\"); \t\t\toRM.write(\"&lt;script&gt;\"); \t\t\toRM.write(\"var canvas = document.getElementById('cDT1');\");             oRM.write(\"var context = canvas.getContext('2d');\");             oRM.write(\"var centerX = canvas.width \/ 2;\");             oRM.write(\"var centerY = canvas.height \/ 2;\");             oRM.write(\"var radius = 12;\");             oRM.write(\"context.beginPath();\");             oRM.write(\"context.arc(centerX, centerY, radius, 0, 2 * Math.PI, false);\");             if ((this.status.busy == 1)&amp;&amp;((this.status.door != 0)||(this.status.motion != 0))){                 oRM.write(\"context.fillStyle = '#f46e41';\");\/\/red             } else {                 oRM.write(\"context.fillStyle = '#ffff00';\"); \/\/yellow             }             if (this.status.busy == 0){                 oRM.write(\"context.fillStyle = '#2bbc2d';\"); \/\/green             }             oRM.write(\"context.fill();\");             oRM.write(\"&lt;\/script&gt;\"); \t\t\toRM.write(\"&lt;\/div&gt;\"); \t\t     \t\t}<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <b>\u041a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0432 UI \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 SCP?<br \/>  <\/b><\/p>\n<p>  \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0432 SAP HANA \u0438\u0437 UI5 \u2013 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b OData. \u041e\u043d \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c Model \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 UI5-\u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e, \u0435\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0440\u043e\u0441, \u0447\u0442\u043e\u0431\u044b \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u044f\u0437\u044b\u043a SQLScript \u0438 \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0432 SAP HANA. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u0442\u044c \u043a \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 SQLScript, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u043e\u043c Calculation View \u0432 SAP Web IDE.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/f9\/4r\/un\/f94runnzbafdsnd1cgmjd8ryxcm.png\"><br \/>  <i>\u0420\u0438\u0441 3. \u041f\u0440\u0438\u043c\u0435\u0440 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 Pie chart \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 sap.viz.ui5<br \/>  <\/i><br \/>  \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430 \u043d\u0430 Javascript \u0438 SAP UI5 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430 Pie chart <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0437\u0434\u0435\u0441\u044c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">$.ajax                 ({                     type: \"GET\",                     url: \"\/iotex\/odatasource\/rooms.xsodata\/rooms?$format=json\",                     dataType: 'json',                     async: false,                     success: function (data, status){         \t            var aData = data.d.results;         \t            var UData = {Data: aData};         \t            room_model.setData(UData);                     }                 });             View.setModel(room_model,\"Rooms\");                          var oVizFrame = this.oVizFrame = this.getView().byId(\"idVizFrame\");                          var oDataset = new sap.viz.ui5.data.FlattenedDataset({         \t\t\tdimensions : [{         \t\t\t        name : 'Time',         \t\t\t\t    value : \"{Time}\"}],         \t\t\t                        \t\t\tmeasures : [{         \t\t\t\tname : 'Usage',         \t\t\t\tvalue : '{Value}'} ],         \t\t\t                      \t\t\tdata : {         \t\t\t\tpath : \"\/Data\"         \t\t\t} \t\t    });\t\t \t\t             oVizFrame.setDataset(oDataset);                          oVizFrame.setVizProperties({ \t\t\ttitle:{ \t\t\t\ttext : \"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u043e\u0439 \u043a\u043e\u043c\u043d\u0430\u0442\u044b\" \t\t\t},             plotArea: {             \tcolorPalette : ['#2bbc2d','#f46e41','#c5f442'],             \tdrawingEffect: \"glossy\"                 }}); \t\t             var feedSize = new sap.viz.ui5.controls.common.feeds.FeedItem({ \t\t      'uid': \"size\", \t\t      'type': \"Measure\", \t\t      'values': [\"Usage\"] \t\t    }),  \t\t    feedColor = new sap.viz.ui5.controls.common.feeds.FeedItem({ \t\t      'uid': \"color\", \t\t      'type': \"Dimension\", \t\t      'values': [\"Time\"] \t\t    }); \t             oVizFrame.addFeed(feedSize); \t\t             oVizFrame.addFeed(feedColor);<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 Pie chart \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0443\u0442\u044c \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0435 Path \u043e\u0431\u044a\u0435\u043a\u0442\u0430 FlattenedDataset. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e Path \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442 \/Data, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0441\u043a\u043e\u043c\u0443\u044e JSON \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0432 \u0432\u0438\u0434\u0435, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0437\u0434\u0435\u0441\u044c<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>var datapiechart = {                     \t\t\t\"Data\" : []};                                                          var yellow = {\"Time\":\"Abused\",\"Value\":data.yellow};                             var red = {\"Time\":\"Occupied\",\"Value\":data.red};                             var green = {\"Time\":\"Free\",\"Value\":data.green};                                                          datapiechart.Data.push(yellow);                             datapiechart.Data.push(red);                             datapiechart.Data.push(green);                                                          var mod = viz.getModel();                             mod.setData(datapiechart);                             viz.setModel(mod);<\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0414\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0438 (\u0441\u043c. \u0420\u0438\u0441.4) \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u0443\u044e\u0442 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u043d\u0430\u0442\u044b, \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 UI5 Table. \u041e\u043d \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u00ab\u0431\u0430\u043b\u043b\u044b\u00bb, \u043d\u0430\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u00ab\u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0439\u00bb \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u044f\u0432\u043b\u044f\u0442\u044c \u043d\u0435\u0434\u043e\u0431\u0440\u043e\u0441\u043e\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u0443\u044e\u0442 \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u043d\u0430\u0442\u044b.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xo\/4c\/e9\/xo4ce9mlpn1-614bazbu4zfbslw.png\"><br \/>  <i>\u0420\u0438\u0441 4. \u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0439 \u043f\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e <br \/>  <\/i><\/p>\n<p>  \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 Internet of Things, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0440\u0435\u0434\u044b CloudFoundry \u0432 SAP Cloud Platform \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b IoT \u0438 \u043b\u0435\u0433\u043a\u043e \u0438\u0445 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043b\u044e\u0431\u044b\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043f\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0443 Internet of Things \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/help.sap.com\/viewer\/product\/SAP_CP_IOT_CF\/Cloud\/en-US\">\u0441\u0441\u044b\u043b\u043a\u0443<\/a>, \u0433\u0434\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u043e\u0434\u0430. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rj\/jl\/12\/rjjl12bkcija7bpkqnvkiz-lzi8.jpeg\"><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0440\u0435\u0434\u044b Cloud Foundry \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Trial \u0434\u043e\u0441\u0442\u0443\u043f <a href=\"https:\/\/cloudplatform.sap.com\/enterprise-paas\/cloudfoundry.html\">\u0437\u0434\u0435\u0441\u044c<\/a>, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0436\u0430\u0432 \u043a\u043d\u043e\u043f\u043a\u0443 Login \u0438 \u043f\u0440\u043e\u0439\u0434\u044f \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438.<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/422475\/\"> https:\/\/habr.com\/post\/422475\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/sap\/blog\/422475\/\" class=\"post__text post__text-html js-mediator-article\">\u0412 \u0438\u044e\u043b\u0435 \u043c\u044b \u043e\u0442\u043a\u0440\u044b\u043b\u0438 \u0432 \u041c\u043e\u0441\u043a\u0432\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438 \u0432\u044b\u0441\u0442\u0430\u0432\u043e\u0447\u043d\u044b\u0439 \u0445\u0430\u0431 \u2014 \u0426\u0435\u043d\u0442\u0440 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0433\u043e \u043b\u0438\u0434\u0435\u0440\u0441\u0442\u0432\u0430. \u042d\u0442\u043e \u043d\u043e\u0432\u0430\u044f \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u0434\u043b\u044f \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u043d\u043e\u0432\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0435\u0432, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c\u0438 \u0438 \u043f\u0430\u0440\u0442\u043d\u0451\u0440\u0430\u043c\u0438 SAP.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/iy\/sh\/hj\/iyshhjwysnjmzo_qn6o8aqir7g0.jpeg\"><\/p>\n<p>  \u041f\u0440\u0438 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0426\u0435\u043d\u0442\u0440\u0430 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0434\u0435\u043c\u043e-\u0441\u0442\u0435\u043d\u0434\u043e\u0432, \u043d\u043e \u0438 \u0442\u0430\u043a\u0436\u0435 \u0432\u043d\u0435\u0434\u0440\u044f\u0442\u044c \u0438\u0445 \u0432 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u0430\u043c\u043e\u0433\u043e \u0426\u0435\u043d\u0442\u0440\u0430.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0441\u0435 \u0437\u0430\u043b\u044b \u0438 \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u0438 \u0432 \u0426\u0435\u043d\u0442\u0440\u0435 \u043c\u043e\u0433\u0443\u0442 \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u2013 \u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0435\u0439 \u2014 \u0438 \u0432\u043d\u043e\u0432\u044c \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c\u0441\u044f \u0432 \u0435\u0434\u0438\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e. \u0422\u0430\u043a\u0436\u0435 \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0430 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0430 \u00ab\u0443\u043c\u043d\u044b\u043c \u043e\u0444\u0438\u0441\u043e\u043c\u00bb \u2014 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438, \u043a\u0430\u043c\u0435\u0440\u0430\u043c\u0438 \u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u043b\u0438\u0446, \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439. <\/p>\n<p>  \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043c\u044b \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 SAP Cloud Platform \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0433\u043e\u0432\u043e\u0440\u043d\u044b\u0435 \u043a\u043e\u043c\u043d\u0430\u0442\u044b. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439 \u0437\u0430 \u043e\u0434\u0438\u043d \u0434\u0435\u043d\u044c.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-289093","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/289093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=289093"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/289093\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=289093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=289093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=289093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}