A different interaction pattern

Hi all,
I want to use a different interaction pattern in my flow. I want a synchronous flow which will synchronously return an immediate response (actually the instance id of itself) to the client but it will continue processing, possibly for a long time.
Is it all right to implement this flow with a normal synchronous flow? What other options do I have?
Thanks in advance..
Serkan

It's more about how and what calls are made. A proper asynchronous process only ever makes asynchronous calls to asynchronous processes. If a process makes a call to another process, and then waits for a callback 'invoke', instead of a 'reply', then the calling process is asynchronous.
To see why this is so, you need to know how BPEL PM manages processes. There's information in the manuals and I encourage you to search them out (try here: http://download-west.oracle.com/otndocs/products/bpel/bpeldev.pdf). In brief, if a process blocks, then it is asynchronous. A process blocks when it waits on an asynchronous callback (<receive> activity and <pick> activity), when it waits for a timer (<wait> activity), and probably something else as well.
As has been discussed, if a synchronous process calls another process, and that process is not a true synchronous process and waits too long before replying, then the caller will timeout waiting.
To answer another question, from my own experiments, a process is ended when it ends. It doesn't matter when it sends a <reply> or an <invoke> callback. I in fact have some processes which send two <invoke> callbacks, in a flow similar to yours.
In your desired flow, if you can guarantee that your process will respond with its instance id immediately, then you can return the instance id with a <reply> and have the caller receive as a synchronous call, but follow that by the caller waiting asynchronously for a final callback.
For example, the caller would be something like:
<invoke name="sub_process" inputVariable=".." outputVaribale="instanceID" .../>
// sub_process replies immediately with its instanceID. then waits a long time before replying a second time
<receive name="sub_process" variable="..."/>
the sub_process would be something like:
<receive>
<reply variable="instanceID"/>
// do other stuff
<invoke name="client"/>
If, however, you can't guarantee the instanceID being returned immediately. Replace the synch reply with an asynch callback, and then you'll have two asynch callbacks, and two <receive> activities in the caller.

