How does mq work
If the receiving application is moved to a different platform, then you do not need to change the platform of your Oracle application. Using the MIPs generated by the Visual Workbench, you can use the gateway to interface with the existing procedural logic or to integrate new procedural logic into an Oracle database environment. The integration of the Oracle database with the gateway enables you to benefit from existing and future Oracle features.
This includes applications built with traditional Oracle tools, such as Oracle Developer, or applications built for intranet or Internet environments supported by Oracle Application Server 11 g. The gateway also works with packaged Oracle applications, such as Oracle Financials, and with many third-party tools, such as Visual Basic, PowerBuilder, and Lotus Notes.
Oracle applications connect to an Oracle database. Oracle applications do not connect directly to the gateway, but connect indirectly through an Oracle database. The Oracle database communicates with a gateway in the normal Oracle server-to-server manner using Oracle Net. The gateway is a single process and does not start background processes. On UNIX platforms, a gateway process is started for each user session. Oracle Net provides client to server and server-to-gateway communication.
It enables an Oracle application to communicate with the Oracle database, and it enables the Oracle database to communicate with the gateway. If the Oracle database is not on the same system as the gateway, then you must install the correct Oracle networking software on the platform where the Oracle database is installed.
The database link is the construct used to identify Oracle databases. The WebSphere MQ server might, or might not, be on the same system as the gateway. The gateway has some of the same components as an Oracle database. The following components are included:.
An initialization file similar to the Oracle database initialization parameter file. The gateway does not have control, redo, or database files, nor does it have the full set of subdirectories and other files associated with an Oracle database.
The gateway is not started in the same way as the Oracle database. It has no background processes and does not require a management utility such as Oracle Enterprise Manager. Each Oracle database user session that accesses a gateway creates an independent process on the host system that runs the gateway. It contains the following sections: Introduction to Message Queuing Introduction to WebSphere MQ Introduction to the Gateway Introduction to Message Queuing Message queuing enables distributed applications to communicate asynchronously by sending messages between the applications.
Term Description Message queues Storage areas for messages exchanged between applications. WebSphere MQ client configuratio n A WebSphere MQ configuration where the queue manager and message queues are located on a different remote system or node than the application software. Client applications connect to the remote queue manager using IBM software that provides the necessary networking software to connect to the remote queue manager.
WebSphere MQ server configuration A WebSphere MQ configuration where the queue manager and message queues are located on the same local system or node as the application software. Client applications connect to the local queue manager using MQI. Queue manager A WebSphere MQ feature that provides the message queuing facilities that applications use.
It manages the queue definitions, configuration tables, and message queues. The queue manager also forwards messages from the sender queue to the remote recipient queues.
Trigg ers A WebSphere MQ feature that enables an application to be started automatically when a message event, such as the arrival of a message, occurs. Triggers can be used to invoke programs or transactions. For example, a trigger could cause an Oracle application to call the gateway to retrieve a WebSphere MQ message and process it. Gateway Terms The following table describes gateway terms used in this guide. Term Description Gateway initialization file A file containing parameters that determine the running of the gateway.
Gateway remote procedures Remote procedures implemented by the gateway. These procedures are used to invoke WebSphere MQ operations. Oracle database Any Oracle database that communicates with the gateway. Oracle applications do not communicate directly with the gateway. The Oracle database can be on the same system as the gateway or on a different system. Production Oracle database As used in this guide, the production database refers to any Oracle database that you use for production, for actual business and not for testing.
Remote procedure call A programming call that invokes a program on a system in response to a request from another system. Fast remote procedures The remote procedures implemented by the gateway are optimized for efficient processing of WebSphere MQ requests. Location transparency Client applications need not be on a specific operating system. Flexible interface Using the MIPs generated by the Visual Workbench, you can use the gateway to interface with the existing procedural logic or to integrate new procedural logic into an Oracle database environment.
Oracle database integration The integration of the Oracle database with the gateway enables you to benefit from existing and future Oracle features. Gateway Architecture Figure shows the components of the gateway architecture. Figure Components of the Gateway Architecture. Component Descriptions This section describes components of the gateway architecture. Oracle Applications Oracle applications connect to an Oracle database. It's an abstraction layer that allows multiple processes likely on different machines to communicate via various models e.
Depending on the implementation, it can be configured for things like guaranteed reliability, error reporting, security, discovery, performance, etc. For example: Suppose you want to processes to communicate, but one of them can die in the middle and later get reconnected. How would you ensure that interim messages were not lost? MQ solutions can do that for you.
Message queueuing systems are supposed to give you several bonuses. Among most important ones are monitoring and transactional behavior. Transactional design is important if you want to be immune to failures, such as power failure. Imagine that you want to notify a bank system of ATM money withdrawal, and it has to be done exactly once per request, no matter what servers failed temporarily in the middle.
MQ systems would allow you to coordinate transactions across multiple database, MQ and other systems. Needless to say, such systems are very slow compared to named pipes, TCP or other non-transactional tools. If high performance is required, you would not allow your messages to be written thru disk. Instead, it will complicate your design - to achieve exotic reliable AND fast communication, which pushes the designer into really non-trivial tricks.
The Message Queue receives the message, places it in the proper queue, and waits for the application to retrieve the message when ready. As an extension to that; what if your local network and your local pc is down as well??
While you wait for the system to recover the dependent deployed systems elsewhere waiting for that data needs to see an alternative data stream. Otherwise, that might not be good enough 'real time' response for today's and very soon in the future Internet of Things IOT requirements. FRAM runs at clock speed and FPGA devices can be reprogrammed on the fly adding and taking away however many independent parallel data streams are needed within established constraints of course.
Stack Overflow for Teams — Collaborate and share knowledge with a private group. Create a free Team What is Teams? Collectives on Stack Overflow. Learn more. What is an MQ and why do I want to use it? Ask Question. Asked 11 years, 5 months ago. Active 6 years, 7 months ago. Viewed 58k times. Improve this question. Add a comment. Active Oldest Votes. Improve this answer. So what do you do if the MQ server is down? It's no more resilient than a web service, is it?
RobHolmes: typically, you can still enqueue it into your local queue - it will be transmitted to the queue server when it's back up - and yes , it IS more resilient than a typical web service How does it get synchronized to queue on MQ Server?
0コメント