Возможно ли это - настройка ответов конечной точки SAP Netweaver

Я консультант, создающий приложение для клиента. Клиент отвечает за создание конечных точек, которые будет использовать мое приложение. Клиент использует решение на основе ABAP и Netweaver - две части программного обеспечения, с которыми у меня нет опыта.

Клиент предоставляет свои ответы конечной точки как в XML, так и в JSON. Я работал с ними, чтобы улучшить их конечные точки, и столкнулся с множеством проблем, когда они утверждали, что то, о чем я прошу, невозможно. Я ищу информацию - клиент правильный или он недостаточно квалифицирован для этой работы?

Некоторые из моих просьб:

  • Отформатируйте значение даты в определенном формате. Клиент настаивает на том, что единственный формат ответа для даты - / Дата (1430502144000 + 0000) /
  • SAP сохраняет логические значения как X (истина) или (ложь). Я попросил преобразовать значения в истину или ложь (без кавычек) в конечной точке. По всей видимости, это невозможно.
  • Я попросил, чтобы все сведения об элементе возвращались из конечной точки getItemDetail - клиент настаивает на том, чтобы для получения сведений об элементе мне нужно было вызвать 5 разных конечных точек, потому что для каждого типа ответа массива в настоящее время другой вызов нужно сделать. Это причина для отдельных конечных точек для массивов для текстов, частей и т. Д.

В общем - кажется, что клиент не знает, как создавать или настраивать ответы, и может показаться, что их конечные точки представляют собой дампы 1: 1 их структур объектов, хранящихся в SAP. Идея перевода своих данных кажется им потерянной в SAP. Может ли кто-нибудь подтвердить / опровергнуть возможность полной настройки ответов конечных точек при использовании SAP и Netweaver?


person captain_jim1    schedule 28.08.2015    source источник
comment
Я не совсем уверен в том, как SAP может взаимодействовать с другими системами. Я знаю одно - это веб-сервисы. Вы знаете, как ваш клиент генерирует эти XML и JSON?   -  person Christian    schedule 28.08.2015
comment
Насколько я понимаю, это была возможность SAP Netweaver. Кроме того, я не уверен.   -  person captain_jim1    schedule 28.08.2015
comment
Но если это XML, то, насколько я знаю, можно вернуть все, что угодно. 3 ваших запроса могут быть выполнены. Но, поскольку я не совсем уверен, я бы порекомендовал игрушку подождать еще одного комментария / ответа.   -  person Christian    schedule 28.08.2015
comment
SAP NetWeaver - это маркетинговый термин, а не устанавливаемый продукт. Он включает в себя множество вещей, включая сервер приложений на основе ABAP, сервер приложений на основе Java, некоторые вещи на основе MS - вы называете это. О каком именно продукте мы говорим?   -  person vwegert    schedule 28.08.2015
comment
Прошу прощения, но я не уверен. Я разговаривал с клиентом сегодня, и они рассказывали мне, что у них есть полностью сформированный объект, но что SAP генерирует конечные точки на основе этого объекта и для каждого ARRAY в объекте создает новую конечную точку. Для меня это звучит как сумасшедший разговор.   -  person captain_jim1    schedule 28.08.2015


Ответы (3)


(Кажется, я не могу добавить комментарий, пока не наберу 50 очков репутации)

Привет, captian_jim1, я работаю над чем-то похожим, но с другого конца таблицы. Из SAP я генерирую вывод XML / JSON для конечной точки, которую может использовать внешнее приложение. Так что излишне говорить, что это определенно возможно. В вашем конкретном случае вам нужно будет спросить своего партнера SAP о следующих вещах:

-> Используют ли они существующие веб-службы или создают новые настраиваемые веб-службы в соответствии с вашими требованиями? В последнем случае они могут перепроектировать и отправить требуемый вывод через один веб-сервис. Все, что им нужно сделать, это поговорить с вами и согласовать схему вывода данных. С их стороны используйте существующие RFC / веб-службы и создайте данные в SAP для согласованной схемы. Когда у вас есть схема, легко создать эквивалентную структуру данных в SAP - даже сложную - и получить для нее вывод JSON / XML. Я предполагаю, что их версия netweaver не очень старая и поддерживает преобразования XML / JSON.

