Data Access Manager
   HOME

TheInfoList



OR:

{{short description, Classic Mac OS API The Data Access Manager (DAM) was a
database In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
access
API An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standa ...
for the
classic Mac OS Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Macintosh family of personal computers by Apple Computer from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The ...
, introduced in 1991 as an extension to
System 7 System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Co ...
. Similar in concept to
ODBC In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
, DAM saw little use and was eventually dropped in the late 1990s. Only a handful of products ever used it, although it was used for some extremely impressive
demoware Shareware is a type of proprietary software that is initially shared by the owner for trial use at little or no cost. Often the software has limited functionality or incomplete documentation until the user sends payment to the software developer ...
in the early 1990s. More modern versions of the classic Mac OS, and
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
, use
ODBC In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
for this role instead.


Concepts

DAM and ODBC are similar in many ways. The primary purpose of both systems was to send "query strings" to a data provider, who would respond (potentially) with a "result set" consisting of rows of data. Both systems were expected to convert data to and from the system's respective formats, integers and strings for instance. Additionally, both provided a communications subsystem that hid the details of sending queries and data between the client and server. Like most Apple software, DAM attempted to make the query process as simple as possible for the users, both application users and programmers writing those applications. One particularly notable feature was the concept of "query documents". Query documents contained any number of pre-defined queries (or other server commands), along with optional code to modify them before being sent to the server. For instance, a typical query document might contain a query string that would log into the database server, and if that was successful, look up the current date from the local client machine using a Mac OS call, and then use that date in a query that returns inventory in a warehouse for a given date. Query documents could also include computer code and resources needed to support this process, for instance, a dialog box asking for the username and password. Applications could use query documents without having any idea of the internals of the query. They simply opened the document, which consisted of a series of
resources Resource refers to all the materials available in our environment which are technologically accessible, economically feasible and culturally sustainable and help us to satisfy our needs and wants. Resources can broadly be classified upon their a ...
, and ran each query resource inside in turn. The DAM would ensure that any needed code in the document would be run without the application even being aware of it, and eventually, results would be passed back to the application for display. The entire operation was opaque, allowing applications to add DAM support with ease. DAM also included two more direct API's, the High Level interface, and the Low Level interface. High Level was fairly similar to using query documents, although it was expected that the application would construct the queries in code rather than resources. The High Level interface is broadly similar to ODBC's public interface. Low Level allowed the programmer to intercede at any point in the query process, retrieving data line-by-line for instance. One major difference between DAM and ODBC came about largely by accident. Prior to the development of DAM, Apple had purchased a database middleware product they sold as the
Data Access Language Data Access Language for the Macintosh, or simply DAL, was a SQL-like language and application programming interface released by Apple Computer in 1990 to provide unified client/server access to database management systems. It was known for poor p ...
, or DAL. DAL was essentially a standardized SQL with translators for various databases that ran on the server side. Standards for SQL were extremely basic at the time, and relatively poorly supported, DAL addressed this by having a single language and converting to and from the other systems. Client software, including DAM, could send queries in DAL's standard language which would then be translated and executed regardless of the back-end database. In contrast, ODBC was developed from the start to be a SQL-based system, based on the standardized Call-Level Interface from
X/Open X/Open group (also known as the Open Group for Unix Systems and incorporated in 1987 as X/Open Company, Ltd.) was a consortium founded by several European UNIX systems manufacturers in 1984 to identify and promote open standards in the field of info ...
(now part of the
Open Group The Open Group is a global consortium that seeks to "enable the achievement of business objectives" by developing "open, vendor-neutral technology standards and certifications." It has over 840 member organizations and provides a number of servi ...
). Under OBDC, every data source was made to look like a SQL server. For serverless sources, such as text files, a local SQL parser would interpret the commands and read the file. Under ODBC, all data source drivers are expected to understand SQL and translate it to the local dialect if needed, as well as convert data into standard formats when it is returned. This difference made DAM much less useful than ODBC in practice. Since it was expected that DAL would be providing query standardization, DAM had no layer similar to ODBC's for translating different dialects. In order for DAM to be truly useful, the user also had to buy and install a DAL server for their particular database. DAL was generally known to be slow and expensive, seriously degrading DAM's overall value. Further, DAM did not standardize the language for accessing non-SQL data sources; an adaptor for a text file might use a non-SQL language, or a completely function-call based system instead. Nor were any simple interfaces for text files or similar data sources included with basic DAM installs.


Uses

One of the major clients for DAM was
HyperCard HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web. HyperCard combines a flat-file database with a graphical, fl ...
, Apple's data manager/
rapid application development Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
system. Combining HyperCard's excellent forms system with data from DAM resulted in something that no-one had ever seen before   data-driven GUI apps. The most common demo of the system showed a HyperCard stack querying a series of
Baskin-Robbins Baskin-Robbins is an American multinational chain of ice cream and cake speciality shops owned by Inspire Brands. Based in Canton, Massachusetts, Baskin-Robbins was founded in 1945 by Burt Baskin (1913–1967) and Irv Robbins (1917–2008) in ...
databases, formerly impossible because each regional area used their own database servers which DAL now combined into one. Reorders for more stock could be made by dragging a series of ice cream scoops on a graphical display of the current warehoused inventory. The system was so impressive that it made other database vendors scramble to provide similar systems;
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
immediately purchased PLUS from
Spinnaker Software Spinnaker Software was a software company founded in 1982John Case. ''Digital Future'', William Morrow : New York, N.Y. 1985. p. 122. known primarily for its line of non-curriculum based educational software, which was a major seller during the ...
, releasing it first as Oracle Card, and then
Oracle Media Objects {{Infobox Software , name = Oracle Media Objects (OMO) , screenshot = Oracle media objects.png , screenshot size = 250px , caption = OMO Screenshot , developer = Oracle , latest_release_version = 1.1.2 , latest_release_date = 1998 (last dat ...
. Other companies followed similar routes, and soon the event-driven database front-end was a standard feature of most systems. A number of other applications also used the system, perhaps ironically Microsoft's various Office products doing so with the most regularity. Other than that DAM support was fairly rare, and the product did not see widespread use. Perhaps much of this was due to the incomplete nature of the DAM system ''as a whole''; the need for DAL middleware in most cases, and the lack of low-cost query document builders (there were some expensive ones) made the overhead of using DAM quite high. Work on DAM ended in the mid-1990s, and disappeared entirely sometime before the release of
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
. A "classic" Mac OS version of ODBC was available for some time, although support was limited. Starting with the release of OS X 10.2 ''Jaguar'', Apple started distributing a version of the
iODBC iODBC is an open-source initiative managed by OpenLink Software. It is a platform-independent ODBC SDK and runtime offering that enables the development of ODBC-compliant applications and drivers outside the Windows platform. The prime goals of ...
cross-platform ODBC drivers. Starting with OS X 10.4 ''Tiger'' Apple has introduced a new and much "higher level" system known as
Core Data Core Data is an object graph and persistence framework provided by Apple in the macOS and iOS operating systems. It was introduced in Mac OS X 10.4 Tiger and iOS with iPhone SDK 3.0.Apple, "Core Data Tutorial for iPhone OS". It allows data orga ...
. Core Data allows developers to serialize data into
SQLite SQLite (, ) is a database engine written in the C programming language. It is not a standalone app; rather, it is a library that software developers embed in their apps. As such, it belongs to the family of embedded databases. It is the most ...
for processing, similar in concept to ODBC when used with a non-SQL data source.


External links


Data Access Manager
Macintosh operating systems development Classic Mac OS programming tools