# Presentation: 717832

## “Partnering for Success”

- United States
- Department of
- Agriculture

- Office of the Chief Information Officer

**“****Partnering for Success”**

- www.ocio.usda.gov/nitc

## WebSphere MQSeries

**National Information**
**Technology Center**

- United States Department
- Of Agriculture

- Office of the Chief
- Information Officer

## Messaging Fundamentals

*Messaging Fundamentals*

***WebSphere*** ***MQSeries*** ***enables*** ***application*** ***programs*** ***to***
***communicate*** with each other using ***messages*** and ***queues***.
- This form of communication is referred to as ***commercial***
***messaging***.
- There are two methods for applications to communicate:
- 	***Fire and Forget***
- 	***Request/Response***

## Application Communications

*Application Communications*

**Program**
**A**

**Program**
**B**

- Put Record

- Get Record

**Record Queue**

**Fire and Forget**

**Reply to**
**Queue**

**Program**
**A**

**Program**
**B**

**Request/Response**

- Put Record

- Get Record

**Record Queue**

- Put Record Processed Message

- Get Record Processed Message

## What is a message?

- ...

- Message = Header(s) + Application Data

## What is a Queue?

**A queue is simply a place to put data.**

- 	This figure shows how messaging works in the simple case where the program putting the message and program getting the message are both on the same computer and connected to the  same ***queue manager***.

## What is Queue Manager?

- A ***queue*** ***manager*** is the ***subsystem*** software which controls access to the individual queues assigned to it. The queue manager ***logs*** all activity with each individual queue thus creating an ***audit*** ***trail***. Multiple queue managers can coexist with each other. The limiting factor is the availability of system resources.

**LOG/AUDIT TRAIL**

**PUT**
**DATA**

**GET**
**DATA**

**QUEUE**
** ****MANAGER**

**COMMUNICATIONS**

**APPLICATIONS ANYWHERE**

**ACF2/SECURITY**

**QUEUES**

**TCP/IP**

## Supported Platforms

**OS/390 MVS**
**OS/390 Linux**
**AIX**
**HP-UX**
**Solaris:Intel & SPARC**
**OS/400**
**Windows NT, 2000**

- WebSphere MQSeries supports the following platforms:

** ****Windows: 3.1, 95, 98**
** ****OS/2**
** ****Open VMS**
** ****Tandem NSK**
** ****VSE**
** ****Digital UNIX**
** ****Compaq Tru64 UNIX**

## Security

**Version 5 Release 3 offers added security using Secure Sockets Layer (SSL), the Internet standard for secure communication. **

## Application Programming Interfaces (API)

## WebSphere MQSeries Programming APIs

**Message Queue Interface (MQI)**
**	****Native calls to provided functions are available in the following languages: 390 Assembler, C, C++, COBOL, COM, LotusScript, Java, PL/1, VisualBasic**

- MQI

## WebSphere MQSeries Programming APIs

- Applications

- AMI

- JMS

- Message Queues

- MQI

**MQI, AMI, JMS all interoperate**** **

## Bridges/Adapters/Connectors

## MQSeries Adapters

- From IBM
- CICS Bridges, IMS Bridge, SAP Bridge, Notes Bridge, ...
- From 75 other vendors
- More than 150 adapters
- databases, ERP, CRM, MOM, message brokers, packaged
- applications, transaction managers

## MQSeries Adapters

**MVS, VSE**

**SAP R3**
**Bridge**

**Internet  **
**Gateway**

**AD tools access**

- Desktop Clients

- Java
- Applets

**MQSeries**

- OLE-enabled
- Environment
- (Powerbuilder,
- VB, Delphi,....)

- Workgroup
- Eg. Lotus Notes

**Cool: Gen**,Netsoft, **Progress**, Seer, Tangent, VisualAge,..

-     **Unix**

-  Mobile Clients

- CICS

** ****IMS**

** ****DB2**

**BaaN**
**ERP**

- Web Client

- AS/400, AIX, OS2
- Backend Systems

## Electronic Data Interchange Processing

- This is an example of a possible EDI processing methodology using WebSphere MQ components.

**The components used are:**
- WebSphere MQSeries
- WebSphere – Web transaction monitor
- WebSphere MQ Integrator
- EDI Adapter – Builds EDI transformations and load into   WMQI
- OCR application to handle Fax and move content to WebSphere MQSeries

## Electronic Data Interchange Processing

## Message Brokers

## The Message Flow

**A Message Flow is:**
- A sequence of operations *on a message*
- Dependant upon message content

## Message Brokering Example

**Account Id, Trader Id, Price, Quantity,  Date, Customer Id**

**Customer Id, Account Id, Trader Id, Price, Quantity, Date **

**Application A outputs:**

**Application 1 inputs:**

**Application B outputs:**

**Application 3 inputs:**

**Parse**
**Rules**
**Transform**

**Application 2 inputs:**

**Date, Customer Id, Account Id, Price, Quantity, Trader Id**

**Date, Price, Quantity, Trader Id **

**Date, Customer Id,  Price, Quantity**

## Publish/Subscribe

**Pub/Sub**
**Broker**

**Publisher**

**Publisher**

**Subscriber**

**Subscriber**

**WebSphere MQSeries**
**Message/Queuing**

**Publish Data**

**Pub/Sub**
**Broker**
**(List Server)**

**Publisher**

**Publisher**

**Subscriber**

**Subscriber**

**Publish Data**

**Subscribe to**
** ****Published Data**

## Customer Benefits of MQSeries

- Wide selection of available platforms
- Network is transparent to the application programmer
- Applications can be changed quickly and easily in response to changing business needs
- Applications run in an asynchronous manner - parallelism
- Assured delivery of information - anywhere in the network
- Transactional messaging support for coordinated updating of multiple data sources
- Trusted, dependable for mission critical applications

## NITC Contact

**“****Partnering for Success”**
**  ****is **
**Our Business**

**   ****Business Contact:****	****	****1-888-USE-NITC**

- _[www.](http://www.ocio.usda.gov/nitc/index.html)__[ocio](http://www.ocio.usda.gov/nitc/index.html)__[.](http://www.ocio.usda.gov/nitc/index.html)__[usda](http://www.ocio.usda.gov/nitc/index.html)__[.](http://www.ocio.usda.gov/nitc/index.html)__[gov](http://www.ocio.usda.gov/nitc/index.html)__[/](http://www.ocio.usda.gov/nitc/index.html)__[nitc](http://www.ocio.usda.gov/nitc/index.html)_

- _[NITCMQSeries](mailto:NITCMQSeries@nitckc.usda.gov)__[@](mailto:NITCMQSeries@nitckc.usda.gov)__[nitckc](mailto:NITCMQSeries@nitckc.usda.gov)__[.](mailto:NITCMQSeries@nitckc.usda.gov)__[usda](mailto:NITCMQSeries@nitckc.usda.gov)__[.](mailto:NITCMQSeries@nitckc.usda.gov)__[gov](mailto:NITCMQSeries@nitckc.usda.gov)_

*NITC Contact*