Case Study: Data Broking System
Our Data Broking System was developed entirely using RemObjects SDK. The system is designed to 'translate' data stored in a multitude of proprietary third-party software packages into a common 'standard', made of a simple XML schema.
The broker consists of two parts: the 'engine', and its various 'drivers'. Each driver connects to an individual third-party application, sends the data back to the engine (using standard Delphi data access technologies - ADO being the most common one). The data gets translated into XML (structured as defined in our format), and then passed back to several client applications written to make use of the broker. This data is passed back from the broker to the client in two formats: as the XML packet, or as a series of objects. This way, our client appscan uses the most appropriate format for the job at hand.
This has only been possible because RemObjects SDK allows to define remote method parameters as simple data types or as objects with a complete hierarchy of properties.
The broker is 'hot-swappable', in that the users can have any number of different drivers installed on their systems, and the client application can hot-swap between them. All this because of the way RO clients connect to RO servers using either target URLs or ServerID's. Additionally, because of the unique architecture of Smart Services, each driver is actually an ISAPI server, a local DLL (for single-tier Win32 apps), an NT service, and a stand-alone EXE application server.
Using the same broking installation, our client applications can access a standard XML data format from any number of third-party software products, regardless of where they are located: on the same machine, on a network or over the Internet.
This solution, in our opinion, is very elegant, simple and effective. It is now just a matter of creating additional drivers, as the same xxx_INTF and .RODL files are shared between all of them, and the same xxx_IMPL file is shared between all server types of a particular driver (ISAPI, DLL, etc).
Compression and encryption have been transparently handled by RemObjects' built-in properties. Our brokered XML data can be kept 'closed' to our client applications and it can be 'opened' to third-party applications integration at our discretion.
Unbelievably, all this took us only a week to build! The reason being that RemObjects did all the hard work for us - the architecture, the data transport, the security, and the ability to create different server types using the same code base.
Ironically, we didn't even conceive this system until after we've purchased RemObjects. It seemed a natural application for it, and now it looks like the most lucrative software our company has ever produced!
© Mike Ryan — reprinted with kind permission.