Вопрос: Является ли использование Java-встраивания в BPEL плохой практикой, и почему если так?
В своей работе я часто использую Java-вложения в качестве компонентов BPEL для получения определенной работы.сделанный.Это могут быть очень простые вещи, которые мне просто удобны в Java, или вещи, которые невозможно (насколько я знаю) сделать с другими компонентами в BPEL.
Пример простого внедрения Javaв 12c BPEL source:
<bpelx:exec name="TruncateBlankNamespace" language="java" version="1.5">
<![CDATA[String origHeader = (String)getVariableData("randomHeader"); try { String replacedvalue = origHeader.replaceAll(" xmlns=\"\"", ""); setVariableData("randomHeader_something", replacedvalue) ;} catch (Exception exception) { exception.printStackTrace(); }]]>
</bpelx:exec>
Другой пример, для которого я его использую, - это кодирование и декодирование полезных нагрузок в base64 и обратно,
Пример внедрения кодирования base64 в 11c BPEL-источник:
<bpelx:exec import="oracle.soa.common.util.Base64Encoder"/>
<variables>
<variable name="DecodedMessage" type="xsd:string"/>
<variable name="EncodedMessage" type="xsd:base64Binary"/>
<variables/>
<bpelx:exec name="EncodePayload" language="java" version="1.5">String decodedMessage = (String)getVariableData("DecodedMessage"); try { String encodedMessage = Base64Encoder.encode(decodedMessage.getBytes()); setVariableData("EncodedMessage", encodedMessage);} catch (Exception exception) { exception.printStackTrace(); }</bpelx:exec>
Теперь я считаю, что вложения являются очень полезными инструментами для решения определенных проблем и быстрого устранения проблем без необходимости выполнять дополнительную домашнюю работу винструмент, который вы используете.Однако мое внимание было обращено на то, что использование java-вложений в Oracle Soa suite / BPEL - плохая практика.
Я начинающий разработчик промежуточного программного обеспечения и новичок в переполнении стека, поэтому извините, если я неТщательно, пожалуйста, укажите все неправильно в этом посте, и не стесняйтесь редактировать: D!
Большое спасибо!
Jesper