FORMS APEX communication through Advanced Queuing

Hi there,
I have to prepare a proof of concept for an APEX application and the customer asked me if it is possible to establish a communication between FORMS and APEX besides using an URL call.
Would the usage of Advanced Queuing be a good practice for this asynchronous communication?
Regards
Tareq.

AQ will work on the Forms side, but not (or very complex) on the APEX side, because APEX is stateless (so no DB connection) and uses session pooling (you can hav another DB session for every roundtrip).
But maybe this will help:
http://roelhartman.blogspot.com/2008/11/integrate-oracle-forms-with-apex.html
http://roelhartman.blogspot.com/2009/10/forms-apex-integration-video.html
http://roelhartman.blogspot.com/2009/10/integration-of-forms-and-apex-calling.html

Similar Messages

  • Advanced Queuing in Oracle Forms

    Hello! I'm trying to use the Advanced Queuing in Oracle Forms. I do it, that's for this manual:
    http://st-curriculum.oracle.com/obe/forms/11g/formschataq/formschataq.htm
    All objects created in the database successfully! However, in the section "Building the Forms Application to Interact with AQ", My form does not catch the event. Trigger WHEN-EVENT-RAISED in "Event" not called. The same thing happens when testing forms for chat.
    Who have successfully used the "Advanced Queuing", tell me please, this example is correct? If no, can give a correct example? If yes, Maybe I did not set any settings?
    I use Forms 1.1.2
    Thank you!

    Michael Ferrante (Oracle) wrote:
    Enable at least level 2 tracing in the console. You should see an exchange occur every 2 seconds (2000ms). If you do not see this then your MAX_WAIT is not being read. To enable trace level 2, open the console and left click in the text area of it. Then press the number 2 on the keyboard just above the letters Q and W. Do not use the number pad, as this will not work.If enable Level 2 in JavaConsole, nothing is written there. However, when the level 3, then every 2 seconds is displayed in the console this line:
    network: Connecting http://localhost:7001/forms/lservlet;jsessionid=LvhyQ0QNg5KkJ17vnch3pQSMT6Z00B16yVr7m64npFKTKp1pBBjv!656070063 with proxy=DIRECTI changed the file formsfeb.cfg, set MaxEventWait = 5000. All restart, And a similar message is displayed every 5 seconds in the console.
    network: Connecting http://localhost:7001/forms/lservlet;jsessionid=r31zQ0TLpHxK3kjBqMBk0tvYf9hn6wn6sGpKRppTvSX1f70pv0GS!571608984 with proxy=DIRECT
    network: Connecting http://localhost:7001/ with proxy=DIRECT

  • Advanced queuing ...regarding

    Hi...
    I have to work on project which deals with advanced queuing...
    I gone through the docs ...but i couldn't understand fully...can anyone help in this aspect my questions are
    what i have to configure in my system?(software)
    how i have to move?
    please help me with an example..
    thanxs in advance.

    Oracle AQ is used as a means of asynchronous communication between two (or more) Oracle databases.
    Instead of communicating directly to the remote DB within your online application, you post a message into a local AQ queue (which would already have been setup for queue propagation) and Oracle takes care of making sure that it is made available at the destination (remote) AQ queue (it handles remote server not available and other transient errors automatically).
    Once the message appears at the remote queue, it could be read and appropriate action performed (as indicated by message contents).

  • Java advanced queue MDB class usage

    Hello,
    Loads of questions about JMS AQ and MDB.
    I have not found anything that tells you how to use the oracle.jms classes within a MDB's directly. Do I just cast the message to a AQMessage and retrieve from there?
    I have found plenty of documentation about using the oracle.jms classes. Ive found a lot of information about using advanced queues and enqueing and dequeuing to them in Java. I have found information about MDBs and how to use them as a regular service ie: using TextMessage
    Is there a simple document describing MDB oracle AQ classes? I have looked through umpteen million Oracle documents to no avail.
    Is there an interface for MDB in the Oracle AQ classes which has an onMessage() method which I can implement taking in oracle.jms classes?
    When processing a message that I would like to put on another queue do I call the AQ classes to enqueue a message and set its attributes that way or do I use the JMS classes and their methods to do that?

    http://download-west.oracle.com/docs/cd/A97688_12/generic.903/a97677/mdb.htm#1013265 should get me most of the way there.

  • Advanced Queues Snapshot too old error

    I am using the advanced queues to submit work for parallel processes running through the Oracle Job Queue.
    I have attempted running anywhere from 1 to 5 simultaneous processes (in addition the the process which submits them to the Oracle job queue and populates the advanced queues) and I am getting sporadic Snapshot too old errors when the other processes are attempting to dequeue. The Advanced queues are populated before the other processes are submitted to the job queue, so I don't see that there could be conflicts between one process enqueuing while another is dequeuing.
    The reason I am attempting this is to try and gain some performance by running processes in parallel.
    Has anyone else had problems like this? Is this a bug in Oracle 8.1.6? Is there a parameter setting I need to adjust? Are there any suggestions for getting around this problem?

    I don't know what version of the database you are running? I'm only using 8.1.7.4. But where I come from, you add datafiles to the tablespace, not the rollback segment.
    alter tablespace rollback
    add datafile '<blah, blah>'
    size 147m
    autoextend on next 100m maxsize 2047m;
    Make sure that you have a suitable number of rollback segments that are well-sized extents. But mostly, listen the Tom Best, and try and introduce some best practices (no pun intended) to reduce the likelihood of this situation arising.

  • Oracle JMS Advanced Queuing

    Problems with Oracle JMS Advanced Queuing
    Hello,
    We have build an application using Advanced Queuing (database version 10.2.0.1.0). Everything works fine using PL/SQL. But when we try to send in messages through the Oracle JMS interface messages with less then 4000 bytes are stored in the queu table but the content of the message is not stored in one of the user data attributes.
    Messages larger then 4000 bytes result in the following error:
    oracle.jms.AQjmsException: JMS-204: Er is een fout opgetreden in de AQ JNI-laag.
    at oracle.jms.AQjmsError.throwEx(AQjmsError.java:311)
    at oracle.jms.AQjmsProducer.enqueue(AQjmsProducer.java:1323)
    at oracle.jms.AQjmsProducer.send(AQjmsProducer.java:692)
    at oracle.jms.AQjmsProducer.send(AQjmsProducer.java:465)
    at nl.detailresult.aqadapter.test.OracleQueueSendTextMsgTest.testOracleQueuePlus4000(OracleQueueSendTextMsgTest.java:125)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    [Linked-exception]
    oracle.jms.AQjmsException: ORA-00942: table or view does not exist
    As far as I can see we have done everything according to the books but does anyone have a clue what we might have missed?

    Hi,
    Have you found a solution to this? I am running into similar issue with SOA Suite using OJMS queues.
    Regards,
    Rajesh

  • Advanced Queues

    Hi:
    I was testing AQ on Oracle Database XE, and it seems working correctly.
    In the 'Strawman Feature Factoring List' I have seen that Advanced Queuing should be comprised in the production release.
    Has anyone tested throughly this feature on XE?
    Did anyone had issues with it?
    Any feedback welcome,
    Cheers,
    Andrea

    What version?
    For 10G R2 you can Start with:
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14229/toc.htm
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14229/toc.htm
    If you are using triggers I would recommend that you create a package that submits to the queues that the triggers interface with. That way you don't litter up the trigger code with AQ specific syntax.
    If you have a more specific question please post it.

  • Advanced Queuing between 2 databases

    Hi,
    We want to use Oracle Advance Queuing to send a message from a source Database (transactional) to a Reporting database
    On a particular event on a record in the source database, we want to enqueue the record's code on a Queue in the target database, where the dequeuing will happen and some processing will take place for each code retrieved.
    Do we need to set up the Advanced Queuing software on both DBs?
    - Can we just have 1 queue on the target DB and get the source Database to enqueue records to it? How will the source DB will be given access to the queue?
    - Or do I really need to have a queue on each Database and use propagation?
    Thanks in advance for your help.
    Rgds

    Tony,
    thanks very much for your precious advice.
    I like your suggestion of having one queue, it keeps the infrastruture simple.
    Have I got the option of having this single queue either at the source or the target DB?
    Maybe let me summarise more precisely what I am trying to achieve: we want to copy a complex data structure on the Source DB to a simplified/flatter data structure on the reporting DB.
    An event on a row on the main table on the source DB triggers the copy.
    We are thinking of enqueing of the record's id to the queue (So app on the source DB will have to enqueue)
    and when dequeuing each message , a stored procedure will read the data structure for this record id and child tables and insert the relevant data to the report data structure on the target DB.
    So with one queue, it seems that there are 3 options, not sure which is best. The idea is to have minimum impact on the source DB
    1. Queue at the target DB. Source DB enqueues message remotely (is this possible? can't find any documentation about this?). Message is dequeued at the target and the proc (at target) reads from the source with DB link and writes the new data to the target
    2. Queue at the source DB. Source DB enqueues message locally, an application on the target DB dequeues the message and the procedure (at target) reads from the source with DB link and writes the new data to the target DB.
    3.Queue at the source DB. Source DB enqueues message locally, an application on the source DB dequeues the message and the procedure (at source) reads data from the source and writes the new data to the target using a DB link
    3. seems having the most impact on performance of the source db?
    In all case I don't think I can avoid a DB link in the sored proc (one way or the other) as the data structures are a too complex to be passed through the queue....
    What do you think?
    Thanks
    Philippe

  • Oracle advanced queuing

    Hi,
    I am new to Oracle Advanced queuing. I have a question.
    After enqueue operation, the message can be retrieved by dequeue operation.
    But, why do we need SCHEDULE_PROPAGATION ?
    Do we use that when we are sending it to a totally differnt queue in someother remote database ?
    Thanks,
    Message was edited by:
    user448390

    Do we use that when we are sending it to a totally
    differnt queue in someother remote database ?yes, partly true...SCHEDULE_PROPAGATION is used when we schedule propagation of messages to a destination identified by a Database Link.
    DBMS_AQADM.SCHEDULE_PROPAGATION (
       queue_name          IN    VARCHAR2,
       destination         IN    VARCHAR2 DEFAULT NULL,
       start_time          IN    DATE     DEFAULT SYSDATE,
       duration            IN    NUMBER   DEFAULT NULL,
       next_time           IN    VARCHAR2 DEFAULT NULL,
       latency             IN    NUMBER   DEFAULT 60,
       destination_queue IN VARCHAR2 DEFAULT NULL);
    destination_queue -- Name of the target queue to which messages are to be propagated in the form of a dblink.
    Messages may also be propagated to other queues in the same database by specifying a NULL destination. If a message has multiple recipients at the same destination in either the same or different queues, the message is propagated to all of them at the same time.
    Hope this will help..
    Thanks

  • Advanced Queues question

    Hi.
    Can anyone tell me how soon after I place an item into an advanced queue, the notification procedure (which was registered via dbms_aq.register to process the items in the queue) is called when that item is commited?
    Ie: what delay Oracle has? Is it configurable? I am having trouble finding information on the timing of the operation.

    I have read through as much as of the documentation I can find, and now including your link rp0428 ( thank you by the way ) however information on timing is somewhat illusive.
    I'll be creating items in the queue in an after statement trigger ( this way, any rollbacks will also rollback the placed queue item). The plan is to kick off processing once the commit has occurred ( to look at and take action on the latest information updated or inserted).
    My concern was if the record I'm interested in is updated (I don't think I need to worry about inserts) several times (with commits each time) in quick succession. It would create several items in the queue (which is correct, I want it to fire for each commit)
    The notification procedure I register (by the time it is called) may not know several updates have occurred. I know I could possibly include in the queue, a copy of the data but the design I'm trying to follow can't use that information (in order to meet some design goals).
    If the notification (this is all via pl*sql by the way, not email or java) takes a few seconds I'll have a problem. If almost instantly, that's good however information on the speed of that is what may make or break this design.

  • JPA + Oracle Advanced Queues

    Hi,
    Has anyone managed to share a transaction between the toplink JPA implementation and the Oracle Advanced Queues interface (which uses jdbc; java.sql.connection) in a J2SE environment?
    Running both in a J2EE environment is working fine, as both of them are using the JTA provided by OC4J.
    I've been trying to use JOTM as a lightweight JTA provider, but without any success at this point. JPA is using the datasource created by jotm (that includes the jotm transactionmanager), but it seems like JTA transactions are being ignored by the EntityMaanger at this point...
    regards,
    Bert

    Hi! I'm not a dev, but I know for sure ODP.NET does not support AQ. You might wanna have a look at Oracle Object for OLE (OO4O). It supports AQ and can be used in both VB.NET and C# through COM Interop. Of course, the performances will not be as good as ODP.NET tho.
    Have a nice one.
    Mathieu Gauthier
    Development Team
    JCMB Technology Inc

  • Queries on Advanced Queuing in Oracle Database

    Hi All,
    We are new to Advanced Queuing.
    We have a requirement wherein we need to implement Oracle AQ.
    However upon some R&D, we got the basic idea of AQ.
    But we would like to know on a broad level,
    i.     The Purpose of enabling/Using AQ
    ii.     Basic understanding on the different components of AQ like Creating Payload, Enqueue, Dequeue messages
    iii.     Some high level understanding of the API’s – Which to use when and the purpose
    iv.     Challenges faced
    v.     Possible issues and Resolutions.
    If anyone can help us with the above questions, it would be of great help.
    Regards,
    Shruti

    Michael Ferrante (Oracle) wrote:
    Enable at least level 2 tracing in the console. You should see an exchange occur every 2 seconds (2000ms). If you do not see this then your MAX_WAIT is not being read. To enable trace level 2, open the console and left click in the text area of it. Then press the number 2 on the keyboard just above the letters Q and W. Do not use the number pad, as this will not work.If enable Level 2 in JavaConsole, nothing is written there. However, when the level 3, then every 2 seconds is displayed in the console this line:
    network: Connecting http://localhost:7001/forms/lservlet;jsessionid=LvhyQ0QNg5KkJ17vnch3pQSMT6Z00B16yVr7m64npFKTKp1pBBjv!656070063 with proxy=DIRECTI changed the file formsfeb.cfg, set MaxEventWait = 5000. All restart, And a similar message is displayed every 5 seconds in the console.
    network: Connecting http://localhost:7001/forms/lservlet;jsessionid=r31zQ0TLpHxK3kjBqMBk0tvYf9hn6wn6sGpKRppTvSX1f70pv0GS!571608984 with proxy=DIRECT
    network: Connecting http://localhost:7001/ with proxy=DIRECT

  • ADVANCED QUEUE

    //i create aqadm user which will own the queue
    DROP USER aqadm CASCADE;
    CREATE USER aqadm IDENTIFIED BY aqadm;
    GRANT AQ_ADMINISTRATOR_ROLE TO aqadm;
    GRANT CONNECT, RESOURCE TO aqadm;
    GRANT EXECUTE ON DBMS_AQADM TO aqadm;
    GRANT EXECUTE ON DBMS_AQ TO aqadm;
    the script above run well however when i isue this script below
    /* Create a RAW type queue table and queue: */
    EXECUTE dbms_aqadm.create_queue_table (
    Queue_table => 'aqadm.RawMsgs_qtab',
    Queue_payload_type => 'RAW');
    im getting this error message
    EXECUTE dbms_aqadm.create_queue_table (
    ERROR at line 1:
    ORA-00900: invalid SQL statement
    pls. help
    null

    Hi All
    Im facing the same situation using Forms 10g.
    We dont want to use a Timer loop to look for the Advanced queue answer,
    how can a forms Event be triggered by the Database containing the Advanced Queue response?
    Best Regards
    Torben

  • Weblogic JMS bridge between Weblogic and oracle Advanced Queue

    Hi,
    We are facing some issues when we are trying to integrate with Oracle AQ JMS through Weblogic.
    We have configured a Foreign AQ server which points to the oracle Advanced Queue and we are trying to create a Weblogic JMS bridge between AQ and weblogic. The bridge works perfectly if create the connection factories and bridge destinations with NonTX mode. The issue is with XA mode. Also we have deployed the Resource adaper for XAResource to use XA transactions.
    No help is available for the exception on google too :)
    Following is the exception we are getting.
    <An error occurred in bridge "aqjmsbridge" during the transfer of messages (javax.resource.ResourceException: Failed to setup the Resource Adapter Connection for enlistment in the transaction, Pool = 'eis/jms/WLSConnectionFactoryJNDIXA', javax.transaction.SystemException: start() failed on resource 'eis/jms/WLSConnectionFactoryJNDIXA': XA_OK
    javax.transaction.xa.XAException: method start should not be called on weblogic.transaction.internal.IgnoreXAResource
    at weblogic.jms.foreign.IgnoreXAResourceImpl.start(ForeignAQIntegration.java:260)
    at weblogic.connector.security.layer.AdapterLayer.start(AdapterLayer.java:513)
    at weblogic.connector.transaction.outbound.XAWrapper.start(XAWrapper.java:466)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1184)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1117)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:275)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:516)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:443)
    at weblogic.connector.transaction.outbound.XATxConnectionHandler.enListResource(XATxConnectionHandler.java:118)
    at weblogic.connector.outbound.ConnectionWrapper.invoke(ConnectionWrapper.java:218)
    at $Proxy59.receive(Unknown Source)
    at weblogic.jms.bridge.internal.MessagingBridge.processMessages(MessagingBridge.java:1427)
    at weblogic.jms.bridge.internal.MessagingBridge.beginForwarding(MessagingBridge.java:1002)
    at weblogic.jms.bridge.internal.MessagingBridge.run(MessagingBridge.java:1079)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    .).>
    Will appriciate any help for the above.
    Thanks and Regards,
    Navin

    Maybe this if of any help:
    - Re: Help with creating AQ JMS
    or
    - Re: AQ Weblogic integration - JMS-107: Operation not allowed on Connection

  • Oracle Advanced Queues

    Hi,
    I would like to know, how can I create Oracle Advanced Queues using Oracle 10g Enterprise Manager console/s.
    Thanks.

    Hi! I'm not a dev, but I know for sure ODP.NET does not support AQ. You might wanna have a look at Oracle Object for OLE (OO4O). It supports AQ and can be used in both VB.NET and C# through COM Interop. Of course, the performances will not be as good as ODP.NET tho.
    Have a nice one.
    Mathieu Gauthier
    Development Team
    JCMB Technology Inc

Maybe you are looking for

  • How do I use magnets for a phone/ipad cover?

    Hi, Can anyone point me in the right direction for some information on using magnets to close a cover for an iPhone or iPad? Thanks Mark

  • Windows 7 64bit error message during system backup

    As part of a backup routine, I have a scheduled disk image backup to an external hard drive. This worked happily for some months - until now! I now get an error message - " The operation failed due to a device errror encountered with either the sourc

  • Missing "Show Links to the Itunes Store" in Preferences Tab

    Mornin! After installing the new itunes 10 i noticed that the link next to any Podcasts title in my library to go to it`s itunes homepage is no longer there.The "Show Links in the Itunes Store" command and check box is missing in the Preferences-Edit

  • Dual Monitor versus External Monitor

    Hi, I have a question that leads to another and I should have learned this along time ago, but the term Dual Monitor and External Monitor (such as editing in FCP and viewing work on a Third monitor, for example) are two different concepts, correct? H

  • Mozilla upgraded, and now I can't access my recent downloads

    Hi, I have spent hours working on a document that I opened from an attachment. I stupidly just hit control s instead of saving. Now, it isn't in my downloads or my temp internet folders, and the file won't open from recent downloads/Control j. Firefo