Welcome to Universal Messaging 10.1
About this Documentation
Online Information
Release Notes
Overview
Documentation roadmap
Online Information
Contacting customer support
Supported Product Releases and Platforms
What's New In Universal Messaging 10.1
What's New In Universal Messaging 10.0
What's New In Universal Messaging 9.12
What's New In Universal Messaging 9.10
What's New In Universal Messaging 9.9
What's New In Universal Messaging 9.8
What's New In Universal Messaging 9.7
What's New In Universal Messaging 9.6
What's New In Universal Messaging 9.5
What's New In Universal Messaging 9.0/9.1
Migration Notes
Installation Guide
Installation Overview
Installation using the Software AG Installer
Post-Installation Procedures
Starting the Realm Server
Stopping the Realm Server
Server Memory Modes
Client Deployment
JMS Configuration
Command Prompts
How to access the Universal Messaging log file
How to Administer a Remote Universal Messaging Realm
Upgrading from a Trial to a Production License
Universal Messaging Instance Manager
Concepts
Overview
Architecture
Architecture Overview
Support for Open Standards
Realms
Zones
Overview of Zones
Administration of Zones
Examples of Message Propagation
Messaging Paradigms supported
umTransport API
Communication Protocols and RNAMEs
Management
Administration and Management
JMX Administration and Management
Deployment
Deployment
Server
Performance and Tuning
Server Failover / High Availability
Data Routing
Federation Of Servers
Proxy Servers and Firewalls
Server Memory for Deployment
Server Parameters
Server Security for Deployment
Deployment
Connecting to multiple realms using SSL
The Java Virtual Machine
The Network
The Operating System
The Realm Server
Periodic Logging of Server Status
Client
Using HTTP/HTTPS
Browser / Applet Deployment
Browser Plugins
Client Jars
Client Security
Client Parameters
Multiplexing Sessions
Language Deployment Tips
Silverlight Application Deployment
JavaScript Application Deployment
Security
Security Overview
Authentication
Authentication Overview
Using SASL
Overview
Client-side Authentication
Server-side Authentication
Client Negotiation
Directory Backend
Internal User Repository
LDAP
Reverse Hostname Resolution for localhost
Server JAAS Authentication with Software AG Security infrastructure component
Converting a .jks Key Store to a .pem Key Store
Access Control Lists
Security Policies
Access Control Lists (ACLs)
Using SSL
SSL Concepts
SSL Encryption
Client SSL Configuration
JMS Client SSL Configuration
Setting up and using FIPS
Performance, Scalability and Resilience
Overview of Performance, Scalabilty and Resilience
Clustered Server Concepts
Clusters: An Overview
Client Connection
Masters and Slaves
Quorum
Election of a new Master
Message Passing
Outages and Recovery
Creating Clustered Resources
Inter-Cluster Connections
Clusters with Sites
Disaster Recovery using Clusters with Sites
Shared Storage Configurations
Setting Up a High Availability (HA) Failover Cluster
Separating Client and Cluster Communication
Multicast: An Overview
Shared Memory (SHM)
Scalability
Realm Benchmarks
Failover
Connections Scalability
MQTT: An Overview
AMQP
AMQP Overview
AMQP Plugin Configuration
AMQP Security Configuration
AMQP Message Transformation
Commonly Used Features
Overview
Sessions
Channel Attributes
Storage Properties of Channels and Queues
Channel Publish Keys
Queue Attributes
Multi-File Disk Stores
Events
Named Objects, Shared Named Objects and Serial Named Objects
Event Filtering
Event Filtering using Selectors
Event Filtering using Subjects and Principals
Event Dictionaries
Durable Consumers
Durable Event Browsing and Purging
Native Communication Protocols
Comet Communication Protocols
Google Protocol Buffers
Using the Shared Memory Protocol
Rollback
Out-of-Memory Protection
Pause Publishing
Administration Guide
About this Documentation
Universal Messaging Enterprise Manager
Introduction
Getting Started
Tab-by-Tab Overview
Administration Using Enterprise Manager
Enterprise View
Realm Administration
Creating and Starting a Realm Server
Connecting to Multiple Realms
Disconnecting from Realms
Editing Connection Information
Realm Profiles
Realm Federation
Realm Configuration
Zone Administration
Cluster Administration
Creating a Cluster
Deleting Clusters
Modifying Clusters
Cluster Channel Administration
Cluster Queue Administration
Viewing Cluster Information
Manage Inter-Cluster Connections
Creating and Managing Clusters with Sites
Channel Administration
Creating Channels
Valid Channel and Queue Names
Editing Channels
Copying Channels
Creating Channel Joins
Channel Snoop
Channel Publishing
Channel Named Objects
DataGroup Administration
Creating DataGroups
Adding Existing DataGroups to DataGroups
Removing DataGroups from DataGroups
Deleting DataGroups
Queue Administration
Creating Queues
Editing Queues
Copying Queues
Queue Snoop
Using ACLs for role-based Security
Security Groups
Realm Entitlements
Channel Entitlements
Queue Entitlements
Interface VIA Rules
Scheduling
Universal Messaging Scheduling : Writing Schedule Scripts
Universal Messaging Scheduling : Calendar Triggers Schedules
Universal Messaging Scheduling : Conditional Triggers
Universal Messaging Scheduling : Tasks
Universal Messaging Scheduling: Editor
Scheduler Examples
Universal Messaging Scheduling : Example Realm Script
Universal Messaging Scheduling : Store Triggers Example
Universal Messaging Scheduling : Interface Triggers Example
Universal Messaging Scheduling : Memory Triggers Example
Universal Messaging Scheduling : Realm Triggers Example
Universal Messaging Scheduling : Cluster Triggers Example
Universal Messaging Scheduling : Counter Trigger Example
Universal Messaging Scheduling : Time Triggers Example
Universal Messaging Scheduling : Configuration Example
Integration with JNDI
TCP Interfaces, IP Multicast and Shared Memory
Overview of Working with Interfaces
Creating Interfaces
Starting Interfaces
Modifying Interfaces
Stopping Interfaces
Deleting Interfaces
SSL Interfaces
Interface Configuration
JavaScript Interface Panel
Interface plugins
Multicast Configuration
Shared Memory Configuration
Creating an SSL network interface to a Universal Messaging Realm Server
How to generate certificates for use
Plugins
File Plugin
XML Plugin
Proxy Passthrough Plugin
REST Plugin
SOAP Plugin
Servlet Plugin
XML Configuration: Overview
XML Configuration: Exporting To XML
XML Configuration: Importing From XML
XML Configuration: Sample XML File for EXPORT
XML Configuration: Sample XML File for IMPORT
Management and Monitoring Sections
Enterprise view
Management Information
Enterprise Summary
Clusters Summary
Clusters Status
Realms Summary
Realm Status
Realm Monitoring
Universal Messaging Enterprise Manager : Logs Panel
Realm Connections
Threads Status
Top
Audit Panel
Container Status
Container Monitor Panel
Channel Status
Data Group Status
Channel Connections
Queue Status
Interface Status
Scheduler view
Channel view
Queue view
Using the Enterprise Viewer
Using Command Central to Manage Universal Messaging
Managing Universal Messaging using Command Central
Securing Access to Command Central
Changing the Authentication Mode
Verifying the Outbound Authentication Settings
Using Unix Shell Scripts to Change Connection Credentials for Managed Products
Instance Management
Creating an Instance
Deleting an Instance
Authentication Configuration
Universal Messaging Configuration Types
Working with Universal Messaging Configuration Types
User Management
License Management
Ports Configuration
Configure NSP
Configure NHP
Configure NHPS
Configure NSPS
Memory Configuration
Realm Access Control Lists (ACLs)
Group Management
General Properties
JNDI Management
JNDI Connection Factories
JNDI Destinations
Channels Configuration
Queues Configuration
Zones
Java System Properties
Cluster Management
Before You Create a Universal Messaging Cluster
Cluster Configuration Fields
Cluster Configuration Tasks Supported
Cluster Migration
Universal Messaging Logs
Universal Messaging Administration Types
Durable Subscribers
Channels
Queues
Universal Messaging Inventory
Universal Messaging Lifecycle Actions
Universal Messaging KPIs
Universal Messaging Run-time Monitoring Statuses
Universal Messaging and the Command Line Interface
Universal Messaging Commands
Command Line Administration Tools
Introduction to the Administration Tools
Starting the Tools using the Tools Runner Application
Performing Standard Administration Tasks on Realms and Clusters
Running a Configuration Health Check
Collecting Realm Information
Universal Messaging Administration API
Introduction
Administration API Package Documentation
Namespace Objects
nRealmNode
nLeafNode (Channels and Queues)
Realm Federation
Channel Join
Realm Server Management
Interfaces
Scheduling
Config
Clustering
Multicast
Security
Access Control Lists
Nirvana Admin API - Nirvana Security Groups
Realm Access Control List (nACL)
Channel Access Control List (nACL)
Queue Access Control List
Management Information
nRealmNode
nClusterNode
nLeafNode
Connection Information
Thread Pool Monitoring
Developer Guide
Universal Messaging Client Development
Enterprise APIs
Overview of the Enterprise Client APIs
Enterprise Developer's Guide for Java
General Features
Creating a Session
Events
Event Dictionaries
Channel Joins
Google Protocol Buffers
Publish / Subscribe Using Channels/Topics
Creating a Channel
Finding a Channel
Publishing events to a Channel
Sending XML Dom Objects
Asynchronous Subscriber
Channel Iterator
Batched Subscribe
Batched Find
Durable channel consumers and named objects
Named Objects
Event Fragmentation
The Merge Engine and Event Deltas
Priority Messaging
Publish / Subscribe Using DataStreams and DataGroups
DataStreamListener
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
DataGroups Event Publishing
DataStream Event Publishing
Priority Messaging
Message Queues
Creating a Queue
Finding a Queue
Queue Publish
Asynchronous Queue Consuming
Synchronous Queue Consuming
Asynchronous Transactional Queue Consuming
Synchronous Transactional Queue Consuming
Queue Browsing / Peeking
Request Response
Event Fragmentation
Provider for JMS
Overview of the Provider for JMS
JMSAdmin: Sample application for creating realm resources
JMS Client SSL Configuration
Application Server Integration (JBoss)
JMS Message / Event Mapping
JMS Message Type Conversion
Fanout Engine
Resource Adapter for JMS
Support for XA Transactions
Basic Authentication
Overview
Client-side Authentication
Server-side Authentication
Code Examples
Pub/Sub Channels
Java Client: Channel Publisher
Java Client: Transactional Channel Publisher
Java Client: Asynchronous Channel Consumer
Java Client: Synchronous Channel Consumer
Java Client: Asynchronous Named Channel Consumer
Java Client: Synchronous Named Channel Consumer
Java Client: XML Channel Publisher
Java Client: Asynchronous XML Channel Consumer
Java Client: Event Delta Delivery
Java Client: Batching Server Calls
Java Client: Batching Subscribe Calls
Pub/Sub Datagroups
Java Client: DataStream Listener
Java Client: DataGroup Publishing with Conflation
Java Client: DataGroup Manager
Java Client: Delete DataGroup
Java Client: DataGroup Delta Delivery
Message Queues
Java Client: Queue Publisher
Java Client: Transactional Queue Publisher
Java Client: Asynchronous Queue Consumer
Java Client: Asynchronous Transactional Queue Consumer
Java Client: Synchronous Queue Consumer
Java Client: Synchronous Transactional Queue Consumer
Java Client: Peek events on a Queue
Java Client: Requester - Request/Response
Java Client: Responder - Request/Response
Administration API
Java Client: Add a Queue ACL Entry
Java Client: Modify a Channel ACL Entry
Java Client: Delete a Realm ACL Entry
Java Client: Add a Schedule to a Universal Messaging Realm
Java Client: Simple authentication server
Java Client: Monitor realms for cluster creation, and cluster events
Java Client: Monitor realms for client connections coming and going
Java Client: Copy a channel and its events
Java Client: Monitor the remote realm log and audit file
Java Client: Export a realm to XML
Java Client: Import a realm's configuration information
Java Client: Console-based Realm Monitor
Java Client: Realm Monitor
Java Client: Create Cluster
Java Client: Create Security Group
Java Client: Add Security Group Subject
Java Client: Delete Security Group Subject
Java Client: Delete Security Group
Provider for JMS
Using the AMQP Protocol
Java Client: JMS BytesMessage Publisher
Java Client: JMS BytesMessage Subscriber
Java Client: JMS MapMessage Publisher
Java Client: JMS MapMessage Subscriber
Java Client: JMS ObjectMessage Publisher
Java Client: JMS ObjectMessage Subscriber
Java Client: JMS StreamMessage Publisher
Java Client: JMS StreamMessage Subscriber
Java Client: JMS BytesMessage Queue Publisher
Java Client: JMS BytesMessage Queue Subscriber
Java Client: JMS Queue Browser
Channel / Queue / Realm Management
Java Client: Creating a Channel
Java Client: Deleting a Channel
Java Client: Creating a Queue
Java Client: Deleting a Queue
Java Client: Create a Channel Join
Java Client: Delete a Channel Join
Java Client: Purge events from a channel
Java Client: Find the event id of the last event
Java Client: Add a realm to another realm
Java Client: Multiplex a Session
Client API Package Documentation
Enterprise Developer's Guide for C++
General Features
Creating a Session
Universal Messaging Events
Event Dictionaries
Channel Joins
Google Protocol Buffers
Publish / Subscribe using Channel Topics
Publish / Subscribe Using Channels/Topics
Creating a Channel
Finding a Channel
How to publish events to a Channel
Asynchronous Subscriber
Channel Iterator
Batched Subscribe
Batched Find
Durable channel consumers and named objects
Named Objects
The Merge Engine and Event Deltas
Priority Messaging
Publish / Subscribe using Datastreams and Datagroups
Publish / Subscribe Using DataStreams and DataGroups
DataStreamListener
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
DataGroups Event Publishing
DataStream Event Publishing
Priority Messaging
Message Queues
Message Queues
Creating a Queue
Finding a Queue
Queue Publish
Asynchronous Queue Consuming
Synchronous Queue Consuming
Asynchronous Transactional Queue Consuming
Synchronous Transactional Queue Consuming
Queue Browsing / Peeking
Code Examples for C++
Publish / Subscribe using Channel Topics
C++ Client: Channel Publisher
C++ Client: Transactional Channel Publisher
C++ Client: Asynchronous Channel Consumer
C++ Client: Synchronous Channel Consumer
C++ Client: Asynchronous Named Channel Consumer
C++ Client: Synchronous Named Channel Consumer
C++ Client: Event Delta Delivery
C++ Client: Batching Server Calls
C++ Client: Batching Subscribe Calls
Publish / Subscribe using Datastreams and Datagroups
C++ Client: DataStream Listener
C++ Client: DataGroup Publishing with Conflation
C++ Client: DataGroup Manager
C++ Client: Delete DataGroup
C++ Client: DataGroup Delta Delivery
Message Queues
C++ Client: Queue Publisher
C++ Client: Transactional Queue Publisher
C++ Client: Asynchronous Queue Consumer
C++ Client: Synchronous Queue Consumer
C++ Client: Peek Events on a Queue
Administration API
C++ Client: Add a Queue ACL Entry
C++ Client: Modify a Channel ACL Entry
C++ Client: Delete a Realm ACL Entry
C++ Client: Monitor realms for client connections coming and going
C++ Client: Console-based Realm Monitor
C++ Client: Remove Node ACL
C++ Client: Authserver
Channel / Queue / Realm Management
C++ Client: Creating a Channel
C++ Client: Deleting a Channel
C++ Client: Creating a Queue
C++ Client: Deleting a Queue
C++ Client: Create Channel Join
C++ Client: Delete a Channel Join
C++ Client: Purge Events From a Channel
C++ Client: Create Queue Join
C++ Client: Delete Queue Join
Prerequisites
Prerequisites
Client SSL Configuration
Environment Setup : Windows
Environment Setup : Linux
Enterprise Developer's Guide for C#
General Features
Creating a Session for C#
Universal Messaging Events
Universal Messaging Event Dictionaries
Channel Joins
Publish / Subscribe using Channel Topics
Creating a Channel
Finding a Channel
Publishing Events to a Channel
Subscribe Asynchronously to a Channel
Synchronous Consumers
Batched Subscribe
Batched Find
Using Durable Objects
Durable Channel Consumers and Named Objects (Deprecated)
The Merge Engine and Event Deltas
Event Fragmentation
Consuming a JMS Map Message
Priority Messaging
Publish / Subscribe using Datastreams and Datagroups
Publish / Subscribe Using DataStreams and DataGroups
Enabling DataGroups and Receiving Event Callbacks
DataStreamListener
Managing Datagroups
Creating and Deleting DataGroups
Managing DataGroup Membership
DataGroup Conflation Attributes
Publishing to Datagroups
DataGroups Event Publishing
DataStream Event Publishing
Priority Messaging
Message Queues
Message Queues
Creating a Queue
Finding a Queue
Publishing events to a Queue
Asynchronously Consuming a Queue
Synchronously Consuming a Queue
Asynchronous Transactional Queue Consumption
Synchronous Transactional Queue Consumption
Browse (Peek) a Universal Messaging Queue
Request Response
Event Fragmentation
Basic Authentication
Overview
Prerequisites for Basic Authentication
Client-side Authentication
Server-side Authentication
Google Protocol Buffers
Examples
Publish / Subscribe using Channel Topics
Publish / Subscribe
Channel Publisher
Transactional Channel Publisher
Asynchronous Channel Consumer
Synchronous Channel Consumer
Asynchronous Named Channel Consumer
Synchronous Named Channel Consumer
Event Delta Delivery
Batching Server Calls
Batching Subscribe Calls
Publish / Subscribe using Datastreams and Datagroups
DataStream Listener
DataGroup Publishing with Conflation
DataGroup Manager
Delete DataGroup
DataGroup Delta Delivery
Message Queues
Queue Publisher
Transactional Queue Publisher
Asynchronous Queue Consumer
Synchronous Queue Consumer
Peek Events on a Queue
Requester - Request/Response
Responder - Request/Response
MyChannels.Nirvana API
MyChannels.Nirvana DataGroup Publisher
MyChannels.Nirvana Queue Publisher
MyChannels.Nirvana Topic Publisher
MyChannels.Nirvana DataGroup Listener
MyChannels.Nirvana Queue Consumer
MyChannels.Nirvana Topic Subscriber
RX Topic Subscriber
RX Queue Consumer
RX DataGroup Listener
Administration API
Add a Queue ACL Entry
Modify a Channel ACL Entry
Delete a Realm ACL Entry
Monitor realms for client connections coming and going
Export a realm to XML
Import a realm's configuration information
Console-based Realm Monitor
Simple authentication server
Set Container ACL
Difference between 2 realms
Channel / Queue / Realm Management
Creating a Channel
Deleting a Channel
Creating a Queue
Deleting a Queue
Create Channel Join
Delete a Channel Join
Multiplex a Session
Purge Events From a Channel
Create Queue Join
Delete Queue Join
Prerequisites
C# Prerequisites
C# Client SSL Configuration
Globally Accessible DLLs
Using UM API libraries for .NET in .NET Standard projects
Messaging API
MyChannels.Nirvana API: Creating and Disposing of a Session
MyChannels.Nirvana API: Producers
MyChannels.Nirvana API: Consumers
MyChannels.Nirvana API: Reactive Extensions
Enterprise Developer's Guide for VBA
Publish / Subscribe
Publish/Subscribe
Subscribing Tasks
Subscribing to a Channel
Publishing Tasks
Creating a Session
Finding a Channel
Universal Messaging Events
Publishing Events to a Channel
Learn More
Event Properties
How the RTD Server Works
Setting the RTD Throttle Interval
Internal Event Processing
Universal Messaging RTD Server Internal Queues
OnChange() Event Using RTD
Prerequisites
Enterprise Developer's Guide for Python
Enterprise Client Development
Environment Configuration
Creating a Session
Subscribing to a Channel/Topic or Queue
DataStream - Receiving DataGroup Events
Publishing Events to a Channel or Queue
Writing an Event to a DataGroup
Asynchronous Exception Listener
Synchronously Requesting Events
Sample Applications
Publish / Subscribe using Channel Topics
Channel Publisher
Asynchronous Channel Subscriber
Channel Iterator
Publish / Subscribe using Datastreams and Datagroups
DataGroup Publisher
DataStream Listener
Message Queues
Queue Publisher
Asynchronous Queue Consumer
Synchronous Queue Reader
Python Objects
Universal Messaging Events
Event Dictionaries
API Language Comparisons
Mobile Client APIs
Client API for iPhone
iPhone Developer's Guide
Client API for Android
Android Developer's Guide
Web Client APIs
Overview of Web Client APIs
Web Developer's Guide for Javascript
Overview
Server Configuration for JavaScript
Server Configuration for HTTP Delivery
Server Configuration for HTTPS Delivery
Serving From Another Webserver
Web Client Development in JavaScript
Creating a Session
Publish/Subscribe Tasks
Overview of using Publish/Subscribe
Using a Universal Messaging Channel
Subscribing to a Channel
Publishing Events to a Channel
Transactional Publish
DataStream - Receiving DataGroup Events
Message Queue Tasks
Overview of using Message Queues
Using a Queue
Subscribing to a Queue
Publishing Events to a Queue
Asynchronous Transactional Queue Consuming
JavaScript Objects
Universal Messaging Events
Universal Messaging Event Attributes
Event Dictionaries
Optimizing Throughput
The Merge Engine and Event Deltas
JavaScript Communication Drivers and Protocols
Communication Drivers
WebSocket Delivery Mode
WebSocket over a Forward Proxy
WebSocket over a Reverse Proxy
Comet Streaming Delivery Mode
Comet LongPolling Delivery Mode
Comet Forever IFrame Delivery Mode
Example: Implementing a Simple Pub/Sub Client
Web Developer's Guide for Silverlight
Developing and Deploying Silverlight Applications
Examples
Live Stock Chart
Live Stock Indices
Simple Chat Room
Web Developer's Guide for Java
Web Developer's Guide for Java
Deploying Java Applications using Java Web Start
Applet Javascript Bridge Example
Reference Guide
Overview
Glossary
API Documentation (Javadoc etc.) for Developers using the Client APIs
Copyright
Welcome to Universal Messaging 10.1
Copyright