BPEL: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
→‎См. также: + пример кода
Строка 1: Строка 1:
'''BPEL''' ({{lang-en|Business Process Execution Language}}) — язык на основе [[XML]] для формального описания [[Бизнес-процесс|бизнес-процессов]] и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия [[веб-служба|веб-служб]] и включает в эту модель поддержку транзакций.
'''BPEL''' ({{lang-en|Business Process Execution Language}}) — язык на основе [[XML]] для формального описания [[Бизнес-процесс|бизнес-процессов]] и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия [[веб-служба|веб-служб]] и включает в эту модель поддержку транзакций.

== Пример BPEL ==
Гипотетический пример. BPEL-последовательность mathProcess принимает переменную $numIn возводит её в квадрат и возвращает результат в переменной $numOut.

<code>

<process name="mathProcess" targetNamespace="http://example.com/ws-bp/math"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:math="http://manufacturing.org/wsdl/math">
<partnerLinks>
<partnerLink name="Math" partnerLinkType="math:exampleMath" myRole="mathService" />
</partnerLinks>
<variables>
<variable name="numIn" messageType="math:unsignedInt"/>
<variable name="numOut" messageType="math:unsignedInt"/>
<variable name="num" type="xsd:unsignedInt"/>
</variables>
<sequence>
<receive partnerLink="Math" portType="math:mathPort" operation="secondDegree" variable="numIn" createInstance="yes"/>
<assign name="LoopCounterIncrement">
<copy>
<from>$numIn.request</from>
<to variable="num">
</copy>
<copy>
<from>$num * $num</from>
<to variable="numOut" part="response"/>
</copy>
</assign>
<reply operation="secondDegree" partnerLink="Math" portType="math:mathPort" variable="numOut"/>
</sequence>
</process>

</code>


== См. также ==
== См. также ==
* [[ActiveBPEL]]
* [[Pentaho]]
* [[Pentaho]]
* [[Сервисно-ориентированная архитектура|SOA]]
* [[Сервисно-ориентированная архитектура|SOA]]
* [[SOAP]]
* [[WSDL]]
* [[UDDI]]



=== Стандарты ===
=== Стандарты ===
Строка 15: Строка 54:
[[Категория:Сетевые протоколы]]
[[Категория:Сетевые протоколы]]
[[Категория:Веб-программирование]]
[[Категория:Веб-программирование]]
[[category:ERP]]
[[Категория:ERP]]


[[da:BPEL]]
[[da:BPEL]]

Версия от 13:52, 17 декабря 2007

BPEL (англ. Business Process Execution Language) — язык на основе XML для формального описания бизнес-процессов и протоколов их взаимодействия между собой. BPEL расширяет модель взаимодействия веб-служб и включает в эту модель поддержку транзакций.

Пример BPEL

Гипотетический пример. BPEL-последовательность mathProcess принимает переменную $numIn возводит её в квадрат и возвращает результат в переменной $numOut.

<process name="mathProcess" targetNamespace="http://example.com/ws-bp/math"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable" 
xmlns:math="http://manufacturing.org/wsdl/math">
   <partnerLinks>
       <partnerLink name="Math" partnerLinkType="math:exampleMath" myRole="mathService" />
   </partnerLinks>
   <variables>
       <variable name="numIn"  messageType="math:unsignedInt"/>
       <variable name="numOut"  messageType="math:unsignedInt"/>
       <variable name="num"  type="xsd:unsignedInt"/>
   </variables>
   <sequence>
       <receive partnerLink="Math" portType="math:mathPort" operation="secondDegree" variable="numIn" createInstance="yes"/>
       <assign name="LoopCounterIncrement">
         <copy>
            <from>$numIn.request</from>
            <to variable="num">
         </copy>
         <copy>
            <from>$num * $num</from>
            <to variable="numOut" part="response"/>
         </copy>
       </assign>
       <reply operation="secondDegree" partnerLink="Math" portType="math:mathPort" variable="numOut"/>
   </sequence>
</process>

См. также


Стандарты