Интеграция приложений на основе WebSphere MQ

Авторизация и средства администрирования

Разбить на страницы
Показывать лекцию целиком

Авторизация и доступ к объектам

В предыдущей лекции были рассмотрены примеры создания интерфейсов передачи данных без учета вопросов авторизации и доступа. WebSphere MQ имеет свой механизм предоставления прав доступа и аутентификации пользователя . Ограничения по доступу могут быть на уровне удаленного управления менеджером очередей и на уровне доступа к определенным объектам. Основной командой, предоставляющей права доступа к объектам, является команда setmqaut . Синтаксис команды следующий:

setmqaut -m QMgrName -n Profile -t ObjectType
    -s ServiceComponent -remove 
	-p PrincipalName [-g GroupName] 
	MQI authorizations [Administration 
    authorizations] [Generic authorizations]

-m QmgrName - имя менеджера очередей.

?, *, ** ). Например, если необходимо произвести авторизацию ко всем очередям, начинающимся на PAY, то опция Profile будет выглядеть

-n PAY*

-t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, prcs или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.

-s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будут произведены изменения прав доступа. Параметр не является обязательным.

-remove - лишает прав доступа к объектам, указанным перед ним.

-p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится изменение прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.

Рассмотрим опции авторизации: MQI authorizations, Administration authorizations и Generic authorizations. Перед данными опциями должны указываться символы " + " или " - ", разрешающие или запрещающие соответствующие действия.

