Busy Architects's Guide to Pragmatic Messaging

ted@tedneward.com | Blog: http://blogs.tedneward.com | Twitter: tedneward | Github: tedneward | LinkedIn: tedneward

Objectives

Our goals here today:

Messaging

What is it?

The Goal

Applications need to talk to one another

The Problem

The traditional answer has been RPC

The Problem

RPC can't solve all communication issues

The Issues

RPC enables easy communication, at a cost:

RPC exposes behavior

A Solution: Messaging

Strip the veneer off RPC

A Solution: Messaging

Messaging exposes data

What is messaging?

Anatomy of a MOM system

Messaging System Examples

File transfer

A Solution: Messaging

Shared database

Messaging System Examples

JMS/MSMQ

A Solution: Messaging

SOAP

Why use messaging?

Benefits of a MOM system

Why use messaging?

Use messaging for flexibility

Why use messaging?

Use messaging for flexibility

Why use messaging?

Use messaging to smooth out burst loads

Why use messaging?

Use messaging for system integration

Why use messaging?

Complications of a message-based system

Why use messaging?

For strongly-typed, language-coupled, blocking request/response communication, stick with RPC!

Simple Messaging

Sometimes you've just gotta get back|to the basics

Simple Messaging

Messaging systems have long been a part of enterprise systems

Plus a few new ones have cropped up in recent years

Simple Messaging

Simple Mail Transfer Protocol (SMTP)

Post Office Protocol (v3) (POP3)

Internet Mail Access Protocol (v4) (IMAP4)

Simple Messaging

File Transfer Protocol (FTP)

Simple Messaging

Straight sockets: TCP, UDP

REST

Representational State Transfer

REST

REST

In other words...

REST

In other words...

REST

"Resource Modeling"

REST

There's something to be said for this model

REST

Advantages

REST

Disadvantages

Java Messaging System (JMS)

Messaging-Oriented Middleware|Java style

Modes of Operation

JMS defines two modes: point-to-point, and publish-subscribe

Modes of Operation

When we say "point-to-point", we mean...

Modes of Operation

When we say "publish-subscribe", we mean...

Modes of Operation

When we say "subscribers can be durable", we mean...

Modes of Operation

Messages can be of several different formats

JMS Providers

An (incomplete) list of JMS providers:

JMS Providers

Certain details will change with the provider used

Summary

Messaging provides alternative communication

Credentials

Who is this guy?