[ https://issues.apache.org/jira/browse/ODE-450?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karthick Sankarachary reassigned ODE-450: ----------------------------------------- Assignee: Karthick Sankarachary > 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("epr")</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.