Message Queue 4.3 Filesystem Layout and Packaging specification

While IPS packages will not be delivered in the 4.3 timeframe because of legal reasons, MQ will modify the filesystem and available bundles to prepare for the new packaging and support both muti-install OpenMQ bundles and platforms where we will not use native packaging mechanisms. Changes include:

Notes:

Overview:

The following areas will be covered:

This document will not cover:

Packaging and Package names for the future MQ IPS packages

Naming of the packages will follow the Package Best Practices - Naming

Notes:

Highlevel Filesystem Layout

The high level filesystem layout has the following directories:



<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

Detailed Filesystem Layout

Note: The font color is used to determine the package listed above.

<install_home>
   |
   |-------- etc
   |          |
   |          |-mq
   |             |
   |             |-imqenv.conf
   |             |- passfile.sample
   |             |- registry/servicetag.xml  [swordfish, installed]
   |             |- xml/com.sun.cmm.mq.xml [swordfish, installed]
   |             |- rc  [rc scripts]
   |             |   |- imq  [application used with S52imq and K15imq scripts]
   |             |       
   |             |- sms [applications used for sms]
   |                 |-mqbroker.xml
   |                 |-mqbroker
   |
   |-------- var
   |          |
   |          |- install
   |          |     |
   |          |     |  [ In a zip that is unzipped at install time ]
   |          |     |- contents 
   |          |     |     |
   |          |     |     |- mq/*/* [files used by the installer]
   |          |     |
   |          |     |  [ Written out by OpenInstaller at install time ]
   |          |     |- config
   |          |     |     |
   |          |     |     |- mq/*.xcu [files used by the installer]
   |          |     |
   |          |     |  [ Written out by OpenInstaller at install time ]
   |          |     |- logs
   |          |     |     |
   |          |     |     |  (example log file names shown here)
   |          |     |     |- mq/2008-09-18-08-49-install.log
   |          |     |     |- mq/2008-09-18-08-49-install-summary.html
   |          |     |
   |          |     |  [ Written out by OpenInstaller at install time ]
   |          |     |- pkgdb
   |          |           |
   |          |           |  [ MQ currently bundles NSS/NSPR/JavaHelp;
   |          |           |    this may change ]
   |          |           |- sims-product/NSPR-4.7-instance0
   |          |           |- sims-product/JavaHelpRuntime-2.0-instance0
   |          |           |- sims-product/NSS-3.11.9-instance0
   |          |           |- sims-product/mq-4.3.0.0-instance0
   |          |           |- sims-product/Engine-0.9.6-instance0
   |          |           |
   |          |           |- uninstall
   |          |                 | [Written by OpenInstaller]
   |          |                 |- *.properties [manifests used for uninstall]
   |          | 
   |          |-mq
   |             |
   |             | [not in any package or by OpenInstaller, written as product is run]
   |             |-instances/*
   |
   |-------- mq
   |         |-------- bin  [NOTE: commands on win32 end with exe and are win32 specific]
   |         |          |
   |         |          |- mquninstall[.bat] - [New file zip bundles only, wraper to var/install/contents/uninstaller]
   |         |          |- imqadmin
   |         |          |- imqbrokerd
   |         |          |- imqcmd
   |         |          |- imqdbmgr
   |         |          |- imqkeytool
   |         |          |- imqobjmgr
   |         |          |- imqusermgr
   |         |          |- nss
   |         |          |   |- certutil 
   |         |          |   |- ssltap 
   |         |          |
   |         |          |- sparcv9 (amd64)
   |         |               |- nss
   |         |                   |- certutil 
   |         |                   |- ssltap 
   |         |
   |         |-------- lib
   |         |          |- imq.jar
   |         |          |- imqjmsra.jar
   |         |          |- imqjmx.jar
   |         |          |- jms.jar
   |         |          |- imqhttp.jar 
   |         |          |- imqhttps.jar 
   |         |          |- imqservlet.jar 
   |         |          |- jhall.jar  
   |         |          |- imq_*.jar  [localization jar]
   |         |          |
   |         |          |- private
   |         |          |       |- imqadmin.jar
   |         |          |       |- imqbroker.jar
   |         |          |       |- imqutil.jar
   |         |          |       |- imqcomm.jar [contains swordfish ID/prod name for commercial product]
   |         |          |       |- imqinit
   |         |          |
   |         |          |- help
   |         |          |    |-*
   |         |          |
   |         |          |- ext
   |         |          |    |-[empty at install - files such as database drivers are installed here]
   |         |          |
   |         |          |- images [used for admin console]
   |         |          |    |-*
   |         |          |
   |         |          |- install
   |         |          |     |
   |         |          |     |- GenerateXMLFile.class
   |         |          |     |- SetupJDKHome.class
   |         |          |     |- mqconfigmf
   |         |          |
   |         |          |- props
   |         |          |    |-broker
   |         |          |        |-*.properties
   |         |          |
   |         |          |- libimqutil.so* [solaris only library]
   |         |          |
   |         |          |- libmqcrt.so* [win32=mqcrt.lib]
   |         |          |
   |         |          |- nss
   |         |          |   |- libfreebl_*_3.*  [NSS/NSPR, win32=freebl3.<chk|dll> ]
   |         |          |   |- libnspr4.so [NSS/NSPR, win32=libnspr4.<lib|dll> ]
   |         |          |   |- libplc4.so [NSS/NSPR, win32=libplc4.<lib|dll> ]
   |         |          |   |- libplds4.so [NSS/NSPR, win32=libplds4.[lib|dll]]
   |         |          |   |- libssl3.so [NSS/NSPR, win32=ssl3.<lib|dll> ]
   |         |          |   |- libnss3.so [NSS/NSPR, win32=nss3.<lib|dll>]
   |         |          |   |- libnssckbi.so [NSS/NSPR, win32=mssckbi.dll]
   |         |          |   |- libsmime3.so [NSS/NSPR, win32=smime3.<lib|dll>]
   |         |          |   |- libsoftokn3.* [NSS/NSPR, win32=softokn3.<chk|dll>]
   |         |          |
   |         |          |- sparcv9/amd64  [solaris only]
   |         |               |- libimqutil.so* 
   |         |               |- libmqcrt.so*
   |         |               |- nss
   |         |                  |- libfreebl_*_3.*  [NSS/NSPR]
   |         |                  |- libnspr4.so [NSS/NSPR]
   |         |                  |- libplc4.so [NSS/NSPR]
   |         |                  |- libplds4.so [NSS/NSPR]
   |         |                  |- libssl3.so [NSS/NSPR]
   |         |                  |- libnss3.so [NSS/NSPR]
   |         |                  |- libnssckbi.so [NSS/NSPR]
   |         |                  |- libsmime3.so [NSS/NSPR]
   |         |                  |- libsoftokn3.* [NSS/NSPR]
   |         |
   |         |
   |         |-------- include
   |         |          |- mqbasictypes.h
   |         |          |- mqbytes-message.h
   |         |          |- mqcallback-types.h
   |         |          |- mqconnection-props.h
   |         |          |- mqconnection.h
   |         |          |- mqconsumer.h
   |         |          |- mqcrt.h
   |         |          |- mqdestination.h
   |         |          |- mqerrors.h
   |         |          |- mqheader-props.h
   |         |          |- mqmessage.h
   |         |          |- mqproducer.h
   |         |          |- mqproperties.h
   |         |          |- mqsession.h
   |         |          |- mqssl.h
   |         |          |- mqstatus.h
   |         |          |- mqtext-message.h
   |         |          |- mqtypes.h
   |         |          |- mqversion.h
   |         |
   |         |-------- lib64  [note: linux libs should be the same as sparcv9 above minus libimqutil*]
   |         |           |
   |         |           |- libcrt.so*
   |         |           |- nss
   |         |               |- *
   |         |
   |         |-------- examples
   |         |          |
   |         |          |- README
   |         |          |- C/*
   |         |          |- applications/*
   |         |          |- helloworld/*
   |         |          |- imqobjmgr/*
   |         |          |- jaxm/*
   |         |          |- jdbc/*
   |         |          |- jms/*
   |         |          |- monitoring/*
   |         |          |- ums/*
   |         |
   |         |-------- javadoc 
   |         |           |- com/sun/messaging/*  [note: javadocs for libs above]
   |         |           |- javax/jms/* 
   |         |
   |         |
   |         |-------- man/* [currently empty, may contain solaris man pages in the future]  
   |         |
   |         |-------- legal/* [contains all legal files associated with the commercial version of the product] 
   |
   |
   |
   |         [ OpenInstaller runtime ]
   |         [ This is not in any MQ package - just in a zip that is installed 
   |           by MQ's installer ]
   |-------- install
             |
             |-------- bin
             |          |- engine-wrapper
             |          |- uninstaller
             |          |- Engine-Wrapper.vbs
             |          |- uninstaller.vbs
             |  
             |-------- lib
             |          |- *.jar [jar files used by open installer]
             |          |- bootstrap.jar
             |          |- config.jar
             |          |- engine.jar
             |          |- sims.jar
             |          |
             |          |- external
             |          |   |- ...
             |          |
             |          |- platforms
             |          |   |- ...
             |          |
             |          |- providers
             |          |   |- ...
             |          |
             |          |- sims
             |              |- ...
             |
             |-------- install-config.properties
             |
             |-------- LICENSE_3rd_PARTY.txt
             |
             |-------- LICENSE.txt