Receive choice (BPEL) in BPMN

Hello Experts,
I`m converting a process from non-SAP integration system which is using BPEL for process description into SAP PO (which is using BPMN of course).
I`m wondering how can I convert BPEL activity RECEIVE CHOICE into SAP BPMN.
Receive choice is something like CASE ... WHEN statement in ABAP. You set the sender Service Interface with multiple operations into it and it will choose which branch is the right one, according to which operation was called by sender system.
I found that SAP implementation of BPMN has big restriction according to standard BPMN or BPEL - you can set only one operation of only one service interface as input point of BPMN process.
Is there some design pattern or work around how to convert that BPEL activity into SAP BPMN?
Thank you
VB

I read that excellent article of Volker before, and it is possible solution for that problem, but only in a case that I need to aggregate few messages of not so different message types.
But it is not my case - I need to trigger my process for almost twenty message types (almost twenty operations on my service interface), and if I would make super message type (combined message type of all message types) it would have hundreds of fields and such a message would be so huge to work with and really unflexible to future changes.
So - simple aggregator pattern is not suitable for me, because it consumes multiple messages of one message type (one operation) and that upgraded aggregator pattern (after some changes) can be a solution, but due to high number of operations (message types) - it is somewhat unpractical.
Neverthless, that I dont need to aggregate these messages, but I need some kind of DISPATCHER pattern.
I have one service interface with multiple operations and want to dispatch right process for actual operation of that SI. I cannot believe that BPMN doesnt have such a trivial functionality.
vb

