데이터 액세스 관리자
Data Access ManagerDAM(Data Access Manager)은 시스템 7의 확장으로 1991년에 도입된 클래식 맥 OS용 데이터베이스 액세스 API였다.ODBC와 유사한 개념으로, DAM은 거의 쓸모가 없었고 결국 1990년대 후반에 떨어졌다.비록 그것이 1990년대 초반에 매우 인상적인 디모워에 사용되었지만, 소수의 제품만이 그것을 사용했다.고전적인 Mac OS 및 MacOS의 최신 버전은 대신 ODBC를 이 역할에 사용한다.
개념
DAM과 ODBC는 여러 면에서 비슷하다.두 시스템의 주요 목적은 데이터 공급자에게 "쿼리 문자열"을 보내는 것인데, 데이터 공급자는 데이터 행으로 구성된 "결과 집합"으로 응답(잠재적으로)할 것이다.예를 들어, 두 시스템 모두 시스템의 각각의 형식, 정수 및 문자열로 데이터를 변환할 것으로 예상되었다.또한, 둘 다 클라이언트와 서버 사이에 질의와 데이터를 전송하는 세부사항을 숨기는 통신 하위시스템을 제공했다.
대부분의 애플 소프트웨어와 마찬가지로, DAM은 어플리케이션 사용자들과 프로그래머들 모두 그 어플리케이션을 쓰는 사용자들을 위해 가능한 한 간단하게 질의 과정을 만들려고 시도했다.특히 주목할 만한 특징 중 하나는 "쿼리 문서"의 개념이었다.쿼리 문서에는 서버로 보내기 전에 수정하기 위한 선택적 코드와 함께 미리 정의된 쿼리(또는 다른 서버 명령어)가 얼마든지 포함되어 있었다.예를 들어, 일반적인 질의 문서는 데이터베이스 서버에 로그인하는 질의 문자열을 포함할 수 있으며, 성공적인 경우, Mac OS 호출을 사용하여 로컬 클라이언트 시스템에서 현재 날짜를 조회한 후 지정된 날짜 동안 창고에 있는 인벤토리를 반환하는 질의에서 해당 날짜를 사용하십시오.쿼리 문서에는 컴퓨터 코드와 이 프로세스를 지원하는 데 필요한 리소스(예: 사용자 이름과 암호를 묻는 대화 상자)도 포함될 수 있다.
응용프로그램은 질의의 내부를 전혀 알지 못한 채 질의 문서를 사용할 수 있다.그들은 단순히 일련의 자원으로 구성된 문서를 열고, 각각의 질의 자원을 차례로 안에서 실행했다.DAM은 문서에 필요한 코드를 인식하지 않고 실행할 수 있도록 보장하고, 결국 결과를 디스플레이 애플리케이션으로 다시 전달한다.전체 운영이 불투명해 응용 프로그램이 DAM 지원을 쉽게 추가할 수 있었다.
DAM은 또한 두 개의 직접 API, 즉 High Level 인터페이스와 Low Level 인터페이스를 더 포함했다.High Level은 응용프로그램이 자원이 아닌 코드로 쿼리를 구성할 것으로 예상되었지만 쿼리 문서를 사용하는 것과 상당히 유사했다.하이 레벨 인터페이스는 대체로 ODBC의 공공 인터페이스와 유사하다.Low Level은 프로그래머가 질의 프로세스의 어느 지점에서든 중재할 수 있게 해 주었고, 예를 들어 데이터를 한 줄씩 검색할 수 있게 했다.
DAM과 ODBC의 주요한 차이점은 대부분 우연히 나타났다.DAM의 개발에 앞서 애플은 데이터 액세스 언어(DATA Access Language)로 판매한 데이터베이스 미들웨어 제품을 구매한 바 있다.DAL은 본질적으로 서버 측에서 실행되는 다양한 데이터베이스에 대한 변환기가 있는 표준화된 SQL이었다.당시 SQL에 대한 표준은 극히 기초적이었으며 상대적으로 지원이 저조한 DAL은 단일 언어를 사용하고 다른 시스템으로 변환하여 이를 다루었다.DAM을 포함한 클라이언트 소프트웨어는 DAL의 표준 언어로 쿼리를 전송할 수 있으며, 이 쿼리는 백엔드 데이터베이스와 관계없이 변환 및 실행될 수 있다.
대조적으로, ODBC는 처음부터 SQL 기반 시스템으로 개발되었으며, X/Open(현재 Open Group의 일부)에서 표준화된 콜 레벨 인터페이스를 기반으로 한다.OBDC에서 모든 데이터 소스는 SQL 서버처럼 보이게 만들어졌다.텍스트 파일과 같은 서버가 없는 소스의 경우 로컬 SQL 파서가 명령을 해석하고 파일을 읽는다.ODBC에 따르면 모든 데이터 소스 드라이버는 SQL을 이해하고 필요할 경우 로컬 사투리로 변환할 뿐만 아니라 데이터가 반환될 때 표준 형식으로 변환할 것으로 예상된다.
이러한 차이는 DAM을 실제 ODBC보다 훨씬 덜 유용하게 만들었다.DAL이 질의 표준화를 제공할 것으로 예상되었기 때문에, DAM은 다른 방언의 번역을 위한 ODBC와 유사한 레이어가 없었다.DAM이 진정으로 유용하게 쓰이기 위해서는, 사용자도 DAL 서버를 구입하여 그들의 특정 데이터베이스를 위한 DAL 서버를 구입 후 DAL 서버를 설치해야 했다.DAL은 일반적으로 DAM의 전반적인 가치를 심각하게 떨어뜨리는 느리고 비싼 것으로 알려져 있었다.또한, DAM은 비 SQL 데이터 소스에 액세스하기 위한 언어를 표준화하지 않았다. 텍스트 파일의 어댑터는 비SQL 언어 또는 완전한 기능 호출 기반 시스템을 대신 사용할 수 있다.기본 DAM 설치에 포함된 텍스트 파일이나 유사한 데이터 소스에 대한 단순한 인터페이스도 포함되지 않았다.
사용하다
DAM의 주요 고객 중 하나는 애플의 데이터 관리자/신속한 애플리케이션 개발 시스템인 하이퍼카드였다.하이퍼카드의 우수한 폼 시스템과 DAM의 데이터를 결합한 결과, 데이터 중심 GUI 앱 이전에는 누구도 볼 수 없었던 것이 탄생했다.이 시스템의 가장 일반적인 데모에서는 일련의 Baskin-Robbins 데이터베이스를 쿼리하는 HyperCard 스택을 보여주었는데, 이전에는 각 지역 영역이 현재 DAL이 하나로 결합한 자체 데이터베이스 서버를 사용했기 때문에 불가능했다.현재 입고된 재고의 그래픽 디스플레이에 일련의 아이스크림 스쿠프를 끌어서 재주문을 할 수 있다.
이 시스템은 매우 인상적이어서 다른 데이터베이스 벤더들도 유사한 시스템을 제공하기 위해 분투하게 만들었다; 오라클 Corporation은 즉시 Spinnaker Software로부터 PLUS를 구입하여 Oracle Card로 먼저 출시한 다음 Oracle Media Objects로 출시했다.다른 회사들도 비슷한 경로를 따랐고, 곧 이벤트 중심의 데이터베이스 프런트엔드가 대부분의 시스템의 표준 기능이 되었다.
많은 다른 어플리케이션들도 이 시스템을 사용했는데, 아이러니하게도 마이크로소프트의 다양한 오피스 제품들이 가장 규칙적으로 그렇게 하고 있다.그 외 DAM 지원은 상당히 드물었고, 그 제품은 널리 쓰이지 않았다.아마도 이것의 대부분은 DAM 시스템 전체의 불완전한 특성 때문이었을 것이다; 대부분의 경우 DAL 미들웨어의 필요성, 그리고 저비용 질의 문서 구축업체의 부족(일부 비싼 것들이 있었다)은 DAM을 사용하는 데 드는 간접비를 상당히 높게 만들었다.
DAM에 대한 작업은 1990년대 중반에 끝났고, 맥 OS X가 출시되기 전에 완전히 사라졌다. 지원이 제한적이었지만, 얼마 동안 ODBC의 "클래식" 맥 OS 버전을 이용할 수 있었다.애플은 OS X 10.2 재규어 출시를 시작으로 iODBC 크로스 플랫폼 ODBC 드라이버 버전을 배포하기 시작했다.OS X 10.4를 시작으로 타이거 애플은 코어 데이터라고 알려진 새롭고 많은 "더 높은 레벨" 시스템을 도입했다.코어 데이터는 개발자가 처리를 위해 SQLite로 데이터를 직렬화할 수 있도록 하며, 비 SQL 데이터 소스와 함께 사용할 경우 ODBC와 개념도 유사하다.