16
An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 1 © 2008 IBM Corporation IBM Software Group An IBM Proof of Technology IBM WebSphere MQ V7.0 Introduction and Technical Overview Introduction and Technical Overview © 2008 IBM Corporation 2 TechWorks Unit Agenda Why is Messaging Important to the Enterprise? What is WebSphere ® MQ? Why use it? What are: Messages Queues Queue Managers Channels Lab 1 – Exploring WebSphere MQ

An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 1

© 2008 IBM Corporation

IBM Software Group

An IBM Proof of Technology

IBM WebSphere MQ V7.0

Introduction and Technical Overview

Introduction and Technical Overview© 2008 IBM Corporation 2

TechWorks

Unit Agenda

●Why is Messaging Important to the Enterprise?

●What is WebSphere® MQ? Why use it?

●What are:MessagesQueuesQueue ManagersChannels

●Lab 1 – Exploring WebSphere MQ

Page 2: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 2

Introduction and Technical Overview© 2008 IBM Corporation 3

TechWorks

What is WebSphere MQ - IBM● A proven way of bridging between

the components of your Service Oriented Architecture (SOA)

● Like a strong, broad bridge it robustly links your applications and your Web services

● It connects virtually any commercial IT system

● Helping you to share and exchange critical business information with ease, confidence and security

Introduction and Technical Overview© 2008 IBM Corporation 4

TechWorks

Why is this a Challenge?“Computers are really dumb. You have to tell them everything.”

● How do you…?Move data across different systems, platforms, and devices when the HW, SW configurations and programming models are different?Overcome network failures?Deliver information when the target application is not online or is busy?Ensure transmission integrity and recovery?Handle lost or/duplicate data?Ensure a secure connection?Ensure multi-step transactions either happen completely or not at all?Apply qualities of service based on different requirements? e.g., assured delivery, fast delivery?Manage a session (request/response)?Efficiently distribute events? Scale to handle volumes?Deal with data in unlike formats?Determine which data to send where?Audit who sent what, where and when?

2. Build your own middleware

You either:

1. Program it all into your applications

3. Buy middleware to do it for you

Page 3: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3

Introduction and Technical Overview© 2008 IBM Corporation 5

TechWorks

History● IBM MQSeries® Introduced in 1992, initial release in 1994

C, COBOL, PL/I language initially supported by MQILimited initial set of API verbs (MQCONN, MQOPEN, MQPUT, MQGET, etc)

● MQ Publish/Subscribe support introduced in 1998● JMS Specification published around the same time

Java™ Message Service (JMS) provided a higher level OO abstraction for messaging and simplified Pub/SubMQSeries implementation of JMS introduced shortly after specification published (1999)

● Additional languages, platforms and protocols supported over timeVB, .NET, C++, C#Tandem (now HP NonStop Server), DEC (now HP OpenVMS), etcMessage Service API (XMS) introduced to provide non-Java developers the benefits of JMSJava Connector Architecture (JCA) and HTTP support extends reach

● Product renamed WebSphere MQ in 2002● Latest release introduces new MQ API (MQI) functions closely mapped to JMS specification.

MQI C, COBOL, PL/I

MQ Publish / Subscribe

MQSeries

JMS XMS MQI classesC++, Java

2008

MQI classes.NET

Extended MQI

Enhanced MQ JMS

19991994

HTTP

MQ JMS

JCA

Introduction and Technical Overview© 2008 IBM Corporation 6

TechWorks

What does WebSphere MQ do?

●Provides messaging services to applications and Web services that need to exchange data and events with:

Proven reliabilityTransactional integrityConsistencyTime independenceEase and SpeedFlexibilityHigh-performanceSecurityScalabilityAuditability

Application ZApplication A

WebSphere MQ is like email for SOA applications…but email you can bet your business on

WebSphere MQ

Page 4: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 4

Introduction and Technical Overview© 2008 IBM Corporation 7

TechWorks

