Please advise regarding implementing pub/sub in a BPEL process.

Hi guys,
Requirement
The customer information comes as HTTP/SOAP message and is sent to the BPEL process as input. BPEL uses ESB and database adapters to create the customer in Oracle apps. Now, we need to send the same customer information with the Oracle apps customer number to some other systems. The number of systems is not know at this time, so we need a pub/sub mechanism where we can publish the customer creation event with the required parameters (customer name, number, etc.). Then we just create subscriptions to that event as an when required. This gives us the flexibility to add subscriptions withougt changing the initial BPEL process.
My questions
I can think of three ways to do this, please advise.
1. Use Oracle workflow business events and subscriptions. At the end of the BPEL process, raise the wf event and the subscriptions to that will be processed by workflow engine. My doubt here is that most of the times the subscriptions is another BPEL process, so does it make sense to go from BPEL to WF and then WF to PL/SQL to invoke a new BPEL?
2. Use Advanced Queues (Oracle AQ). This is similar to using Oracle WF and to me the issues are also the same.
3. Use routing rules in ESB -- I am not really sure if this can be done to replicate a pub/sub scenario, please advise and elaborate.
As a summary, we want the ability to have pub/sub within BPEL and/or ESB. Any other suggestions are also welcome.
Thanks!

I have the same question , but could not find the releveant post in ESB forum.. is the response posted ? pls post the link to that thread...

