If you haven’t heard nothing about Enterprise Messaging i suggest you read the related wikipedia’s article http://en.wikipedia.org/wiki/Enterprise_messaging_system. In this article I will introduce the Advanced Messaging Queuing Protocol and some of his concepts.
Before all why talking about AMQP? Because is the first open standard for the Enterprise Messaging; in a enterprise environment the integration is necessary and an open solution is needed especially because this kind of solution should be leveraged from any language and platform; JMS doesn’t do it very well because of his java dependence and his terms of license: JMS-like interface cannot legally be provided for non-Java platforms.
Continuing talking about AMQP, it supports this kind of message distributions:
- Store-and-forward with many writers and one reader
- Transaction distribution with many writers and many readers
- Publish-subscribe with many writers and many readers
- Content-based routing with many writers and many readers
- Queued file transfer with many writers and many readers
- Point-to-point connection between two peers
This standard is thought to have small and modular model therefore his task is splitted in two main roles, Exchange and Message queue. This choice made available three main features:
- The ability to create arbitrary exchange and message queue types
- The ability to wire exchanges and message queues together to create any required message-processing system
- The ability to control this completely through the protocol.
A Message queue is a storage entity, it can store messages in memory or in disk and must provide messages to consumers applications, is described by some proprierties:
- private or shared
- durable or transient
- permanent or temporary
The standard does not define directly entities like Store and Forward queue or Pub-Sub queue, these entities are created trough Message queue’s attribute.
The Exchange entity takes messages from Applications Messages Producer and routes them to the Message Queue according to criteria called “bindings”. Bindings are therefore the relationship between Exchanges and the and Messages queues.
These are the basic concepts you need to know about AMQP model, in the next post i’ll introduce you to qpid, an apache’s software project that fully respect this standard and we’ll try it with some source code examples.
- Infecting loadable kernel modules: kernel versions 2.6.x/3.0.x: Hi. “Infecting loadable kernel modules: kernel v... bit.ly/Jd3wM5 2 years ago
- Syscall Hijacking: OpenBSD: Hi, in this post I show you how to hijack the system calls in the latest OpenBSD ker... bit.ly/vsrzQ3 2 years ago
- How to install Netbsd on Linux Virtualbox: Hi. In this post I show you a workaround that allows you to install (... http://bit.ly/iIyYOR 3 years ago
- Enabling SSL on RedHat’s JBoss Enterprise Application Platform 5.1: Hi folks, i’m writing this little note as “e... http://bit.ly/enTpj5 3 years ago
- Syscall Hijacking: Dynamically obtain syscall table address (kernel 2.6.x) #2: Hi. In this brief post I’ll show ... http://bit.ly/fiu8zD 3 years ago
- 77,102 hits