Integrating Islands with Landmasses

EAI notes and thoughts

Sunday, March 26, 2006

Revisiting WMQ Basics - Client & Server Connection Channels

Client and Server Connection Channels work in pairs to facilitate communication between the clients and the server queue manager. The MQ client might exist on the same, or different, platform as the queue manager.

Server Connection Channel
The Server Connection Channel is defined on the server as follows:
DEFINE CHANNEL(CHAN1) CHLTYPE(SVRCONN) TRPTYPE(TCP) + DESCR('Server-connection to Client_1')

Client Connection Channel
The Client Connection Channel is defined on the client as follows:
SET MQSERVER=CHANNEL1/TCP/server-address(port)

Where:
* server-address is IP address/machine name of the server
* (port) is the port number the server is listening on

del.icio.us  digg  technorati 

Thursday, March 23, 2006

RosettaNet Overview

I have been wanting to read up on for a long time now and finally managed to do so. In my earlier visits to the the site, the site design had dissuaded me from exploring it further. But now, the site appears to have been revamped and navigation is simple and easy.

RosettaNet standards can be used in communication among trading partners similar to ANSI EDI X12. The standards are defined in terms of . Partner Interface Processes define the rules for communication (sequence of messages, timeframe etc) and the format of the message used in communication. The message format is enforced through an XML DTD. PIPs exist for 7 functional areas called clusters. Order Management, Product Information and Inventory Management are examples of some clusters.


Purchase Order DTD part of the Purchase Order PIP

del.icio.us  digg  technorati 

Sunday, March 19, 2006

Revisiting WMQ Basics - Queues & Channels

I was informed of an assignment related to troubleshooting and performance enhancement but had to turn it down as I have been off MQ for quite sometime. However, I've decided now that I will refresh my MQ skills and become hands-on. I am starting from the basics and will post interesting/important notes here as I go along. I may choose to skip topics that seem a bit too obvious to me.

Queues
WebSphere MQ has four types of : Local, Remote, Alias and Model queue. The first 3 function as their names' suggest, the last one - Model queue is a template that can be used to define new queues with the same properties.

Triggering
Triggering happens when a message appears on an Initiation queue. The process defined and associated with the trigger is started when a message with the matching trigger critieria occurs on the queue.

Message Channels
communicate between Queue Managers and can transmit messages in one direction only.

A transmission queue (XMITQ), which is a local queue is mentioned in the channel definition to associate it with the channel.

Types of Channels
  • Sender: Sends message and initiates connection to Receiver
  • Receiver: Waits for initiation from Sender
  • Cluster-Sender: Used in Cluster Queue Managers (need to find out more)
  • Cluster-Receiver: Used in Cluster Queue Managers (need to find out more)
  • Requester: Sends request and becomes receiver
  • Server: Accepts request to start from requester, then becomes sender
Two channel types that I need to look at are Client Connection and Server Connection.

Channels are initiated through programs called Message Channel Agents (MCA). Persistent messaging is handled by MCAs as they are the ones who deliver the messages. The message is not removed from the xmit queue (transmission queue) until the MCA confirms the placement on the target queue.

I will next take a look at the properties of MQ messages.

del.icio.us  digg  technorati 

Thursday, March 09, 2006

XML Design Patterns

I was reading a document on Service Payload design in and stumbled upon this page on design patterns in XML by Kyle Downey. It talks about four patterns -
  • Dynamic Document
  • Composition
  • Self-Documenting Files
  • Multipart Files
Use of relevant examples in the site makes it a good place to start with when designing XML messages/structures.

del.icio.us  digg  technorati