2017-01-26 23 views
0

Мы находимся на SAP HCP. Для нашего приложения нам необходимо предоставить веб-API. Мы не уверены, что для этого используется служба OData или пользовательская реализация службы XSJS.Должен ли я использовать сервер OData или пользовательскую реализацию сервиса XSJS?

Мы должны выполнить несколько вещей. Все элементы также должны выполнять определенную авторизацию пользователя.

  • Выберите данные из базы данных
  • Запись данных в базу данных
  • Предоставление функций API, которые не выполнение проектно операций CRUD в базе данных, но, например, отправить данные на другой сервер в фоновом режиме

По моему мнению, служба OData будет соответствовать только первым двум элементам, но не предоставляет способ делать что-либо, что не связано с базой данных (CRUD). Это верно?

Есть ли какие-либо рекомендации по этому сценарию? Любые предложения и указания в правильном направлении приветствуются.

ответ

0

XSOData не сможет выполнять операции без CRUD. С XSJS вы можете добиться этого. Я выполнил все три требования на основе системы & те же концепции, что и для HCP.

Пример кода для выполнения запроса & отображения данных:

var queryString = "SELECT * FROM Table"; 
var connection = $.db.getConnection(); // DB Connection 
var stmt = connection.prepareStatement(queryString); 
var rs = stmt.executeQuery(); 
var output = ""; 
while (rs.next()) // Column setting 
{ 
    output += ("Col1:"+rs.getString(0)+", Col2:"+rs.getString(1)+";"; 
} 
$.response.setBody(output); 

Чтобы проверить наличие запроса GET или POST параметров & запроса вы можете использовать $ .request. С их помощью вы можете выполнять свои операции CRUD

Вы можете обратиться к API Reference XSJS для получения дополнительной информации http://help.sap.com/hana/SAP_HANA_XS_JavaScript_API_Reference_en/

Для передачи данных на другой сервер, один путь будет путем предоставления веб-службы со второго сервера. XSJS может сделать веб-запрос настроенному адресату, чтобы вы могли отправлять данные POST на ваш сервер. Вам нужно будет создать файл назначения (.xshttpdest) для доступа к серверу вам

Некоторые образцы Код:

var dest = $.net.http.readDestination("<package path to destination file>", "<destination file name>"); 
var client = new $.net.http.Client(); 
var req = new $.web.WebRequest($.net.http.POST, "/"); 
req.contentType = "application/json"; 
req.setBody("My data"); 
client.request(req, dest); 
var response = client.getResponse(); 

Вы можете найти подробную информацию о ссылке ниже, чтобы создать HTTP назначения & отправить данные https://help.hana.ondemand.com/help/frameset.htm?06ca24043b0f4eb78cf39c6bc1d8a8dc.html