person TheG    schedule 28.08.2015
comment
Они сказали, что используют нестандартные методы для создания конечных точек. Конечные точки новые и не существовали до этого проекта. Они переводят свою старую ERP-систему на SAP, поэтому я предполагаю, что все новое. То, что вы описываете, - это именно то, что я ожидал сделать - работать вместе, чтобы сформировать контракт, а затем они выполнят контракт. Сегодня клиент сказал мне, что у них есть объект itemDetail, и они позволяют SAP автоматически создавать конечные точки для этого объекта, и всякий раз, когда SAP встречает массив внутри этого объекта, он создает отдельную конечную точку для этих данных. Звучит знакомо? - person captain_jim1; 28.08.2015
comment
Ммм .. Я не уверен, что они имеют в виду, когда говорят, что SAP автоматически создает конечные точки, если у них есть «Объект сведений об элементе». Можете ли вы уточнить у них структуру этого подробного объекта и соответствует ли она контракту / схеме, которые вы имеете в виду? В моем случае я генерирую вывод JSON в виде строки и отправляю ему промежуточное ПО, потому что это было требованием. Так что это мой код, который явно создает вывод JSON / XML из-за требований / ограничений клиента. - person TheG; 29.08.2015
comment
Я подозреваю, что то, что вы сделали, - это то, что им нужно сделать, то есть их код должен генерировать файл json. Я только что узнал, что они пишут все на ABAP, а не на Java, так что это может быть частью проблемы. - person captain_jim1; 29.08.2015
comment
О, это не проблема. Я генерирую вывод JSON / XML только в ABAP. В нашей настройке напрямую не задействован уровень Java. Вы можете попросить их изучить варианты создания вывода JSON / XML из объекта 'itemDetail' (убедитесь, что он содержит всю необходимую информацию), которые у них уже есть. - person TheG; 29.08.2015
comment
Я просил, но претензии остались прежними. Любой массив, являющийся частью объекта itemDetail, получает собственную конечную точку, когда конечные точки генерируются - они говорят об этом так, как будто они не могут контролировать это поведение. Мне кажется, что они не знают, что делают. - person captain_jim1; 29.08.2015

Все, о чем вы просите, возможно. Однако создание для вас уровня абстракции не в ваших интересах. В их мире это ваша работа. Они предоставляют стандартные услуги на основе стандартных объектов в SAP. Это означает наличие нескольких конечных точек почти для всего. Создание стандартного сервиса - очень незначительная задача, и ее может выполнить почти любой. Но создание уровня абстракции, подходящего для вашего приложения, требует совершенно другого набора навыков; следовательно, они не хотят этого делать.

Люди, которые умеют разрабатывать полезные сервисы И модель предметной области SAP, встречаются редко. Вместе со своим партнером вам нужно решить, кто отвечает за модель предметной области, а затем найти разработчика, который сможет ее реализовать и поддержать. Я делаю такую ​​работу сам. Перевод моделей объектов / доменов SAP в прикладную модель API / услуги для разработчиков, не связанных с SAP. Я работаю вместе с экспертами по UX, разработчиками приложений (веб, iOS / Android и т. Д.) И функциональными людьми со специальными знаниями SAP. Если вы не можете сформировать такую ​​команду, я считаю, что вам лучше просто потреблять то, что они предоставят ...

person Mikael G    schedule 31.08.2015
comment
Спасибо за ваш вклад. Похоже, создание сервиса из модели данных SAP выполняется почти одним нажатием кнопки. Является ли типичным поведением SAP создание отдельной конечной точки для каждого поля в модели данных, которая является массивом? - person captain_jim1; 31.08.2015
comment
Как правило, средний ресурс SAP использует подход «изнутри наружу». Это означает поиск подходящего BAPI или RFC, который возвращает данные, которые вы ищете, например список заказов на продажу. Затем он сгенерирует сервис на основе этого интерфейса. Он не совмещает несколько интерфейсов. См. Пример простого подхода наизнанку здесь: youtube.com/watch?v=9YOcfi4MBv0 < / а> - person Mikael G; 31.08.2015

NetWeaver 7.3 включает JAXB (версия 2.1) и JAXWS (версия 2.0) (NW 7.1 включал версии 2.0 обоих). Нет причин, по которым их веб-службы не могут возвращать xs: boolean и xs: datetime, пока они пишут веб-службу JEE5.

person tdrury    schedule 28.08.2015