MQSeries Architecture - Generali
MQSeries Architecture - Generali
Page 1
1.1
Requirements
There are two components that are communicating via MQSeries with each other:
MINSC Controller The MINSC Controller are IIS ASP applications running in the environment of an IBM
WebSphere Application Server.
LIFEASIA The LIFEASIA system are Smart 400 objects/SQL procedures running in an DB2 DBMS. The
MQSeries connection will be done through the IIS ASP of the DB2 DBMS.
MQSeries
MINSC
Controller
Send
- Datagrams
- Replies
- Requests
Receive
- Datagrams
- Replies
- Requests
LIFEASIA
Put
Put
Get
Get
Send
- Datagrams
- Replies
- Requests
Receive
- Replies
- Requests
- Datagrams
Page 2
MQSeries
1
MINSC
VOI
OPUSLA
Controller
2
It is possible that the MINSC Controller and LIFEASIA will be placed in different locations around the
country.
MQSeriesSeries
MQ
MINSC
VOI Control
ler
Reply Queue queue
Reply
Msg. FormatterMsg
Formatter
Input Queue
Reply queue
MQ
MQSeries
Series
LifeAsia
LifeAsia
InputOPUSqueue
Input Queue
Input
queue
Message
Formatter
Get
Request
Message
LifeAsia
OPUS
Format
Message
3
4
Put
Request
Message
Get
Request
Message
Do
Processing
6
Get
Reply
Message
Format
Message
9
11
Get
Reply
Message
10
Page 3
Generate
Reply Message
(1) The MINSC Controller puts a message of the message type REQUEST on the Input Queue of the
MQSeries Integrator. The MINSC Controller adds the name of the queue that should contain the reply
to the header of the request message. The MQSeries Queue Manager is generating a unique message
identifier for this message. This message identifier is saved by the MINSC Controller to identify the
specific reply.
The sending queue can be a local or remote queue for the Queue Manager of the MINSC Controller.
(2) The Message Formatter is listening on its Input Queue and waiting for messages. If a message arrives
on the queue, the Message Formatter gets the message and takes it from the queue.
This Input Queue must be a local queue for the Queue Manager of the Message Formatter.
(3) The Message Formatter determines what type of message was received (e.g. Obtain a quote, Accept a
Quote) and is doing the necessary processing:
Transform the message format for the target system in this case the LIFEASIA system.
(4) The Message Formatter puts the adjusted message on the LIFEASIA Input Queue.
The sending queue can be a local or remote queue for the Queue Manager of the Message Formatter.
(5) The LIFEASIA system is listening on the LIFEASIA Input Queue and waiting for messages. If a
message is on the queue, LIFEASIA gets the message and takes it from the queue.
The LIFEASIA Input Queue must be a local queue for the Queue Manager of the LIFEASIA system.
(6) After processing the message, the LIFEASIA system generates a reply message. Therefore the unique
message identifier of the request message is reused for the reply message.
(7) The LIFEASIA system puts the generated reply message on the Message Formatter Input Queue.
The sending queue can be a local or remote queue for the Queue Manager of the LIFEASIA system.
(8) The Message Formatter is listening on its Input Queue and waiting for messages. If a message arrives
on the queue, the Message Formatter gets the message and takes it from the queue.
(9) The Message Formatter determines what type of message was received (e.g. Answer to Obtain a quote)
and is doing the necessary processing:
Transform the message format for the target system in this case for the MINSC Controller.
(10) The Message Formatter puts the adjusted reply message on the Reply Queue of the MINSC Controller.
The MINSC Controller Reply Queue can be a local or remote queue for the Queue Manager of the
Message Formatter.
(11) The MINSC Controller is listening on its Reply Queue and waiting for the specific reply message. The
message identifier of that reply message must match the message identifier of the request message.
The MINSC Controller Reply Queue must be a local queue for the Queue Manager of the MINSC
Controller.
Page 4
MQSeriesSeries
MQ
MINSC
Reply queue
MQ
MQSeries
Series
Msg. FormatterMsg
Formatter
Input Queue
Reply queue
LifeAsia
OPUS
Input
Input Queue
queue
Message
Formatter
Get
Datagram
Message
LifeAsia
OPUS
Format
Message
3
4
Put
Datagram
Message
Get
Datagram
Message
Do
Processing
6
Page 5
1.2
Architecture Overview
The architecture is based on the scenarios described before. Each component (MINSC Controller and
LIFEASIA) needs receiving queues, which must be a local queue for the Queue Manager of the component and
sending queues, which may be local or remote queues.
LIFEASIA
MINSC Controller
Send to LIFEASIA
-- Requests
-- Datagrams
Receive
-- Replies
Put
Get
Receive
- Requests
- Datagrams
Put
Send to
MINSC Controller
-- Replies
Message
Formatter
Get
MQSeries
Page 6
MINSC
Controller
MINSC.CONTROLLER.SEND.A01
MINSC.CONTROLLER.REPLY.A01
MINSC.MSGFORMAT.CONTROLLER.REQUEST.
Q01
MINSC.MSGFORMAT.CONTROLLER.REQUEST.
A01
MINSC.CONTROLLER.REPLY.Q01
MINSC.MSGFORMAT.CONTROLLER.SEND.A01
Message Formatter
MINSC.MSGFORMAT.LIFEASIA.SEND.A01
MINSC.MSGFORMAT.LIFEASIA.REPLY.A01
MINSC.LIFEASIA.REQUEST.Q01
MINSC.MSGFORMAT.LIFEASIA.REPLY.Q01
MINSC.LIFEASIA.REQUEST.A01
MINSC.LIFEASIA.SEND.A01
LIFEASIA
Local Queue
Alias Queue
Local Queues
Local Queues (Queue Type = LOCAL) for Queue Manager QVAU:
Queue Name
Queue
Description
Type
SYSTEM.DEAD.LETTER.QUEUE
LOCAL
Dead Letter Queue
MINSC.CONTROLLER.REPLY.Q01
LOCAL
MINSC Controller Queue for receiving reply messages
MINSC.LIFEASIA.REQUEST.Q01
LOCAL
LIFEASIA Queue for receiving datagram and request
messages
MINSC.MSGFORMAT.CONTROLLER.REQUEST.Q01
LOCAL
Message Formatter Input Queue for receiving request
and datagram messages from the MINSC Controller
MINSC.MSGFORMAT.LIFEASIA.REPLY.Q01
LOCAL
Message Formatter Input Queue for receiving reply
messages from LIFEASIA
Inh. Get Inhibit Get Operations (Y=Yes; N=No)
Inh. Put Inhibit Put Operations (Y=Yes; N=No)
Def. Prio. Default Priority (0 to 9 max. priority)
Def. Pers. Default Persistence (P=Persistent; NP=Non Persistent)
Page 7
Inh.
Get
Inh.
Put
Def.
Prio
Def.
Pers
NP
NP
NP
NP
Alias Queues
Alias Queues (Queue Type = ALIAS) for Queue Manager QVAU:
Alias Queue Name
Base Queue Name
Description
MINSC.CONTROLLER.REPLY.A01
MINSC.CONTROLLER.REPLY.Q01
MINSC.CONTROLLER.SEND.A01
MINSC.MSGFORMAT.CONTROLL
ER.REQUEST.Q01
MINSC.LIFEASIA.REQUEST.A01
MINSC.LIFEASIA.REQUEST.Q01
Inh.
Get
Inh.
Put
Def.
Prio
Def.
Pers
NP
NP
NP
NP
NP
NP
NP
NP
MINSC.LIFEASIA.SEND.A01
MINSC.MSGFORMAT.LIFEASIA.R
LIFEASIA Queue for
EPLY.Q01
sending reply messages
MINSC.MSGFORMAT.CONTROLLER.REQUEST.A01
MINSC.MSGFORMAT.CONTROLL
Message Formatter Queue
ER.REQUEST.Q01
for receiving messages
from the MINSC
Controller
MINSC.MSGFORMAT.CONTROLLER.SEND.A01
MINSC.CONTROLLER.REPLY.Q01 Message Formatter Queue
for sending messages to the
MINSC Controller
MINSC.MSGFORMAT.LIFEASIA.REPLY.A01
MINSC.MSGFORMAT.LIFEASIA.R
Message Formatter Queue
EPLY.Q01
for receiving messages
from LIFEASIA
MINSC.MSGFORMAT.LIFEASIA.SEND.A01
MINSC.LIFEASIA.REQUEST.Q01
Message Formatter Queue
for sending messages to
LIFEASIA
Inh. Get Inhibit Get Operations (Y=Yes; N=No)
Inh. Put Inhibit Put Operations (Y=Yes; N=No)
Def. Prio. Default Priority (0 to 9 max. priority)
Def. Pers. Default Persistence (P=Persistent; NP=Non Persistent)
Page 8
Sending messages
Queue Name
MINSC.CONTROLLER.SEND.A01
Receiving messages
MINSC.CONTROLLER.REPLY.A01
Description
Sending datagram and request
messages to LIFEASIA via the
Message Formatter
Receiving reply messages from
Page 9
Message Design
2.1
2.2
MINSC
Life Asia
VOI Controll
er
Controller
Obtain a Quote
OPUS
MSG1
yyy
Accept a Quote
yyy
to
LogLogon
on to My
Allianz
system
yyy
Payment Change
yyy
yyy
Change Policy
Profile and Policy
Information
yyy
Renewal
Customer
yyy
Downstream process
xxx
Message name
MSG1
Page 10
The natural inference from this is that update processes are not repeatable. However, in many common
business processes, they can be (what damage does it do to the data base if the customer's change of
address is processed twice, because it was not clear whether the first one arrived?) By contrast, a
deduct 100:00 from customer balance message will do damage if it is presented twice (an add
100:00 message done twice might please the customer, but clearly won't please your share-holders).
Page 11
Process name
Obtain a Quote
xxx
Rpt
Y
Updt
N
Vis
Rvc
Page 12
Compl
Process notes
Obtain a Quote
Date last updated
Biz User 1
IT User 1
NONE
Xxx
This process takes the data provided by the user / customer and requests a quote
for the unit link.
Queue Manager
QVAU
Client Subsystem
IIS ASP client
Attributes (Y=YES, N=NO, I=Inherited, N/A=Not applicable)
Attribute
Status
Notes
Repeatable
Y
Updating
N
Visible
N
Revocable
Y
Compliant
N/A
Split
N
Join
N
Message name
MSG1
Page 13
Reply
wanted
Y
Pers
Synch
Remote
Comments