<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Habari! Blog</title>
	<atom:link href="http://mikejustin.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mikejustin.wordpress.com</link>
	<description>Software Development News and Articles</description>
	<lastBuildDate>Thu, 23 May 2013 17:54:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mikejustin.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Habari! Blog</title>
		<link>http://mikejustin.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mikejustin.wordpress.com/osd.xml" title="Habari! Blog" />
	<atom:link rel='hub' href='http://mikejustin.wordpress.com/?pushpress=hub'/>
		<item>
		<title>RPC with Delphi server and Java client using RabbitMQ (part 2 of 2)</title>
		<link>http://mikejustin.wordpress.com/2013/05/23/rpc-with-delphi-server-and-java-client-using-rabbitmq-part-2-of-2/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/23/rpc-with-delphi-server-and-java-client-using-rabbitmq-part-2-of-2/#comments</comments>
		<pubDate>Thu, 23 May 2013 17:53:00 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[RabbitMQ]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[amqp]]></category>
		<category><![CDATA[habari]]></category>
		<category><![CDATA[message broker]]></category>
		<category><![CDATA[rabbitmq]]></category>
		<category><![CDATA[remote procedure call]]></category>
		<category><![CDATA[rpc]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2628</guid>
		<description><![CDATA[This article shows the code for a Delphi server which receives a RPC call message from the inbound RabbitMQ request queue, and sends the response message back to the Java client. It is the mirror code for the previous article. &#8230; <a href="http://mikejustin.wordpress.com/2013/05/23/rpc-with-delphi-server-and-java-client-using-rabbitmq-part-2-of-2/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2628&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This article shows the code for a Delphi server which receives a RPC call message from the inbound RabbitMQ request queue, and sends the response message back to the Java client. It is the mirror code for the previous article.</p>
<p><span id="more-2628"></span></p>
<p>Delphi source code:</p>
<pre class="brush: delphi; title: ; notranslate">
program RPCServer;

{$APPTYPE CONSOLE}

uses
  BTCommAdapterIndy, BTJMSConnection, BTJMSInterfaces,
  SysUtils;

procedure FibServer;
var
  Conn: IConnection;
  Session: ISession;
  RequestQueue: IDestination;
  ResponseQueue: IDestination;
  Producer: IMessageProducer;
  Consumer: IMessageConsumer;
  Request, Response: IMessage;
  Input, Output: Integer;

  function fib(n: Integer): Integer;
  begin
    if n=0 then begin Result := 0; Exit; end;
    if n=1 then begin Result := 1; Exit; end;
    Result := fib(n-1) + fib(n-2);
  end;
begin
  Conn := TBTJMSConnection.MakeConnection;
  try
    try
      Conn.Start;

      // create the session
      Session := Conn.CreateSession(False, amAutoAcknowledge);

      // prepare the reply queue
      RequestQueue := Session.CreateQueue('/amq/queue/rpc_queue');

      // wait for messages
      Consumer := Session.CreateConsumer(RequestQueue);
      while True do
      begin
        Request := Consumer.Receive;

        Input := StrToInt((Request as ITextMessage).Text);

        Output := fib(Input);

        WriteLn(' [.] fib(' + IntToStr(Input) + ')');

        // prepare and send the response
        Response := Session.CreateTextMessage(IntToStr(Output));
        Response.JMSCorrelationID := Request.JMSCorrelationID;
        Producer := Session.CreateProducer(Request.JMSReplyTo);
        Producer.Send(Response);
      end;

    except
      on E: Exception do
      begin
        WriteLn(E.Message);
        ReadLn;
      end;
    end;
  finally
    Conn.Close;
  end;
end;

begin
  ReportMemoryLeaksOnShutdown := True;

  Writeln('[*] Awaiting RPC requests');
  FibServer;
end.

</pre>
<p>A small change is needed in the Java client to support STOMP text messages:</p>
<pre class="brush: java; title: ; notranslate">
        BasicProperties props = new BasicProperties.Builder()
                .correlationId(corrId)
                .replyTo(replyQueueName)
                .contentType(&quot;text/plain&quot;)
                .build();
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2628/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2628&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/23/rpc-with-delphi-server-and-java-client-using-rabbitmq-part-2-of-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>RPC with Delphi client and Java server using RabbitMQ (part 1 of 2)</title>
		<link>http://mikejustin.wordpress.com/2013/05/21/rpc-with-delphi-client-and-java-server-using-rabbitmq/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/21/rpc-with-delphi-client-and-java-server-using-rabbitmq/#comments</comments>
		<pubDate>Tue, 21 May 2013 14:51:05 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[RabbitMQ]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[amqp]]></category>
		<category><![CDATA[habari]]></category>
		<category><![CDATA[message broker]]></category>
		<category><![CDATA[rabbitmq]]></category>
		<category><![CDATA[remote procedure call]]></category>
		<category><![CDATA[rpc]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2612</guid>
		<description><![CDATA[The RabbitMQ online tutorial Remote procedure call (RPC) &#8211; using the Java client demonstrates how RPC can be implemented between a Java client and a Java server process, communicating over the RabbitMQ open source message broker. But access to the &#8230; <a href="http://mikejustin.wordpress.com/2013/05/21/rpc-with-delphi-client-and-java-server-using-rabbitmq/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2612&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The RabbitMQ online tutorial <a href="http://www.rabbitmq.com/tutorials/tutorial-six-java.html">Remote procedure call (RPC) &#8211; using the Java client</a> demonstrates how RPC can be implemented between a Java client and a Java server process, communicating over the <a href="http://www.rabbitmq.com/">RabbitMQ</a> open source message broker.</p>
<p>But access to the RPC server process is not limited to Java applications &#8211; Delphi and Free Pascal applications using the <a href="http://www.habarisoft.com/habari_rabbitmq.html">Habari Client for RabbitMQ</a> library can invoke the server process method too.</p>
<p>This article shows the code for a Delphi client which sends a RPC call message to the inbound RabbitMQ request queue, and receives the response message over a temporary queue, which exists only for the duration of the connection.</p>
<p><span id="more-2612"></span></p>
<p>This architecture has key differences between a traditional client/server based RPC architecture and a message broker based architecture:</p>
<ul>
<li>the RPC client does not have to know where the RPC server is running (RPC client and RPC server only communicate with the message broker, not with each other)</li>
<li>the RPC client can send requests even if the RPC server is not running</li>
<li>additional computing power can be provided by running more RPC server processes (load balancing is &#8220;built-in&#8221; by design)</li>
</ul>
<p>Delphi source code:</p>
<pre class="brush: delphi; title: ; notranslate">
program RPCClient;

{$APPTYPE CONSOLE}

uses
  BTCommAdapterIndy, BTJMSConnection, BTJMSInterfaces,
  SysUtils;

function Fib(const Arg: Integer): Integer;
var
  Conn: IConnection;
  Session: ISession;
  ReplyQueue: IDestination;
  Producer: IMessageProducer;
  Consumer: IMessageConsumer;
  Request, Response: IMessage;
begin
  Result := -1;
  Conn := TBTJMSConnection.MakeConnection;
  try
    try
      Conn.Start;

      // create the session
      Session := Conn.CreateSession(False, amAutoAcknowledge);

      // prepare the reply queue
      ReplyQueue := Session.CreateTemporaryQueue;

      // prepare and send the request
      Producer := Session.CreateProducer(Session.CreateQueue('/amq/queue/rpc_queue'));
      Request := Session.CreateTextMessage(IntToStr(Arg));
      Request.JMSReplyTo := ReplyQueue;
      Request.JMSCorrelationID := FloatToStr(Now);
      Producer.Send(Request);

      // prepare and receive the response from the temp queue
      Consumer := Session.CreateConsumer(ReplyQueue);
      Response := Consumer.Receive(10000);
      if Response &lt;&gt; nil then
      begin
        Result := StrToInt((Response as ITextMessage).Text);
        Assert(Request.JMSCorrelationID = Response.JMSCorrelationID);
      end else begin
        WriteLn('No reply received');
      end;

    except
      on E: Exception do
      begin
        WriteLn(E.Message);
      end;
    end;
  finally
    Conn.Close;
  end;
end;

var
  Input, Output: Integer;

begin
  ReportMemoryLeaksOnShutdown := True;

  Input := 21;
  Writeln('[.] fib(' + IntToStr(Input) + ')');

  Output := Fib(Input);
  Writeln('[.] Result: ' + IntToStr(Output));

  ReadLn;
end.
</pre>
<p>A small change is needed in the tutorial code to support STOMP text messages:</p>
<pre class="brush: java; title: ; notranslate">
                BasicProperties replyProps = new BasicProperties.Builder()
                        .correlationId(props.getCorrelationId())
                        .contentType(&quot;text/plain&quot;)
                        .build();
</pre>
<p>Server output:</p>
<pre class="brush: plain; title: ; notranslate">
run:
 [x] Awaiting RPC requests
 [.] fib(21)
</pre>
<p>Client output:</p>
<pre class="brush: plain; title: ; notranslate">
[.] fib(21)
[.] Result: 10946
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2612/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2612/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2612&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/21/rpc-with-delphi-client-and-java-server-using-rabbitmq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>SOAP and REST &#8211; Using GZip with Delphi client</title>
		<link>http://mikejustin.wordpress.com/2013/05/19/soap-and-rest-using-gzip-with-delphi-client/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/19/soap-and-rest-using-gzip-with-delphi-client/#comments</comments>
		<pubDate>Sun, 19 May 2013 11:12:22 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2610</guid>
		<description><![CDATA[Another interesting performance benchmark post by Roberto Schneider, comparing Java and Delphi implementations: SOAP and REST &#8211; Using GZip with Delphi client.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2610&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Another interesting performance benchmark post by Roberto Schneider, comparing Java and Delphi implementations:</p>
<p><a href="http://robertocschneiders.wordpress.com/2013/05/17/soap-and-rest-using-gzip-with-delphi-client/">SOAP and REST &#8211; Using GZip with Delphi client</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2610/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2610/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2610&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/19/soap-and-rest-using-gzip-with-delphi-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>A Delphi REST client API open source library</title>
		<link>http://mikejustin.wordpress.com/2013/05/09/a-delphi-rest-client-api-open-source-library/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/09/a-delphi-rest-client-api-open-source-library/#comments</comments>
		<pubDate>Thu, 09 May 2013 06:51:22 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[delphi tlist]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[indy]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[winhttp]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2604</guid>
		<description><![CDATA[Fabricio Colombo created a Delphi REST client API to consume REST services written in any programming language on Github. It supports two implementations, using Indy 10 and WinHTTP.The API was tested in Delphi 7, XE, XE2 and XE3. The library &#8230; <a href="http://mikejustin.wordpress.com/2013/05/09/a-delphi-rest-client-api-open-source-library/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2604&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Fabricio Colombo created a <a href="https://github.com/fabriciocolombo/delphi-rest-client-api">Delphi REST client API</a> to consume REST services written in any programming language on Github. It supports two implementations, using <a href="http://www.indyproject.org/index.en.aspx">Indy 10</a> and <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa382925.aspx">WinHTTP</a>.The API was tested in Delphi 7, XE, XE2 and XE3.</p>
<p>The library uses JSON serialization to and from Delphi objects and supports Generics. This allows to perform complex REST commands with little code, for example a GET which retrieves a TPerson object list:</p>
<pre class="brush: delphi; title: ; notranslate">

var
  vList : TList&lt;TPerson&gt;;
begin
  vList := RestClient.Resource('http://localhost:8080/java-rest-server/rest/persons')
                     .Accept(RestUtils.MediaType_Json)
                     .Get&lt;TList&lt;TPerson&gt;&gt;();

</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2604/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2604/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2604&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/09/a-delphi-rest-client-api-open-source-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>Habari Client for OpenMQ 2.5a1 released</title>
		<link>http://mikejustin.wordpress.com/2013/05/07/habari-client-for-openmq-2-5a1-released/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/07/habari-client-for-openmq-2-5a1-released/#comments</comments>
		<pubDate>Tue, 07 May 2013 09:19:56 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free Pascal]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[OpenMQ]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free pascal]]></category>
		<category><![CDATA[jms]]></category>
		<category><![CDATA[message broker]]></category>
		<category><![CDATA[openmq]]></category>
		<category><![CDATA[stomp]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2601</guid>
		<description><![CDATA[May 7, 2013 &#8211; Habarisoft is pleased to announce release 2.5a1 of its Delphi and Free Pascal client library for the Open MQ open source message broker (http://mq.java.net/). This is the first alpha of release 2.5, which introduces support for &#8230; <a href="http://mikejustin.wordpress.com/2013/05/07/habari-client-for-openmq-2-5a1-released/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2601&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>May 7, 2013 &#8211; Habarisoft is pleased to announce release 2.5a1 of its<br />
Delphi and Free Pascal client library for the Open MQ open source<br />
message broker (<a href="http://mq.java.net/">http://mq.java.net/</a>).</p>
<p>This is the first alpha of release 2.5, which introduces support for<br />
Indy 10.6 and has been tested with build 14 of Open MQ 5.0, the<br />
next-generation message broker version which implements JMS 2.0<br />
(introduced with the new Java EE 7.0 specification).<span id="more-2601"></span></p>
<p>Home page:<br />
<a href="http://www.habarisoft.com/habari_openmq.html">http://www.habarisoft.com/habari_openmq.html</a></p>
<p>API documentation (HTML):<br />
<a href="http://www.habarisoft.com/habari_openmq/2.4/docs/api/index.html">http://www.habarisoft.com/habari_openmq/2.4/docs/api/index.html</a></p>
<p>Demo and documentation download (2.4 release):<br />
<a href="http://www.habarisoft.com/download/HabariOpenMQ-demo.zip">http://www.habarisoft.com/download/HabariOpenMQ-demo.zip</a></p>
<p>Demo and documentation download (2.5a1 release):<br />
<a href="http://cc.embarcadero.com/Item/26810">http://cc.embarcadero.com/Item/26810</a></p>
<p>All registered users can download the 2.5a1 development snapshot now.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2601/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2601/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2601&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/07/habari-client-for-openmq-2-5a1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>RabbitMQ 3.1.0 message broker released</title>
		<link>http://mikejustin.wordpress.com/2013/05/02/rabbitmq-3-1-0-message-broker-released/</link>
		<comments>http://mikejustin.wordpress.com/2013/05/02/rabbitmq-3-1-0-message-broker-released/#comments</comments>
		<pubDate>Thu, 02 May 2013 09:28:19 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free Pascal]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[RabbitMQ]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free pascal]]></category>
		<category><![CDATA[habari]]></category>
		<category><![CDATA[rabbitmq]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2595</guid>
		<description><![CDATA[The RabbitMQ team announced the release of RabbitMQ 3.1.0 &#8211; This release introduces eager synchronisation of mirror queue slaves, automatic cluster partition healing, and improved statistics (including charts) in the management plugin. It also adds many smaller new features, bug &#8230; <a href="http://mikejustin.wordpress.com/2013/05/02/rabbitmq-3-1-0-message-broker-released/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2595&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://rabbitmq.com/">RabbitMQ</a> team <a href="http://www.rabbitmq.com/news.html#2013-05-01T15:47:16+0100">announced</a> the release of RabbitMQ 3.1.0 &#8211; This release introduces eager synchronisation of mirror queue slaves, automatic cluster partition healing, and improved statistics (including charts) in the management plugin. It also adds many smaller new features, bug fixes and performance improvements.<br />
The developers encourage all users of earlier versions of RabbitMQ to upgrade to this latest release. </p>
<p>For <strong>Delphi</strong> and <strong>Free Pascal</strong>, <a href="http://www.habarisoft.com/">Habarisoft</a> offers a <a href="http://www.habarisoft.com/habari_rabbitmq.html">client library</a> for RabbitMQ 2.8.7 and newer.</p>
<p><a href="http://www.habarisoft.com/habari_rabbitmq.html"><img class="aligncenter size-full wp-image-2032" title="Habari Client for RabbitMQ" alt="" src="http://mikejustin.files.wordpress.com/2012/09/image.png?w=584"   /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2595/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2595/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2595&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/05/02/rabbitmq-3-1-0-message-broker-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>

		<media:content url="http://mikejustin.files.wordpress.com/2012/09/image.png" medium="image">
			<media:title type="html">Habari Client for RabbitMQ</media:title>
		</media:content>
	</item>
		<item>
		<title>HornetQ 2.3.0.Final released</title>
		<link>http://mikejustin.wordpress.com/2013/04/30/hornetq-2-3-0-final-released/</link>
		<comments>http://mikejustin.wordpress.com/2013/04/30/hornetq-2-3-0-final-released/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 19:45:56 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free Pascal]]></category>
		<category><![CDATA[HornetQ]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">https://mikejustin.wordpress.com/?p=2589</guid>
		<description><![CDATA[JBoss Community has released the final release of HornetQ 2.3.0. This includes new features such as replication, multiple backups, multiple failover, fallback and STOMP 1.2 support as well as many other enhancements, fixes and performance tweaks. A STOMP based Delphi &#8230; <a href="http://mikejustin.wordpress.com/2013/04/30/hornetq-2-3-0-final-released/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2589&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>JBoss Community has <a href="http://www.jboss.org/hornetq/">released</a> the final release of HornetQ 2.3.0. This includes new features such as replication, multiple backups, multiple failover, fallback and <a href="http://stomp.github.io/stomp-specification-1.2.html">STOMP 1.2</a> support as well as many other enhancements, fixes and performance tweaks.</p>
<p>A STOMP based Delphi and Free Pascal client library for HornetQ is available from <a href="http://www.habarisoft.com/">Habarisoft</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2589/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2589/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2589&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/04/30/hornetq-2-3-0-final-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>XE4: Changes in the Delphi language for ARM and mobile</title>
		<link>http://mikejustin.wordpress.com/2013/04/30/xe4-changes-in-the-delphi-language-for-arm-and-mobile/</link>
		<comments>http://mikejustin.wordpress.com/2013/04/30/xe4-changes-in-the-delphi-language-for-arm-and-mobile/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 17:53:42 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2583</guid>
		<description><![CDATA[In his blog post &#8220;Changes in the Delphi language for ARM and mobile support&#8220;, Tim Anderson summarizes some of the biggest language changes in the &#8220;next generation&#8221; compiler for mobile development in RAD Studio XE4, based on the paper &#8220;The &#8230; <a href="http://mikejustin.wordpress.com/2013/04/30/xe4-changes-in-the-delphi-language-for-arm-and-mobile/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2583&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In his <a href="http://www.itwriting.com/blog/7347-changes-in-the-delphi-language-for-arm-and-mobile-support.html">blog post</a> &#8220;<strong>Changes in the Delphi language for ARM and mobile support</strong>&#8220;, Tim Anderson summarizes some of the biggest language changes in the &#8220;next generation&#8221; compiler for mobile development in RAD Studio XE4, based on the paper &#8220;<strong>The Delphi Language for Mobile Development</strong>&#8220;, which you can find <a href="http://www.embarcadero.com/resources/white-papers/application-development" target="_blank">here</a>. The changes include limitation to only one string type (UTF16), zero-based strings, automatic reference counting and the announced deprecation of the <strong>with</strong> statement.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2583/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2583/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2583&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/04/30/xe4-changes-in-the-delphi-language-for-arm-and-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>Indy 10.6 support in Habari Web Components 2.4a1</title>
		<link>http://mikejustin.wordpress.com/2013/04/30/indy-10-6-support-in-habari-web-components-2-4a1/</link>
		<comments>http://mikejustin.wordpress.com/2013/04/30/indy-10-6-support-in-habari-web-components-2-4a1/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 05:33:05 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free Pascal]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[free pascal]]></category>
		<category><![CDATA[indy]]></category>
		<category><![CDATA[test framework]]></category>
		<category><![CDATA[web application framework]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2580</guid>
		<description><![CDATA[The first alpha release of Habari Web Components 2.4 with support for Internet Direct (Indy) 10.6 will be available for registered users in the next days. The demo applications are already built with revision 5002 of the Indy 10.6 library, &#8230; <a href="http://mikejustin.wordpress.com/2013/04/30/indy-10-6-support-in-habari-web-components-2-4a1/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2580&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The first alpha release of <a href="http://www.habarisoft.com/habari_webcomponents.html">Habari Web Components</a> 2.4 with support for <a href="http://en.wikipedia.org/wiki/Internet_Direct">Internet Direct (Indy)</a> 10.6 will be available for registered users in the next days. The <a href="http://www.habarisoft.com/download/HabariWebComponentsDemo.zip">demo</a> applications are already built with revision 5002 of the Indy 10.6 library, which also includes new fixes for Delphi 6 and Free Pascal 2.6</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2580/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2580/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2580&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/04/30/indy-10-6-support-in-habari-web-components-2-4a1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>
	</item>
		<item>
		<title>Habari Web Components 2.3 Released</title>
		<link>http://mikejustin.wordpress.com/2013/04/16/habari-web-components-2-3-released/</link>
		<comments>http://mikejustin.wordpress.com/2013/04/16/habari-web-components-2-3-released/#comments</comments>
		<pubDate>Tue, 16 Apr 2013 07:31:17 +0000</pubDate>
		<dc:creator>Michael Justin</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Free Pascal]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[free pascal]]></category>
		<category><![CDATA[indy]]></category>
		<category><![CDATA[web application framework]]></category>

		<guid isPermaLink="false">http://mikejustin.wordpress.com/?p=2574</guid>
		<description><![CDATA[Habari Web Components is a web application framework for small to medium size HTTP services, based on the popular open source TCP/IP library for Delphi and Free Pascal, Internet Direct (Indy). The new release brings many minor and major improvements. &#8230; <a href="http://mikejustin.wordpress.com/2013/04/16/habari-web-components-2-3-released/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2574&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.habarisoft.com/habari_webcomponents.html"><strong>Habari Web Components</strong></a> is a web application framework for small to medium size HTTP services, based on the popular open source TCP/IP library for Delphi and Free Pascal, Internet Direct (Indy). The new release brings many minor and major improvements. Here is a short overview:</p>
<ul>
<li>new: <strong>exception stack trace logging</strong>
<ul>
<li>exceptions during request execution (Service method) will be logged with stack trace and do not stop the application</li>
<li>the stack trace will also be shown as web page content</li>
<li>this feature requires <a href="http://madshi.net/">madExcept</a> (Delphi only)</li>
</ul>
</li>
<li>new: example class <strong>TdjNCSALogHandler</strong> implements the standardized NCSA log format</li>
<li>new: example project which shows how web resources can be protected using <strong>HTTP Basic</strong> Authentication, by adding a simple subclass of TdjHandlerWrapper to the request handler chain</li>
<li>changed: if an unhandled exception occurs during execution of a web components <strong>Service</strong> method, the HTTP response code will be set to <strong>500 Internal Server Error</strong></li>
<li>updated: demo applications updated to use <a href="http://jquery.com/">jQuery 1.9.1</a> and Twitter <a href="http://twitter.github.io/bootstrap/">Bootstrap 2.3.1</a></li>
<li>fixed: duplication of logger names in <a href="http://sourceforge.net/projects/log4d/">Log4D</a> trace level log messages</li>
<li>fixed: Ajax request statistics demo &#8211; fixed hang on some browser caused by caching of JSON responses</li>
<li>experimental code for RESTful applications has been removed</li>
<li>experimental code for WebSocket applications has been removed</li>
</ul>
<p><a href="http://mikejustin.files.wordpress.com/2012/02/habari200x200-e.png"><img class="aligncenter size-full wp-image-1839" alt="Habari Web Components" src="http://mikejustin.files.wordpress.com/2012/02/habari200x200-e.png?w=584"   /></a></p>
<h1><span id="more-2574"></span></h1>
<div id="attachment_2554" class="wp-caption aligncenter" style="width: 594px"><a href="http://mikejustin.files.wordpress.com/2013/04/stacktrace.png"><img class="size-full wp-image-2554" alt="Exception stack trace in logging output" src="http://mikejustin.files.wordpress.com/2013/04/stacktrace.png?w=584&#038;h=365" width="584" height="365" /></a><p class="wp-caption-text">Exception stack trace in logging output</p></div>
<h1>Spring Discount</h1>
<p>Single Developer Licenses for <a href="http://www.habarisoft.com/habari_webcomponents.html">Habari Web Components</a>, the easy to use web application framework for Delphi and Free Pascal, are now available with a 40 Euro discount. To receive this discount, please use coupon code &#8216;web40&#8242; in the order form.</p>
<p>Habari Web Components provide a simple framework for small web applications, which run embedded in an existing Delphi or Free Pascal application, or as a stand-alone HTTP server. If you like to see it in action, download and run the <a href="http://www.habarisoft.com/download/HabariWebComponentsDemo.zip">off-line demo applications</a>, try out the <a href="http://www.habariwebcomponents.de/demo/index.html">on-line demo</a> or install the <a href="https://play.google.com/store/apps/details?id=com.habarisoft.webcompdemo">demo client app for Android</a>. Need more information? Browse the <a href="http://www.habarisoft.com/habari_webcomponents/2.2/docs/api/">on-line API documentation</a>, or the comprehensive <a href="http://www.habarisoft.com/download/HabariWebComponentsGettingStarted.pdf">Getting Started document</a>.</p>
<h2>Quick facts</h2>
<ul>
<li>supports Delphi 2009 and Free Pascal 2.6.0 or newer with Internet Direct (Indy) 10.5.9</li>
<li>supports the open source logging framework Log4D</li>
<li>no external libraries (DLL), compiles into the executable</li>
<li>full source code included, with DUnit tests and example applications using Twitter Bootstrap and jQuery mobile</li>
<li>redistribution with your application does not require any additional fees</li>
<li>free minor and major updates for one year</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mikejustin.wordpress.com/2574/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mikejustin.wordpress.com/2574/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mikejustin.wordpress.com&#038;blog=4039726&#038;post=2574&#038;subd=mikejustin&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mikejustin.wordpress.com/2013/04/16/habari-web-components-2-3-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/e61f7549b13cc3bbd79bd67d3b693c55?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">mikejustin</media:title>
		</media:content>

		<media:content url="http://mikejustin.files.wordpress.com/2012/02/habari200x200-e.png" medium="image">
			<media:title type="html">Habari Web Components</media:title>
		</media:content>

		<media:content url="http://mikejustin.files.wordpress.com/2013/04/stacktrace.png" medium="image">
			<media:title type="html">Exception stack trace in logging output</media:title>
		</media:content>
	</item>
	</channel>
</rss>
