How to deploy a ISAPI application on AWS Elastic Beanstalk

I’m working on a new infrastructure for a DataSnap server. I need some basic stuff, pretty straightforward in the most technologies, but not very common for delphi servers, like automated distributed deploys, load balancing, auto scaling, failover.

The AWS documentation says that Elastic Beanstalk only supports some technologies (Ruby, .NET, Java, Nodejs, etc), in fact, some languages, which is weird. However, the .NET support includes IIS applications. So, if we can generate a ISAPI DataSnap server, it will work.

Continue reading

Open source param manager for delphi

We recently released as open source a framework that was proprietary code. This is part of a program that is intended to turn parts of our code base in open source code. In fact, we now have an entire afternoon, every week, to work on open source projects, we are using this time to decouple and release some of our code.

This framework is a quite useful piece of code that basically manages all the params that we have in our systems. We call it Param Manager.

What I like the most is that with it I can completely forget about database schemas, dbx, datasets, and that kind of boring stuff. When I have to create or use a param I only have to add one unit in the uses clause and use a couple of simple methods.

Ok, maybe you have to worry about the database and stuff if you are starting to integrate the framework into your software, but thats it.

The framework work extremely well into ours software, but, we have just open source it, so, we are making some changes to make it easy for developers use it in their softwares.

The entire code, automated tests and documentation is on github, here.

I hope this framework can make your life easier, and maybe you can contribute to improve it.

DataSnap analysis based on Speed & Stability tests – XE4 to XE7

At this point, I suppose you may have read those two (part 1 and part 2) posts about DataSnap.

I have received many requests to redo the tests on new versions of Delphi. I think many are wondering if DataSnap has evolved over the past few years. Unfortunately, I no longer have the environment and the time to do it.

Fortunately, another Brazilian, Roberio Praciano decided to continue the work and redo the tests in a new environment with new versions of Delphi . Also using some new technologies that have emerged over this time.

Obviously we should not compare his results directly to mine, because the test environment is different.

You can check the results in the Roberio article here. The article is in PT-Br, so, probably you will have to use google translator (Not ideal, but it should be possible to analyze the results by the graphs).

SOAP and REST – Using GZip with Delphi client

I did some testing with delphi clients and a Java server. We are deciding between SOAP and REST. I’ve implemented client applications in Delphi using GZip. It is a very simple implementation and it brings a great result. The larger the volume of data, greater the difference using GZip compression. The bandwidth is also a factor that influences a lot.  Let’s see the implementations.

Continue reading

DataSnap analysis based on Speed & Stability tests – Part 2

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.

Continue reading

DataSnap analysis based on Speed & Stability tests


It’s not difficult to read and listen about the wonders of Embarcadero DataSnap technology around the world. I attended the Delphi Conference 2011 and 2012 in Sao Paulo, Brazil, after the release of versions of Delphi XE2 and XE3, and the words “performance” and “stability” are not spared when the subject is DataSnap. Apparently a perfect solution for companies that have invested their lives in Delphi and now need to reinvent themselves and offer web and mobile services. But does DataSnap really work on critical conditions?

Continue reading


Finally I took the time to write this blog. My objective is to share experiences about technology and especially software development.

I am relatively new in this business (software development). I started working with software on July 2007 as a trainee at Sysmo. Although short, this period has been based on a lot of research and professional growth. Currently I coordinate the technology team, which is responsible for the technological structure of Sysmo systems. In this position, especially in the last year, I have had many experiences that I would like to share and that’s what motivates this blog.

My knowledge and experience are based on Pascal / Delphi language, but as time passes I’m even more motivated to study new programming languages and paradigms to keep evolving. For now Delphi is the tool / language that I use professionally and therefore I keep studying and improving it.

Besides the challenge of writing this blog, I’m now assuming the challenge of writing in English. I am Brazilian and don’t completely dominate this idiom but I’ll try to write as best as I can. For a better text revision, I’ll have some help from my brother Mateus Schneiders and my friend Cesar Arnhold.