A method of providing a message queue service includes a first request being received by a computing device from an application to connect to a messaging queue manager provided by a messaging queue service that manages a messaging queue for at least one application. The application connects to the messaging queue manager by executing a single connect api command that causes the execution of a first plurality of commands in a messaging queue service api that provide for a connection of the application to the messaging queue manager. A second request is received from the application to open a message queue. The message queue managed by the messaging queue manager opens by executing a single open queue api command that causes the execution of a second plurality of commands that provide for the opening of the message queue.
|
15. A method for providing a messaging queue service, comprising:
receiving, by a computing device, a first request from a first application hosted on the computing device to connect to a first messaging queue manager provided by a first messaging queue service hosted on a first messaging queue service device coupled to the computing device over a network, wherein the first messaging queue service provides a first messaging queue manager that manages a first messaging queue for at least one application;
connecting, by the computing device, the first application to the first messaging queue manager by executing, in response to receiving the first request, a single connect api command that causes the execution of a first plurality of commands in a first messaging queue service api that provide for a connection of the first application to the first messaging queue manager;
receiving, by the computing device, a second request from the first application to open a first message queue managed by the first messaging queue manager; and
opening, by the computing device, the first message queue managed by the first messaging queue manager by executing, in response to receiving the second request, a single open queue api command that causes the execution of a second plurality of commands in the first messaging queue service api that provide for the opening of the first message queue managed by the first messaging queue manager.
1. A messaging queue service application programming interface (api) optimization system comprising:
a first messaging queue service device that hosts a first messaging queue service, wherein the first messaging queue service provides at least one messaging queue manager that manages a messaging queue for at least one application; and
a first computing device that is coupled to the first messaging queue service device through a network and that hosts a first application, wherein the first computing device is configured to:
receive a first request from the first application to connect to a first messaging queue manager provided by the first messaging queue service;
connect the first application to the first messaging queue manager by executing, in response to receiving the first request, a single connect api command that causes the execution of a first plurality of commands in a first messaging queue service api that provide for a connection of the first application to the first messaging queue manager;
receive a second request from the first application to open a first message queue managed by the first messaging queue manager; and
open the first message queue managed by the first messaging queue manager by executing, in response to receiving the second request, a single open queue api command that causes the execution of a second plurality of commands in the first messaging queue service api that provide for the opening of the first message queue managed by the first messaging queue manager.
9. An information handling system (IHS), comprising:
a communication system comprising at least one of a network interface controller and a wireless communication system and that is configured to couple to a first messaging queue service device that hosts a first messaging queue service, wherein the first messaging queue service provides a first messaging queue manager that manages a first messaging queue for at least one application;
a processing system comprising at least one hardware processor and coupled to the communication system; and
a memory system comprising a non-transitory memory and coupled to the processing system and including instruction that, when executed by the processing system, cause the processing system to provide a messaging queue service application programming interface (api) optimizer that is configured to:
receive a first request from a first application to connect to the first messaging queue manager provided by the first messaging queue service;
connect the first application to the first messaging queue manager by executing, in response to receiving the first request, a single connect api command that causes the execution of a first plurality of commands in a first messaging queue service api that provide for a connection of the first application to the first messaging queue manager;
receive a second request from the first application to open a first message queue managed by the first messaging queue manager; and
open the first message queue managed by the first messaging queue manager by executing, in response to receiving the second request, a single open queue api command that causes the execution of a second plurality of commands in the first messaging queue service api that provide for the opening of the first message queue managed by the first messaging queue manager.
2. The messaging queue service api optimization system of
load a plurality of first messaging queue manager connection parameters;
set a first messaging queue environment for the plurality of first messaging queue manager connection parameters that were loaded; and
instantiate the first messaging queue manager.
3. The messaging queue service api optimization system of
define a write message option and a retrieve message option;
instantiate an instance of the write message option and the retrieve message option; and
instantiate access to the first message queue.
4. The messaging queue service api optimization system of
receive a third request from the first application to write a message in the first message queue; and
write the message from the first application in the first message queue by executing, in response to receiving the third request, a single write message api command that causes the execution of a third plurality of commands in the first messaging queue service api that provide for the writing of the message from the first application in the first message queue.
5. The messaging queue service api optimization system of
set a messaging queue message header of the message;
write the message on the first message queue;
close the first message queue; and
disconnect the first messaging queue manager from the first application.
6. The messaging queue service api optimization system of
receive a fourth request from the first application to retrieve a message from the first message queue; and
retrieve the message from the first message queue by executing, in response to receiving the fourth request, a single retrieve message api command that causes the execution of a fourth plurality of commands in the first messaging queue service api that provide for the retrieval of the message from the first message queue and provisioning of the message to the first application.
7. The messaging queue service api optimization system of
retrieve the message from the first message queue;
close the first message queue; and
disconnect the first messaging queue manager from the first application.
8. The messaging queue service api optimization system of
a second messaging queue service device that hosts a second messaging queue service for one or more applications, wherein the second messaging queue service provides at least one messaging queue manager that manages a messaging queue, and wherein the first computing device is coupled to the second messaging queue service device through the network and is configured to:
receive a third request from the first application to connect to a second messaging queue manager provided by the second messaging queue service;
connect the first application to the second messaging queue manager provided by the second messaging queue service by executing, in response to receiving the third request, the single connect api command that causes the execution of a third plurality of commands in a second messaging queue service api that provide for a connection of the first application to the second messaging queue manager;
receive a fourth request from the first application to open a second queue managed by the second messaging queue manager; and
open the second queue managed by the second messaging queue manager by executing, in response to receiving the fourth request, a single open queue api command that causes the execution of a fourth plurality of commands in the second messaging queue service api that provide for the opening of the second queue managed by the second messaging queue manager.
10. The IHS of
load a plurality of first messaging queue manager connection parameters;
set a first messaging queue environment for the plurality of first messaging queue manager connection parameters that were loaded; and
instantiate the first messaging queue manager.
11. The IHS of
define a write message option and a retrieve message option;
instantiate an instance of the write message option and the retrieve message option; and
instantiate access to the first message queue.
12. The IHS of
receive a third request from the first application to write a message in the first message queue; and
write the message from the first application in the first message queue by executing, in response to receiving the third request, a single write message api command that causes the execution of a third plurality of commands in the first messaging queue service api that provide for the writing of the message from the first application in the first message queue.
13. The IHS of
set a messaging queue message header of the message;
write the message on the first message queue;
close the first message queue; and
disconnect the first messaging queue manager from the first application.
14. The IHS of
receive a fourth request from the first application to retrieve a message from the first message queue; and
retrieve the message from the first message queue by executing, in response to receiving the fourth request, a single retrieve message api command that causes the execution of a fourth plurality of commands in the first messaging queue service api that provide for the retrieval of the message from the first message queue and provisioning of the message to the first application.
16. The method of
load a plurality of first messaging queue manager connection parameters;
set a first messaging queue environment for the plurality of first messaging queue manager connection parameters that were loaded; and
instantiate the first messaging queue manager.
17. The method of
define a write message option and a retrieve message option;
instantiate an instance of the write message option and the retrieve message option; and
instantiate access to the first message queue.
18. The method of
receiving, by the computing device, a third request from the first application to write a message in the first message queue; and
writing, by the computing device, the message from the first application in the first message queue by executing, in response to receiving the third request, a single write message api command that causes the execution of a third plurality of commands in the first messaging queue service api that provide for the writing of the message from the first application in the first message queue.
19. The method of
set a messaging queue message header of the message;
write the message on the first message queue;
close the first message queue; and
disconnect the first messaging queue manager from the first application.
20. The method of
receiving, by the computing device, a fourth request from the first application to retrieve a message from the first message queue; and
retrieving, by the computing device, the message from the first message queue by executing, in response to receiving the fourth request, a single retrieve message api command that causes the execution of a fourth plurality of commands in the first messaging queue service api that provide for the retrieval of the message from the first message queue and provisioning of the message to the first application.
|
The present disclosure relates generally to information handling systems, and more particularly to the optimization of application programming interfaces (APIs) that provide for the interfacing of applications with a messaging queue service.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems may be used to provide a messaging queue system that allows applications running on computing devices to communicate with each other. A messaging queue system utilizes a message-oriented middleware including a software and/or hardware infrastructure that supports the sending and receiving of messages between distributed systems. The message-oriented middleware provides message queue managers that manage message queues storing messages received from sender applications on computing devices until receiver applications on other computing devices retrieve those messages for processing. As such, messaging queue systems can provide asynchronous messaging between multiple sender applications and receiver applications. The asynchronous nature of the messaging queues is ideal for communication via disparate technologies as long as each of those technologies can access the message queue.
To process messages, an application needs to interface with the message-oriented middleware (also referred to as a messaging queue service) via messaging queue service application programming interfaces (APIs) that use messaging queue service API libraries. However, such messaging queue service API libraries require significant effort on the part of a developer to fully comprehend the different permutations and sequential steps that need to be coded for the messaging queue service API before the messaging queue service API code is parsed. The complexities of coding the messaging queue service API often results in incorrect usage of the messaging queue service API when it is interfaced with the application, and this incorrect usage may cause application interruptions and/or other errors with the messaging queue service.
Accordingly, it would be desirable to provide an improved messaging queue service API system.
According to one embodiment, an information handling system (IHS), includes a communication system that is configured to couple to a first messaging queue service device that hosts a first messaging queue service, wherein the first messaging queue service provides a first messaging queue manager that manages a first messaging queue for at least one application; a processing system coupled to the communication system; and a memory system coupled to the processing system and including instruction that, when executed by the processing system, cause the processing system to provide a messaging queue service application programming interface (API) optimizer that is configured to: receive a first request from a first application to connect to the first messaging queue manager provided by the first messaging queue service; connect the first application to the first messaging queue manager by executing, in response to receiving the first request, a single connect API command that causes the execution of a first plurality of commands in a first messaging queue service API that provide for the connection of the first application to the first messaging queue manager; receive a second request from the first application to open a first message queue managed by the first messaging queue manager; and open the first message queue managed by the first messaging queue manager by executing, in response to receiving the second request, a single open queue API command that causes the execution of a second plurality of commands in the first messaging queue service API that provide for the opening of the first message queue managed by the first messaging queue manager.
For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, calculate, determine, classify, process, transmit, receive, retrieve, originate, switch, store, display, communicate, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer (e.g., desktop or laptop), tablet computer, mobile device (e.g., personal digital assistant (PDA) or smart phone), server (e.g., blade server or rack server), a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, touchscreen and/or a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components.
In one embodiment, IHS 100,
Referring now to
The messaging queue system 200 also includes one or more client computing devices 215 that may be the IHS 100 discussed above with reference to
The messaging queue system 200 also includes a messaging queue service device 230 that may be the IHS 100 discussed above with reference to
Referring now to
In the illustrated embodiment, the messaging queue access engine 304 includes messaging queue access sub-engines such as an application 306, a messaging queue service application programming interface (API) optimizer 308, and at least one messaging queue service API 310. The messaging queue service API optimizer 308 and the messaging queue service API 310 may provide the communication between the application 306 and message-oriented middleware applications of the messaging queue service device 230/400 described below via a communication system 312 that is housed in the chassis 302, that is coupled to the messaging queue access engine 304 (e.g., via a coupling between the communication system 312 and the processing system), and that may include a Network Interface Controller (NIC), a wireless communication system (e.g., a BLUETOOTH® communication system, an NFC communication system, etc.), and/or other communication components known in the art that enable the communication discussed below.
The chassis 302 may also house a storage system (not illustrated, but which may include the storage device 108 discussed above with reference to
Referring now to
The chassis 402 may also house a storage system (not illustrated, but which may include the storage device 108 discussed above with reference to
Referring to
The method 500 begins at block 502 where a selection of a first messaging queue service of a plurality of messaging queue services may be received from an application. In an embodiment, at block 502, an application 306 hosted on the application computing device 300 (e.g., a server computing device 205 or a client computing device 215) may provide to the messaging queue service API optimizer 308 a selection of a messaging queue service 405 from a plurality of messaging queue services hosted on one or more messaging queue service device(s) 400 and provided by the messaging queue service engine 404. For example, a user may select a messaging queue service from a list of messaging queue services displayed on a graphical user interface (GUI) of the application 306. In specific examples, the messaging queue service 405 selected at block 502 may be an IBM® WebSphere MQ 7.5 messaging queue service, an IBM® MQ 8.0 messaging queue service, IBM® MQ 9.0, a RabbitMQ® messaging queue service, a StormMQ® messaging queue service, an Apache® ActiveMQ messaging queue service, a Java® Message Service (JMS) messaging queue service, a Microsoft® Message Queuing (MSMQ) messaging queue service, and/or other message-oriented middleware services and versions that would be apparent to one of skill in the art in possession of the present disclosure.
Referring to
The method 500 then proceeds to block 504 where a first request is received from an application to connect to a messaging queue manager of the first messaging queue service. In an embodiment, at block 504, the application 306 may provide the messaging queue service API optimizer 308 the first request that includes a connect API command, and the execution of the connect API command may cause the messaging queue service API optimizer 308 to access a connect API of the messaging queue service API optimizer 308. For example, the connect API command may be a single connect API command that is provided to the messaging queue API optimizer 308. In some embodiments, the first request may also include an identifier for the messaging queue manager 240/406 to which the application 306 is requesting a connection. However, in other examples, the first request may not include any identifier for a messaging queue manager 240/406.
The method 500 then proceeds to block 506 where the first application connects to the messaging queue manager. In an embodiment, at block 506, following the selection of the messaging queue service 405, the messaging queue service API optimizer 308 may access the messaging queue service API 310. In the specific example illustrated in
The following illustrates an embodiment of implementation code flow for an application 306 using an IBM® MQ API as the messaging queue service API 310:
//Step1 Load a host, a channel, a port and a queue name from a
properties file
host = prop.getProperty(“host”);
chlName = prop.getProperty(“chlName”);
port = Integer.parseInt(prop.getProperty(“port”));
qMgrName = properties.getProperty(“qMgrName”);
outputQueueName = properties.getProperty(“outputQueueName”);
//Step2 Set MQEnvironment equal to the loaded values from above
MQEnvironment.hostname = host;
MQEnvironment.channel = chlName;
MQEnvironment.port = port;
//Step3 Instantiate an instance of qmgr
MQQueueManager qMgr = new MQQueueManager(qMgrName);
//Step4 Define openOptions for Put/Get
int openOptions = MQConstants.MQOO_OUTPUT |
MQConstants.MQOO_FAIL_IF_QUIESCING |
MQC.MQOO_INQUIRE | MQC.MQOO_BROWSE;
//Step5 Instantiate an instance of
MQPutMessageOptions/MQGetMessageOptions
MQPutMessageOptions pmo = new MQPutMessageOptions( );
//Step6 Set MQ msg Header to persistent, UTF-8 and string format
xmlMsg.persistence = MQConstants.MQPER_PERSISTENT;
xmlMsg.format = MQConstants.MQFMT_STRING;
xmlMsg.encoding = 546;
xmlMsg.characterSet = 1208;
//Step7 To instantiate access object to q
MQQueue defaultQ = qMgr.accessQueue(outputQueueName,
openOptions,
null,//default q manager
null,//no dynamic q name
null);//no alternate user
//Step8 MQ API to put to q/ MQ API to get from q
defaultQ.put(xmlMsg,pmo)
//Step9 Close output queue
outputQueue.close( );
//Step10 Disconnect qmgr
qMgr.disconnect( );
When the application 306 provides the messaging queue service API optimizer 308 a connect API command, the messaging queue service API optimizer 308 may access the connect API of the messaging queue service API optimizer 308 and, based on the connect API command, the connect API may then cause the execution of a first plurality of commands in a messaging queue service API 310 that provide for the connection of the application 306 to the messaging queue manager 406. In the specific example above where the first messaging queue service API includes the IBM® MQ API code flow, the connect API may cause the execution of the lines of code for the IBM® MQ API associated with step 1, step 2, and step 3 above.
The method 500 then proceeds to block 508 where a second request to open a message queue managed by the messaging queue manager is received. In an embodiment, at block 508, the messaging queue service API optimizer 308 receives a second request from the application 306 to open a message queue 410 managed by the messaging queue manager 406. For example, the application 306 may provide a second request that includes an open queue API command that, when executed, accesses an open queue API in the messaging queue service API optimizer 308. In an embodiment, the second request may include an identifier for the messaging queue 235/410 to which the application 306 is requesting to open. However, in other embodiments, the second request may not include any identifier for the messaging queue 235/410.
The method 500 then proceeds to block 510 where the message queue is opened. In an embodiment, at block 510, the messaging queue service API optimizer 308 may cause the execution of a second plurality of commands in the messaging queue service API 310. The execution of the second plurality of commands may cause the messaging queue manager 406 to open the message queue 410 that is managed by the messaging queue manager 406 in order to make the message queue 410 accessible to the application 306. Referring to the specific example illustrated in
In another example, before the messaging queue 410 is opened, the second plurality of commands in the open queue API 604 may cause the messaging queue service API 310a to validate if a secure sockets layer (SSL) is used or not and perform actions based on its use or not as indicated in the code below:
public void sslValidate( ) throws MQException {
try {
//connect to the queue manager
MQEnvironment.hostname = host;
MQEnvironment.channel = chlName;
MQEnvironment.port = port;
MQEnvironment.sslCipherSuite = sslCipherSuite;
MQEnvironment.properties.put (MQConstants.TRANSPORT_PROPERTY,
MQConstants.TRANSPORT_MQSERIES);
//if it's SSL enabled then
if (sslEnabled) {
System.setProperty(“javax.net.ssl.trustStore”, trustStore);
System.setProperty(“javax.net.ssl.keyStore”, keyStore);
MQEnvironment.sslCipherSuite =
“SSL_RSA_WITH_3DES_EDE_CBC_SHA”;
}
else if (dihManagedQueue.equalsIgnoreCase(“true”)) {
MQEnvironment.properties.put(MQConstants.TRANSPORT_PROPERTY,
MQConstants.TRANSPORT_MQSERIES);
}
qMgr = new MQQueueManager(qMgrName);
} catch (MQException me) {
System.out.printIn(“Error connecting to the queue manager :” + me.toString
( ));
}
}
With reference to the specific example of the IBM® MQ API code flow discussed above, the open queue API may cause the execution of the lines of code of the IBM® MQ API that are associated with step 4, step 5, and step 7 above. It should be noted that while the IBM® MQ API code flow above illustrates specific code for the configuration of writing messages (e.g., put operations) to the message queue 410, one skilled in the art in possession of the present disclosure will recognize that the steps provided by code flow for the configuration of writing messages to a messaging queue may also include code for the configuration for retrieving messages (e.g., get operations) from the message queue 410 while remaining within the scope of the present disclosure.
The method 500 then proceeds to block 512 where a third request is received from the first application to write a message on the message queue. In an embodiment, at block 512, the messaging queue service API optimizer 308 may receive a third request from the application 306 to write (e.g., put) a message on the message queue 410 managed by the messaging queue manager 406. For example, the application 306 may provide a third request that includes a single write message API command that, when executed, provides access to a write API in the messaging queue service API optimizer 308. In an embodiment, the third request may include an identifier for the message that the application 306 is going to provide to the messaging queue manager 406 for writing to the message queue 410.
The method 500 then proceeds to block 514 where the message from the first application is written to the message queue. In an embodiment, at block 514, the messaging queue service API optimizer 308 may cause the execution of a third plurality of commands in the messaging queue service API 310. The execution of the third plurality of commands may cause the messaging queue manager 406 to write the message provided by the application 306 to the message queue 410. Referring to the specific example illustrated in
With reference to the example the IBM® MQ API code flow discussed above, the write API may cause the execution of the lines of code in the IBM® MQ API associated with step 6, step 8, step 9, and step 10 above. The write message API command may also cause the write message API in the messaging queue service API optimizer 308 to set a message header to persistent as in step 6, instruct the messaging queue service API 310 to write the message to the message queue 410 as in step 8, close the connection to the message queue 410 as in step 9, and disconnect the application 306 from the messaging queue manager 406 as in step 10.
The method 500 then proceeds to block 516 where a fourth request is received from the first application to retrieve a message from the message queue. In an embodiment, at block 516, the messaging queue service API optimizer 308 may receive the fourth request from the application 306 to retrieve (e.g., get) a message from the message queue 410 managed by the messaging queue manager 406. For example, the message may have been written to the messaging queue 410 by another application or messaging queue manager. In an embodiment, the application 306 may provide the fourth request that includes a single retrieve message API command (e.g., getMessage()) that, when executed, provides access to a retrieve API of the messaging queue service API optimizer 308. In an embodiment, the fourth request may include an identifier for the message that the application 306 is attempting to retrieve from the message queue 410.
The method 500 then proceeds to block 518 where the message is retrieved from the message queue. In an embodiment, at block 518, the messaging queue service API optimizer 308 may cause the execution of a fourth plurality of commands of the messaging queue service API 310. The execution of the fourth plurality of commands may cause the messaging queue manager 406 to retrieve a message from the message queue 410 and provide that message to the application 306 through the network 225. Referring to the specific example illustrated in
Referring to
public interface DelIMQAPIinterface {
public void connect( ) throws MQException;
public void openQueue(boolean forBrowse) throws MQException;
public Object getMessage(boolean browse, int waitInterval)
throws MQException,
Exception;
public void deleteMessage(byte[ ] messageId) throws
MQException, Exception;
public void closeQueue( ) throws MQException;
public void disconnect( ) throws MQException;
public boolean isConnectionOpen( ) throws Exception;
public class QueueInterfaceFactory {
public static DelIMQAPICore createDelIXML2Javabean(String
qiPropfileName)
throws IOException { try {
return new DelIMQAPICore(qiPropfileName);
} catch (IOException io) {
throw io;
}
}
}
Additionally, the class diagram 700 illustrates a read message abstract class 708 and a put message abstract class 710 that describe the attributes and operations for reading a message from a queue and writing a message to a queue, respectively.
In various embodiments, the messaging queue service API optimizer 308 may be configured to switch the application 306 from communicating with an active messaging queue service device to a standby messaging queue service device in the event of, for example, a failover between the active messaging queue service device and the standby messaging queue service device, and then automatically resume processing of the requests. For example, the messaging queue system 200 and messaging queue service 405 may provide a failover for the messaging queue manager 406, the message queue 410, and other messaging queue objects in the event a failure of the underlying messaging queue service device 400, such that a standby messaging queue service device may resume processing requests with little or no downtime. As such, the messaging queue service API optimizer 308 may detect the failover and configure a new channel to the messaging queue manager 406 that is hosted on the standby messaging queue service device. In conventional situations where there is a failover without the presence of the messaging queue service API optimizer 308, the messaging queue system 200 may rely on an external tool/application such as global traffic manager (GTM™) or local traffic manager (LTM™) provided by F5® or clustered hardware.
public void mqConnectQ(String host1,String qMgrName1, String
channel1, String queueName1, int port1, boolean switchflg,
String host2,String qMgrName2, String
channel2, String queueName2, int port2) throws MQException {
try
{
if (switchflg){
mqSetProperties(host1,qMgrName1,channel1,queueName1, port1);
mqBrowseFirstMsg(qMgr1, qMgrName1, localQueue,
queueName1);
} else {
mqSetProperties(host2,qMgrName2,channel2,queueName2, port2);
mqBrowseFirstMsg(qMgr2, qMgrName2, localQueue,
queueName2);
}
} catch (MQException ex) {
System.out.printIn(
“An MQSeries error occured mqConnectQ : Completion
code ”
+ ex.completionCode
+ “ Reason code ”
+ ex.reasonCode);
} catch (Exception e) {
System.out.printIn(“An unknown exception occurred
mqConnectQ :” +
e.toString( ));
}
}
Thus, systems and methods have been described providing a messaging queue service to an application using a messaging queue service API optimizer that allows a user of the application to configure the application's access to the messaging queue service with less complex commands than are required using the messaging queue service API of the messaging queue service alone. The messaging queue service API optimizer causes the execution of a plurality of commands in the messaging queue service API when a single command is received to connect to a messaging queue manager, open a message queue, write a message to the message queue, or retrieve a message from the message queue. The systems and methods of the present disclosure provide for more efficient access between the application and the messaging queue service by reducing the number of commands needed to do so. It has been found that reducing the number of commands reduces the number of errors that result from coding the application with a traditional messaging queue service API. Thus, the messaging queue service optimizer prevents errors in messaging queue service APIs such as, for example, failing to close down connections between an application and a messaging queue manager, which can result in all connections/channels eventually being exhausted for that messaging queue manager.
Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. Accordingly, it is appropriate that the appended claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.
Dinh, Hung The, Das, Satish Ranjan, Sekhar, Panguluru Vijaya
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6425017, | Aug 17 1998 | Microsoft Technology Licensing, LLC | Queued method invocations on distributed component applications |
6496878, | Nov 03 1999 | International Business Machines Corporation | Transfer progress alert module |
7644169, | Sep 27 2001 | Open Invention Network, LLC | System and method for providing connectivity between two different networks using different protocols |
7814142, | Aug 27 2003 | LinkedIn Corporation | User interface service for a services oriented architecture in a data integration platform |
7941806, | Mar 01 2007 | International Business Machines Corporation | Method, system and program product for optimizing communication and processing functions between disparate applications |
8281026, | Mar 18 2006 | Metafluent, LLC | System and method for integration of streaming and static data |
8291432, | Dec 01 2010 | International Business Machines Corporation | Providing invocation context to IMS service provider applications |
8347214, | Mar 09 2005 | Cisco Technology, Inc | Automated interface-specification generation for enterprise architectures |
8626878, | Apr 21 2004 | SAP SE | Techniques for establishing a connection with a message-oriented middleware provider, using information from a registry |
9037667, | May 11 2010 | ZODIAC SYSTEMS, LLC | Unified message management method and system |
9215271, | Nov 22 2010 | Samsung Electronics Co., Ltd | Method and apparatus for executing application of mobile device |
9218435, | Oct 28 2005 | International Business Machines Corporation | Dynamically updating web pages using messaging-oriented middleware |
9462011, | May 30 2014 | CA, Inc. | Determining trustworthiness of API requests based on source computer applications' responses to attack messages |
9807015, | Mar 19 2014 | Dell Products L.P. | Message processing using dynamic load balancing queues in a messaging system |
9906487, | Jul 07 2000 | Taiwan Semiconductor Manufacturing Company, Ltd. | Messaging proxy system |
9942353, | Jun 02 2015 | International Business Machines Corporation | Management of connections within a messaging environment based on the statistical analysis of server responsiveness |
20050027788, | |||
20050155041, | |||
20050262194, | |||
20060294493, | |||
20080212602, | |||
20080244016, | |||
20080263179, | |||
20090037514, | |||
20090157836, | |||
20090178063, | |||
20090217293, | |||
20110239226, | |||
20120144404, | |||
20120192205, | |||
20130007696, | |||
20140047054, | |||
20140129657, | |||
20140143390, | |||
20150271256, | |||
20150350249, |
Date | Maintenance Fee Events |
Nov 16 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jun 18 2022 | 4 years fee payment window open |
Dec 18 2022 | 6 months grace period start (w surcharge) |
Jun 18 2023 | patent expiry (for year 4) |
Jun 18 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jun 18 2026 | 8 years fee payment window open |
Dec 18 2026 | 6 months grace period start (w surcharge) |
Jun 18 2027 | patent expiry (for year 8) |
Jun 18 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jun 18 2030 | 12 years fee payment window open |
Dec 18 2030 | 6 months grace period start (w surcharge) |
Jun 18 2031 | patent expiry (for year 12) |
Jun 18 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |