Another interesting performance benchmark post by Roberto Schneider, comparing Java and Delphi implementations:
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 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:
var vList : TList<TPerson>; begin vList := RestClient.Resource('http://localhost:8080/java-rest-server/rest/persons') .Accept(RestUtils.MediaType_Json) .Get<TList<TPerson>>();
The RabbitMQ team announced the release of RabbitMQ 3.1.0 – 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.
The developers encourage all users of earlier versions of RabbitMQ to upgrade to this latest release.
In his blog post “Changes in the Delphi language for ARM and mobile support“, Tim Anderson summarizes some of the biggest language changes in the “next generation” compiler for mobile development in RAD Studio XE4, based on the paper “The Delphi Language for Mobile Development“, which you can find here. The changes include limitation to only one string type (UTF16), zero-based strings, automatic reference counting and the announced deprecation of the with statement.
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, which also includes new fixes for Delphi 6 and Free Pascal 2.6
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. Here is a short overview:
- new: exception stack trace logging
- exceptions during request execution (Service method) will be logged with stack trace and do not stop the application
- the stack trace will also be shown as web page content
- this feature requires madExcept (Delphi only)
- new: example class TdjNCSALogHandler implements the standardized NCSA log format
- new: example project which shows how web resources can be protected using HTTP Basic Authentication, by adding a simple subclass of TdjHandlerWrapper to the request handler chain
- changed: if an unhandled exception occurs during execution of a web components Service method, the HTTP response code will be set to 500 Internal Server Error
- updated: demo applications updated to use jQuery 1.9.1 and Twitter Bootstrap 2.3.1
- fixed: duplication of logger names in Log4D trace level log messages
- fixed: Ajax request statistics demo – fixed hang on some browser caused by caching of JSON responses
- experimental code for RESTful applications has been removed
- experimental code for WebSocket applications has been removed
With the current release of Habari Client for HornetQ, Delphi and Free Pascal applications can send messages to a HornetQ message broker at a rate of more than 11000 to 12000 messages per second (less than 80 microseconds per message) – on very modest hardware and running the HornetQ server on the same system, even while receiving more than 1000 messages per second from the same broker.
The next release will introduce support for STOMP level 1.2 and the HornetQ 2.3.0 open source message broker.