Similar Messages

  • How to read JMS message properties from BPEL or BPMN process

    Hi all,
    I have a JMS Adapter that consumes messages from a remote ActiveMQ queue and I don't find the way the get the properties of the JMS message as I would like to map them in BPEL or BPMN process variable. I only manage to get the content of the message.
    I've also read that if using a MapMessage, one of the map entry can be mapped directly and that the other map entries go to jca.jms.Map.xxxx where xxxx is key of the map entry.
    But how can I map those "jca.jms.Map.xxxx" properties on process variables ? and how to map JMS Properties (that seem to be mapped on jca.jms.JMSProperty.xxxx) to process variables ?
    I use SOA Suite version : 11.1.1.4.0
    Thanks for your help

    SOA Suite 11g - how to set/get JMS headers ?

  • Source Code Analysis tool for BPEL (and BPMN) 11g

    Hi,
    We are checking for the availablility of 'source code analysis' tools (analogy like findbug, checkstyle) for BPEL / BPMN Orchestrations.
    Any information/pointers to it is really valuable and appreciated.
    Thanks,
    Pavan.

    Hi AnujaMoharir,
    Welcome to MSDN.
    I am afraid that as Renee Culver said, these forums donot support VB6, you could refer to this thread:
    Where to post your VB 6 questions
    You could consider posting this issue in these forums below:
    These forums do not support Visual Basic 6, however there are many third-party support sites that do. If you have a VB6-related question please visit these popular forums:
    VB Forums
    VB City
    Thanks for your understanding.
    Best Regards,
    Youjun Tang
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Conflicting receive in BPEL

    Im having two BPEL process.The first BPEL process will check the dehydration store for the second BPEL process intstance.If the second BPEL process instance is already available then the first BPEL process will call the initiate operation of the second BPEL process(for initiating the second instance) else it will call the update of the second BPEL process(Correlated using correlation ID). The correlation pattern used is OUT.
    This is working fine if i post one or two messages but if i post 100 or 500 messages, Im getting "Conflicting receive" exception and my first BPEL process is invoking initiate process instead of update process. Im not sure of whether this is due to time lag happening in the dehydaration store or any other stuff.

    Hi Venkat,
    Just a thought....When you initiate process 1 twice, depending on the adapter polling frequency instances are created. Considering there are only 2 instances created, the process 2 should ideally call the initate operation and complete successfully. But, when you have 100 to 500 instances created for the same process with different instance ids, since the message is the same..its getting confused as to on whom to perform the initiate operation. So, what I feel is to check the dehydration store for the process name (instead of the number of instances or its instance id/name). In this way, once the process is deployed on the BPEL Server, its suitcase gets created and then you can fetch its metadata only once irrespective of its number of instances.
    Hope that helps!
    Cheers
    A

  • Add a Human Task in BPEL but it shows as an Auto Task in BPA

    Hi, all,
    I create a BPMN flow in BPA and mapping to BPEL. And I add a Human Task in jDeveloper, and saved back to BPA server. But the problem is the updated BPMN flow shows that I added a Auto Task in BPA. Could you help me on that? Thanks in advance.
    Best Regards,
    Bill

    Hi Bill,
    Prefatory a quick intro on the basic idea of the BPA concept and a few personal recommendations. In general all changes on the control flow should be initiated top-down from the business process, which means your requirement becomes relevant only in certain cases. If the refinement of the BPEL process is going beyond the technical implementation, then the BPMN diagram itself needs to be corrected. That being said, in certain cases it may be sensible to make use of the improvement proposal feature (e.g. the IT developer recognizes the need of an additional service invocation, so that the control flow of the business process has to be refined).
    Referring to your issue these changes are displayed as Automated Activities (abstract) in the superior business process (in BPA). For this reason some activities require a different approach when it comes to accepting or rejecting by the business users. The description below provides an overview about how-to add activities in BPEL subsequently (as improvement proposals) and how they will be represented in the superior business process after synchronization (personal recommendations).
    Control flow
    Email, Fax, Pager, Pager, SMS, Voice+
    BPEL process (JDeveloper)+
    Encapsulate within a separate Abstract activity - choose a name, which helps to identify that this should be a Notification activity (define naming conventions in the conventions handbook).
    Business process (BP Architect)+
    By default represented as Automated Activity (abstract).
    Open the improvement proposal model and select the new activity. Go to Format/Representation and select 'Notification' in the Symbol-dropdown list - the object appearance changes.
    Important: double-click the new activity and specify all the required parameters. Share the blueprint with IT.
    Note: The attributes of the abstract Automated Activity still appear in the attributes view.
    Invoke+
    BPEL process (JDeveloper)+
    Encapsulate within Abstract activities.
    Business process (BP Architect)+
    If encapsulated within an existing scope in BPEL - not visible in the superior process.
    If encapsulated within an Abstract activity in BPEL - represented as Automated Activity (abstract).
    Human Task+
    BPEL process (JDeveloper)+
    Encapsulate with an a separate Abstract activity - choose a name, which helps to identify that this should be a Human Task activity (define naming conventions in the conventions handbook). Ignore the Switch activity that will be added below the Human Task.
    Business process (BP Architect)+
    By default represented as Automated Activity (abstract).
    Open the improvement proposal model and select the new activity. Go to Format/Representation and select 'Human Task' in the Symbol-dropdown list - the object appearance changes.
    Important: double-click the new activity and specify all the required parameters. Share the blueprint with IT.
    Note: The attributes of the abstract Automated Activity still appear in the attributes view.
    Receive, Reply+
    BPEL process (JDeveloper)+
    Encapsulate within Abstract activities.
    Business process (BP Architect)+
    If encapsulated within an existing scope in BPEL - not visible in the superior process.
    If encapsulated within an Abstract activity in BPEL - represented as Automated Activity (abstract).
    Decide+
    BPEL process (JDeveloper)+
    Add a new Abstract scope - choose a name, which helps to identify that this should be a Business Rule activity (define naming conventions in the conventions handbook). Place an Empty activity inside the scope.
    Business process (BP Architect)+
    By default represented as Automated Activity (abstract).
    Open the improvement proposal model and select the new activity. Go to Format/Representation and select 'Business rule function' in the Symbol-dropdown list - the object appearance does change.
    Important: double-click the new activity and specify all the required parameters. Share the blueprint with IT.
    Note: The attributes of the abstract Automated Activity still appear in the attributes view.
    Flow, Switch, Pick+
    BPEL process (JDeveloper)+
    Only new branches within existing activities can be added subsequently. Each branch should contain at least one Abstract activity.
    Business process (BP Architect)+
    New activities should be defined in the superior business process.
    Displayed as gateways (AND, XOR <event-based>, XOR <data-type>, OR) - the definition of these activities should be initiated in the business process.
    While+
    BPEL process (JDeveloper)+
    Only within existing scopes. Loops should be defined in the superior business process.
    Business process (BP Architect)+
    If not encapsulated within a scope in BPEL - will be represented as Automated Activity (abstract).
    If encapsulated within an existing scope in BPEL - not visible in the superior process after synchronization.
    If encapsulated within an Abstract in BPEL - will be represented as Automated Activity (abstract).
    Implementation
    Assign, Transform, Throw+
    BPEL process (JDeveloper)+
    Only within existing scopes.
    Business process (BP Architect)+
    Not visible.
    Wait, Terminate+
    BPEL process (JDeveloper)+
    Not recommended to add them subsequently - should be defined in the superior business process via Intermediate events (BPMN).
    Business process (BP Architect)+
    Displayed as intermediate event - the definition of these activities should be initiated in the business process.
    Kind regards,
    Danilo

  • BPMN & IPM

    Hi,
    1. I am new to the BPMN/BPEL/IPM, we are implementing IPM, what are the Oracle training you can recommend?
    2. Is BPMN being used in IPM 11g? which is more appropriate to use with IPM whether it is BPMN or BPEL only?
    Is it possible to use only BPEL(without BPMN) with IPM and get all the functionalities from IPM 11g?
    3. What is the advantage using BPMN instead of BPEL with IPM 11g in a technical point of view?
    Thank You

    1. I am new to the BPMN/BPEL/IPM, we are implementing IPM, what are the Oracle training you can recommend?Check Oracle University courses. I think you are looking for a BPM or BPM Suite training and IPM one (not sure if there is one for 11g already)
    2. Is BPMN being used in IPM 11g? which is more appropriate to use with IPM whether it is BPMN or BPEL only?BPEL Process Manager is an execution engine to run BPEL workflows (it is a part of UCM/ECM and I believe, also BPM). With BPEL PM you have to design your workflows in JDev using XML-like Business Process Execution Language (BPEL). BPMN (Modelling Norm) is a norm which allows more business user friendly modelling of workflows. Since 11g it is also designed in JDev, but it is my understanding that you may use different libraries.
    Which one to use? If you are experienced in BPEL and you will design workflows yourselves, you may go with BPEL only. If a customer wants to design their workflows and they are not experienced with BPEL, BPM Suite might be a better choice for you. It is a part of IPM license (sadly, not included in other ECM products).
    Is it possible to use only BPEL(without BPMN) with IPM and get all the functionalities from IPM 11g?I believe it is - BPEL basically enables calling of services. BPM might give you a bit more functionality when it comes to modelling, debugging workflows without actually running/implementing it, etc.
    3. What is the advantage using BPMN instead of BPEL with IPM 11g in a technical point of view?See above.

  • How to use Bpel output as input in stored procedure

    I am a SOA beginner. The scenario is to use the output from a BPEL process in a stored procedure as input and validate it against the data in the database. The data received from BPEL is compared with fields from different tables.
    It is basically a business process data validation.
    Will the output of BPEL be a Xml file and how it can b used in query of a procedure?
    Edited by: 869091 on Jun 29, 2011 12:14 AM

    The output from the BPEL process will be in XML format.
    Your requirement is not clear, please state it properly what are you trying to do.
    -Yatan

  • JPublisher and BPEL strange behaviour

    I use code generated by JPublisher for BPEL process with endpoint http://bbm.local.com/orabpel/default/activation/1.0/activation?wsdl to call BPEL process from DB Oracle 10g.
    There are more than one versions of BPEL process (more than one endpoints) on server.
    When I call PL/SQL procedure with correlation parameter for running instance of BPEL process, it receives message even when the instance is running on another endpoint.
    For example there is running 3 instances of process activation
    1. instance with version 1.0 and correlation parameter 1000
    2. instance with version 1.1 and correlation parameter 1001
    3. instance with version 1.2 and correlation parameter 1002
    Default version is 1.2.
    Code was generated with endpoint of version 1.0.
    I call procedure with correlation parameter 1001 and message is normally received by BPEL process.
    Is this normal behaviour? What is the matter of endpoint in generation process?
    Many Thanks.

    I'm experiencing the exact same issue than Corin. I don't know what's making the problem appear, but I usually need to restart to fix the problem. Also when I tried to drag something from iTunes I couldn't use the escape method as Corin mentioned before.
    I already re-installed Mac OS X and after a couple of hours the problem came back again. It doesn't seem like a hardware problem because once I tried to restart my MAC and a program stopped it from doing it... and then I noticed that my mouse was fixed again.
    I don't know what can be the issue, but does this mean I need to make a clean install of Mac OS X?

  • Help in forming SOAP message for Bpel process

    Hi,
    I have a following schema file - UnpackMessage.xsd
    <?xml version="1.0" encoding="windows-1252"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
    targetNamespace="http://www.w3.org/2001/XMLSchema/UnpackMessage"
    xmlns:tns="http://www.w3.org/2001/XMLSchema/UnpackMessage"
    elementFormDefault="qualified">
    <complexType name="PackHandlerProcessRequestType">
    <sequence>
    <element name="instanceId" type="string"/>
    <element name="activityName" type="string"/>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    <element name="PackHandlerProcessRequest" type="tns:PackHandlerProcessRequestType"/>
    </schema>
    and the following wsdl file for a bpel process
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <definitions name="PackManagerWSDL"
    targetNamespace="http://xmlns.oracle.com/PackManager"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
    xmlns:client="http://xmlns.oracle.com/PackManager"
    xmlns:tns="http://xmlns.oracle.com/PackManager"
    xmlns:ns2="urn:UnpackHandler"
    xmlns:ns3="http://www.w3.org/2001/XMLSchema/UnpackMessage">
    <types>
    <schema attributeFormDefault="qualified" elementFormDefault="qualified"
    targetNamespace="http://xmlns.oracle.com/PackManager"
    xmlns="http://www.w3.org/2001/XMLSchema"
    >
    <import namespace="http://www.w3.org/2001/XMLSchema/UnpackMessage" schemaLocation="UnpackMessage.xsd"/>
    <element name="PackManagerProcessResponse">
    <complexType>
    <sequence>
    <element name="result" type="string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </types>
    <message name="PackManagerRequestMessage">
    <part name="payload" type="ns3:PackHandlerProcessRequestType"/>
    </message>
    <message name="PackManagerResponseMessage">
    <part name="payload" element="client:PackManagerProcessResponse"/>
    </message>
    <portType name="PackManager">
    <operation name="initiate">
    <input message="client:PackManagerRequestMessage"/>
    </operation>
    </portType>
    <portType name="PackManagerCallback">
    <operation name="onResult">
    <input message="client:PackManagerResponseMessage"/>
    </operation>
    </portType>
    <plnk:partnerLinkType name="PackManager">
    <plnk:role name="PackManagerProvider">
    <plnk:portType name="client:PackManager"/>
    </plnk:role>
    <plnk:role name="PackManagerRequester">
    <plnk:portType name="client:PackManagerCallback"/>
    </plnk:role>
    </plnk:partnerLinkType>
    </definitions>
    The receive activity in bpel process expects input message "PackManagerRequestMessage" of type "PackHandlerProcessRequestType"
    Now on invoking the Bpel process directly by using the console ... the default input to the process looks like this -
    <payload xmlns="" xmlns:def="http://www.w3.org/2001/XMLSchema/UnpackMessage"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:type="def:PackHandlerProcessRequestType">
    <instanceId xmlns="http://www.w3.org/2001/XMLSchema/UnpackMessage">600</instanceId>
    <activityName xmlns="http://www.w3.org/2001/XMLSchema/UnpackMessage">receive</activityName>
    <result xmlns="http://www.w3.org/2001/XMLSchema/UnpackMessage">ok</result>
    </payload>
    and the receive activity gets the following as input (as taken from Flow in bpel console)
    <ReceiveInput_initiate_InputVariable>
         <part name="payload" >
              <payload xsi:type="def:PackHandlerProcessRequestType" >
                   <instanceId>800</instanceId>
                   <activityName>receive</activityName>
                   <result/>
              </payload>
         </part>
    </ReceiveInput_initiate_InputVariable>
    But when i invoke the same process using a SOAP message which looks like
    <?xml version = "1.0" encoding = "UTF-8"?>
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns2="http://www.w3.org/2001/XMLSchema/UnpackMessage" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP:Body>
    <payload xmlns="" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="def:PackHandlerProcessRequestType">
    <ns2:instanceId>600</ns2:instanceId>
    <ns2:activityName>receive</ns2:activityName>
    <ns2:result>OK</ns2:result>
    </payload>
    </SOAP:Body>
    </SOAP:Envelope>
    the receive activity now gets the following as input (taken from Flow in bpel console)
    <ReceiveInput_initiate_InputVariable>
    <part name="payload">
    <ns1:instanceId>600</ns1:instanceId>
    </part>
    </ReceiveInput_initiate_InputVariable>
    So i am losing input data. Can someone help me form appropriate SOAP message for this ?
    Thanks,
    Srini

    Thanks Marc,
    The SoapUI is really useful. The SOAP request as generated by the SoapUI for above case is
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:add="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:pack="http://xmlns.oracle.com/PackManager" xmlns:unp="http://www.w3.org/2001/XMLSchema/UnpackMessage">
    <soapenv:Body>
    <pack:initiate>
    <payload>
    <unp:instanceId>800</unp:instanceId>
    <unp:activityName>receive</unp:activityName>
    <unp:result/>
    </payload>
    </pack:initiate>
    </soapenv:Body>
    </soapenv:Envelope>
    and the input received at BPEL was as expected.
    Thanks a lot.
    Srini.

  • BPEL hanging when using HeaderHandlers for stateful webservice

    We are having problems calling a partnerlink using the responseHeaderHandlers and requestHeaderHandlers properties.
    The problem seems to be that the response from the webservice of the partnerlink is never received by BPEL, resulting in a timeout.
    From the BPEL logs, I can see that the outbound header handler class has modified the request:
    06/09/06 10:00:03 Started alive handler for statefull support -> out
    06/09/06 10:00:03 [Request] to RetrieveServiceContent operation
    06/09/06 10:00:03 Modified props
    06/09/06 10:00:03 Outgoing call props: {is-initial-call=true, input-header-variables={}, parentId=1902, completionPersistPolicy=null, process-id=bpel://localhost/default/VMTest~1.0/, rootId=1902, conversationId=bpel://localhost/default/VMTest~1.0/1902-BpInv0-BpSeq1.6-2, location=http://wxp03666/sdk/vimService, priority=3, httpRequestHeaders={Connection=Keep-Alive}, work-item-key=1902-BpInv0-BpSeq1.6-2}
    And in obtunnel, I can see the reqest being sent to the remote web service:
    POST /sdk/vimService HTTP/1.0
    Via: 1.0 LON-MEM-APP-11
    Content-Length: 342
    Content-Type: text/xml; charset=utf-8
    User-Agent: orabpel
    Host: lon-mem-tsg-06.lon.domroot.com:80
    Accept: application/soap+xml, application/dime, multipart/related, text/*
    Cache-Control: no-cache
    Pragma: no-cache
    SOAPAction: ""
    Connection: Keep-Alive
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <RetrieveServiceContent xmlns="urn:vim2">
    <_this type="ServiceInstance">ServiceInstance</_this>
    </RetrieveServiceContent>
    </soapenv:Body></soapenv:Envelope>
    The remote webservice receives this request, and in obtunnel I can see it's response:
    HTTP/1.1 200 OK
    Date: Wed, 6 Sep 2006 09:00:03 GMT
    Set-Cookie: vmware_soap_session="19D82F52-CC94-4E52-9A2A-54AB10A31E3C"; Path=/;
    Cache-Control: no-cache
    Content-Type: text/xml; charset=utf-8
    Content-Length: 2106
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
    <RetrieveServiceContentResponse xmlns="urn:vim2">
    <returnval>
    <rootFolder type="Folder">group-d1</rootFolder>
    <propertyCollector type="PropertyCollector">propertyCollector</propertyCollector>
    <about>
    <name>VMware VirtualCenter</name>
    <fullName>VMware VirtualCenter 2.0.0 build-27704</fullName>
    <vendor>VMware, Inc.</vendor>
    <version>2.0.0</version>
    <build>27704</build>
    <localeVersion>INTL</localeVersion>
    <localeBuild>000</localeBuild>
    <osType>win32-x86</osType>
    <productLineId>vpx</productLineId>
    <apiType>VirtualCenter</apiType>
    <apiVersion>2.0.0</apiVersion>
    </about>
    <setting type="OptionManager">VpxSettings</setting>
    <userDirectory type="UserDirectory">UserDirectory</userDirectory>
    <sessionManager type="SessionManager">SessionManager</sessionManager>
    <authorizationManager type="AuthorizationManager">AuthorizationManager</authorizationManager>
    <perfManager type="PerformanceManager">PerfMgr</perfManager>
    <scheduledTaskManager type="ScheduledTaskManager">ScheduledTaskManager</scheduledTaskManager>
    <alarmManager type="AlarmManager">AlarmManager</alarmManager>
    <eventManager type="EventManager">EventManager</eventManager>
    <taskManager type="TaskManager">TaskManager</taskManager>
    <customizationSpecManager type="CustomizationSpecManager">CustomizationSpecManager</customizationSpecManager>
    <customFieldsManager type="CustomFieldsManager">CustomFieldsManager</customFieldsManager>
    <diagnosticManager type="DiagnosticManager">DiagMgr</diagnosticManager>
    <licenseManager type="LicenseManager">LicenseManager</licenseManager>
    <searchIndex type="SearchIndex">SearchIndex</searchIndex>
    </returnval>
    </RetrieveServiceContentResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    However, the BPEL logs don't show any trace of BPEL receiving the response. The only thing that happens is the timeout.
    If I remove the HeaderHandler properties from the partnerlink, BPEL receives the response from the remote web service ok, and continues with further invocations of operations. However, we do need to maintain state accross invocations, so need to use header handlers.
    I have managed to get this code working on bpel 10.1.2.0.2 dev install, and thought the problem was due to setting the pl property httpKeepAlive to true, which appeared to modify the request to use http 1.1, from http 1.0. I set httpKeepAlive to false and it started working.
    Now that I've deployed to BPEL on 10g apps server (10.1.2.0.2) the problem has come back again.
    I have tried to ensure that everything is identical (classes being used etc), but cannot resolve the problem.
    Can anyone help?
    Toby

    We have resolved this problem now, and a couple of things were creating the problem.
    1st, httpKeepAlive property of true on the partnerlink resulted in a request being sent to the webservice, but no response being received. We set it to false as the outbound header class modifies the header to include a http keepalive of true.
    2nd, requests were going through a proxy server, and this was affecting things. Once we disabled the proxy server for the apps server where the requests were originating, the process worked.
    Thank.
    Toby

  • Setting dynamic endpoints in ESB

    Hi
    I have a async BPEL process(P1). It is invoking a sync ESB services(say E1). Then the BPEL process waits in a 'Receive' activity.
    The E1 ESB service contains a DB adapter tht calls a stored procedure, which performs some complex logic. After the time consuming processing is done, it writes data to a Queue. Now there is another ESB service(E2) tht reads from this queue.
    After reading from the queue, the ESB service transforms the data and uses a SOAP external service to call the BPEL prcs(P1) tht is waiting in a receive activity ( as described above) .. ...
    And then the BPEL replies to client..
    The above process can be summarised as :
    BPEL_______________________________________________ESB
    P1
    (Invoke) -----------------------------------request-------------------------> E1 (sync) ----->Uses DB adapter to call stored proc
    | <----------------------------------response----------------------
    |
    (Receive)<---------------------Invokes BPEL prcs----------------------- E2 <---------------- Queue
    |
    In E2 service , the BPEL WSDL location is mentioned(hard coded) in the SOAP service and the E2 services always invokes the process P1
    I was wondering if the following is possible :
    The queue data contains the WSDL URL(end-point dtls) along with other process related details. Is it possible tht the ESB service reads this endpoint info and then the endpoint in the SOAP external service is assigned so that the E2 service is able to dynamically invoke the BPEL process....
    In the design described above, the E2 service is always invoking the same BPEL service..... Please suggest if it is possible to dynamically set endpoints in ESB based on the data in the queue....or any other way ESB can invoke a prcs based on the queue data....
    Thanks
    Ffider

    Hi Sowmya,
    Yes, it is very much possible in OSB 11g using customization (you may use it manually or programmitically). Please refer -
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15867/customization.htm#CACJCAGD
    http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15022/toc.htm
    Regards,
    Anuj

  • Human workflow API'sFor Oracle SOA11g

    Hi all,
    I need to fetch the tasks assigned to the Particular user from ADF Application.where do we download the API's for Human workflow in Oracle SOA11g.
    Regards
    Edited by: C.Karukkuvel on Aug 5, 2010 1:00 AM

    Hi Philippe
    Yes, almost all the APIs should work fine for BPEL or BPMN. Because most of times whether its BPEL or BPMN, they both end up having the same standard components like HumanTasks, Taks, Processes, NotificationServices etc. The concept of TaskList and Tasks is same. So almost all the standard Task, Workflow APIs etc should work. We use BPM Process and use the same APIs to manipulate tasks using APIs. They work fine.
    Now specific to BPMN, there may be some more APIs say for example only BPM has something called like Dashboards, more powerfule BusinessRules, DataObjects, ProcessDataObjects etc etc. I guess Oracle may not yet published public APIs specific for BPM APIs. I have not seen so far.
    Here is the link for 11.5 Version APIs for all the areas: http://docs.oracle.com/cd/E21764_01/ref.htm (Oracle SOA Suite API Reference will have all soa related APIs).
    Thanks
    Ravi Jegga

  • Roles and permissions

    I have a couple of questions.
    1. How would I go about fitting a custom permission resolver for SOA suite ?
    2. Is there a way to print the roles,users and permissions to debug ? My roles could be in LDAP or a database but permissions are in system-jazn-data.xml. Why are these permissions stored in a XML file ?
    Mohan

    Where do the LDAP implementation classes write their logs ?
    My worklist application writes logs to orabpel.log like the following.
    <2009-05-16 16:46:44,954> <DEBUG> <collaxa.cube.services> <LDAPUtil::getJNDIContext> JNDI Connection received
    My bpel console hits openldap but does not write log the same way. It shows that the user does not have enough privileges. So basically I don't see what is being done by my LDAP classes.

  • Weird transformation

    Hi, when I transform to BPEL this BPMN diagram:
    http://img232.imageshack.us/img232/9082/bpmnjz2.png
    this is the result
    http://img220.imageshack.us/img220/2194/bpelrj1.jpg
    a) how can I get rid of those terminates? I know that one solution (an ugly one) is to remove it from JDeveloper, but I want to do it from BPA
    b) Why it repeats the final reply 3 times?
    Thanks
    Neuquino

    HI Neuquino,
    This is not a bug. Look carefully at the logic of your process. You can reach the Order_Booked in three different cases.
    As for terminates, agian they are there because you have three outcomes after the while loop - case A, B and default. One could argue that we dont need a default case - however if you look at it from implementation perspective, it does require a default use case branch.
    Also it is three invocations of the same service and not three actal implementations required.
    Cheers
    Vishal

  • Business Catalog updated with BPEL refs, not with BPMN refs

    When adding BPEL processes to the SCA component you see the Business catalog modules "References" and "Services" are updated. However, when adding BPMN processes the Business catalog is not updated (and btw you cannot check "Expose as an web service" when creating a BPMN process like you can with BPEL processes). In my opinion the current solution seems incomplete: viewing the "Exposed services" lane of my composite.xml I should expect all of them in the Business Catalog, not only the BPEL ones. It seems Oracle's work behind the Business Catalog component has not finished yet or is there some logic behind this behaviour?
    I am working with version 11.1.1.6
    Edited by: GSmink on Jul 9, 2012 5:12 AM
    corrected spelling errors

    Dan,
    No I did not use Reusable or Manual processes, I use processes (asyn) with a Message Start event, and yes, I see them nicely in the Composite's Exposed Services and the wsdl's in the project's SOA Content folder. But my 'concern' is why the Business Catalog (BC) is not populated with BPMN processes like it is with BPEL processes. In the "Services" module of the BC I see the submodule BPEL with my BPEL processes so I had expected a submodule BPMN with my BPMN processes. From a business perspective I certainly would also see my business processes in the BC, so for me it seems 'unbalanced'
    (I ran against this issue when using correlation:
    In the process receiving an 'in flight' message I defined a Message catch event step in where I defined in the box "Message Exchange" Type :"Define Interface". Then building the process that throws the message to the in-flight process instance I defined the Message Throw event step and in that step I had expected to be able to use the Message Exchange Type "Use Interface" but that was not possible because I could only select BPEL services.
    I solved this by selecting "Process call" in stead of "Use Interface".)

Maybe you are looking for

  • IPod Touch 3.1.3 Update & Wifi

    Hello All, Since I updated my iPod Touch to OS 3.1.3 a day or two ago, I've had a really hard time reliably connecting to several different wifi hotspots. It seems to me that I can reliably connect to a hotspot once and only after a hard reboot of th

  • How do I a form submit without losing page parametes on other portlets?

    I have a page with several portlets. How can I make one of the portlets do a form submit without losing page parameters in other portlets? If I do a submit only the controls in the form I have submitted are passed which means I loose parameters that

  • 80 GB Classic freezing iTunes 9.2

    I finally got around to upgrading to iTunes 9.2 and when I plug my 80 GB iPod Classic into my computer (Windows Vista), iTunes freezes. My iPod says it is connected, but it doesn't show up in iTunes and when I plug it in to iTunes I can't listen to a

  • WEB-INF/lib class reloading

    Are the jar/zip files placed in the WEB-INF/lib directory of the web app reloadable i.e. if the classes in the jar file are changed would they be reloaded by the webapp class loader just like the classes in the WEB-INF/classes directory?

  • Work Flow: HTTP & Macro actions together?

    I need to create several screen pops when an agent answers a call.  I have 3 tabs in the integrated browser of CAD v8.  Using the Answered Event, I created three HTTP actions that bring up the appropriate websites.  But some of the applications don't