MQI authorizations - опции команды для авторизации MQI. Может принимать значения:

  • altusr - дает возможность использовать имя другой учетной записи для функций MQOPEN и MQPUT1 ;
  • browse - разрешает просмотр сообщений в очереди функцией MQGET, если очередь открыта на просмотр с опцией BROWSE ;
  • connect - разрешает подключение к менеджеру очередей;
  • get - разрешает считывание сообщение из очереди;
  • inq - разрешает считывание значения атрибутов очереди;
  • put - разрешает помещать сообщения в очередь;
  • set - разрешает изменять атрибуты очереди.
  • Administration authorizations - опции команды для авторизации на выполнение действий. Может принимать значения:

  • chg - изменение атрибутов объекта;
  • clr - удаление сообщений из очереди (доступно только для PCF команд);
  • crt - создание объектов;
  • dsp - просмотр атрибутов объекта
  • Generic authorizations - опции авторизации для групповых операций. Может принимать значения:

  • all - предоставляет все права на объект;
  • alladm - предоставляет все административные права на объект;
  • allmqi - предоставляет возможность MQI вызова на объект;
  • none - создает в своем механизме аутентификации запись для профиля пользователя не предоставляя ему никаких прав;
  • Опции команды setmqaut применяются не ко всем объектам менеджера очередей. В таблице 5.1. указано соответствие между опциями и объектами.

    Соответствие между опциями команды setmqaut и объектами менеджера очередей
    Authority Queue Process Queue manager Namelist Authentication information
    all + + + + +
    alladm + + + + +
    allmqi + + + + +
    none + + + + +
    altusr - - + - -
    browse + - - - -
    chg + + + + +
    clr + - - - -
    connect - - + - -
    crt + + + + +
    dlt + + + + +
    dsp + + + + +
    get + - - - -
    put + - - - -
    inq + + + + +
    set + - - - -

    Синтаксис команды имеет несколько особенностей. Если в названии объекта присутствует символ " ?, .", то каждая часть имени, разделенная точкой должна использовать свои символы групповой замены. Рассмотрим примеры применения команды setmqaut к объектам менеджера QM_Win2000 для учетной записи (пользователя) test1. Условиями выполнения команды является наличие учетной записи test1 и указанных в примерах очередей.

  • Авторизация подключения к менеджеру QM_Win2000
    setmqaut -m QM_Win2000 -t qmgr 
             -p test1 +connect
  • Доступ на просмотр сообщений функцией MQGET, во всех очередях, начинающихся на Win2000_HPUX. и заканчивающихся на любой допустимый символ, если очередь открыта на просмотр с опцией BROWSE
    setmqaut -m QM_Win2000 -n Win2000_HPUX.? 
             -t queue  -p test1 +browse
  • Запрет на считывание сообщение из очередей, начинающихся на ." и заканчивающиеся любыми допустимыми символами за исключением символов " ."
    setmqaut -m QM_Win2000 -n Vip*.* -t queue
             -p test1 -get
  • Право на просмотр атрибутов и удаление очередей, начинающихся на Win2000_HPUX. и имеющим после точки два символа, причем левый символ может быть любым
    setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
             -t queue  -p test1 +dlt +dsp
  • Предоставление всех прав на очередь A1
    setmqaut -m QM_Win2000 -n A1 -t queue  
             -p test1 +all
  • Предоставление всех прав на очереди, состоящие из двух символов, имеющие любой первый символ и второй символ "2"
    setmqaut -m QM_Win2000 -n ?2 -t queue  
             -p test1 +all
  • Предоставление всех прав на очереди, оканчивающиеся на ." символов " ."
    setmqaut -m QM_Win2000 -n **.CQ -t queue
             -p test1 +all
  • Предоставление прав на считывание сообщений из очередей, начинающихся на ." и оканчивающихся на Q
    setmqaut -m QM_Win2000 -n NO*.Q -t queue
             -p test1 +get
  • Предоставление прав на помещение, просмотр и удаление сообщений в очереди DEAD_LETTER
    setmqaut -m QM_Win2000 -n DEAD_LETTER 
             -t queue  -p test1 +put +browse +get
  • Удаление прав на помещение сообщений в очередь A1
    setmqaut -m QM_Win2000 -n A1 -t queue
             -p test1 -put
  • С помощью команды setmqaut нельзя предоставлять доступ к объектам кластера, которые физически расположены на удаленных менеджерах.

    Коды возврата команды setmqaut указаны в таблице 5.2.

    Коды возврата команды setmqaut
    0 Successful operation Ошибок нет
    36 Invalid arguments supplied Содержится неправильный аргумент
    40 Queue manager not available Менеджер очередей недоступен
    49 Queue manager stopping Менеджер очередей остановлен
    69 Storage not available Невозможно сохранить изменения
    71 Unexpected error Непредвиденная ошибка
    72 Queue manager name error Ошибка в имени менеджера
    133 Unknown object name Неизвестное имя объекта
    145 Unexpected object name Непредвиденное имя объекта
    146 Object name missing Отсутствует имя объекта
    147 Object type missing Отсутствует тип объекта
    148 Invalid object type Неправильный тип объекта
    149 Entity name missing Отсутствует имя объекта
    150 Authorization specification missing Отсутствует опция авторизации
    151 Invalid authorization specification Неправильная опция авторизации

    Просмотреть права учетной записи (пользователя) к объекту на локальном менеджере можно с помощью команды dspmqaut . Синтаксис команды

    dspmqaut -m QMgrName -n ObjectName 
             -t ObjectType -s ServiceComponent
             -p PrincipalName [-g GroupName]

    -m QmgrName - имя менеджера очередей.

    -n ObjectName - имя объекта менеджера, к которому применяется команда.

    -t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, prcs или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.

    -s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будет произведен просмотр прав доступа. Параметр не является обязательным.

    -p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится просмотр прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.

    Опции команды dspmqaut также доступны не для всех объектов менеджера очередей. В таблице 5.3. указано соответствие между опциями и объектами.

    Соответствие между опциями команды dspmqaut и объектами менеджера очередей
    Authority Queue Process Queue manager Namelist Authentication information
    all + + + + +
    alladm + + + + +
    allmqi + + + + +
    altusr - - + - -
    browse + - - - -
    chg + + + + +
    clr + - - - -
    connect - - + - -
    crt + + + + +
    dlt + + + + +
    dsp + + + + +
    get + - - - -
    inq + + + + +
    put + - - - -
    set + + + - +

    Рассмотрим некоторые примеры применения команды dspmqaut к объектам менеджера QM_Win2000 для учетной записи test1. В скобках дана соответствующая команда setmqaut из рассмотренных выше примеров.

  • C:\>dspmqaut -m QM_Win2000 -t q -n A -p test1
    Entity test1 has the following authorizations
    for object A:
    (К данному объекту учетная запись test1 не 
    имеет авторизации, так как не было 
    соответствующей команды setmqaut)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.Q -p test1
    Entity test1 has the following authorizations
    for object Win2000_HPUX.Q:
    
            browse
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.? 
              -t queue  -p test1 +browse)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.TQ -p test1 
    Entity test1 has the following authorizations
    for object Win2000_HPUX.TQ:
    
            dlt
            dsp
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
              -t queue  -p test1 +dlt +dsp)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.RQ -p test1 
    Entity test1 has the following authorizations
    for object Win2000_HPUX.RQ:
    
            dlt
            dsp
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
              -t queue  -p test1 +dlt +dsp)
  • C:\>dspmqaut -m QM_Win2000 -t q -n A1 -p test1
    Entity test1 has the following authorizations 
    for object A1:
    
            get
            browse
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n A1 -t queue  
              -p test1 +all 
    setmqaut -m QM_Win2000 -n A1 -t queue  
             -p test1 -put )
  • C:\>dspmqaut -m QM_Win2000 -t q -n A2 
                 -p test1 
    Entity test1 has the following authorizations
    for object A2:
    
            get
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n ?2 -t queue  
              -p test1 +all)
  • C:\>dspmqaut -m QM_Win2000 -t q -n HPUX.CQ 
                 -p test1 
    Entity test1 has the following authorizations
    for object HPUX.CQ:
    
            get
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n **.CQ -t queue  
              -p test1 +all)
  • C:\>dspmqaut -m QM_Win2000 -t q -n NOTEPAD.Q 
                 -p test1 
    Entity test1 has the following authorizations
    for object NOTEPAD.Q:
    
            get
    
    (setmqaut -m QM_Win2000 -n NO*.Q -t queue
              -p test1 +get)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000_HPUX2.TQ -p test1 
    Entity test1 has the following authorizations
    for object WIN2000_HPUX2.TQ:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000HPUX3.TQ -p test1 
    Entity test1 has the following authorizations 
    for object WIN2000HPUX3.TQ:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000hpux4.tq -p test1 
    Entity test1 has the following authorizations
    for object WIN2000hpux4.tq:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q -n Vip2000.CQ
                 -p test1 
    Entity test1 has the following authorizations 
    for object Win2000.CQ:
    
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n **.CQ -t queue  
              -p test1 +all
    setmqaut -m QM_Win2000 -n Vip*.* -t queue  
             -p test1 -get)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n DEAD_LETTER -p test1 
    Entity test1 has the following authorizations
    for object DEAD_LETTER:
    
            get
            browse
            put
    
    (setmqaut -m QM_Win2000 -n DEAD_LETTER 
              -t queue  -p test1 +put 
         +browse +get )
  • Отметим, что к выполнению команды setmqaut , содержащей символы групповой замены следует относиться с осторожностью и всегда проверять результат выполнения командой dspmqaut .

    Настройка служб WebSphere MQ под Windows

    WebSphere MQ в своей работе оперирует как своими внутренними данными, так и данными на уровне операционных систем. Так, например, в процессе первичной установки создается группа mqm. Все пользователи, входящие в эту группу имеют все права на все объекты WebSphere MQ. То есть для полного управления менеджером очередей достаточно того, чтобы учетная запись была включена либо в группу mqm либо в группу администраторов.

    В среде Windows часто встречается случай, когда прикладная программа должна выполняться под нужной учетной записью (пользователем). В процессе установки WebSphere MQ на платформе Windows кроме группы mqm создается пользователь с учетной записью MUSR_MQADMIN под именем которого выполняются все процессы и все прикладные программы, указанные в атрибуте Application Identifier соответствующего процесса. Если удалить и создать вновь данную учетную запись, то WebSphere MQ работать не будет. Рассмотрим процедуру, позволяющую запускать сервис IBM MQSeries под другой учетной записью.

  • Установить тип запуска для IBM MQSeries Service в Manual.
  • Перегрузить компьютер.
  • Запустить (рис 5.1) Форма настройки dcomcnfg
  • В закладке Security добавить пользователя mquser@alfa.moscow.net для параметров:
  • Use custom access permissions (Allow access);
  • Use custom launch permissions (Allow access);
  • Use custom configuration permission (Full Control).
  • Установить тип запуска для MQSeries в Automatic.
  • Перегрузить компьютер.
  • Убедиться, что сервис IBM MQSeries (рис.5.2) стартовал от имени (рис 5.2) Старт сервиса IBM MQSeries под учетной записью mquser@alfa.moscow.net
  • Далее можно создавать службы сервиса WebSphere MQ Trigger Monitor (см. лекцию 4). Создать данные службы можно также с помощью команды amqmdain , синтаксис которой имеет вид:

    amqmdain crttrm QmgrName InitQueue

    где:

    QmgrName - имя менеджера очередей,

    InitQueue - имя очереди инициализации

    После выполнения данной команды следует убедиться в появлении в MQSeries Services нового Trigger Monitor с нужной очередью инициализации (см. рис.4.11).

    Управлять объектами удаленного менеджера можно с помощью WebSphere MQ Explorer и с помощью команды runmqsc . Для удаленного управления менеджером очередей необходимо:

  • Создать трансмиссионные очереди на менеджере, с которого производится управление и на удаленном менеджере;
  • Создать и стартовать каналы в обе стороны между менеджерами;
  • Выполнить команду runmqsc -w TimeOut RemoteQmqrName где:
  • TimeOut - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. Если время истекло, то появится следующее сообщение
    AMQ8416: MQSC timed out waiting for a 
    response from the command server.
  • RemoteQmqrName - имя удаленного менеджера.
  • Далее с помощью команд MQSC можно управлять объектами удаленного менеджера.

    Командный процессор MQSC. Основные команды

    Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью WebSphere MQ Explorer. Работа и возможности, предоставляемые WebSphere MQ Explorer были рассмотрены в предыдущих лекциях. Теперь рассмотрим работу команд MQSC (MQSeries Commands). Команды WebSphere MQ разделяются на внешние и внутренние. Внешние команды представляют собой программы, откомпилированные под конкретную платформу. Некоторые из внешних команд и их назначение представлены в таблице 5.4.

    Список внешних команд WebSphere MQ
    Команда Назначение
    amqmcert Управление сертификатами для использования механизма SSL
    amqmdain Создание WebSphere MQ services (только для платформыWindows)
    crtmqcvx Конвертация С кода в структуру WebSphere MQ
    crtmqm Создание локального менеджера очередей
    dltmqm Удаление локального менеджера очередей
    dmpmqaut Удаление (dump) авторизации к объекту
    dmpmqlog Преобразование лог-файлов менеджера в "читаемый" вид
    dspmq Просмотр состояния менеджера очередей
    dspmqaut Просмотр прав доступа к объектам
    dspmqcap Просмотр количества процессоров
    dspmqcsv Просмотр состояния командного сервера
    dspmqfls Вывод файловой структуры объектов
    dspmqtrc Вывод трассировки в файл (только для HP-UX, Linux, и Solaris)
    dspmqtrn Просмотр незавершенных транзакций
    endmqcsv Остановка командного сервера
    endmqlsr Остановка службы listener
    endmqm Остановка менеджера
    endmqtrc Остановка режима трассировки (кроме AIX платформы)
    rcdmqimg Запись состояния объектов в файл
    rcrmqobj Восстановление состояния объектов из файла
    rsvmqtrn Управление незавершенными транзакциями
    runmqchi Запуск службы channel initiator
    runmqchl Старт sender или requester каналов
    runmqdlq Восстановление сообщений из очереди недоставленных сообщений
    runmqlsr Запуск службы listener
    runmqsc Запуск командного процессора внутренних команд MQSC
    runmqtmc Запуск trigger monitor для клиентской части (только для AIX платформы)
    runmqtrm Запуск trigger monitor
    setmqaut Предоставление прав доступа к объектам
    setmqcap Установка количества процессоров
    strmqcsv Запуск командного сервера
    strmqm Запуск менеджера очередей
    strmqtrc Запуск режима трассировки

    Из таблицы 5.4 выделим команду runmqsc , которая является своего рода командным процессором для выполнения внутренних MQSC команд, позволяющих управлять объектами как локального, так и удаленного менеджера. Синтаксис команды:

    runmqsc -e / -v /-w QmgrName

    где:

    -e - исключение вывода результата выполнения команд в отчет. Полезно для использования при вводе команд в интерактивном режиме.

    -v - проверка синтаксиса команд без их выполнения. Если далее указана опция -w, то она игнорируется.

    -w - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. С помощью данной опции возможно управление объектами удаленного менеджера. Если время истекло, то появится следующее сообщение:

    AMQ8416: MQSC timed out waiting for a response from the command server.

    QmgrName - имя менеджера очередей. Имя менеджера, являющегося менеджером по умолчанию указывать не обязательно.

    Кроме непосредственного ввода внутренних команд из командной строки данная команда позволяет выполнять командный файл, содержащий различные сценарии создания и управления объектами. В таком случае синтаксис будет выглядеть

    runmqsc QmgrName < create_obj.txt

    где:

    create_obj.txt - файл, содержащий внутренние команды MQSC.

    Внутренние команды могут состоять из нескольких операторов. На первом месте стоит оператор, указывающий действие. На втором месте указывается тип объекта, к которому применяется первый оператор. Типы объектов указываются следующими операторами:

  • CHANNEL - канал;
  • CHSTATUS - состояние канала;
  • CLUSQMGR - информация о кластерных каналах менеджера;
  • PROCESS - процесс;
  • NAMELIST - список кластеров;
  • QALIAS - очередь ALIAS ;
  • QCLUSTER - кластерная очередь;
  • QLOCAL - локальная очередь;
  • QMGR - менеджер;
  • QMODEL - модельная очередь;
  • QREMOTE - локальная удаленная очередь.
  • Основные операторы, которые, как правило, стоят на первом месте внутренней команды.

  • ALTER - изменение свойств объекта;
  • CLEAR - удаление сообщений из очереди;
  • DEFINE - создание объекта;
  • DELETE - удаление объекта;
  • DISPLAY - вывод информации об объекте;
  • END - выход из командного процессора runmqsc ;
  • PING - проверка соединения;
  • REFRESH - обновление информации;
  • RESET -
  • RESET CLUSTER - выводит менеджер очередей из кластера WebSphere MQ;
  • RESET CHANNEL - сбрасывает счетчики сообщений у канала;
  • RESOLVE - управление сообщениями с признаком незавершенной транзакции;
  • RESUME - оповещение кластера WebSphere MQ о том, что менеджер очередей снова включен в данный кластер;
  • START - оператор старта;
  • STOP - оператор останова;
  • SUSPEND - временное исключение менеджера из кластера WebSphere MQ;
  • Подробный синтаксис команд можно узнать из документации .

    Пример создания интерфейсов передачи данных в обе стороны между двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей трансмиссионной очереди появляется сообщение. Для этого создаются объекты на менеджере QM_Win2000:

  • HPUX_Win2000.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_HPUX;
  • HPUX_Win2000.CH - канал получатель;
  • Win2000_HPUX.TQ - трансмиссионная очередь передачи;
  • Win2000_HPUX.RQ - локальная удаленная очередь;
  • Win2000_HPUX.CH - канал отправитель.
  • При создании объектов с помощью команды DEFINE следует учитывать, что если имя объекта не "берется" в символы " ' ", то объект будет создан с именем, содержащим только заглавные буквы. То же относится и к другим командам.

    Набор команд для создания объектов выглядит следующим образом.

    DEFINE QLOCAL ('HPUX_Win2000.Q') 
    
    DEFINE CHANNEL ('HPUX_Win2000.CH') 
           CHLTYPE(RCVR)
    
    DEFINE QLOCAL ('Win2000_HPUX.TQ') 
           USAGE(XMITQ)
    
    DEFINE QREMOTE ('Win2000_HPUX.RQ')  
           XMITQ('Win2000_HPUX.TQ') +
           RNAME('Win2000_HPUX.Q')  
    	   RQMNAME('QM_HPUX')
    
    DEFINE CHANNEL ('Win2000_HPUX.CH') 
           CHLTYPE(SDR) +
           CONNAME('198.32.100.16(1421)')   
    	   DISCINT(999999) + 
    	   XMITQ('Win2000_HPUX.TQ')

    Создадим объекты на менеджере QM_HPUX:

  • Win2000_HPUX.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_Win2000;
  • Win2000_HPUX.CH - канал получатель;
  • HPUX _Win2000.TQ - трансмиссионная очередь передачи;
  • HPUX _Win2000.RQ - локальная удаленная очередь;
  • HPUX _Win2000.CH - канал отправитель.
  • Команды для создания этих объектов будут выглядеть следующим образом.

    DEFINE QLOCAL ('Win2000_HPUX.Q') 
    
    DEFINE CHANNEL ('Win2000_HPUX.CH') 
           CHLTYPE(RCVR) 
    
    DEFINE QREMOTE ('HPUX_Win2000.RQ') +
           XMITQ('HPUX_Win2000.TQ') +
           RNAME('HPUX_Win2000.Q') +
           RQMNAME('QM_Win2000') 
    
    DEFINE QLOCAL ('HPUX_Win2000.TQ') +
           USAGE(XMITQ) +
           TRIGGER +
           TRIGTYPE(FIRST) +
           TRIGDPTH(1) +
           TRIGDATA('HPUX_Win2000.CH') +
           INITQ('SYSTEM.CHANNEL.INITQ') 
    
    DEFINE CHANNEL ('HPUX_Win2000.CH') 
           CHLTYPE(SDR) +
           CONNAME('172.25.4.150') +
           DISCINT(999999) +
           XMITQ('HPUX_Win2000.TQ')

    Эти команды можно поместить в два текстовых файла, а затем, выполнив команду runmqsc на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.

    Страницы:

    Авторизация и доступ к объектам

    В предыдущей лекции были рассмотрены примеры создания интерфейсов передачи данных без учета вопросов авторизации и доступа. WebSphere MQ имеет свой механизм предоставления прав доступа и аутентификации пользователя . Ограничения по доступу могут быть на уровне удаленного управления менеджером очередей и на уровне доступа к определенным объектам. Основной командой, предоставляющей права доступа к объектам, является команда setmqaut . Синтаксис команды следующий:

    setmqaut -m QMgrName -n Profile -t ObjectType
        -s ServiceComponent -remove 
    	-p PrincipalName [-g GroupName] 
    	MQI authorizations [Administration 
        authorizations] [Generic authorizations]

    -m QmgrName - имя менеджера очередей.

    ?, *, ** ). Например, если необходимо произвести авторизацию ко всем очередям, начинающимся на PAY, то опция Profile будет выглядеть

    -n PAY*

    -t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, prcs или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.

    -s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будут произведены изменения прав доступа. Параметр не является обязательным.

    -remove - лишает прав доступа к объектам, указанным перед ним.

    -p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится изменение прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.

    Рассмотрим опции авторизации: MQI authorizations, Administration authorizations и Generic authorizations. Перед данными опциями должны указываться символы " + " или " - ", разрешающие или запрещающие соответствующие действия.

    MQI authorizations - опции команды для авторизации MQI. Может принимать значения:

  • altusr - дает возможность использовать имя другой учетной записи для функций MQOPEN и MQPUT1 ;
  • browse - разрешает просмотр сообщений в очереди функцией MQGET, если очередь открыта на просмотр с опцией BROWSE ;
  • connect - разрешает подключение к менеджеру очередей;
  • get - разрешает считывание сообщение из очереди;
  • inq - разрешает считывание значения атрибутов очереди;
  • put - разрешает помещать сообщения в очередь;
  • set - разрешает изменять атрибуты очереди.
  • Administration authorizations - опции команды для авторизации на выполнение действий. Может принимать значения:

  • chg - изменение атрибутов объекта;
  • clr - удаление сообщений из очереди (доступно только для PCF команд);
  • crt - создание объектов;
  • dsp - просмотр атрибутов объекта
  • Generic authorizations - опции авторизации для групповых операций. Может принимать значения:

  • all - предоставляет все права на объект;
  • alladm - предоставляет все административные права на объект;
  • allmqi - предоставляет возможность MQI вызова на объект;
  • none - создает в своем механизме аутентификации запись для профиля пользователя не предоставляя ему никаких прав;
  • Опции команды setmqaut применяются не ко всем объектам менеджера очередей. В таблице 5.1. указано соответствие между опциями и объектами.

    Соответствие между опциями команды setmqaut и объектами менеджера очередей
    Authority Queue Process Queue manager Namelist Authentication information
    all + + + + +
    alladm + + + + +
    allmqi + + + + +
    none + + + + +
    altusr - - + - -
    browse + - - - -
    chg + + + + +
    clr + - - - -
    connect - - + - -
    crt + + + + +
    dlt + + + + +
    dsp + + + + +
    get + - - - -
    put + - - - -
    inq + + + + +
    set + - - - -

    Синтаксис команды имеет несколько особенностей. Если в названии объекта присутствует символ " ?, .", то каждая часть имени, разделенная точкой должна использовать свои символы групповой замены. Рассмотрим примеры применения команды setmqaut к объектам менеджера QM_Win2000 для учетной записи (пользователя) test1. Условиями выполнения команды является наличие учетной записи test1 и указанных в примерах очередей.

  • Авторизация подключения к менеджеру QM_Win2000
    setmqaut -m QM_Win2000 -t qmgr 
             -p test1 +connect
  • Доступ на просмотр сообщений функцией MQGET, во всех очередях, начинающихся на Win2000_HPUX. и заканчивающихся на любой допустимый символ, если очередь открыта на просмотр с опцией BROWSE
    setmqaut -m QM_Win2000 -n Win2000_HPUX.? 
             -t queue  -p test1 +browse
  • Запрет на считывание сообщение из очередей, начинающихся на ." и заканчивающиеся любыми допустимыми символами за исключением символов " ."
    setmqaut -m QM_Win2000 -n Vip*.* -t queue
             -p test1 -get
  • Право на просмотр атрибутов и удаление очередей, начинающихся на Win2000_HPUX. и имеющим после точки два символа, причем левый символ может быть любым
    setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
             -t queue  -p test1 +dlt +dsp
  • Предоставление всех прав на очередь A1
    setmqaut -m QM_Win2000 -n A1 -t queue  
             -p test1 +all
  • Предоставление всех прав на очереди, состоящие из двух символов, имеющие любой первый символ и второй символ "2"
    setmqaut -m QM_Win2000 -n ?2 -t queue  
             -p test1 +all
  • Предоставление всех прав на очереди, оканчивающиеся на ." символов " ."
    setmqaut -m QM_Win2000 -n **.CQ -t queue
             -p test1 +all
  • Предоставление прав на считывание сообщений из очередей, начинающихся на ." и оканчивающихся на Q
    setmqaut -m QM_Win2000 -n NO*.Q -t queue
             -p test1 +get
  • Предоставление прав на помещение, просмотр и удаление сообщений в очереди DEAD_LETTER
    setmqaut -m QM_Win2000 -n DEAD_LETTER 
             -t queue  -p test1 +put +browse +get
  • Удаление прав на помещение сообщений в очередь A1
    setmqaut -m QM_Win2000 -n A1 -t queue
             -p test1 -put
  • С помощью команды setmqaut нельзя предоставлять доступ к объектам кластера, которые физически расположены на удаленных менеджерах.

    Коды возврата команды setmqaut указаны в таблице 5.2.

    Коды возврата команды setmqaut
    0 Successful operation Ошибок нет
    36 Invalid arguments supplied Содержится неправильный аргумент
    40 Queue manager not available Менеджер очередей недоступен
    49 Queue manager stopping Менеджер очередей остановлен
    69 Storage not available Невозможно сохранить изменения
    71 Unexpected error Непредвиденная ошибка
    72 Queue manager name error Ошибка в имени менеджера
    133 Unknown object name Неизвестное имя объекта
    145 Unexpected object name Непредвиденное имя объекта
    146 Object name missing Отсутствует имя объекта
    147 Object type missing Отсутствует тип объекта
    148 Invalid object type Неправильный тип объекта
    149 Entity name missing Отсутствует имя объекта
    150 Authorization specification missing Отсутствует опция авторизации
    151 Invalid authorization specification Неправильная опция авторизации

    Просмотреть права учетной записи (пользователя) к объекту на локальном менеджере можно с помощью команды dspmqaut . Синтаксис команды

    dspmqaut -m QMgrName -n ObjectName 
             -t ObjectType -s ServiceComponent
             -p PrincipalName [-g GroupName]

    -m QmgrName - имя менеджера очередей.

    -n ObjectName - имя объекта менеджера, к которому применяется команда.

    -t ObjectType - тип объекта менеджера. Может иметь значения q или queue для очередей, prcs или process для процессов, nl или namelist для списков кластеров, authinfo для использования механизма SSL.

    -s ServiceComponent - имя установленного сервиса авторизации, с помощью которого будет произведен просмотр прав доступа. Параметр не является обязательным.

    -p PrincipalName или -g GroupName - имя пользователя или группы, для которой производится просмотр прав доступа к объектам. Для платформы Windows возможно указание доменной учетной записи в формате userid@domain.

    Опции команды dspmqaut также доступны не для всех объектов менеджера очередей. В таблице 5.3. указано соответствие между опциями и объектами.

    Соответствие между опциями команды dspmqaut и объектами менеджера очередей
    Authority Queue Process Queue manager Namelist Authentication information
    all + + + + +
    alladm + + + + +
    allmqi + + + + +
    altusr - - + - -
    browse + - - - -
    chg + + + + +
    clr + - - - -
    connect - - + - -
    crt + + + + +
    dlt + + + + +
    dsp + + + + +
    get + - - - -
    inq + + + + +
    put + - - - -
    set + + + - +

    Рассмотрим некоторые примеры применения команды dspmqaut к объектам менеджера QM_Win2000 для учетной записи test1. В скобках дана соответствующая команда setmqaut из рассмотренных выше примеров.

  • C:\>dspmqaut -m QM_Win2000 -t q -n A -p test1
    Entity test1 has the following authorizations
    for object A:
    (К данному объекту учетная запись test1 не 
    имеет авторизации, так как не было 
    соответствующей команды setmqaut)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.Q -p test1
    Entity test1 has the following authorizations
    for object Win2000_HPUX.Q:
    
            browse
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.? 
              -t queue  -p test1 +browse)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.TQ -p test1 
    Entity test1 has the following authorizations
    for object Win2000_HPUX.TQ:
    
            dlt
            dsp
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
              -t queue  -p test1 +dlt +dsp)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n Win2000_HPUX.RQ -p test1 
    Entity test1 has the following authorizations
    for object Win2000_HPUX.RQ:
    
            dlt
            dsp
    
    (setmqaut -m QM_Win2000 -n Win2000_HPUX.?Q 
              -t queue  -p test1 +dlt +dsp)
  • C:\>dspmqaut -m QM_Win2000 -t q -n A1 -p test1
    Entity test1 has the following authorizations 
    for object A1:
    
            get
            browse
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n A1 -t queue  
              -p test1 +all 
    setmqaut -m QM_Win2000 -n A1 -t queue  
             -p test1 -put )
  • C:\>dspmqaut -m QM_Win2000 -t q -n A2 
                 -p test1 
    Entity test1 has the following authorizations
    for object A2:
    
            get
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n ?2 -t queue  
              -p test1 +all)
  • C:\>dspmqaut -m QM_Win2000 -t q -n HPUX.CQ 
                 -p test1 
    Entity test1 has the following authorizations
    for object HPUX.CQ:
    
            get
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n **.CQ -t queue  
              -p test1 +all)
  • C:\>dspmqaut -m QM_Win2000 -t q -n NOTEPAD.Q 
                 -p test1 
    Entity test1 has the following authorizations
    for object NOTEPAD.Q:
    
            get
    
    (setmqaut -m QM_Win2000 -n NO*.Q -t queue
              -p test1 +get)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000_HPUX2.TQ -p test1 
    Entity test1 has the following authorizations
    for object WIN2000_HPUX2.TQ:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000HPUX3.TQ -p test1 
    Entity test1 has the following authorizations 
    for object WIN2000HPUX3.TQ:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n WIN2000hpux4.tq -p test1 
    Entity test1 has the following authorizations
    for object WIN2000hpux4.tq:
    
            put
    
    (setmqaut -m QM_Win2000 -n WIN*.* -t queue  
              -p test1 +put)
  • C:\>dspmqaut -m QM_Win2000 -t q -n Vip2000.CQ
                 -p test1 
    Entity test1 has the following authorizations 
    for object Win2000.CQ:
    
            browse
            put
            inq
            set
            dlt
            chg
            dsp
            passid
            passall
            setid
            setall
            clr
    
    (setmqaut -m QM_Win2000 -n **.CQ -t queue  
              -p test1 +all
    setmqaut -m QM_Win2000 -n Vip*.* -t queue  
             -p test1 -get)
  • C:\>dspmqaut -m QM_Win2000 -t q 
                 -n DEAD_LETTER -p test1 
    Entity test1 has the following authorizations
    for object DEAD_LETTER:
    
            get
            browse
            put
    
    (setmqaut -m QM_Win2000 -n DEAD_LETTER 
              -t queue  -p test1 +put 
         +browse +get )
  • Отметим, что к выполнению команды setmqaut , содержащей символы групповой замены следует относиться с осторожностью и всегда проверять результат выполнения командой dspmqaut .

    Настройка служб WebSphere MQ под Windows

    WebSphere MQ в своей работе оперирует как своими внутренними данными, так и данными на уровне операционных систем. Так, например, в процессе первичной установки создается группа mqm. Все пользователи, входящие в эту группу имеют все права на все объекты WebSphere MQ. То есть для полного управления менеджером очередей достаточно того, чтобы учетная запись была включена либо в группу mqm либо в группу администраторов.

    В среде Windows часто встречается случай, когда прикладная программа должна выполняться под нужной учетной записью (пользователем). В процессе установки WebSphere MQ на платформе Windows кроме группы mqm создается пользователь с учетной записью MUSR_MQADMIN под именем которого выполняются все процессы и все прикладные программы, указанные в атрибуте Application Identifier соответствующего процесса. Если удалить и создать вновь данную учетную запись, то WebSphere MQ работать не будет. Рассмотрим процедуру, позволяющую запускать сервис IBM MQSeries под другой учетной записью.

  • Установить тип запуска для IBM MQSeries Service в Manual.
  • Перегрузить компьютер.
  • Запустить (рис 5.1) Форма настройки dcomcnfg
  • В закладке Security добавить пользователя mquser@alfa.moscow.net для параметров:
  • Use custom access permissions (Allow access);
  • Use custom launch permissions (Allow access);
  • Use custom configuration permission (Full Control).
  • Установить тип запуска для MQSeries в Automatic.
  • Перегрузить компьютер.
  • Убедиться, что сервис IBM MQSeries (рис.5.2) стартовал от имени (рис 5.2) Старт сервиса IBM MQSeries под учетной записью mquser@alfa.moscow.net
  • Далее можно создавать службы сервиса WebSphere MQ Trigger Monitor (см. лекцию 4). Создать данные службы можно также с помощью команды amqmdain , синтаксис которой имеет вид:

    amqmdain crttrm QmgrName InitQueue

    где:

    QmgrName - имя менеджера очередей,

    InitQueue - имя очереди инициализации

    После выполнения данной команды следует убедиться в появлении в MQSeries Services нового Trigger Monitor с нужной очередью инициализации (см. рис.4.11).

    Управлять объектами удаленного менеджера можно с помощью WebSphere MQ Explorer и с помощью команды runmqsc . Для удаленного управления менеджером очередей необходимо:

  • Создать трансмиссионные очереди на менеджере, с которого производится управление и на удаленном менеджере;
  • Создать и стартовать каналы в обе стороны между менеджерами;
  • Выполнить команду runmqsc -w TimeOut RemoteQmqrName где:
  • TimeOut - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. Если время истекло, то появится следующее сообщение
    AMQ8416: MQSC timed out waiting for a 
    response from the command server.
  • RemoteQmqrName - имя удаленного менеджера.
  • Далее с помощью команд MQSC можно управлять объектами удаленного менеджера.

    Командный процессор MQSC. Основные команды

    Как говорилось в предыдущих лекциях, управлять объектами WebSphere MQ можно как с помощью команд, так и с помощью WebSphere MQ Explorer. Работа и возможности, предоставляемые WebSphere MQ Explorer были рассмотрены в предыдущих лекциях. Теперь рассмотрим работу команд MQSC (MQSeries Commands). Команды WebSphere MQ разделяются на внешние и внутренние. Внешние команды представляют собой программы, откомпилированные под конкретную платформу. Некоторые из внешних команд и их назначение представлены в таблице 5.4.

    Список внешних команд WebSphere MQ
    Команда Назначение
    amqmcert Управление сертификатами для использования механизма SSL
    amqmdain Создание WebSphere MQ services (только для платформыWindows)
    crtmqcvx Конвертация С кода в структуру WebSphere MQ
    crtmqm Создание локального менеджера очередей
    dltmqm Удаление локального менеджера очередей
    dmpmqaut Удаление (dump) авторизации к объекту
    dmpmqlog Преобразование лог-файлов менеджера в "читаемый" вид
    dspmq Просмотр состояния менеджера очередей
    dspmqaut Просмотр прав доступа к объектам
    dspmqcap Просмотр количества процессоров
    dspmqcsv Просмотр состояния командного сервера
    dspmqfls Вывод файловой структуры объектов
    dspmqtrc Вывод трассировки в файл (только для HP-UX, Linux, и Solaris)
    dspmqtrn Просмотр незавершенных транзакций
    endmqcsv Остановка командного сервера
    endmqlsr Остановка службы listener
    endmqm Остановка менеджера
    endmqtrc Остановка режима трассировки (кроме AIX платформы)
    rcdmqimg Запись состояния объектов в файл
    rcrmqobj Восстановление состояния объектов из файла
    rsvmqtrn Управление незавершенными транзакциями
    runmqchi Запуск службы channel initiator
    runmqchl Старт sender или requester каналов
    runmqdlq Восстановление сообщений из очереди недоставленных сообщений
    runmqlsr Запуск службы listener
    runmqsc Запуск командного процессора внутренних команд MQSC
    runmqtmc Запуск trigger monitor для клиентской части (только для AIX платформы)
    runmqtrm Запуск trigger monitor
    setmqaut Предоставление прав доступа к объектам
    setmqcap Установка количества процессоров
    strmqcsv Запуск командного сервера
    strmqm Запуск менеджера очередей
    strmqtrc Запуск режима трассировки

    Из таблицы 5.4 выделим команду runmqsc , которая является своего рода командным процессором для выполнения внутренних MQSC команд, позволяющих управлять объектами как локального, так и удаленного менеджера. Синтаксис команды:

    runmqsc -e / -v /-w QmgrName

    где:

    -e - исключение вывода результата выполнения команд в отчет. Полезно для использования при вводе команд в интерактивном режиме.

    -v - проверка синтаксиса команд без их выполнения. Если далее указана опция -w, то она игнорируется.

    -w - время в секундах, в течение которого от удаленного менеджера должен прийти положительный ответ на подключение. С помощью данной опции возможно управление объектами удаленного менеджера. Если время истекло, то появится следующее сообщение:

    AMQ8416: MQSC timed out waiting for a response from the command server.

    QmgrName - имя менеджера очередей. Имя менеджера, являющегося менеджером по умолчанию указывать не обязательно.

    Кроме непосредственного ввода внутренних команд из командной строки данная команда позволяет выполнять командный файл, содержащий различные сценарии создания и управления объектами. В таком случае синтаксис будет выглядеть

    runmqsc QmgrName < create_obj.txt

    где:

    create_obj.txt - файл, содержащий внутренние команды MQSC.

    Внутренние команды могут состоять из нескольких операторов. На первом месте стоит оператор, указывающий действие. На втором месте указывается тип объекта, к которому применяется первый оператор. Типы объектов указываются следующими операторами:

  • CHANNEL - канал;
  • CHSTATUS - состояние канала;
  • CLUSQMGR - информация о кластерных каналах менеджера;
  • PROCESS - процесс;
  • NAMELIST - список кластеров;
  • QALIAS - очередь ALIAS ;
  • QCLUSTER - кластерная очередь;
  • QLOCAL - локальная очередь;
  • QMGR - менеджер;
  • QMODEL - модельная очередь;
  • QREMOTE - локальная удаленная очередь.
  • Основные операторы, которые, как правило, стоят на первом месте внутренней команды.

  • ALTER - изменение свойств объекта;
  • CLEAR - удаление сообщений из очереди;
  • DEFINE - создание объекта;
  • DELETE - удаление объекта;
  • DISPLAY - вывод информации об объекте;
  • END - выход из командного процессора runmqsc ;
  • PING - проверка соединения;
  • REFRESH - обновление информации;
  • RESET -
  • RESET CLUSTER - выводит менеджер очередей из кластера WebSphere MQ;
  • RESET CHANNEL - сбрасывает счетчики сообщений у канала;
  • RESOLVE - управление сообщениями с признаком незавершенной транзакции;
  • RESUME - оповещение кластера WebSphere MQ о том, что менеджер очередей снова включен в данный кластер;
  • START - оператор старта;
  • STOP - оператор останова;
  • SUSPEND - временное исключение менеджера из кластера WebSphere MQ;
  • Подробный синтаксис команд можно узнать из документации .

    Пример создания интерфейсов передачи данных в обе стороны между двумя менеджерами QM_Win2000 и QM_HPUX с адресами 198.32.100.26 и 198.32.100.16(1421), причем на менеджере QM_HPUX канал отправитель должен переходить в состояние running как только в соответствующей трансмиссионной очереди появляется сообщение. Для этого создаются объекты на менеджере QM_Win2000:

  • HPUX_Win2000.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_HPUX;
  • HPUX_Win2000.CH - канал получатель;
  • Win2000_HPUX.TQ - трансмиссионная очередь передачи;
  • Win2000_HPUX.RQ - локальная удаленная очередь;
  • Win2000_HPUX.CH - канал отправитель.
  • При создании объектов с помощью команды DEFINE следует учитывать, что если имя объекта не "берется" в символы " ' ", то объект будет создан с именем, содержащим только заглавные буквы. То же относится и к другим командам.

    Набор команд для создания объектов выглядит следующим образом.

    DEFINE QLOCAL ('HPUX_Win2000.Q') 
    
    DEFINE CHANNEL ('HPUX_Win2000.CH') 
           CHLTYPE(RCVR)
    
    DEFINE QLOCAL ('Win2000_HPUX.TQ') 
           USAGE(XMITQ)
    
    DEFINE QREMOTE ('Win2000_HPUX.RQ')  
           XMITQ('Win2000_HPUX.TQ') +
           RNAME('Win2000_HPUX.Q')  
    	   RQMNAME('QM_HPUX')
    
    DEFINE CHANNEL ('Win2000_HPUX.CH') 
           CHLTYPE(SDR) +
           CONNAME('198.32.100.16(1421)')   
    	   DISCINT(999999) + 
    	   XMITQ('Win2000_HPUX.TQ')

    Создадим объекты на менеджере QM_HPUX:

  • Win2000_HPUX.Q - локальная очередь, в которую будут приходить сообщения от менеджера QM_Win2000;
  • Win2000_HPUX.CH - канал получатель;
  • HPUX _Win2000.TQ - трансмиссионная очередь передачи;
  • HPUX _Win2000.RQ - локальная удаленная очередь;
  • HPUX _Win2000.CH - канал отправитель.
  • Команды для создания этих объектов будут выглядеть следующим образом.

    DEFINE QLOCAL ('Win2000_HPUX.Q') 
    
    DEFINE CHANNEL ('Win2000_HPUX.CH') 
           CHLTYPE(RCVR) 
    
    DEFINE QREMOTE ('HPUX_Win2000.RQ') +
           XMITQ('HPUX_Win2000.TQ') +
           RNAME('HPUX_Win2000.Q') +
           RQMNAME('QM_Win2000') 
    
    DEFINE QLOCAL ('HPUX_Win2000.TQ') +
           USAGE(XMITQ) +
           TRIGGER +
           TRIGTYPE(FIRST) +
           TRIGDPTH(1) +
           TRIGDATA('HPUX_Win2000.CH') +
           INITQ('SYSTEM.CHANNEL.INITQ') 
    
    DEFINE CHANNEL ('HPUX_Win2000.CH') 
           CHLTYPE(SDR) +
           CONNAME('172.25.4.150') +
           DISCINT(999999) +
           XMITQ('HPUX_Win2000.TQ')

    Эти команды можно поместить в два текстовых файла, а затем, выполнив команду runmqsc на каждом менеджере с указанием соответствующего файла, можно получить готовый интерфейс для передачи данных между двумя платформами: UNIX и Windows. Кроме этого, используя команды рестарта каналов, можно управлять их состоянием.

    Вернуться к учебному плану