Habari Client for Apollo is a library for Delphi and Free Pascal which provides access to the Apache Apollo open source message broker.

With this library, developers can build integrated solutions, connecting cross language clients and protocols, using the peer-to-peer or the publish-and-subscribe communication model.

Habari Client for Apollo is easy to install and configure, and provides a high level API to access the message broker over Internet Direct (Indy) and Synapse based STOMP communication adapters.

Connecting applications.

Real world use of message brokers

Habari Client libraries help you to integrate Delphi and Free Pascal programs with standards-based, enterprise quality messaging solutions.

Common use cases

  • Alerting and logging
  • Dynamically configuring and controlling software clusters
  • Delayed activity such as billing, order processing, provisioning, email generation...
  • Web chat applications

Enterprise integration examples

Note: Cross-language messaging requires language-specific client libraries. Please consult your message broker documentation for available options.

Demo applications

Download Demo Download (1.9 MB) »

Version:
1.7
Date:
12 March 2014
Tested with:
Apollo 1.6
Release notes:
Release notes in the "Getting Started" PDF and blog post
Demo applications:
Chat, Performance test, Throughput test

A local installation of a message broker is required for Habari Client for Apollo demo applications.

License

Habari Client for Apollo

✓ Full library source code is included
✓ Free redistribution with your product when used in binary compiled applications
✓ Non-exclusive life-time license
✓ Updates included for one year
✓ 60 days money back guarantee

60days.png

Buy a license Buy a license » Buy 2 years updates »

Code Example #1

Code for sending (producing) messages:


// Getting connection from the server and starting it
ConnectionFactory := TBTJMSConnectionFactory.Create;
Connection := ConnectionFactory.CreateConnection;
Connection.Start;

// Messages are sent and received using a Session. We will
// create here a non-transactional session object. If you want
// to use transactions you should set the first parameter to 'true'
Session := Connection.CreateSession(False, amAutoAcknowledge);

// Destination represents here our queue 'ExampleQueue' on the
// server. You don't have to do anything special on the
// server to create it, it will be created automatically (except with HornetQ).
Destination := Session.CreateQueue('ExampleQueue');

// MessageProducer is used for sending messages (as opposed
// to MessageConsumer which is used for receiving them)
MessageProducer := Session.CreateProducer(Destination);                
             
// We will send a small text message saying 'Hello!' in Hindi:
TextMessage := Session.CreateTextMessage("नमस्ते!");
   
// Here we are sending the message
Producer.Send(Message);

Connection.Close;
                

Quick Facts / Technical Information

Compilers Habari Client libraries are compatible with the compilers
✓ Delphi 2009 (Update 4) and newer
✓ Free Pascal 2.6
For usage with non-Unicode versions (Delphi 6 to 2007) please contact us.
TCP/IP Libraries The libraries includes communication adapter units for the open source libraries
✓ Internet Direct (Indy) 10.6
✓ Ararat Synapse rev. 40
100% Delphi No external libraries (DLL), compiles into the executable.
Logging Built-in optional support for the open source logging library Log4D.
Issue tracking A web based bug tracking system is available (no login required).

About the ActiveMQ Apollo open source message broker

ActiveMQ logo

ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. It accomplishes this using a radically different threading and message dispatching architecture.

http://activemq.apache.org/apollo/

Feature Matrix

Habari Client Version Habari Client for ActiveMQ Habari Client for Apollo Habari Client for HornetQ Habari Client for OpenMQ Habari Client for RabbitMQ
Message Types
TextMessage / BytesMessage ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
ObjectMessage / MapMessage ✓/✓ ✓/✓ ✓/✓ ✓/✓ ✓/✓
JMS Mapping
Temporary Queues
Durable Topics
JMS STOMP bindings
Message Expiration
Message Priority
Persistent Messages
Message Selector
Advanced Features
Heart-beating
Transacted Send
Transacted Ack
Compiler
Delphi 2009+
Free Pascal 2.6.2
TCP/IP Libraries
Internet Direct (Indy) 10.6
Ararat Synapse 40

① - not supported by message broker STOMP implementation

② - with limitations, please contact us for details

Selection of Habari Client library users

Airport Business Information System GmbH - Hamburg Airport

Almasoft AB

Animolecular Ltd

Banco Privado de Inversiones Argentina

BroadView Software, Inc.

Burrows Communications Ltd

Cakra Technology

C.Ed. Schulte GmbH

广联达软件股份有限公司

HSEB Dresden GmbH

Kilchenmann AG

Lombard Risk

Mandiri Sekuritas PT

OXXO

Sabre Travelocity

SOPTIM AG

Taiwan Semiconductor Manufacturing Company Ltd

Tech Mahindra Ltd

THUM + MAHR Gesellschaft für Projektentwicklung und Consulting GmbH

Transrail Sweden AB

Tudor Investment Corporation