Dataphor
Encyclopedia
Dataphor is an open-source truly relational database management system
Relational database management system
A relational database management system is a database management system that is based on the relational model as introduced by E. F. Codd. Most popular databases currently in use are based on the relational database model....

 (RDBMS) and its accompanying user interface technologies, which together are designed to provide highly declarative software application development. The Dataphor Server is a virtual, or federated, DBMS, meaning that it utilizes other database engines for storage.

Overview

The stated purpose of Dataphor is to attempt to raise the bar of automation when building and maintaining complex software applications. Originally referred to as a framework, Dataphor provides more of a software development platform, complete with its own programming and user interface paradigms.

Dataphor is broadly divided into two components: the Dataphor Server, and the Dataphor Frontend. The purpose of the Dataphor Server is to provide a standardized language and runtime for the definition, manipulation, and integrity of application data. The Frontend is concerned with the dynamic derivation of user interfaces and the presentation thereof in either the Windows or Web thin client.

Dataphor does not employ SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

 as its primary database language since SQL purportedly violates important principles of the relational model
Relational model
The relational model for database management is a database model based on first-order predicate logic, first formulated and proposed in 1969 by Edgar F...

. Dataphor's D4
D4 (programming language)
D4 is a computer language used in Dataphor, a relational database management system.-Syntax:Alphora, the creators of D4, have given it a Pascal like syntax...

 language is based on the principles of Christopher J Date's and Hugh Darwen
Hugh Darwen
Hugh Darwen is a computer scientist who was an employee of IBM United Kingdom from 1967 to 2004, and has been involved in the history of the relational model.- Work :...

's Tutorial D, but with a Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

-like imperative syntax.

Though Dataphor espouses to be truly relational, it does incorporate the concept of NULL
Null
-In computing:* Null , a special marker and keyword in SQL* Null character, the zero-valued ASCII character, also designated by NUL, often used as a terminator, separator or filler* Null device, a special computer file that discards all data written to it...

s as found in SQL, which many claim to be contraindicated by the Relational Model. NULLs and the matter of managing missing information, however, continue to be debated.

In addition to the data management focus of the Dataphor Server, Dataphor includes tools which allow the presentation of user interfaces through Windows and Web "thin" clients. Dataphor takes advantage of the relational inference capabilities of the Dataphor compiler in order to allow complete GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 forms to be derived directly from the data model. The unique aspect of Dataphor's user interface "derivation" is that it may be based on any relational expression (query) rather than merely base tables.

History

Dataphor was originally created as a commercial product by Alphora, a division of Point of sale
Point of sale
Point of sale or checkout is the location where a transaction occurs...

 systems developer Softwise Inc. It is said to be the first truly relational DBMS since IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 Business System 12
Business System 12
Business System 12, or simply BS12, was one of the first fully relational database management systems, designed and implemented by IBM's Bureau Service subsidiary at the company's international development centre in Uithoorn, Netherlands. Programming started in 1978 and the first version was...

. Development of Dataphor began shortly before 2000, with a 1.0 release in 2001.

In early 2008, the Alphora name and the Dataphor product were acquired by Database Consulting Group, which was founded by the original architects of Dataphor, who left Softwise in 2007. After the acquisition, Dataphor was re-licensed as open source under the BSD license.

Technology

Dataphor utilizes the Microsoft .NET Framework and is written entirely in C#. The following is a summary of the various technology components of Dataphor:

Dataphor Server

The Dataphor Server has several components including:
  • Call level interface - session management, process scheduler, etc.
  • Data Dictionary Catalog - containing all of the Tables, Views, Operators, Constraints, References, and other schema objects.
  • D4 Scanner, Parser, Emitter, and Compiler.
  • D4 Runtime - including relational, and scalar processing
  • Storage Integration layer - real-time translation to various dialects of SQL

Frontend Library

The Dataphor Frontend library provides for the delivery of dynamically derived, or pre-designed static forms. The library is exposed as a standard set of D4 functions (called operators in D4) such as Form('', '') and Derive('', '
'). The resulting forms are described in an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 dialect called a Dataphor Form Document (DFD). The form description is high-level, consisting of a general description of the user interface aspects as they apply independent of client platform.

Dataphoria IDE
Integrated development environment
An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

Dataphoria is a development environment for:
  • Editing D4
  • Ad-hoc execution of D4
  • Creating, Editing, and Customizing (inherited) forms
  • Managing libraries
  • Analyzing execution plans

Windows Client

The Dataphor Windows Client is a thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...

 in the sense that it is not pre-programmed for a particular application. The Windows client establishes a connection to a Dataphor Server, from which it (through D4) requests form definitions and coordinates the manipulation of application data. The DFD documents are interpreted into concrete Windows Forms
Windows Forms
Windows Forms is the name given to the graphical application programming interface included as a part of Microsoft .NET Framework, providing access to native Microsoft Windows interface elements by wrapping the extant Windows API in managed code...

 controls, but while maintaining the conceptual DOM
DOM
DOM may refer to:*D.O.M. , a restaurant in São Paulo, Brazil*Days on market, how many days since a piece of real estate was listed for sale*Deo optimo maximo, Latin for "to the Greatest and Best God", originally Jove, later the Christian God...

of the DFD.

Web Client

The Dataphor Web Client is a basic implementation of a Dataphor client, which is manifest as an ASP.NET web application. Like the Windows Client, the Web Client connects to and requests forms and data from and instance of the Dataphor Server. Rather than synchronizing a DFD to Windows controls, however, the Web Client renders HTML which is displayed in a browser. In this way, the Web "Client" is a client relative to the Dataphor Server, but a server relative to the end web browser.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK