Habari Client for OpenMQ: web-based chat example

Since its first release in the year 2009, Habari Client for OpenMQ is a reliable library for Delphi and Free Pascal for messaging solutions using the Open Message Queue (OpenMQ) open source message broker. To make its evaluation possible without downloading and installing a local OpenMQ server, Habarisoft launched a web application for message exchange with the “HabariChat” application in the demo download. Configuration of the Habari Chat demo is easy: enter the on-line demo server address stomp://demo.habarisoft.com in the connection configuration dialog.

Habari ChatA web interface, which allows to exchange messages with the Habari Chat demo, is now on-line at http://demo.habarisoft.com/habarichat/.

Originally posted on Roberto Schneiders:

Many thanks to all those who participated in the discussion in the previous post. All comments, criticisms and compliments are welcome. This is what motivates me to keep writing this blog.

The repercussion of the previous post was much bigger than I expected. The Embarcadero team corrected some of the DataSnap problems and therefore I decided to redo these tests and create this new post.

View original 2,784 more words

Preliminary Open MQ 5.0 released

A preliminary release of the open source message broker OpenMQ 5.0 has been released. Open MQ 5 will support JMS 2.0 and is planned to be included with GlassFish Server, Open Source Edition 4.0. A commercial client library for Delphi and Free Pascal is available from Habarisoft.

Visual FastMM monitoring with Habari Client for ActiveMQ

visualmm demo chart

visualmm demo chart

The next release of Habari Client for ActiveMQ includes a web demo application which displays memory allocation charts for running Delphi applications. This demo leverages a feature of FastMM (the new memory manager in Delphi): run time memory allocation statistics.

A dynamic chart example is available. It displays four charts:

  1. FastMM Memory Block Count (current snapshot)
  2. FastMM Overall Block Count (timeline for last n snapshots)
  3. FastMM Memory Block Size (current snapshot)
  4. FastMM Overall Block Size (timeline for last n snapshots)

Bundled with dwf – Web Framework for Delphi

The new dwf Web Application Framework for Delphi also includes the full source code for VisualMM, except the Habari Client library.


Enterprise Messaging News (June 2011)

HornetQ 2.2.5 Message Broker released

June 17, 2011 – HornetQ 2.2.5.Final, available for download now, will be the first release included as the default Java Message System (JMS) provider in the JBoss AS 7 Java EE application server. Changes and bug fixes also include an issue in the Stomp Decoder. HornetQ is an open source project from the JBoss Community to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. It supports non-Java clients and is already the default JMS provider in JBoss AS 6.

RabbitMQ 2.5.0 AMQP Message Broker released

June 14, 2011 – RabbitMQ 2.5.0 new features include a tracing facility for debugging incoming and outgoing messages, improved inbound network and routing performance, and SSL support for the STOMP adapter. RabbitMQ is an independent open-source implementation of AMQP. Over its STOMP transport adapter plugin, clients can be implemented in many languages, including Delphi and Free Pascal.

OpenMQ 4.6 New Features for Cloud-Enabled Messaging

OpenMQ 4.6 will be a minor feature update to support the GlassFish 3.2 project. Key feature goals of that project include enabling deployment in various cloud based services. OpenMQ is the Java Message Service (JMS) reference implementation, can run in embedded or standalone mode, and supports non-Java clients.

“JBoss Application Server 7 – What’s coming?” by Jason Shepherd

In this article, Jason Shepherd writes that “JBoss Application Server (AS) 7 is due for release in early June”. The Modular Service Container (MSC) in JBoss AS 7 is a complete rewrite. Features and improvements include much faster startup, class loading improvements, a single file for configuration, a new command line configuration and management interface, and more. For enterprise messaging, JBoss AS 7 includes HornetQ as the embedded JMS provider and for message driven beans.

“When to use Apache Camel?” – by Kai Wähner

In this blog post, Kai Wähner writes about Apache Camel, a open source integration framework based on Enterprise Integration Patterns with powerful Bean Integration: “Almost every technology you can imagine is available, for example HTTP, FTP, JMS, EJB, JPA, RMI, JMX, LDAP, Netty, and many, many more“. His conclusion is that “Apache Camel is an awesome framework to integrate applications with different technologies. The best thing is that you always use the same concepts.“. Apache Camel is also integrated in Apache ActiveMQ (an open source message broker) and in Apache ServiceMix (Enterprise Service Bus).

“Multithreading – Fear, Uncertainty and Doubt” by Steve Lott

In his article, Steve Lott suggests message queues as the best kind of lock for concurrency in multi-threaded applications: “The various concurrent elements can simply dequeue pieces of data, do their tasks and enqueue the results. It’s really elegant. It has many, simple, uncoupled pieces. It can be scaled by increasing the number of threads sharing a queue.” – As an example, he shows that the Dining Philosophers Code Kata has a queue-based solution that’s pretty cool. He also notices “Too many questions on StackOverflow seem to have simple message queue solutions. But folks seem to start out using inappropriate technology.

FireAlarm – Open Source Monitoring for Firebird

Getting Started with FireAlarm


FireAlarm is a server performance and health monitoring tool for the Firebird RDBMS. It is written in the Java programming language and released as open source.

This is a quick guide to the FireAlarm API, which shows how easy it is to register FireAlarm Database Aliases and to add and configure Alarm instances.

Alias and Alarm Definitions

The core FireAlarm API is designed around two basic interfaces: Alias (which can be described as “the database under test”) and Alarm (the actual checks of the database, performed in regular intervals).

Continue reading