ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Karthick Sankarachary (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ODE-450) Expose Deployment Properties In BPEL Process
Date Thu, 04 Dec 2008 01:27:44 GMT

     [ https://issues.apache.org/jira/browse/ODE-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Karthick Sankarachary updated ODE-450:
--------------------------------------

    Description: 
Often times, one would like to be able to assert some influence over the runtime behavior
of a BPEL process even though it is "code-complete". As a matter of fact, we already externalize
certain process properties and wirings in a deployment artifact known as deploy.xml. However,
we stop short of exposing those properties in the BPEL process, which is a known limitation.

What we need is a mechanism to reference properties defined at deploy-time directly in the
BPEL process. To that end, we will define an extension XPath function that will return the
node object corresponding to the qualified name of a process property, as follows:

    ode:process-property($name as item() ) as node()

where $name refers to any schema item that resolves to a QName, and
             the return node value is the child of the property element with the given name.

Let us see how a service EPR that is defined at deploy-time can be dynamically assigned to
a partner link in the BPEL process, thereby changing the target location of that partner after
the fact. In the snippet of deploy.xml shown below, the process called "tns:process" is assigned
a property called "auctionEpr" whose value is set to a BPEL <service-ref> element. 

    <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
                   xmlns:tns="http://ode/bpel/process">
	<process name="tns:process">
           <property name="auctionEpr">
            <sref:service-ref 
                xmlns:sref=" http://docs.oasis-open.org/wsbpel/2.0/serviceref"
                xmlns:addr="http://example.com/addressing"
                xmlns:as="http://example.com/auction/wsdl/auctionService/">
                <addr:EndpointReference>
                    <addr:Address>http://example.com/auction/RegistrationService/</addr:Address>
                    <addr:ServiceName>as:RegistrationService</addr:ServiceName>
                </addr:EndpointReference>
            </sref:service-ref>
          </property>...
        </process>
    </deploy>

In order to assign this user-defined EPR to a certain partner link, you would use an assign
statement that looks something like this:

    <assign>
         <copy>
            <from>ode:process-property("auctionEpr")</from>
            <to partnerLink="auctionRegistrationService" />
         </copy>
    </assign>

  was:
Often times, one would like to be able to assert some influence over the runtime behavior
of a BPEL process even though it is "code-complete". As a matter of fact, we already externalize
certain process properties and wirings in a deployment artifact known as deploy.xml. However,
we stop short of exposing those properties in the BPEL process, which is a known limitation.

What we need is a mechanism to reference properties defined at deploy-time directly in the
BPEL process. To that end, we will define an extension XPath function that will return the
node object corresponding to the qualified name of a process property, as follows:

    ode:process-property($name as item() ) as node()

where $name refers to any schema item that resolves to a QName, and
             the return node value is the child of the property element with the given name.

Let us see how a service EPR that is defined at deploy-time can be dynamically assigned to
a partner link in the BPEL process, thereby changing the target location of that partner after
the fact. In the snippet of deploy.xml shown below, the process called "tns:process" is assigned
a property called "auctionEpr" whose value is set to a BPEL <service-ref> element. 

    <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
                   xmlns:tns="http://ode/bpel/process">
	<process name="tns:process">
           <property name="auctionEpr">
            <sref:service-ref 
                xmlns:sref=" http://docs.oasis-open.org/wsbpel/2.0/serviceref"
                xmlns:addr="http://example.com/addressing"
                xmlns:as="http://example.com/auction/wsdl/auctionService/">
                <addr:EndpointReference>
                    <addr:Address>http://example.com/auction/RegistrationService/</addr:Address>
                    <addr:ServiceName>as:RegistrationService</addr:ServiceName>
                </addr:EndpointReference>
            </sref:service-ref>
          </property>...
        </process>
    </deploy>

In order to assign this user-defined EPR to a certain partner link, you would use an assign
statement that looks something like this:

    <assign>
         <copy>
            <from>ode:process-property("epr")</from>
            <to partnerLink="auctionRegistrationService" />
         </copy>
    </assign>


> Expose Deployment Properties In BPEL Process
> --------------------------------------------
>
>                 Key: ODE-450
>                 URL: https://issues.apache.org/jira/browse/ODE-450
>             Project: ODE
>          Issue Type: New Feature
>          Components: BPEL Compilation/Parsing, BPEL Runtime
>    Affects Versions: 1.2
>         Environment: platform-independent
>            Reporter: Karthick Sankarachary
>            Assignee: Karthick Sankarachary
>             Fix For: 1.3
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> Often times, one would like to be able to assert some influence over the runtime behavior
of a BPEL process even though it is "code-complete". As a matter of fact, we already externalize
certain process properties and wirings in a deployment artifact known as deploy.xml. However,
we stop short of exposing those properties in the BPEL process, which is a known limitation.
> What we need is a mechanism to reference properties defined at deploy-time directly in
the BPEL process. To that end, we will define an extension XPath function that will return
the node object corresponding to the qualified name of a process property, as follows:
>     ode:process-property($name as item() ) as node()
> where $name refers to any schema item that resolves to a QName, and
>              the return node value is the child of the property element with the given
name.
> Let us see how a service EPR that is defined at deploy-time can be dynamically assigned
to a partner link in the BPEL process, thereby changing the target location of that partner
after the fact. In the snippet of deploy.xml shown below, the process called "tns:process"
is assigned a property called "auctionEpr" whose value is set to a BPEL <service-ref>
element. 
>     <deploy xmlns="http://www.apache.org/ode/schemas/dd/2007/03"
>                    xmlns:tns="http://ode/bpel/process">
> 	<process name="tns:process">
>            <property name="auctionEpr">
>             <sref:service-ref 
>                 xmlns:sref=" http://docs.oasis-open.org/wsbpel/2.0/serviceref"
>                 xmlns:addr="http://example.com/addressing"
>                 xmlns:as="http://example.com/auction/wsdl/auctionService/">
>                 <addr:EndpointReference>
>                     <addr:Address>http://example.com/auction/RegistrationService/</addr:Address>
>                     <addr:ServiceName>as:RegistrationService</addr:ServiceName>
>                 </addr:EndpointReference>
>             </sref:service-ref>
>           </property>...
>         </process>
>     </deploy>
> In order to assign this user-defined EPR to a certain partner link, you would use an
assign statement that looks something like this:
>     <assign>
>          <copy>
>             <from>ode:process-property("auctionEpr")</from>
>             <to partnerLink="auctionRegistrationService" />
>          </copy>
>     </assign>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message