ObjectSight provides a runtime library and code generator to enable the creation of business objects within the Delphi environment, and to easily manage database persistence. It completely eliminates the need for numerous TQuery and TUpdateSQL components embedded with SQL for reading and writing data to the database. ObjectSight objects provide all the features associated with true object development - encapsulation to hide complex operations relevant to the object, and inheritance to re-use existing definitions and code.

ObjectSight business objects... 

  1. are bound to one or more database tables with complete persistence
  2. automatically manage relationships to other business objects and datasets
  3. support database transactions
  4. automatically bind to visual controls
  5. are completely extendable and inheritable
  6. are generated within minutes using the Class Generator
  7. support BDE, ADO and several non-BDE database connections
  8. completely hide ALL SQL operations
  9. available within Web Server applications


ObjectSight is utilized at almost every step of the code development process. The Class Generator provides the means to import table and column definitions, and generate the pre-requisite class definitions. The class definitions can then be customized before or after file generation to enhance the intelligence of your objects. Once the new classes are then compiled within design time packages, you simply drop the components onto application forms and datamodules for use. A complete suite of visual components (i.e. TosEdit, TosComboLookup), including a powerful grid component are available that bind directly to your application objects.
  1. DB Library
  2. Controls Library
  3. Class Generator
  4. Samples

DB Library

The DB library package is the main runtime library that contains the base classes from which all application objects are derived from. The TosDbRecord class contains all of the relevant methods to invisibly perform the necessary data SQL commands such as SELECT, INSERT, UPDATE and DELETE. The TosDataSet class is a set of TosDbRecords, and allows loading of numerous records from one or more database tables.  

The following diagram provides an architectural overview of the ObjectSight components and how application classes and application code interact with the provided library. The DB Library encompasses all of the required classes that application objects are derived from.

 

Controls Library

ObjectSight provides a suite of visual controls to bind to generated application components. Their behavior is identical to typical Delphi db visual components - no code is required to either display data from the designated field or to populate the object with any changes performed. 

The library contains the basic controls such as TosLabel, TosEdit, TosCheckBox, TosRadioGroup, TosListBox, TosComboBox, TosLookupListBox, TosLookupComboBox. In addition, it also contains two powerful grid controls TosDbGrid and Tos2dDbGrid.

The TosDbGrid is derived from the TopGrid component - recently acquired by ObjectSight. It has been enhanced to allow direct binding to a TosDataSet with persistent grid behaviors and column layouts stored in the database. It has incredibly powerful features such as runtime user settings, embedded grid editor, printing, sorting and record grouping. 

The Tos2dDbGrid is a 2 dimensional grid allowing the creation of complex grids where each cell represents a record in the dataset. With it, developers can create grids such as time entry grids and pricing grids in minutes instead of days (e.g. Time record by date (column) and task (rows)). 

The TosInfoCache component is a powerful component that allows caching of datasets, and thereby greatly improves application performance. When a method of one or more application objects need to reference another object frequently - they can either create the object and load the data from the database OR simply reference the cache and get immediate results. It is most commonly used to cache type and state tables used within an application. 

 

Class Generator

The ObjectSight Class Generator is just that - a tool that creates an application object with perfect code in minutes instead of hours. All application classes are derived from TosDbRecord and TosDataSet, and have a specific layout for attributes, properties and accessing child classes. Take the online tour.

With the Generator, all of the required classes for a typical 20 table database can be created within 30 minutes. The resulting class definition files may reach 3000 lines of code - without the generator, this effort would be tedious and incredibly time consuming.

Typically the process will take longer to allow the developer to customize each class to include additional methods. In addition, the generator allows you to define relationships with other defined classes including cardinality. All of the pre-requisite methods to load, add to and remove from these classes is generated for you (e.g. Customer Class with two child classes Customer Type (single) and Contacts (many)). 

A sample set of generated files is available to review the structure of the generated code.

ObjectSight provides an Interbase database to act as the repository for all generated classes and customizations.


Samples

To help with the learning curve associated with using ObjectSight, we have included numerous code and application samples. These will help your developers to become effective object-oriented developers quickly.

It is important to note that many organizations will need to not just train staff on the tool, but also object-oriented principles and design methods.