OpenMQ/SJSMQ 4.3 (Robin) [LSARC/2008/648 FastTrack timeout 10/28/2008]

Tom Childers tom.childers at sun.com
Tue Nov 4 10:12:47 PST 2008


We went ahead and approved this case at LSARC today, and I've taken  
the liberty of closing the case as approved.

	 Tom Childers
Sr. Staff Engineer

Sun Microsystems, Inc.
SOA/Business Integration Engineering
Phone x31943/+1 415-226-3398
Mobile +1 415-272-3565
Fax +1 415-226-3398
Email Tom.Childers at Sun.COM

On Oct 29, 2008, at 12:29 PM, Tom Childers wrote:

> Hi, Linda.
>
> The external link is http://www.opensolaris.org/os/community/arc/caselog/2008/648/ 
> , and when I look at the onepager there, it refers to an internal  
> machine. For some reason, the materials don't show up, so we perhaps  
> have a permissions problem.
>
> The links in the files should be made into relative links, so we  
> don't have internal Sun machine names visible.
>
> I'm happy with your comments on the FOSS issue, and I have no  
> problem closing this case as approved.
> -tdc
>
>
> On Oct 28, 2008, at 10:37 AM, Linda Schneider wrote:
>
>>
>> Looking through this case today, I notice that the UMS  
>> specification is hosted on an internal machine, and the onepager  
>> links to an internal machine. Since this is an open case, the specs  
>> are not available to outside ARC members.
>>
>> A copy of the specification is attached in the zip file I attached  
>> to the original fast track email and the data is in the case  
>> directory. Is there also another place I should place it.
>>
>> Isn't there a public or FOSS interface available to support .net,  
>> Python and Ajax clients?
>>
>> For JMS, not really.  In general each JMS provider comes up with  
>> their own api's for .net, etc.
>>
>> There is a general api called STOMP which can be a bridge into  
>> JMS.  and we have provided an example of using it on the openMQ  
>> site, but the licensing on the product prevent us from putting it  
>> in the product.  Additionally its a more complex api.
>>
>> To login to the service to send a message with Stomp:
>>             Console.WriteLine("CONNECT ...");
>>             streamWriter.WriteLine("CONNECT");
>>             streamWriter.WriteLine("login:guest");
>>             streamWriter.WriteLine("passcode:guest");
>>             streamWriter.WriteLine("");
>>             streamWriter.Write('\0');
>>             streamWriter.Flush();
>>
>> To long into the server to send a message with UMS:
>>              POST /ums/simple? 
>> service=login&user=guest&password=guest HTTP/1.1
>>
>> NOTE: Ums (although part of the openMQ/SJSMQ project) is generic  
>> and will actually work with other providers.
>>
>>
>>
>> Tom Childers wrote:
>>>
>>> Hi, Linda.
>>>
>>> Looking through this case today, I notice that the UMS  
>>> specification is hosted on an internal machine, and the onepager  
>>> links to an internal machine. Since this is an open case, the  
>>> specs are not available to outside ARC members.
>>>
>>> Apparently this is a new interface that we created from scratch.   
>>> Isn't there a public or FOSS interface available to support .net,  
>>> Python and Ajax clients?
>>>
>>> Everything else looks pretty straightforward.
>>> -tdc
>>>
>>> On Oct 22, 2008, at 9:06 PM, Linda Schneider wrote:
>>>
>>>> I'm sponsoring the following proposal for fast-track approval.  
>>>> The timer is set for 10/28/2008.
>>>>
>>>> Proposed release binding is minor.
>>>>
>>>> Fastrack content is [now] included below (it will look better if  
>>>> viewed as html)
>>>>
>>>> The attached zip file [additional.zip] contains copies of the  
>>>> functional specs referenced in this document.
>>>> The document (and related files) is also available at:  http://sac.sfbay/arc/LSARC/2008/648/robin.html
>>>>
>>>> FastTrack: OpenMQ / Sun Java System Message Queue 4.3 (Robin)
>>>> Sponsor: Linda Schneider
>>>>
>>>> Release Binding: Minor
>>>>
>>>> This is a FastTrack request for minor interface changes in Open  
>>>> Message Queue (OpenMQ) / Java System Message Queue 4.3 (Robin).  
>>>> Robin is a maintenance release to Message Queue 4.2 (LSARC/ 
>>>> 2008/387). It includes bug fixes and a small number of minor  
>>>> enhancements.
>>>>
>>>> This FastTrack adds modifies several committed and uncommitted  
>>>> exported interfaces and adds two new imported interfaces. It does  
>>>> not change the classification or remove any existing interface.
>>>>
>>>>
>>>>
>>>> Overview of Changes
>>>>
>>>> Several changes were added to 4.3 which impact the product's  
>>>> interface:
>>>>
>>>> A REST style API was added to allow messages to be produced or  
>>>> consumed to the MQ provider
>>>> A new bundling and layout scheme was added to support the product  
>>>> installed by our new Zip based installer (which will also be used  
>>>> in future releases for IPS packages)
>>>> Minor administration changes
>>>> Minor modifications to the windows installer
>>>> Addition of a command to make it easier to locate the uninstaller  
>>>> on the OpenMQ packages.
>>>> Public interface changes
>>>>
>>>> New Exported Interfaces: Creation of the Universal Message  
>>>> Service (UMS) API:
>>>> The UMS Protocol used by applications to connect to the service.
>>>> The UMS Configuration which contains the set of configuration  
>>>> parameters for the service.
>>>> A new war file (imqums.war) containing the servlet required by UMS.
>>>> New Exported Interface: Creation of a the new filesystem layout  
>>>> for use by the new packages. This layout will also be used for  
>>>> our new install bundles specifically:
>>>> Our OpenMQ product
>>>> Our AIX product (the platform is new to 4.3)
>>>> No changes have been made to our existing packages used in  
>>>> earlier releases. (They will still use the old filesystem laytout)
>>>> New Exported Interface: A new uninstall bat/shell script has been  
>>>> added as a shortcut for uninstalling the openMQ-only release.
>>>> Modified Exported Interface: Minor changes have been made to JMX  
>>>> to add additional information for destinations and consumers.
>>>> New Imported Interfaces: Installation of the product on windows  
>>>> (both for SJSMQ and OpenMQ) now uses Java registry keys as a  
>>>> fallback to locate a JRE to use to start the installer.
>>>> Private interface changess
>>>>
>>>> Additional changes have been made to private interfaces:
>>>>
>>>> Modified Interface: Output of imqcmd. This interface is  
>>>> Uncommitted.
>>>>
>>>>
>>>> Descriptions of Changes
>>>>
>>>>
>>>> Universal Message Service (UMS) - a REST style API
>>>> The Universal Message Service is a simple REST based API that  
>>>> allows any HTTP capable device to access Message Queue. This  
>>>> allows clients written in languages such as c-sharp and phython  
>>>> to send and receive messages.
>>>>
>>>> A new web component (imqums.war) can be deployed on any web  
>>>> container. That component serves as a bridge between the ums  
>>>> client and the JMS provider. The ums client sends the ums  
>>>> protocol (which uses http posts) to connect to the imqums  
>>>> service. That service uses standard JMS apis to connect to the MQ  
>>>> server (the broker).
>>>>
>>>> <ums.gif>
>>>>
>>>> Client->web component protocol
>>>> The protocol has two types of messages service requests (messages  
>>>> sent to the messaging system) and service responses (responses  
>>>> received from the messaging system). There are also two services  
>>>> (XML and basic text) which are provided in this release.
>>>>
>>>>
>>>> The API supports the following commands:
>>>>
>>>> login logs into the system and creates a UMS session (note: the  
>>>> password must be sent in plaintext since it is going as part of  
>>>> the http command line, however use of SSL is recommended).
>>>> send Sends a message (which will become a JMS message) to MQ.
>>>> receive Receive a message from MQ.
>>>> commit Commit a transaction (provided the UMS session is  
>>>> transacted).
>>>> rollback Rollback a transaction. (provided the UMS session is  
>>>> transacted).
>>>> close Close the UMS session.
>>>> All messages are request/response:
>>>>
>>>> Service Requests
>>>> The http POST method is used for all interaction with the UMS.  
>>>> Each protocol message is represented with the following syntax:
>>>> http://host:port/<ums-context-root>/<service>[? 
>>>> <query_string_if_simple>];
>>>>
>>>> Where:
>>>>
>>>> ums_conext-root: the location where the WAR file was deployed
>>>> simple: the type of service used (simple or XML)
>>>> query_string: used for the simple service. Provides a set of name  
>>>> value pairs separated by & which specify information such as the  
>>>> service type, messaging domain, and destination name
>>>> For the Messages:
>>>> For XML messages, the body contains the command information in  
>>>> XML format
>>>> For the simple service, the body is empty (since the protocol  
>>>> information in in the URL)
>>>>
>>>> Service Responses
>>>> For the XML service, the body of the HTTP request returns a SOAP  
>>>> message containing return information. For the simple message  
>>>> service, the body of the message may contain some specific return  
>>>> information.
>>>>
>>>> Lower level details of the Protocol are found in the UMS Protocol  
>>>> description.
>>>>
>>>> UMS configuration
>>>> When the war file is deployed, several configuration options are  
>>>> available for the servlet including password to be used to the  
>>>> broker, how often to poll for messages and the broker address.  
>>>> Specific configuration parameters are found in the UMS  
>>>> Configuration specification.
>>>>
>>>> Filesystem layout and packaging change - support for new packages  
>>>> which can handle multi-install
>>>> In MQ 4.3 we are adding a new zip based packaging bundle. In the  
>>>> following release (Crane), we will be replacing the zip bundles  
>>>> for IPS packages. This layout is the one we will be using for  
>>>> going forward for all future unbundled products (either zip based  
>>>> or IPS).
>>>>
>>>> Note: Our current SVR4 or Linux RPM based packaging is unaffected  
>>>> by these changes.
>>>>
>>>> MQ's filesystem will be laid out following the JES Filesystem  
>>>> Layout for Unbundled Software.
>>>>
>>>> <install_home>
>>>>    |
>>>>    |-------- etc
>>>>    |          |
>>>>    |          |-mq [MQ etc files]
>>>>    |
>>>>    |-------- var
>>>>    |          |
>>>>    |          |- install [contains installer information]
>>>>    |          |
>>>>    |          |-mq [used by the server for storing data]
>>>>    |
>>>>    |-------- mq
>>>>    |         |-------- bin   [MQ executables]
>>>>    |         |          |
>>>>    |         |          |- sparcv9 (amd64) [64 bit solaris  
>>>> executables]
>>>>    |         |
>>>>    |         |-------- lib [MQ jar files and libraries]
>>>>    |         |          |
>>>>    |         |          |- sparcv9 (amd64) [64 bit libraries for  
>>>> the MQ C API]
>>>>    |         |
>>>>    |         |-------- include [C-API file system headers]
>>>>    |         |
>>>>    |         |-------- lib64  [note: linux libs used instead of  
>>>> sparcv9]
>>>>    |         |
>>>>    |         |-------- examples [demos]
>>>>    |
>>>>    |-------- install
>>>>                |
>>>>                |- open installer implementation and jar files
>>>>
>>>>
>>>> For more details and specific locations for each file installed  
>>>> by MQ see the MQ 4.3 Filesystem and Packaging specification.
>>>>
>>>>
>>>> mquninstall[.bat] - script to improve uninstall experience
>>>> The installer places the script to uninstall the product in:
>>>> <install_home>/var/install/contents/mq/uninstaller
>>>>
>>>> A low level install script (used by the mq installer) is located  
>>>> at:
>>>> <install_home>/install/bin/uninstaller
>>>>
>>>> While we do document the location of the uninstaller, it is  
>>>> difficult to find and users often attempt to uninstall with the  
>>>> wrong uninstaller executable.
>>>>
>>>> For this release, we are adding a new script (or bat file) called  
>>>> mquninstall that is being placed in the <install_home>/mq/bin  
>>>> directory. This will will only be in OpenMQ bundles for this  
>>>> release (it will not be available in package based installs).
>>>>
>>>>
>>>> JMX Administration API changes - minimal JMX attribute and  
>>>> CompositeData changes
>>>> The following changes will be made to the JMX monitoring api:
>>>>
>>>> A new attribute NextMessageID will be added to consumers and  
>>>> destinations
>>>> A new attribute NumMsgsPending to consumers
>>>> The specific changes are:
>>>>
>>>> DestinationMonitorMBean
>>>> New Attributes:
>>>> Name	Set/Get	Type	Description
>>>> NextMessageID	G	String	JMS Message Id of the next message to be  
>>>> sent to any consumer
>>>> ConsumerMonitorMBean:
>>>> new Keys for Composite Data
>>>> Key	Value Type	Description
>>>> NextMessageID	String	JMS Message Id of the next message to be  
>>>> sent to this consumer
>>>> NumMsgsPending	Long	The number of messages which have been sent  
>>>> to this consumer but have not been acknowledged. They may either  
>>>> be queued for delivery or delivered to the consumer
>>>>
>>>>
>>>> Administration API (imqcmd) output changes - imqcmd output  
>>>> changes for durable subscribers
>>>> Note: the output returned from this application has a  
>>>> classification of uncommitted.
>>>>
>>>> This changes the output of the command imqcmd list dur to list  
>>>> all destinations (and include a directory name) if the -d is  
>>>> omitted. The following examples show the ouptut changes:
>>>>
>>>> Output when listing durables when a destination passed in on the  
>>>> command line. (Unchanged from previous releases)
>>>> imqcmd list dur -d mydest
>>>>
>>>>
>>>> Listing all durable subscriptions on the topic 'mydest'
>>>> on the broker specified by:
>>>>
>>>> -------------------------
>>>> Host         Primary Port
>>>> -------------------------
>>>> localhost    7676
>>>>
>>>> ---------------------------------------------------------------------------
>>>> Durable Sub. Name   Client ID   Number of Messages   Durable Sub.  
>>>> State   -
>>>> ---------------------------------------------------------------------------
>>>> mydn                mycid       0                     
>>>> INACTIVE             -
>>>>
>>>> Successfully listed durable subscriptions.
>>>>
>>>> Output when listing durables when a destination is not provided  
>>>> on the command line (adds new column DestinationName)
>>>> imqcmd list dur -- listing all destinations
>>>>
>>>>
>>>> Listing all durable subscriptions
>>>> -------------------------
>>>> Host         Primary Port
>>>> -------------------------
>>>> localhost    7676
>>>>
>>>> ------------------------------------------------------------------------------------------
>>>> Durable Sub. Name   Client ID   Destination Name   Number of  
>>>> Messages   Durable Sub. State
>>>> ------------------------------------------------------------------------------------------
>>>> 456                 123         *.foo               
>>>> 0                    INACTIVE
>>>> mydn                mycid       mydest              
>>>> 0                    INACTIVE
>>>>
>>>> Successfully listed durable subscriptions.
>>>>
>>>> Additional Installation Imported interfaces
>>>> The windows Installer.vbs script now uses the following variables  
>>>> to locate a JRE for the installer:
>>>>
>>>>
>>>> HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\CurrentVersion
>>>> HKLM\SOFTWARE\JavaSoft\Java Runtime Environment\<version>\JavaHome
>>>>
>>>> During installation, the installer will first attempt to use the  
>>>> jdk (if any) which was passed into the installation script, if no  
>>>> jdk is passed in it will look for a jre installed as part of the  
>>>> bundle, if no jre is found it will look at the keys to find the  
>>>> current JDK and its javahome.
>>>>
>>>> Additional Logging Messages
>>>> Some bug fixes require the addition or modification of log  
>>>> messages. No change was made in the format of those messages.
>>>>
>>>>
>>>> Imported/Exported Intefaces
>>>>
>>>> Exported Interfaces
>>>> Interface	Classification	Comments
>>>> imqcmd Ouput	 Uncommitted	Modifies an existing interface to  
>>>> support listing of all durables including their destination. See  
>>>> specific changes above.
>>>> MQ MBean Attributes names	 Committed	Modifies an existing  
>>>> interface to add support for NextMessageID method. See specific  
>>>> changes above
>>>> MQ MBean Lookup keys for CompositeData	Committed	Modifies an  
>>>> existing interface to add support for NextMessageID method and  
>>>> NumMsgsPending. See specific changes above.
>>>> Unbundled Filesystem Layout	 Committed	New Interface.
>>>> Creates a new filesystem layout for the product when it is not  
>>>> shipped with native packaging. See the Filesystem Layout  
>>>> specification
>>>>
>>>> Broker Log Infomation	Uncommitted	 Modified an existing interface  
>>>> by adding new log messages (no format changes)
>>>> UMS Protocol	Committed	New Interface.
>>>> Defines the protocol for the new ums service.See the UMS Protocol  
>>>> Specification
>>>>
>>>> UMS Configuration	Committed	New Interface.
>>>> Defines the configuration properties for the new ums service. See  
>>>> the UMS Configuration Specification
>>>>
>>>> imqums.war	Committed	New Interface.
>>>> Defines the name of the war file used for deploying the new ums  
>>>> service. See specific changes above.
>>>>
>>>> <mq_home>/bin/mqunistall[.bat]	Committed	New Interface.
>>>> A new script file which is available only on the new openMQ  
>>>> bundles that makes it easier for users to find the uninstaller.  
>>>> See specific changes above.
>>>>
>>>>
>>>> Imported Interfaces
>>>> Interface	Classification	Comments
>>>> HKLM\SOFTWARE\Java Soft\Java Runtime Environment\CurrentVersion	  
>>>> Standard	New Interface
>>>> Location of the latest release of the JRE on a windows system.
>>>>
>>>> HKLM\SOFTWARE\Java Soft\Java Runtime Environment\<version> 
>>>> \JavaHome	 Standard	New Interface
>>>> Location of the java home for a release of the JRE on a windows  
>>>> system.
>>>>
>>>>
>>>>
>>>>
>>>> References
>>>>
>>>> Current Release:
>>>>
>>>> Message Queue 4.3 feature functional specifications:
>>>>
>>>> UMS protocol
>>>> UMS configuration specification
>>>> MQ Filesystem Layout and packaging specification for Robin
>>>>
>>>> Previous Release:
>>>>
>>>> Message Queue 4.2 (Harrier) LSARC case: http://sac.sfbay.sun.com/arc/LSARC/2008/387
>>>>
>>>>
>>>>
>>>> <additional.zip>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.opensolaris.org/pipermail/opensolaris-arc/attachments/20081104/bc949b0c/attachment.html>


More information about the opensolaris-arc mailing list