About Michael Justin

Java and Delphi developer

Habarisoft message broker client libraries for Delphi updated

Habarisoft announced new versions of its Delphi client libraries for the open source message brokers Apache ActiveMQ, Apollo, HornetQ, OpenMQ, and RabbitMQ:

All client libraries include the full source code, one year free minor and major updates, royalty-free distribution of applications, many demo projects, unit tests, API documentation in HTML format, and a “Getting Started” PDF.

About Habari Client libraries
Habari Client libraries provide access to standards-based, enterprise quality solutions for distributed messaging. With these libraries, Delphi applications now can take advantage of open source message broker technology which is distributed, loosely coupled, reliable and asynchronous – and build integrated systems, connecting clients using the peer-to-peer or the publish and subscribe communication model.

Habari Web Components demo project

Context port mapping

The Habari Web Component framework now supports mapping of context to a specific port. The example below shows a simple Hello world app which is mapped to two ports – the default port 80 and a second port, 8080. By adding 127.0.0.1:8080 to the ConnectorNames list of the context, the server will accept requests for this component only on port 8080.


program ExampleWebServer;

{$APPTYPE CONSOLE}

uses
  djWebComponent,
  djServer,
  djWebAppContext,
  IdCustomHTTPServer,
  ShellAPI,
  SysUtils,
  Classes;

type
  THelloPage = class(TdjWebComponent)
  public
    procedure OnGet(Request: TIdHTTPRequestInfo; Response:
      TIdHTTPResponseInfo); override;
  end;

  { THelloPage }

procedure THelloPage.OnGet(Request: TIdHTTPRequestInfo;
  Response: TIdHTTPResponseInfo);
begin
  Response.ContentText := 'Hello world!';
end;

procedure Demo;
var
  Server: TdjServer;
  Context: TdjWebAppContext;
begin
  Server := TdjServer.Create;
  try
    // start and add a default HTTP connector on port 80
    Server.Start;
    // part 1: --------------------------------------------------------------
    // add a context handler at http://127.0.0.1/web
    Context := TdjWebAppContext.Create('web');
    Server.Add(Context);
    // add the 'Hello world!' component at http://127.0.0.1/web/hello.html
    Context.Add(THelloPage, '/hello.html');
    // launch default web browser and navigate to hello.html
    ShellExecute(0, 'open', 'http://127.0.0.1/web/hello.html', '', '', 0);
    WriteLn('Hit any key to continue.');
    ReadLn;

    // part 2: --------------------------------------------------------------
    // create another HTTP connector on port 8080
    Server.AddConnector('127.0.0.1', 8080);
    // add a context handler at http://127.0.0.1:8080/hidden
    Context := TdjWebAppContext.Create('hidden');
    Server.Add(Context);
    // make this context exclusive for this connector (not reachable on 80)
    Context.ConnectorNames.Add('127.0.0.1:8080');
    // add the 'Hello world!' component at http://127.0.0.1:8080/hidden/hello.html
    Context.Add(TExampleWebComponent, '/hello.html');
    // launch default web browser and navigate to hello.html
    ShellExecute(0, 'open', 'http://127.0.0.1:8080/hidden/hello.html', '', '', 0);
    WriteLn('Hit any key to terminate.');
    ReadLn;

  finally
    // cleanup
    Server.Free;
  end;
end;

begin
  Demo;
  ReportMemoryLeaksOnShutdown := True;
end.

Habari Client for Apollo 1.0 released

March 20, 2012 – Habarisoft is pleased to announce release 1.0 of Habari Client for Apollo. With Habari Client for Apollo, Delphi and Free Pascal developers can build integrated solutions, connecting applications using the peer-to-peer and the publish and subscribe communication model. Free demo applications include chat, multi-threaded performance, and throughput tests with source code. A getting started guide (70 pages) and full online API documentation are available.

ActiveMQ Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the original ActiveMQ. Habari Client libraries are also available for other open source message brokers, including Apache ActiveMQ, FUSE, HornetQ, OpenMQ and RabbitMQ.

RabbitMQ 2.8.0 released

Aside

RabbitMQ 2.8.0, the open source message broker, has been released today. This release fixes a number of bugs and adds new features. Notable new features include:

  • dead lettering – queues can specify an exchange to which messages should be redirected when they are rejected or expire
  • internal flow control to limit memory use and make performance more predictable if the server is overloaded

A Delphi client library is available from Habarisoft.

Habari Web Components new demo download

The new demo download for the Habari Web Component framework includes

  1. the ‘Kitchen sink’ demo, including a VisualMM page only for the server process
  2. a database demo (requires a running InterBase instance)
  3. a VisualMM demo which uses the ActiveMQ message broker middleware
  4. a first draft of the getting started guide with developer information, and a section on multithreading design of Web Components

The new project home page contains additional information about the Web Component architecture and allows to order the current preview release.

Update: the new demo version has been replaced by a new version which also includes a demo of Ajax (using jQuery).