How do you use WebSphere MQ?

WebSphere MQJMS Interface MQ Interface XMS Interface

Developers attach applications and Web services to WebSphere MQ using a choice of cross-platform languages and interfaces – such as JMS

Integration specialists use cross-platform graphical tooling to configure their messaging networks – these tools are based on open source Eclipse

Application and technology adapters accelerate this activity…

Introduction and Technical Overview© 2008 IBM Corporation 8

TechWorks

MQ Client MQ Server

How does WebSphere MQ work?

● Messaging services are based on Queues that store and forward data based on simple programming commands

● Uses the proven database technique of two-phase commit transactionsto ensure messages are not lost or duplicated

● Uses publish/subscribe to route messages dynamically based on keywords or “topics”

● Uses multi-processor threading and clustering to accelerate throughputof messages

Message

Queue

Application ZApplication A

Page 5: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 5

Introduction and Technical Overview© 2008 IBM Corporation 9

TechWorks

The Value of Loose Coupling

EverythingConstantlyAvailable

EverythingConditionally

Available

NotAvailable

NotAvailable

NotAvailable

LogicalConnection

A

A

BusyB

B

B

B NotAvailable

AA

Message/QueuingEnvironment

B

A

Introduction and Technical Overview© 2008 IBM Corporation 10

TechWorks

Synchronous vs. Asynchronous Communications

YOU can’t simultaneously have separate conversations without:

Experiencing overlapping conversations and losing track of what is going on

or

Waiting for the other person to finish before responding.

NEITHER CAN YOUR APPLICATIONS!

Asynchronous communicationsenable better resource utilization thus improving performance; carry on processing until system is available.

Busy!

Busy!

Busy!

Busy! Busy!

Connected!

Please leave a message and I will listen to it when I am available.

Synchronous communications = Telephone conversation

Asynchronous communications = Voicemail / Email

Page 6: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 6

Introduction and Technical Overview© 2008 IBM Corporation 11

TechWorks

Elements of Messaging and Queuing

Programs communicate by Programs communicate by putting messages in message putting messages in message queuesqueues

““A building block for A building block for distributed processingdistributed processing””

Introduction and Technical Overview© 2008 IBM Corporation 12

TechWorks

Elements of Messaging and Queuing

Communication can Communication can be one way or two be one way or two wayway

Page 7: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 7

Introduction and Technical Overview© 2008 IBM Corporation 13

TechWorks

Elements of Messaging and Queuing

Either program can Either program can be busy or be busy or unavailableunavailable

Introduction and Technical Overview© 2008 IBM Corporation 14

TechWorks

There can be a one to many relationship between applications

Or a many to one relationship between applications

Elements of Messaging and Queuing

Page 8: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 8

Introduction and Technical Overview© 2008 IBM Corporation 15

TechWorks

What is a Message?

●A message is considered to be the unit of data to be moved from one application to another

●A message is built by an application

●A message is consumed by a different application

●Message can contain any kind of data:Binary data

A video clip, a song, a photograph, a sensor reading, etc…Text data

– Raw text– XML

Structured data (C Structures, COBOL Copybook, Serialized Java objects)The source data is the choice of the application

Introduction and Technical Overview© 2008 IBM Corporation 16

TechWorks

The structure of an MQ Message

Message Headers●A Set of Message Attributes understood and augmented by the Queue Manager

Unique Message IdCorrelation IdRouting InformationReply Routing

InformationMessage PriorityMessage Persistence

PersistentNon-persistent

Message CodepageMessage FormatEtc…

Message Data●Any sequence of bytes

Defined by the sending programUnderstood by the receiving programNOT meaningful to the Queue

Manager

●Can contain any dataStructured

XML, Tagged, Tagged Delimited, C or Cobol defined, etc.

UnstructuredBinary

– A video, a picture, etc.Any content

Message Headers Message DataMessage Properties

Message Properties●Arbitrary values associated with the message but not part of the body