Similar Messages

  • Interactive pattern question

    hey all, i need help, i have a school project, which is making website. i need a tutorial on how to make moving interactive pattern like this http://andy.thlndr.com
    i appreciate any advice, please help! thks

    Hello, I have a couple points of advice for you...
    First I think your aiming a little high, that's more then a pattern and the load time on it is long...
    It is very cool, no doubt! If you have your heart set on it I would contact him and ask him for a breakdown if he's willing, because he is a coder and if your in school I'm just going to assume its over your head at the moment..
    If your some kind of a lil genius then more power to you
    If your new in edge id suggest that you follow available tutorials, there are plenty..and some are very well done.

  • Setting time for different interactions

    How can I set timing throughout different interactions and
    show remaining time for all of them altogether?

    You do not set anything on a TC.. it is an incredibly dumb box.. that is a backup target.
    If you mean Time Machine, no it has no controls.. you can download a utility to set a different period than the normal TM 1 hour..
    http://www.klieme.com/TimeMachineScheduler.html
    There is probably several of these.. I found it not particularly reliable.. and in the end just left the 1hr as TM sorts out its files very well and does not expand the backup overmuch... you should read up how TM actually works.
    http://pondini.org/TM/Works.html

  • Different vibrate patterns

    How can I set my BB to use a different vibrate pattern when I'm receiving a phone call vs when I'm getting a message?

    Welcme to the supprt frums
    Glad you are here with your new BlackBerry - I agree with Tbilisoft! 
    Nurse-Berry
    Follow NurseBerry08 on Twitter

  • Spell Currency - different currencies have different layout patterns

    Hello Guys,
    I am using the FM SPELL_AMOUNT for printing an amount in a downpayment invoice for a russian form. The problem is that the output pattern (layout) is different for EUR and USD than the one for RUB. For the RUB the currency is also spelled and the decimals are displayed as digits(check the bellow example). Can you tell me from where I can customize the system in order to get the same pattern for all currencies?
    Example:
    Language Russian, Currency EUR
    WORD Двадцать четыре
    DECWORD Пятьдесят шесть
    Language Russian, Currency RUB
    WORD Двадцать четыре рубля
    DECWORD 56 копеек
    Thanks and BR,
    Cristian

    Hi
    Currency filed is depending on Vendor master.
    In Vendor master u'll define the currency.
    IN ME21N, if u enter the vendor it will automatically default.
    Check it out.
    Regards,
    Raman

  • How to split a string for 2 different matching patterns?

    hey guys
    i'm trying to split a string, using .split(regular expression), if two different pattern matches but i don't know the exact syntax for it. I want to split the string from letters and punctuations.
    This is what i'm doing, obviously it's not working, i'm not too sure if syntax are correct.
    String inputDigit [] = input.split("([a-zA-Z]) (\\p{Punct})");Please help me with this, thank you!

    Can you describe in more detail what you're trying to
    accomplish?ok, basically if you have a string which consists of letters, digits and punctuations. All i'm trying to do or want to do is store all digist within that string into an array. Therefore, i'm using split method to split the string wherever you find a letter or a punctuation. But i don't know what is syntax for using two different patterns at the same time.
    // For example if you have a string "Eeyore 61 2.986PoohPiglet007Kanga-23"
    // i only want: 61 2 986 007 23. I know i can use substring // but that would be a slightly long process

  • Different url-patterns for same servlet running in 2 different environments

    Hi All,
    I have a question about url mappings in my web.xml file and I hope somebody can help. The situation is that I�m putting together a web app using a combination of JSPs and servlets. I can�t develop on the machine that it will be hosted on, so I�m working and testing on my own machine and will transfer to the host machine when finished. However, the host machine is set up to map serlvets to http://�/servlet/MyServlet but the copy of tomcat I have installed locally maps to http://�/MySerlvet. My question is, when I get ready to transfer my application do I have to go through all my code and find serlvet references and insert the �servlet/� path info required by the hosting service, or can I just change the url patterns for the servlet mappings of the web.xml file on the host machine ? In other words:
    Local install of Tomcat where servlets are accessed at http://�/MyServlet
    <servlet-mapping>
    <servlet-name> MyServlet </servlet-name>
    <url-pattern>/MyServlet </url-pattern>
    </servlet-mapping>
    Host machine install of Tomcat where servlets are accessed at http://�/servlet/MyServlet
    <servlet-mapping>
    <servlet-name> MyServlet </servlet-name>
    <url-pattern>/servlet/MyServlet </url-pattern>
    </servlet-mapping>
    I guess my thinking is that it would be better/easier to have a remote and local version of the web.xml file that reflects the environment each one resides in and have only one codebase rather than 2 codebases and 1 web.xml file. Am I thinking about this in the right way, or have I misunderstood something?
    Thanks,
    Peter

    What you�re suggesting is logical, but won�t that
    effect all the other stuff I�ve got running on my
    local Tomcat install that expects servlets to be
    accessed at http://.../ServletName ?
    in web.xml, you decide of your mapping, so you could use the /servlet/ServletName pattern for your application that needs to be remote, and /ServletName for the rest of your stuff. You can even define more than one mapping for a servlet...
    In fact, you should probably put your whole application that is going to be on a remote server in it's own context, and to be ahead of dufymo :-) , learn to put it a war file for deployment.

  • BPEL Interaction Pattern - Using JMS as the medium

    Objective : Make one MAIN Business Process out of BPEL that would receive the Message from Userinput or some other source and finally after doing all operations inside BPEL process (that would happen using BPEL Sub processes that exchange data using JMS send and receive inside the different queues ). Finally the MAIN Business Process would receive the response from BPEL sub process send it to Database at the end. We would like to develop a single BPEL process that would represent a Business Process say like Order Create and internally we would invoke various Sub BPEL process to work on the payload and give a handshake using JMS as the medium rather than another BPEL process makes a direct handshake to the invoking/calling process.
    Steps Attempted :
    a) BPEL Process receives the message from Input (User input of Purchase Order) and do some transformation later publish the message to Queue by configuring JMS Adapter to Produce it. Next step inside the same BPEL process tries to receive it using the JMS Adapter to consume it. It keeps waiting forever without consuming the message
    b) BPEL Process (A) receives the message from (User input of Purchase Order) and do some transformation later send the message to another BPEL Process (B) that would receive the input message. BPEL Process B writes into the Queue using JMS Adapter. In this case also BPEL Process (A) configured to receive the message from the QUEUE where the BPEL PRocess B has sent. BPEL Process A waits for the message to arrive for ever.
    Some behaviours we noticed ,
    1) Queue messages are being dequeued (JMX Browser in OEM shows no messages). But BPEL console shows the BPEL Process A is waiting for it to arrive. I believe it is consuming the message but unable to kickoff from receive (JMS activity) activity configured in the BPEL.
    2) We ensured that no other BPEL Process is consuming by creating a new Queue by name DemoQueue4 that would be used by the BPELProcess A and BPEL Process B.
    3) BPEL Process A and BPEL Process B are ASYNCHRONOUS Process. BPEL Process B receives the input and writes into the Queue does not call back to BPEL Process A. BPEL Process A would listen to the Queue to receive it inside the BPEL Process A.
    Am I trying something architecturally not possible ?
    Thanks
    Nags.
    Message was edited by:
    cdmnagaraj

    You can register any compliant JMS provider as a foreign jms provider in weblogic and then can access the JMS administered objects (destination and connection factory) from the local weblogic JNDI tree.
    This blog shows how to configure AQJMS as a foreign JMS provider and then configure JMS adapter to access the jms objects.
    http://biemond.blogspot.com/2009/07/using-aq-jms-text-message-in-wls-1031.html
    You can use the above link as a reference on how to setup. You will have to modify the Initial Context Factory, Provider URL, JNDI Properties, foregin connection factories and foreign detsinations section to suit activeMQ.
    Note: Weblogic does not come inbuild with the required jars to connect to ActiveMQ unlike AQJMS, so you need to ensure that the active mq jms client jars are available in the weblogic's classpath.

  • Pattern tool creating hairline gaps different to pattern shape?

    Hello,
    I've seen a couple of similar questions but they refer to print - mine are for screen.  I've made a simple pattern using a hexagon, and applied it to the fill of a rectangle.  For some reason, illustrator is showing hairlines on top of the pattern which do not correlate to the original pattern edges.  When I export this as a .png the lines are still visible.  These are for my website so I need to get rid of the lines!
    I've tried going into Preferences > General > and unchecking 'Anti-Aliased Artwork' but this only removes the lines within Ai.  When exported the lines are still visible.
    I've also tried going into Effect > Document Raster Effect Settings and checking/unchecking 'Anti-Alias' but this makes no difference.
    Can any one help?  Please
    My shape:
    Patterns with hairlines:

    For my part you are welcome, beerswitch.
    I assumed Save for Web because you mentioned its use for web. I believe that is the safest way to get it right, because it is crucial for the quality that you set the image size in pixels x pixels to the exact value that it is used on the web/screen. And it gets no better by being exported/saved at a larger size (on the contrary, it may get worse); if you export at anything but 72 PPI you may make a mess.
    I believe you may have used, or left it at, an incorrect size in the Image Size window when trying Save for Web. Obviously, you should specify PNG24 with transparency.

  • ADF Region Interaction Pattern

    Hi,
    I have an issue in refreshing region.
    The problem senario is as follows.
    I have a region on main page which displays some summary data, I click on the one of the link of this data to refresh another region on the main page, which works perfectly , now this second region contains another region within it added as taskflow which is called on a button click(rather i need it on pageload itself but thats not working).
    On button click the 3rd region display's properly but its refreshRegion is not getting called, due to which I am unable to proceed with the logic to be processed in 3rd region. Kindly reply on this. Basically how to enforce the refreshRegion invocation everytime page reloads.
    Note: All these regions implement RegionControllerImpl

    The 3rd region's regionRefresh wouldn't be notified when the button was pushed because all the button is doing is hide/show the region (I'm assuming). The actual execution of the region occurs when the page is first displayed in order to determine the view to display within the region (not on hide/show). You mention that's not working, I'm curious as to why - that seems to be the key. From there after, a region is refreshed is based on the Refresh and RefreshCondition attributes of its taskFlow Binding. Without seeing a test case application, it would be harder to give further guidance.

  • Combine different patterns?

    how combine different regular expiration patterns ?
    i made these patterns
    String reg1 = "^.*\\p{Alpha}.*$";
    String reg2 = "^.*\\p{Digit}.*$";
    String reg3 = "^[\\p{Alnum}!@#$%^&_-]{4,8}$";can any one made it a single regex pattern

    Taggert_77 wrote:
    Well, I am not sure what he really wants.The OP has 3 different regex patterns. S/He wants to merge all 3 into a single pattern.
    If he wants to combine the patterns in a way like. Is this string matching pattern1 and pattern2 ... it works. If he wants the differnt regex in one statement - it doesn't, however there was already a suggestions to that in another comment.
    Since i couldn't figure out, what he really need, I just wrote the "other" possibility. thats allNot to worry, I'm not saying you can't post here or anything. I simply said that your reply does not answer the OP's question.
    That's all. ; )

  • Custom logging, multiple apps in one file, different from server.log

    I have several applications running on my integration server. I would like to log from these apps to a single file (different file from server.log)
    I tried to use custom log4j logging, but there's a problem with the RollingFileAppender. Whenever a file is rolled, the backup copies are deleted. It probably happens because different classloaders load different apps and I configure the log4j in every app, but I don't understand classloaders.
    Here is a part of the log4j.properties file:
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=/path/log
    log4j.appender.file.maxBackupIndex=10
    log4j.appender.file.maximumFileSize=10485760and I configure the logger in every app by
    org.apache.log4j.PropertyConfigurator.configure( logPropertiesPath );(Is this wrong? Is it even possible to use one log file from different apps? The integration servers does it...)
    I don't need the log4j, if the internal logging can be set up to log app. messages to a different file and configured with a different layout pattern, it would be enough.
    Can anybody please help with my logging problem?

    I've tried this:
    I've put log4j.jar to the lib dir of the logicalhost and log4j.properties to another jar (my own) and put it to the lib dir too. I deleted the PropertyCOnfigurator.configure() line from the apps. Built it, manually deleted log4j.jar from the EARs. Then I deployed EARs, restarted the domain and ran the apps. They both logged to the same and correct file, but again the rolling didn't work. How is this possible? I thought that this way the IS should have one and only one instance of Log4j...

  • 9@ Route Pattern Matched Issues

    Unfortunately I have to deal with a lot of 9@ route patterns in our deployment.  I understand weird things happen when 9@ is used, but even this one is boggling my mind.  So I was hoping someone could help me understand why it's doing what it's doing.
    I have a CSS with a collection of partitions.   I'll call the 3 I'm interested in the following: One-PT, Two-PT, Three-PT.
    One-PT has a route pattern of 9@ with the Local filter applied going to Gateway 1.
    Two-PT has a route pattern of 9@ with the Local filter applied going to Gateway 2.
    Three-PT has a route pattern of 9.XXXXXXXXXX with no filter applied (those are 10 Xs) going to Gateway 3.
    My phone is assigned to the CSS with these 3 partitions.  When I dial 9 981 xxx xxxx DNA says that 9@ from One-PT is always matched.  If I remove One-PT from the CSS, then 9@ in Two-PT is matched.  Only if I remove those 2 partitions does Three-PT get matched.
    Now, as I said above I understand 9@ can introduce weird routing issues, but I thought that the route pattern with 9 and 10 Xs would be more specific and it would be matched.  Obviously I was wrong, but I'm trying to understand why I was wrong. Is this because the 10 digit number dialed matches the NANP and the Local filter matches a NANP area code?  Thus it's the more exact match?
    Thanks!

    Hi,
    As per the following link
    http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/admin/5_0_4/ccmsys/ccmsys/a03rp.html#wp1050657
    "Using the @ Wildcard Character in Route Patterns
    Using the @ wildcard character in a route pattern provides a single route pattern to match all NANP numbers, and requires additional consideration.
    The number 92578912 matches both of the following route patterns: 9.@ and 9.XXXXXXX. Even though both these route patterns seem to equally match the address, the 9.@ route pattern actually provides the closest match. The @ wildcard character encompasses many different route patterns, and one of those route patterns is [2-9][02-9]XXXXX. Because the number 2578912 more closely matches [2-9][02-9]XXXXX than it does XXXXXXX, the 9.@ route pattern provides the closest match for routing."
    Also, check the following post
    https://supportforums.cisco.com/discussion/10698966/9-route-pattern
    HTH
    Manish

  • Container Managed Security on Tomcat - configuring different auth-methods

    I am trying to configure the container managed security on tomcat4. Or rather I am trying to add a further dimension to the configuration that already exists.
    At the moment the entire application uses LDAP authentication and I would like to separate an area that requires further authentication. That is to say I would like everyone using the web application to authenticate using the existing Form-Based LDAP authentication but I would like only certain users to be able to use the data upload facility (whose code is stored in it's own directory).
    This is the authentication bit of my web.xml:
      <security-constraint>
        <web-resource-collection>
          <web-resource-name>qmrae</web-resource-name>
          <url-pattern>*.do</url-pattern>
          <url-pattern>*.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
          <role-name>*</role-name>
        </auth-constraint>
      </security-constraint>
      <login-config>
        <auth-method>FORM</auth-method>
        <realm-name>Form-Based Authentication Area</realm-name>
        <form-login-config>
          <form-login-page>/login.jsp</form-login-page>
          <form-error-page>/loginError.jsp</form-error-page>
        </form-login-config>
      </login-config>My first hurdle is in understanding exactly how the application knows where to go for its authentication.
    I had guessed that the realm-name would map "areas" of my application to realm configuration defined in my application's context area in Tomcat's web.xml but this doesnt seem to be the case. In fact I have read conflicting explanations as to what the realm-name is for. One source has said that this is only used for BASIC authentication as a way of naming the resulting pop up window - many others say it maps the login-config to the web-resource-name. However the latter doesnt make sense because the authentication works in my application at the moment even though those values are completely different (and indeed are different in most of the examples i've read on the web). Furthermore I can find any other mention of the defined realm-name in any other file (which of course be because i'm looking in the wrong place).
    I was prepared to accept that the realm-name might not actually do anything and so I've been looking for examples of defining a different auth-method for different url-patterns but i've had no luck.
    I know a user can have one or more roles but I dont have access to the LDAP server to set these up and haven't found anything about defining different auth-methods other than one thread in this forum suggesting that is wasnt possible on AIS.
    This thread suggests that you can have more than one security-constraint but again i'm not sure about the auth methods and how you map an auth method to a security-constraint
    http://forum.java.sun.com/thread.jspa?forumID=33&threadID=320918
    To summarise my questions:
    1) What are the functions of the realm-name and web-resource-name? Are they related?
    2) Is it possible to configure different areas of an application to use different authentication methods? and if so, could you point me in the direction of relevant documentation
    3) If (2) is not possible and I have to assign a new role to the privileged LDAP users, is it enough to define a new security-constraint? Could you describe the behaviour I could expect for users that have authenticated once and try to access this super-security area, will they be shown another login form or will it just let them in because the container is already aware of their permissions.
    Many thanks for your attention,
    Rachel

    If you create your own Realm classes - look at JAAS - you can sort out your last login time, just wrap them around the DataSourceRealm.
    As far as 'remind' him is concerned - I'm guessing you mean provider a reminder for the password based on the user name. If you use form based authentication you can put what ever you like on the page.

  • How to define primary interaction based on hierarchy level

    I have a 3 level product dimension, such as brand, product type, and product. Now I want to define primary interaction based on the level. If click on brand or product type, it will be drill down. If click on product, it will be send master-detail. Since there is only one column for this dimension on the report when report is constructed, how can I apply different interaction based on the product level?
    Thanks

    iif you are trying to do a normal hierarchical drill down from brand down to product type down to product, and if they are defined so in your database, defining a normal hierarchy is suffice.
    iif you are trying to navigate to a different level in a hierarchy, do a pre-defined drill down.
    all the above options must be defiend in RPD.
    if your Q is not answered can you please elaborate further with the existing example.
    -bifacts
    http://www.obinotes.com

