Want to know what we're currently working on, investigating in, or even worried about? This page might help. Here the most recent activities of the project are listed in descending order.
In this page ( Tech-notes
), we'd like to collect notes on techniques utilized in this project and our ideas in terms of the design of the products we provide here. Hope you like this page and your feedback (either advices or criticisms) will be appreciated. (Contact us
We're planning a new subproject called MI Portal
mainly for remote clients, such as Java or Flash programs, to issue MI instructions on an IBM i server.
A new Web page, OPM MI Programming Tech-tips
has just been added. We'd like to place tech-tips, in different forms, for OPM MI programming here.
Queue objects is the native and basic IPC method in IBM i. They are not only used to synchronize and exchange data between MI processes but also used to coordinate the communication between an MI process and the SLIC; for exmaple, the QMIRQ (MI responce queue). While the most used and well-known types of queue object are DTAQ (Data Queue) and USRQ (User Queue). DTAQ and USRQ share the commons features of a queue object. Their MI object-type code is hex 0A; their MI object-subtype code is hex 01 and hex 02 for DTAQ and USRQ respectively. As to difference between them, you can simply regard USRQ as a more lightweight and powerful while less robust DTAQ.
As an MI object, a queue object has the following "methods" (operations):
- ENQ. Enqueue an entry (message) into a queue object.
- DEQ. Dequeue an entry (message) from a queue object.
- MATQAT. Materialize (retrieve) the attributes of a queue object.
- MATQMSG. Materialize the entries on a queue object, optionally with a specific search argument.
- Create or destroy a queue object. These MI instructions haven't been docuemnted by IBM and could be blocked instructions.
Our queue object APIs are to provide support for operations on USRQs and DTAQs corresponding to the MI instructions ENQ, DEQ, MATQAT, and MATQMSG. (Until V7R1, IBM didn't provide corresponding APIs for USRQ objects.) These queue object APIs can be:
- called by host programs written in any HLLs
- called by remote clients via language specific libraries; for example IBM Toolbox for Java for Java clients and as-400 for ActionScript3 clients.
See Queue Object APIs for more details.