Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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• …
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
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
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
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
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)
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.
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