Dyna DataSet, or "dynamic dataset", is the concept of virtualizing physical dataset settings. That is, applications can treat a "Dyna DataSet" as a virtual dataset. The applications don't care the detail settings of that data set (or data source) -- they just use the result "Dyna DataSet" as a data source. If you have basic concepts of "Object Oriented Programming", you'll understand that "Dyna DataSet" makes an abstract dataset and provides applications the same interface to access different databases.
"Dyna DataSet" is useful because we need a flexible database connectivity in many cases. For example, people need to send e-mails to customers. However, different companies have different customer databases. So, an easy way to link different databases becomes important to write the e-mail sending program.
In our system, "Dyna DataSet" includes three parts:
A "Dyna DataSet" should be flexible/universal because you can't predict what kind of database people want to use. However, an omnicompetent database connectivity is unnecessary/impossible because we need to put all possible DB drivers into one software package. Our strategy is to:
The concept of "Dyna Form" is similar to the concept of "Dyna DataSet". A "Dyna Form" is a dynamical settings of a form layout and data source. In other words, "Dyna DataSet" defines an external data source only, "Dyna Form" defines an external "form layout plus data source".
For example, you want to send a purchase order to company A, and expect company A modifies/adds some fields, and then send it back to you. However, you can send just data to company A because it's very difficult to figure out the meaning of each data field. So, it's better if you and company A can have one program which provides a good user interface to edit/view the data. Sure, the editing program should be universal to handle most cases, then we can use just one program + many layout setting files instead of writing many different programs.
"Dyna Form" is the solution to the above requirements. You can treat "Dyna Form" as a resource file or layout setting file which defines the data and user interface. Currently, "Inter DB Editor" can only show a dyna form, you need to use "Delphi" or "BCB Builder" to design the form (save "*.dfm" in binary format). We are planning to write our own form designer to help people building their "Dyna Form". This tool will be included in our "eForm project".
What is DSS?
DSS (Data Source Stream) is a format designed for data exchange and backup, and it's ideal for relational databases -- the most popular database architecture. As you know, a relational database consists of one or many data tables (physical datasets), and we use queries/stored procedures to extract useful information form tables. A "dataset" is a logical record set whose data comes from a table or a query. A good data exchange engine should be able to extract/restore data from/to relational databases easily because most IT systems are using databases. DSS is good for data exchange and backup because it is designed for it. We don't think there is a universal solution which may solve any problem! The main features of DSS are:
The comparisons between DSS and XML
|It is a data representation language rather than a data format and is too flexible for a specific application.||It is not a data representation language but a flexible format. For example, you'll use JPEG files as the standard of photo image files, but you won't use "XML" because XML does not help the image compression/decompression and representation. If you use XML, it'll be an "XML" version of JPEG(not a new format).|
|It's an ASCII format to make it cross-platform. The conversion of some special characters and binary data costs resources. An XML file is too large for database backup purpose.||DSS is in binary format like JPEG for image. However, we do have an "XML" version "DSS" to make it easier to be processed.|
|Choosing XML as data exchange standard, you still need to define a standard format of XML (because XML is a language, not a format). The problem of "how to define the format" takes times. For example, the XML version of DSS is an XML file -- is it OK to people who want XML?||DSS doesn't need any standards. It assumes users are trying to exchange information from/to their database and files. The data exchange engine should be very adaptive and do most conversions.|
|A general purpose XML tool is still under developed. Even
we have one, our problems are not solved.
For example, I have many physical photos need to be digitalized and send to my friends. But I'm still waiting for the standard of "XML" to appear to solve my problem. Isn't it ridiculous?
What I should do is to buy a scanner, scan my photos into JPG/PNG/GIF/BMP and mail/ftp these files to my friend! Why should I wait for XML standard? XML is a flexible data representation language, but not the solution to everything!
|DSS is designed for the existing IT systems. Many utilities/components are developed for this format. Companies can solve their problems immediately. ¡@|