A directory of data access products for Delphi

Multi-Tier Development Products

This list used to be known as the MIDAS Alternatives Guide; the Borland MIDAS features have since been renamed DataSnap.

Multi-tier database development has become the dominant paradigm for large-scale “enterprise” applications, and is reasonably popular for smaller-scale applications as well. The following is a list of products for doing multi-tier DB development in Delphi, including the tools in the Delphi box.

Multi-tier / 3-tier / thin client database development can be loosely defined as some variation of this scenario:

  • A client program (either an EXE or a web browser) communicates with an “applications server”, which in turn communicates with one or more database servers.

  • The application server can be an off-the-shelf product, or custom software. It could either pass the communications through essentially unchanged (acting as a multiplexer and protocol translator), or it could also apply business rules. The application server might be the primary executable (The J2EE model), or it might be compiled in to a project you create.

  • The communications could be in the form of SQL statements, or some more abstract data representation. The client program does not need to have drivers for the specific database server(s) being used, since it communicates with the applications server, not the database server(s) directly.

Now, the list:

  • DataSnap: Inprise’s Multi-tier Distributed Application Services

  • ASTA - “Wireless WebServices” (also very useful for non-web, non-wireless applications). I’ve used ASTA extensively.

  • Microsoft’s ADO/RDS multi-tier / thin client technology: Most of the ADO components listed in this site, as well as ADOExpress (in the Delphi box) support Microsoft’s RDS technology, though that technology seems to be going by the wayside, as the .NET implementation of the same ideas is much better.

  • MIDware is a starting point for multi-tier application development. It is freeware for noncommercial use.

  • Remote Data Access Library for Delphi

  • RemObjects - more information coming soon, I’ve been using RemObjects for a project recently.