Maybe you are looking for

  • ITunes updates songs, playlists, etc., but will not update iPod options

    When I plug in my iPod (4G, 40GB), everything syncs as it should --songs, playlists, podcasts, etc. The same is true when I manually choose to update the pod. (i.e. from a context menu or somewhere else in the UI) However, I am unable to change any o

  • Weaknesses I've come across in the Oracle XML/XSL implementation

    Weaknesses I've come across in the Oracle XML/XSL implementation NOTE: I think Oracle is a fantastic database and the XML implementation is lovely to use - also I know these are not limited to XE and also that some are fixed in 11g enterprise however

  • Why is my fan working so noisy and speedly?

    I bought a new macbook air two months ago. My model has 13¨ display, 128 GB SSD, 2 GB RAM, etc. Sometimes, specifically while playing flash videos, fan is working so noisy and speedly and macbook air is running so slow as you can feel easily. I searc

  • HELLLLPPPP...i message wont work.

    ive successfully uploaded icloud to my i phone 4,works fine! my partner has a problem thou... hes updated his phone, but cant get the i cloud(imessage to work..where the convo turns blue) can someone please help us thank youuuuuu x

  • Missing (Functional) Vertical Scroll Bars In IE 11.0 After Upgrade

    We are in the process of upgrading our SharePoint 2010 Farm to SharePoint 2013.  We have begun our database-attach upgrade and have not yet converted the "look and feel".  (The SharePoint 2013 farm has the latest patches and fixes) The sites have no