Similar Messages

  • A question regarding Synchronous, Pub-Sub non-durable model

              Scenario:
              Non-durable, publish-subscribe, syncronous model.
              Publisher1 and Publisher2 both post messages to a Topic at the same time. How to
              design the non durable Subscribers that would be able to obtain both these messages
              in the same thread?
              e.g. if i in my program I create 2 subscribers, with selectors configured for the
              2 different messages...
              program start
              1. create sub1 using selector1 for topic1
              2. create sub2 using selector2 for topic1
              3. sub1.receive(timeout)
              4. sub2.receive(timeout)
              5. further processing using both the obtained messages
              6. program end.
              In the above case, if messages arrive at the same time in the topic, only sub1 will
              be able to get the message, as sub2 won't be active at that time.
              Is there anyway to acheive this considering Synchronous, Pub-Sub non-durable model
              is to be used?
              Many thanks...
              

              Thanks for the response.
              Is a subscriber active the moment it is created?
              e.g. objSub=tsession.createSubscriber(topic,strMessSelector,true);
              or it is said to be active when we call
              objSub.receive() (in case of synchronous subscriber)
              "Shean-Guang Chang" <[email protected]> wrote:
              >I don't know the details of the design. You can use a single subscriber
              >without a selector and then do two receive to get both message.
              >If you have to use selector so sub1 can only select message from pub1 and
              >sub2 can only select message from pub2 then you need sub3 without a
              >selector and sub3 will do blocking receive first and then once the sub3
              >receives a message you can use sub1 and sub2 to do receiveNoWait.
              >
              >e.g.
              >while (true) {
              > if (sub3.receive() ! = null) { // have message in the topic
              > if (sub1.receiveNoWait() != null) { // got message from pub1
              > do something
              > }
              > if (sub2.receiveNoWait() != null) {// got message from pub2
              > do something
              > }
              > }
              >}
              >
              >"vinay s" <[email protected]> wrote in message
              >news:[email protected]...
              >>
              >> Scenario:
              >> Non-durable, publish-subscribe, syncronous model.
              >> Publisher1 and Publisher2 both post messages to a Topic at the same time.
              >How to
              >> design the non durable Subscribers that would be able to obtain both these
              >messages
              >> in the same thread?
              >> e.g. if i in my program I create 2 subscribers, with selectors configured
              >for the
              >> 2 different messages...
              >>
              >> program start
              >> 1. create sub1 using selector1 for topic1
              >> 2. create sub2 using selector2 for topic1
              >> 3. sub1.receive(timeout)
              >> 4. sub2.receive(timeout)
              >> 5. further processing using both the obtained messages
              >> 6. program end.
              >>
              >> In the above case, if messages arrive at the same time in the topic, only
              >sub1 will
              >> be able to get the message, as sub2 won't be active at that time.
              >>
              >> Is there anyway to acheive this considering Synchronous, Pub-Sub
              >non-durable model
              >> is to be used?
              >>
              >> Many thanks...
              >
              >
              

  • Implement callback for an asynchronous BPEL process through Java

    Hi ,
    I am trying to implement a callback functionality for an asynchronous BPEL process through java.
    I found the code in the samples folder of SOA suite installation folder .
    <SOA_HOME>\bpel\samples\tutorials\102.InvokingProcesses\rmi\com\otn\samples\async.
    There is an AsyncInstanceWatchdog object which registers a callback object(in this case an object of AsyncCallbackImpl class) for a specific CONVERSATION_ID.
    String convId = GUIDGenerator.generateGUID();
    nm.setProperty(NormalizedMessage.CONVERSATION_ID, convId);
    deliveryService.post(proc_name, "initiate", nm);
    // register the callback
    watchdog.registerAsyncCallback(convId, testAsyncHandler,
    locator.getDomainAuth());
    // start it
    watchdog.start();
    There is no problem till the last line. But once the BPEL process returns the control( does a callback), it throws the following error.
    May 25, 2010 3:36:06 PM oracle.j2ee.rmi.RMIMessages EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER
    WARNING: Exception returned by remote server: {0}
    ORABPEL-02118
    Variant not found.
    The variant "output" has not been declared in the current scope. All variants must be declared in the scope before being accessed.
    Please check that the variant "output" is properly declared; otherwise there may be a misspelling in the name of the variant.
         at com.collaxa.cube.engine.core.Scope.getVariantRV(Scope.java:535)
         at com.collaxa.cube.engine.CubeEngine.getFieldValue(CubeEngine.java:2668)
    For your reference the variable output is declared in the definition of AsyncCallbackImpl (which implements the IAsyncInstanceCallback interface).
    There are 2 methods defined in the AsyncCallbackImpl class.
    public void onResult(Map pResultMessage) {
    System.out.println("called back! ");
    Iterator iTest = pResultMessage.keySet().iterator();
    while (iTest.hasNext()) {
    String key = (String)iTest.next();
    System.out.println(XMLHelper.elementToString((Element)pResultMessage.get(key)));
    public String getVariableName() {
    return "output";
    The variable name is same given in the sample code. And the BPEL process returns variable named output. So the name should not be a problem.
    Is it because of the scope of the variable.. If so, how do I change it.
    Any help would be appreciated.
    Edited by: saptarishi on May 25, 2010 4:24 PM
    Edited by: saptarishi on May 26, 2010 4:45 PM

    Solved it by some googling .... :)
    Here is the link:-
    [http://abhishek-soablog.blogspot.com/2008/09/orabpel-02118.html]
    or
    [http://beautifulwaste.blogspot.com/2008/04/calling-asynchronous-bpel-process.html]
    Both gives the same solution..
    In pre 10.1.3.3 release the default behaviour were to keep global variable information along with the instance information for completed BPEL processes.
    In 10.1.3.3 or later, this behaviour changed for performance reasons so that the default behaviour is now, not to keep any global variables for a BPEL process once the BPEL process has completed.
    You can configure this behaviour on a process level basis by using the parameter keepGlobalVariables in the bpel.xml file for the specific process:
    <BPELSuitcase>
    <BPELProcess src=".........." id="...........">
    <configurations>
    <property name="keepGlobalVariables">true</property>
    </configurations>
    </BPELProcess>
    </BPELSuitcase>
    Thanks
    saptarishi

  • How to implement runtime monitor for Netbeans BPEL process?

    Hi,
    I wish to implement a runtime monitor for a BPEL process. I want the monitoring program to let user interactions as well as display qualitative attributes (performances) of each member web service.
    Could someone give me a direction or helpful tools in Net-beans environment? Any help is highly appreciated.
    TX
    K

    Hi,
    I will provide a little specification about the concepts to remove some confusion.
    This mailing list is about JBI the specification. Not about any Sun product.
    I suggest we take subsequent discussion to the users@openesb mailing list.
    https://open-esb.dev.java.net/MailingLists.html
    - OpenESB is the product which includes a BPEL Runtime Engine.
    http://wiki.open-esb.java.net/
    http://wiki.open-esb.java.net/Wiki.jsp?page=BPELSE
    - Glassfish (the appserver) contains some of the core OpenESB pieces. Which is why you see the BPEL engine without installing openesb.
    - NetBeans has plugins to develop artefacts for OpenESB components. This includes a BPEL editor.
    - Sometimes you get pieces of OpenESB development tools and runtime tools in Glassfish and NetBeans without installing OpenESB.
    - This causes confusion for many people. Including yourself.
    Although you are developing and running in NetBeans and Glassfish, you are really using the OpenESB BPEL engine.
    To answer your question, yes it is possible to do what you want.
    This links I provided previously show how to monitor the openesb bpel engine. This is what you are using.
    rgds
    Jason

  • Please Advise, regarding a server to run Oralce

    Hello,
    I hope that this is the right forum to post my thread.
    What is the best server to run Oracle ?? This is my environment:
    Win 2008 server standard.
    Oracle 11g R2 standard.
    It will be mainly for web application ( Oracle Application Express ) on Glassfish server.
    Number of users arround 100 users.
    budget 2500 - 3000 $.
    Regards,
    Fateh

    Fateh wrote:
    What is the best server to run Oracle ?? This is my environment:A very subjective request - like how long is a piece of string...?
    Win 2008 server standard.
    Oracle 11g R2 standard.Why Windows? Why not Oracle Linux? This is not only cheaper, your complete s/w stack (database and o/s) are supported by the same vendor.
    It will be mainly for web application ( Oracle Application Express ) on Glassfish server.
    Number of users arround 100 users.Number of users are less important that what the processing and resource loads are that these users place on the server.
    budget 2500 - 3000 $.Well, there are 3 basic choices IMO:
    - Sun x86 servers from Oracle Corp
    - x86 servers from HP
    - x86 servers from Dell
    The h/w decision should include:
    - how many CPUs and cores? (this directly impact Oracle RDBMS licensing costs)
    - how much RAM?
    - how much local storage?
    I prefer not to use local drives for storage - this does not always scale well when your I/O calls per second and volumes increase. If you want to use local storage, you would want multiple local scsi drives for striping and even redundancy.
    The problem with that is that it increases the size of the server (from 1 rack unit to 2-4 rack units) - and increases the cost of the server and consumes more space in your server cabinet.
    So there is not a single best answer for your question. You need to determine your requirements and constraints, shop around, make a short list of models that meet these, and then select the one you deem the best.

  • Problem in implementing Pub/Sub using Oracle AQ

    Hi,
    I am using 10.1.2.0.0 Process Manager
    I have created a publishing service which publishes a PAYLOAD as well as two header fields (Header holds the name of TARGET_SYSTEM and SOURCE_SYSTEM). In the receipients list I specified two names i.e. Bob and Jon with a comma seperator.
    I published a message to a queue and now I can see data in the queue table.
    Then I created two subscribing services (one for Bob and another for Jon).Here I specified the Consumer name as Jon in one service and Bob in another.
    When I deploy the subscription services and run them, it is not subscribing to the queue.
    Is there any additional step I need to perform in order to create the Consumer/ Subscriber?
    Regards,
    Vikas

    Hi,
    This is vikas again.
    Does some one know where to find out the document that can explain Using Oracle AQ in BPEL and steps to create rule based Consumer?
    Thanks & Regards,
    Vikas

  • Issue regarding implementing the PM Spare Parts Scanning process

    Dear friends,
    I have the following issue. It seams that the client, who want to implement the scanning procedure for the PM Spare Parts, can not do this with wireless scanners if the maintenance of the spare parts is done with Inventory Management means and has requested to implement Warehouse Management integration. The fact is that I know that IM can be use. And I know, also, that the basic needs for IM use is that the materials have activated the Batch Management and, the scanning is based on batch bar code/material bar code, together with - for GR - PO bar code and, for GI - the WO bar code. But the issue regarding the wireless baffles me. Please, can you tell me what is the way for setting the wireless connection for the scanners in IM? Thank you very much for your kindness.
    Sorin

    hi,
    It basically depends how your business process is designed for producing Spare Parts before they are reworked.
    rework order can be cerated without material with reference to original production order whcih is responsible for proeducing that SFG.
    consider below lonks:
    http://help.sap.com/bp_bl603/BBLibrary/HTML/151_EN_US.htm

  • Am unable to transfer/sync my "Notes" data from iPhone 6 to my MacAir and MacMini PC. Just doesn't work. Please advise.

    Am unable to transfer/sync my "Notes" data from iPhone 6 to my MacAir and MacMini PC. Just doesn't work. Please advise.
    regards / krishnakumar
    Cochin/India

    There may be other ways, but the best way I've found is:
    Set up an iCloud email account so that you can use the Notes part of this service.  Note that I said "iCloud email" not "iCloud" ... you need to enable the email service of iCloud in order to get the iCloud Notes feature.  Otherwise, the "Notes" app on your device will only store notes on your device, or maybe sync them with some other email account (e.g. Gmail, Yahoo ... but does so poorly IMO).
    On your Macs, set up the same iCloud account as on your iPhone.  Now that you've set up the email part of iCloud, you can enable the Notes feature of iCloud on your Macs.
    Be sure to set iCloud as the default account to store your notes, in case you have other email services with a Notes feature.
    New notes that you create on any device will sync to each other.
    Notes that you created before doing all this cannot sync to your Macs, since the notes were not in iCloud.  Just turning on iCloud Notes does not cause them to enter iCloud and sync -- you'd have to copy and paste them into a new note, after ensuring that iCloud is the default account for any new notes.

  • Please advise  Migrating of OS from Solaris to Red Hat Enterprise Linux(RHE

    Hi Experts,
    We are in process of Upgrading EBS from 12.0.4 to 12.0.6 and Migrating of OS from Solaris to Red Hat Enterprise Linux(RHEL).
    Current system Details: EBS Version: 12.0.4 DB Version: 10.2.0.3 OS Version : Solaris 10.
    1. Do we need to upgrade first or Migrate the OS First? If so why? Please advise
    2. What is the minimum database version to be upgraded for upgrading from 12.0.4 to 12.0.6 ? Please advise
    3. When will the support for this version of upgraded database expires? Please advise
    4. Minimum downtime required to upgrade the database, application and migrate the OS? Please advise
    5. Documents to follow for Upgradation and Migration? Please advise
    Regards
    Mohammed. Abdul Muqeet

    Including to What John Said you have to Refer for MOS notes Such as :
    Application Tier Platform Migration with Oracle E-Business Suite Release 12 [ID 438086.1]

  • There is a bug in FF 14,15,16 (I believe all 3) regarding mousedown x/y in an SVG canvas area. Please advise how to report this and have someone fix it.

    I am a web developer. The bug is in latest versions of FF however works fine in previous versions 6-9 (I believe), IE,Chrome. Please go to http://partybannerman.com/svg2/svg-editor.php?id=108&catid=35&wch=MXx5
    Select the number 7 with the arrow tool. Observe the location of the cursor
    Click-drag the selection and closely watch the cursor.
    The cursor no longer is in the same relative position. relative to the object selected.
    This is particularly annoying when zoomed into the "7".
    The precision is necessary for commands that we are implementing that require the cursor position relative to the object selected to be exact.
    Please advise, and thanks for your help

    Not entirely sure I follow your instructions. One thing I do note is the initial starting position of the "7" differs when I compare Firefox (17 or 10) with Chrome. Is that relevant ?
    I wonder if part of the difference may be in how differing browsers cope with the code. I am not a developer and do not know how relevant this is but I note if I try the validator http://validator.w3.org/unicorn/ it is returning some errors.
    If you do think there is a bug try to make a simple test-case that demonstrates this and post in [https://bugzilla.mozilla.org/ bugzilla]. If this appears to be a regression it would be handy to pin it down at least to a particular Firefox version, although users should not now be using Firefox 6-9. (Drill down from [https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/ here] if you need an old version of Firefox to run tests with)
    Someone more knowledgeable may provide further information, or if you need advice on troubleshooting coding issues you may find this forum useful http://forums.mozillazine.org/viewforum.php?f=25

  • Please ADVISE: Implementation of ARCs at Table Level

    Dear Colleague,
    While modeling with Designer (DS9i, Release2), I have made use of Arcs, i.e. when only ONE of two or more relationships are applicable at a time, but two or more of the relationships are possible.
    I have the situation in which an ARC contains two relationships that are also part of the primary key.
    My question is: How will designer implement this at the table level when I generate the table defintions from the entity definitions?
    I assume:
    1. that one column is generated for each relationship.
    2. that a check constraint is generated e.g.
    (col_1 is NULL and col_2 is NOT NULL) OR
    (col_1 is NOT NULL and col_2 is NULL)
    Since one of the two columns must be NULL, these columns cannot be part of the Primary key. Does Designer consequently, generate no Primary key constraint, but only a candidate key constraint?
    Please advise.
    Best regards,
    Randy

    Hi Randy,
    I suggest you make changes in the table design after transformation. You can then arrange your own design solution to the problem (either single key or multi-key with check constraints). Remember the database design transformer is not intended to provide a directly usable design, just a 'first-cut'.

  • How can I get FireFox 4 to be able to handle a number of videos open in a number of tabs. FireFox 3.6 could handle this but Fire Fox 4 , no chance. Please advise. Kind Regards.

    On Windows XP.
    I watch videos on CNBC and on FireFox 3.6 I use to right click and open up videos in new tabs and there was no problem, they also only started when I clicked on the tab to view the video which was good because it meant I did not have to go through and pause them. But FFox 4 can not handle multi vids in multi tabs, or at least mine can not . Please advise what I can do to fix this. Kind Regards.
    It was a job to get the trouble shoot info as FFox all woking very slow and jumpy.

    Firefox tarballs from Mozilla Org use prefs within Firefox for updates. The "toggle" for not automatically updating - '''app.update.enabled''' and where to look for updates - '''app.update.url'''. The first needs to be '''''false''''' and the second could be a '''''null''''' string, do an update can't be found.
    ''I use both prefs to keep Firefox from updating by itself. I install each new version of Firefox as it is released, and keep the older versions around for reference purposes. Those prefs are the same since Firefox 1.5 came out.''
    The versions of Firefox that are part of an operating system installation usually are that OS's own build of Firefox, and don't use the same update setup as Mozilla uses, in most cases. I am not familiar with Cent OS, but Ubuntu and Debian look for Firefox updates and from their own program repository servers outside of Firefox - as with the tarballs from Mozilla.

  • HT4623 when updating my iphone 4s to ios6 phone got stuck now i can not do anything please advise me regarding this...

    dear sir ....i try to update my iphone 4s from ios5.1.1. to ios6...during updating my phone got struck....please advise me regarding this matter...thank you..

    so when I connect my phone ... I get this:
    So this means:
    New hardware found: the driver for your Apple Mobile Device needs to be installed:
    1) search for drivers and install (recommended)
    2) try again later
    3) Do not give this message again for this machine
    So offcourse I take the first but it finds no driver on my computer.
    So to summarize, on my phone there is this:
    and my computer doesn't won't to recognise my phone...
    Can somebody please help me, because I need my phone to work and it is sunday so I can't go to a store to fix it?
    Kind regards,
    Leen

  • HT204380 I am using Ipad Mini, wish to download facetime, please advise me in this regard

    I am using Ipad Mini, wish to download facetime, please advise me in this regard

    FaceTime is not  available on devices purchased or used in certain countries, including Saudi Arabia and the United Arab Emirates. This is by government decree. The FaceTime app can't be downloaded or installed on these iPads.
     Cheers, Tom

  • Looking for sample code to create my own pub/sub!

    I am a new bee in JMS. So I would really appreciate if
    some one could give me some hint to start up with my school project. I am looking for a sample Java code that will:
    For the Publisher:
    1. Connect to a broker [create it, if it does not exist]
    2. Create a publisher/destination.
    3. Create a pub-sub queue
    4. Publish a message
    5. Ack or Nak depending on if the subscriber got or did not get the message.
    For the Subscriber:
    1. Connect to a broker [create it, if it does not exist]
    2. Subscribe to the broker
    3. Subscribe to the Queue
    4. Show an received messages on the console.
    Here are the command line params for both the Publisher and subscriber:
    runPub 127.0.0.1:7676 myTestBroker myQueue "this is my message"
    runSub 127.0.0.1:7676 myTestBroker myQueue
    Please tell me if there are similar java code that will do all this and work with ANY JMS compatible client. i.e. I should not have to use the Admin tool of any JMS Server (MQSeries, iPlanet, SonicMQ etc etc). The code should follow the JMS spec and do this programmatically.
    Thank you very very much in advance for doing this great favor.
    With regards,
    Amir.

    Thanks a lot for that hint. I think that's a great tutorial for a beginner. I could compile those sample codes from chapter 4 with out any problem, but could not run it. I also installed j2sdkee1.3.1 and updated my classpath according to the spec. But when I tried to run the "j2ee -verbose" command it was giving me the following error message:
    ERROR: Set J2EE_HOME before running this script.
    Any advise for me that I should follow next. Thanks again.

Maybe you are looking for

  • Finding the group from a page level

    I have a requirement to detach a particular page from the master page so that i can edit the respective item. I have written the below script that look for the group inside masterPageItems and then detach the page. When i printed "currentPage.masterP

  • Extract data from ECC6 to Netweaver2004s for BI7.0

    Hi Guru's, I have two systems ECC 6 and Netweaver2004s.For BI7.0 in Netweaver2004s i want to Extract the data from ECC6 into Netweaver2004s BI 7.0. 1.How can i make ECC6 as a Source System for the Netweaver2004s. 2. In Netweaver2004s for BW 3.5 i am

  • HELP! 2nd Hard drive keeps disappearing. Disk Utility can't see it either!

    I'm hoping 1 of you experts can help me out with a very annoying problem. November 17th I purchased a new hard drive for my Mac, Deskstar P7K500 500GB. I checked on 2nd Chance PC if it was compatable etc, and this was the reccommendation for the size

  • [SOLVED] "Sorry, that didn't work. Please try again."

    Hi, I installed arch 3 days ago based on the wiki's Beginner's Guide and Whitson Gordon's excellent (if slightly outdated) install guide over at lifehacker. First of all, I would just like to say that overall, my experience with this distribution has

  • Stylus RMX to L7 question

    Hi all I am using Stylus RMX in L7.1, and currently have six tracks in RMX's "mixer" page which I have set up in RMX, and want to play as 6 different Audio Instrument tracks in L7.1. I have no problem with copying over the midi files, but they play a