|
Rinse is to Delphi as RMI is to Java -- in other words, Rinse is a remote method
call architecture (similar to DCOM, SOAP, CORBA, etc.) that is
specifically designed to work with Delphi's type system. The most
frustrating thing about using other distributed application frameworks is
that they require you to "dumb down" your interfaces. You cannot take advantage
of the rich type system offered by Delphi. This has many negative implications
on software development.
With Rinse, you can develop distributed applications that make full use of
Delphi's type system. You can use objects (via interfaces), arrays (static,
dynamic, and open), sets, enumerations, sub-ranges, records, and variants
(including variant arrays) in your distributed applications. Rinse offers
a host of other features -- for more information, see the
Rinse Feature List.
Rinse offers superior code reuse, because Rinse services can be used by any
of the following types of consumers: 2-tier applications, 3-tier clients,
3-tier servers, and web applications. Furthermore, Rinse services use the
ideal parameter types for the task at hand.
Rinse has already been used to build a dozen production applications -- including
this very website! We defined a handful of Rinse services to take care of the
database access, credit card processing, etc. This keeps the web pages
(DSP pages) clean, and isolates the business logic from the presentation.
Down the road, we could easily split these into two separate physical tiers,
but for now they both reside in a single process (the web server application).
You can learn more about Rinse online in the following documents,
which are also included in the trial and full versions.
- The Rinse Tutorial is a good
step-by-step introduction to programming in Rinse. Each step builds
on previous steps, to create fully functional client and server projects
that illustrate the functionality of Rinse.
- The Rinse Introduction
is a good reference guide that discusses the various features of
Rinse. It is more detailed than the Rinse Tutorial, but does not
provide any examples of complete Rinse projects.
Dimeric Server Pages (DSP)
Dimeric Server Pages combine the convenience and flexibility of web development
tools such as ASP and JSP, with the speed and robustness of Delphi. DSP allows
you to build web pages that contain embedded Delphi code. This code is
not interpreted -- it is compiled. There
are many advantages to this approach, including
- Strong Typing - Take advantage of Delphi's type system, to find
errors at compile-time instead of run-time.
- Native Code - DSP applications are compiled by Delphi, so they
enjoy the same performance as other Delphi applications.
- Leverage Existing Code - Build your web application using any Delphi
code units at your disposal, including reusable business logic you may
have from other projects, or even third-party libraries.
- Integrated Debugging - Use Delphi's debugger, including breakpoints,
exceptions, call stack, single-stepping, etc., to debug your DSP
applications.
- Mix Code and HTML - The overall philosophy of DSP, as with ASP and
JSP, is to have a single web page that mixes code and HTML. This is
easier to develop and maintain than other approaches to web development.
For more information, see the DSP Home Page.
To download a trail version of DSP now, or to purchase the full product,
go to the Downloads page.
Virtual Database Library (VDB)
VDB is an abstract database access library for Delphi
versions 5, 6 and 7. Of course, Delphi already comes with four database
libraries: BDE, IBX, dbGo, and dbExpress. There are also third-pary database
libraries (e.g. Advantage Database, DBISAM, Flash Filer, etc). VDB is not a
replacement for these -- rather it is an abstraction for them.
With VDB, you can develop Delphi applications that do not depend on any specific
database access library. Therefore, you can easily switch from one library to
another -- even without recompiling! VDB has many other great features,
including:
- VDB is more streamlined and object-oriented than the component-based
libraries.
- VDB is interface-based, for simplified memory-management.
- VDB implements connection pooling, which is ideal for multi-threaded
server applications
- VDB offers automatic adaptive query preparing and caching, which
takes the guesswork out of preparing queries (and also makes prepared queries
usable with connection pooling).
For more information, see the VDB Home Page.
To download a trail version of VDB now, or to purchase the full product,
go to the Downloads page.
Dimeric Software Utilities (DSUtil)
DSUtil is a general-purpose utility library that comes with VDB, but can be
used without VDB (especially in non-database applications).
DSUtil includes such highlights as:
- String Manipulation
- Sorting and Searching
- Streams and Persistence
- Expression Parser and Evaluator
- List Containers
- Map and Set Containers
- TCP/IP Sockets
- HTML Content Parsing and Manipulation
- Web Server Framework
- Web Server Plug-In Architecture
- Checksum Algorithms (CRC, MD4, Adler)
- And Much More...
For more information, see the DSUtil Home Page.
To download a trail version of VDB (including DSUtil) now, or to purchase the
full product, go to the Downloads page.
|