●Properties can be integers, strings, boolean, etc.

●Receiving apps do not see them unless they want

●Permits explicit statement of relationships between messages

e.g. Message X is a REPLY to Message Y

Page 9: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 9

Introduction and Technical Overview© 2008 IBM Corporation 17

TechWorks

What is a Queue?● Messages are delivered asynchronously to a Queue● A Place to hold messages● Queue creation

Pre-definedDynamic definition

● Message AccessFIFO (first in first out)Priority (FIFO within Priority)DirectDestructive & non-destructive access

● Parallel access by applicationsManaged by the queue manager

Introduction and Technical Overview© 2008 IBM Corporation 18

TechWorks

What is a Queue Manager?

LOGPUT GET

Messaging& Queuing

Operating System & Storage

Communications

Utilities

ListenerCommand Server

Trigger monitorChannel Initiator

Windows Explorer

Applications

Operating System• Timers• Semaphores• ECBs• Memory• …

Page 10: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 10

Introduction and Technical Overview© 2008 IBM Corporation 19

TechWorks

How are Messages Persisted?

QueueManager

Queue

CC/RC

Queue

CC/RC

ApplicationProgram

MQPUT

MQPUT

Queue Files

Persistent message

Non-Persistent message

● Messages may be written to queue files

● Persistent messages are logged

● Persistent Messages are alwaysrecoverable

● Logging has implication on performance

● Non-persistent Messages have 2 classes of service:

Messages are retained for the life of the QmgrMessages can survive a normal shutdown and restart of the Queue Manager

Logs

Introduction and Technical Overview© 2008 IBM Corporation 20

TechWorks

What are Channels?● Queue Manager to Queue Manager

Uni-directionalUsually defined in pairs for example:

One SenderOne Receiver

Asynchronous

● Client to Queue ManagerBi-directionalDefined as a single channelSynchronous

● A building block for a reliable Enterprise Service Bus (ESB)

** Note: Client to Client communication must go via a Queue Manager

Page 11: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 11

Introduction and Technical Overview© 2008 IBM Corporation 21

TechWorks

Reliable, asynchronous communication with WebSphere MQ

Messaging and Queuing

Q1

Put Q1 Get Q1

Program A Program B

Q12 Q5

Accept Message• Receive message from application• Manage “unit of work”

Apply Security (optional)• Access Control

(permission to get/put by queue or topic)

Deliver Message(s)• Deliver message to application• Ensure Exactly Once Delivery

(even after a failure)• Manage “unit of work”

Introduction and Technical Overview© 2008 IBM Corporation 22

TechWorks

Queues can be Local or Remote

MQI

System 1 System 2

MessagingandQueuing

MessagingandQueuing

TCP/IP is primary protocol

Q1 Q2

Put Q2Put Q1 Get Q1 Get Q2

XmitQ

MQIGet Q2

Program A Program B Program C

Sender Channel

Receiver Channel

Page 12: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 12

© 2008 IBM Corporation

TechWorks

MQPUT HotelQMQPUT Car_hireQ

MQPUT AirlineQ

MQGET Reply to Q

Hotel

Car_hire

Airline

MQPUT

HotelQ

Car_hireQ

AirlineQ

MQPUT

Reply to Q

MQPUT

Parallel Processes

© 2008 IBM Corporation

TechWorks

WriteSend

Syncpoint

ReceiveWrite

Syncpoint

DBDB2 phase

commit

Unit of Work

WritePutSyncpoint Get

WriteSyncpoint

DB

DBUnit of Work 2

q QUnit of Work 1

Unit of Work 3

Synchronous Model

Asynchronous Model

Asynchronous Syncpoint

Page 13: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 13

© 2008 IBM Corporation

TechWorks

A

B

Appl.Q

Queue Manager

TriggerMechanism

External Facility

START

Triggering (Overview)

© 2008 IBM Corporation

IBM Software Group

An IBM Proof of Technology

MQPUT HotelQMQPUT Car_hireQ

