Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

12
EGEE is a project funded by the European Union under contract IST-2003-508833 Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster JRA1 Meeting, Oxford, 30 June 2004 www.eu-egee.org

description

Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster. JRA1 Meeting, Oxford, 30 June 2004. www.eu-egee.org. EGEE is a project funded by the European Union under contract IST-2003-508833. Definition of messaging and queuing. - PowerPoint PPT Presentation

Transcript of Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

Page 1: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

EGEE is a project funded by the European Union under contract IST-2003-508833

Messaging and queuingCommon components

Krzysztof Nienartowicz

EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30 June 2004

www.eu-egee.org

Page 2: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 2

Definition of messaging and queuing

• JMS functionality is based on IBM MQSeries (now WebSpohereMQ) which has existed for many years (’70) and used by Banks, FI, Military

• JMS compliant products enable programs to talk to each other across a network of unlike components - processors, operating systems, subsystems, and communication protocols - using a simple and consistent application programming interface. The only open standard for MOM

Page 3: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 3

Standard features, concepts

Asynchronous message-driven processing

Built around queue managers, queues and messages

Application communication never requires name of a target program

Destinations can be local or remote Can be redefined and relocated Can be part of (JTS/OTS) transactions with XA

compliant databases or other resources

Page 4: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 4

Standard and special features

Assured delivery with persistent messages Ordered delivery Grouping of messages Messages’ metadata for special treatment Messages expiry Extras:

Transparent distribution – remote queues Queue manager channels

QMgr Clusters Special queues Event messages

Page 5: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 5

Distributed communication

get messagefrom thequeue2

get messagefrom thequeue1

queuemanager

queuemanager

put messageon the

queue2

put messageon the

queue1

Pic of IBM Corp.

Page 6: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 6

Publish-Subscribe paradigm

Topics hierarchies

Publish/Subscribe Publishers Subscribers Brokers

Message transformation

Page 7: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 7

Topics example Subscriptions: Science/*

Science/Physics/HEP/*/*/Results Science/Physics/HEP/

Cern*/CMS/Analysis/XGroupJobs

Science

Physics Genetics Astronomy

Newtonian HEP

CMS Alice LHCb ATLAS

Produciton Analysis

...

Results

...

... ... ...Results

CernExperiments

Slacexperiments

Runs2008XGroupJobsYUser

JobsResults

ESD TagsAODavailability

Page 8: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 8

Publish Subscribe examples

Users could make contents specific subscriptions, like• +/Alice/+/ESD_TAGS/filter:E<90 AND runNumber> 1000 AND runNumber<5000 -get all Alice ESDs events (files) with Energy < 90 of runs(1000,5000)

Data Management module could be interested in fetching all the newly created files or tags for a given period for replication of a subset of files created in any of the sites.

• +/CMS/+/Files/+/filter:CreationDate in (2003,2009)

Page 9: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 9

JMS Application flow example

• Typical flow: Getting connection factory,

usually using JNDI Getting a destination Creating a connection Creating a session Creating a MessageProducer and/or

MessageConsumer Starting message delivery Sending and/or receiving messages

• async vs. sync receiving (MessageListener onMessage vs receive()

Page 10: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 10

What JMS lacks

• Standard way of dealing with: Administration Load balancing Fault Tolerance Standardised system errors/hints/warning notifications Security Wire protocol Storage

Page 11: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 11

Implementations

• Free: NaradaBrokering OpenJMS Joram

• Commercial WebSphereMQ SonicMQ MSMQ OracleAQ …

Page 12: Messaging and queuing Common components Krzysztof Nienartowicz EGEE JRA1 Data Management Cluster

JRA1 Meeting, Oxford, 30-June-2004 - 12

MOM in EGEE?

• Deployment issues

• Language issues

• Integration with WS issues SOAP-over-mq WS-ReliableMessaging