MQPUT AirlineQ

MQGET Reply to Q

Hotel

Car_hire

Airline

MQPUT

HotelQ

Car_hireQ

AirlineQ

MQPUT

Reto

MQPUT

Parallel Processes

Page 14: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 14

© 2008 IBM Corporation

IBM Software Group

An IBM Proof of Technology

WriteSend

Syncpoint

ReceiveWrite

Syncpoint

DB

DB2 phase commit

Unit of Work

WritePutSyncpoint

GetWriteSyncpoint

DB

DBUnit of Work 2

q QUnit of Work 1

Unit of Work 3

Synchronous Model

Asynchronous Model

Asynchronous Syncpoint

© 2008 IBM Corporation

IBM Software Group

An IBM Proof of Technology

A

B

Appl.Q

Queue Manager

External Facility

START

Triggering (Overview)

Page 15: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 15

Introduction and Technical Overview© 2008 IBM Corporation 29

TechWorks

Developing WebSphere MQ Applications● WebSphere MQ supports a wide range of platforms

Windows®, UNIX® , Linux ®, z/OS®, i5OS®, HP NonStop, etc…

● With a whole range of programming languages Java, C/C++, C#, .NET, COBOL, RPG, TAL, etc…

● And a wide range of Interfaces MQI, JMS, .NET, etc…

● A large number of sample programs are provided to show how to develop MQ applications for various languages and environments, for example:

Put sample amqsputGet sample amqsgetBrowse sample amqsgbrPublish sample amqspubSubscriber sample amqssuba…and many others

Introduction and Technical Overview© 2008 IBM Corporation 30

TechWorks

The solution to Universal Connectivity IBM WebSphere MQ

HP-UX Windows zLinux Solaris AIX i5OS NSS OVMS

WebSphere MQ can dramatically reduce application infrastructure costs by providing a single manageable distributed infrastructure for all application messaging traffic.

zOS Linux

80+ platform configurations

WebSphere MQ

MQ Interface

COBOL, C, C++, RPG,…others.

JMSJava / JEE

XMSC, C++, .NET C#

.NET (C#)Microsoft®

SOAPWeb Services

Other InterfacesHTTP, FTP, …

Multiple APIs

Features:WebSphere MQ supports the broadest range of APIs, programming languages and OS platformsProvides the only JMS engine that can be implemented on “any” standards-compliant JEE server Provides rich web services interfaces for customers needing reliable SOAP message delivery Offers a broad range of qualities of service and messaging methods including publish/subscribeSupports major transaction monitors and database managersOffers the most scalable, most manageable messaging system availableAssures transactional message delivery end-to-end.

Page 16: An IBM Proof of Technology - uni-hamburg.de... · An IBM Proof of Technology Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 3 © 2008 IBM Corporation

An IBM Proof of Technology

Discovering the value of WebSphere MQ V7 for Your Enterprise Messaging Needs 16

Introduction and Technical Overview© 2008 IBM Corporation 31

TechWorks

WebSphere MQ Enterprise Class Messaging● Proven Scalability

Grow your network incrementally one server at a time

● PerformanceMany clients are moving millions of messages per day

● Administer massive networksCross-platform, remote configuration tooling Tivoli® CAM for enterprise-wide systems administration

● Support for virtually any commercial IT platform

● MQ for z/OS Built from the ground up to exploit zSeries platformConsistent with MQ on distributed platforms

● Clustering on distributed, shared queues on z/OSFor High-Availability and workload balancing Easier to set up than you may think!

● Multi-threading Exploits multi-processors for high-speed throughput

● SecurityIndustry-standard SSL supportCertified for Common CriteriaPolicy-based security with MQ Extended Security Edition

● IBM’s worldwide 24x7 support

90% of the Fortune 100300 of the Fortune 50066% of NA and European banksBanking clients move transactions worth $35 Trillion over MQGovernment clients move 675+ million messages per day over MQ