Кіріспе
Classic Mac OS API
Деректерге қол жеткізу менеджері (DAM) – 1991 жылы System 7 кеңейтуі ретінде ұсынылған, классикалық Mac OS жүйесі үшін деректер қорына қол жеткізу API. ODBC-ге ұқсас DAM аз қолданылды және 1990 жылдардың соңында тоқтатылды. Оны тек бірнеше өнім қолданған, бірақ 1990 жылдардың басында ол өте әсерлі демонстрациялық бағдарламалар жасау үшін пайдаланылды. Классикалық Mac OS және macOS-тің жаңа нұсқалары осы мақсатта ODBC-ді пайдаланады.
The Data Access Manager (DAM) was a database access API for the classic Mac OS, introduced in 1991 as an extension to System 7. Similar in concept to ODBC, 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 in the early 1990s. More modern versions of the classic Mac OS, and macOS, use ODBC for this role instead.
Тұжырымдамалар
DAM және ODBC көптеген жағынан ұқсас. Екі жүйенің де негізгі мақсаты – деректерді жеткізушіге «сұрау жолдары» жіберу, ол (мүмкін) деректердің қатарларынан тұратын «нәтижелер жиынтығымен» жауап береді. Екі жүйе де деректерді жүйелердің тиісті пішімдеріне, мысалы, бүтін сандар мен жолдарға аударуды күтеді. Сонымен қатар, екеуі де клиенттер мен серверлер арасындағы сұрауларды және деректерді жіберудің егжей-тегжейін жасыратын байланыс жүйесін ұсынды. Apple бағдарламалық жасақтамаларының көпшілігі сияқты, DAM пайдаланушылар үшін сұрау процесін мүмкіндігінше қарапайым етуге тырысты, бұл қолданбаларды пайдаланушылар мен осы қолданбаларды жазатын бағдарламалаушылар үшін де осылай болды. Бір ерекше ерекшелігі – «сұрау құжаттары» тұжырымы. Сұрау құжаттарында серверге жіберілгенге дейін оларды өзгерту үшін қосымша кодпен бірге алдын ала анықталған сұраулардың (немесе басқа серверлік командалардың) кез келген саны болуы мүмкін. Мысалы, әдеттегі сұрау құжатында деректер базасы серверіне кіруге арналған сұрау жолы болуы мүмкін, және егер ол сәтті аяқталса, Mac OS шақыруын пайдаланып жергілікті клиенттік машинадан ағымдағы күнді анықтап, содан кейін сол күнді берілген күндік қоймадағы тауар тізімін қайтаратын сұрау үшін пайдалануға болады. Сұрау құжаттарына осы процесті қолдау үшін қажетті компьютерлік код пен ресурстар, мысалы, пайдаланушы атын және құпия сөзді сұрайтын әңгіме терезесі де кіруі мүмкін. Қолданбалар сұраудың ішкі құрылымын білмей-ақ сұрау құжаттарын пайдалана алады. Олар тек ресурстардан тұратын құжатты ашып, әр сұрау ресурсын кезекпен орындайды. DAM құжаттағы қажетті кодтың қолданбаның білмеуінен орындалуын қамтамасыз етеді, содан кейін нәтижелер қолданбаға көрсету үшін қайтарылады. Бүкіл операция жасырын болды, бұл қолданбаларға DAM қолдауын оңай қосуға мүмкіндік берді. DAM сонымен қатар екі тікелей API-ді де қамтыды: жоғары деңгейлі интерфейс және төменгі деңгейлі интерфейс. Жоғары деңгейлі интерфейс сұрау құжаттарын пайдалануға өте ұқсас, бірақ қолданба сұрауларды ресурстардың орнына кодта құрастырады деп күтілді. Жоғары деңгейлі интерфейс негізінен ODBC-нің ашық интерфейсіне ұқсас. Төменгі деңгейлі интерфейс бағдарламалаушыға сұрау процесінің кез келген нүктесінде араласуға мүмкіндік береді, мысалы, деректерді жол бойынша жолмен алуға болады. DAM мен ODBC арасындағы бір маңызды айырмашылық көбінесе кездейсоқ жағдайда туындады. DAM-ді әзірлеуге дейін Apple деректер базасының орталық бағдарламалық жасақтамасын сатып алып, оны Data Access Language (DAL) деп сатты. DAL негізінен серверлік жағында жұмыс істейтін әртүрлі деректер базаларына арналған аудармашылары бар стандартталған SQL болды. SQL стандарттары сол кезде өте қарапайым болды және жеткілікті қолдау көрсетілмеді, DAL бұл мәселені бір тілді пайдаланып және басқа жүйелерге және олардан аударту арқылы шешті. Клиенттік бағдарламалық қамтамасыз ету, соның ішінде DAM, DAL стандартты тілінде сұрауларды жібере алады, олар кейін аудармаға алынып, артқы деректер базасына қарамастан орындалады. Керісінше, ODBC бастапқыда X/Open (қазір Open Group құрамында) стандартталған Call Level Interface негізінде SQL негізделген жүйе ретінде әзірленді. ODBC бойынша әрбір дерек көзі SQL сервері сияқты көрінеді. Серверсіз дерек көздері үшін, мысалы, мәтіндік файлдар үшін, жергілікті SQL талдаушысы командаларды түсіндіріп, файлды оқиды. ODBC аясында барлық дерек көзі драйверлері SQL-ді түсінуі және қажет болған жағдайда оны жергілікті диалектке аударуы, сондай-ақ деректерді стандартты форматқа қайтаруы керек. Бұл айырмашылық DAM-ді практикада ODBC-ге қарағанда әлдеқайда аз пайдалы етті. DAL сұрауларды стандарттауды қамтамасыз етеді деп күтілгендіктен, DAM-де ODBC-ге ұқсас әртүрлі диалекттерді аудару үшін қабат болған жоқ. DAM-нің шынымен пайдалы болуы үшін пайдаланушы өзінің жеке деректер базасы үшін DAL серверін сатып алып, орнатуы керек еді. DAL жалпы алғанда баяу және қымбат екендігі белгілі болды, бұл DAM-нің жалпы құнын төмендетті. Сонымен қатар, DAM SQL емес дерек көздеріне қол жеткізу үшін тілді стандарттаған жоқ; мәтіндік файлға арналған адаптер SQL емес тілді немесе толық функцияны шақыру жүйесіне негізделген жүйені пайдалануы мүмкін. Сондай-ақ, DAM-нің негізгі орнатуларына мәтіндік файлдар немесе ұқсас дерек көздері үшін қарапайым интерфейстер енгізілген жоқ.
Қолданылуы
DAM-нің негізгі клиенттерінің бірі Apple-дің деректерді басқару және жылдам қолданбаларды әзірлеу жүйесі HyperCard болды. HyperCard-тың тамаша формалар жүйесін DAM деректерімен үйлестіру нәтижесінде деректермен басқарылатын GUI қолданбалары пайда болды – мұндай нәрсе бұрын көрілмеген. Жүйенің ең көп таралған демонстрациясы Baskin Robbins дерекқорына сұраныс жіберетін HyperCard стегін көрсетті, бұл бұрын мүмкін емес еді, себебі әр аймақтық бөлім өз дерекқоры серверлерін пайдаланды, енді DAL оларды біріктірді. Қоймадағы тауардың ағымдағы жағдайын көрсететін графикалық дисплейде мұздықтың бірнеше түрлерін сүйреп, қосымша тауарға тапсырыс беруге болады. Жүйе соншалықты әсерлі болды, басқа дерекқоры жеткізушілері де осыған ұқсас жүйелерді ұсынуға тырысты; Oracle Corporation дереу Spinnaker Software-ден PLUS сатып алып, оны алдымен Oracle Card, содан кейін Oracle Media Objects ретінде шығарды. Басқа компаниялар да осы жолмен жүрді, көп ұзамай оқиғаларға негізделген дерекқоры интерфейсі көптеген жүйелердің стандартты мүмкіндігіне айналды. Осы жүйені тағы да бірқатар қолданбалар пайдаланды, мүмкін, Microsoft-тың Office өнімдері ең жиі қолданды. Басқа жағдайларда DAM қолдауы өте сирек болды және өнім кеңінен таралған жоқ. Бұл, әдетте, DAM жүйесінің толыққанды болмауына байланысты болды; көп жағдайда DAL аралық бағдарламасын қажет етуі және төмен құнмен сұраныс құжаттарын құрастырушылардың жетіспеуі (бірнеше қымбаттары болды) DAM-ді пайдаланудың құнын жоғарылатты. DAM бойынша жұмыс 1990 жылдардың ортасында аяқталды және Mac OS X шығарылғанға дейін толығымен тоқтатылды. Біраз уақыт бойы ODBC-нің «классикалық» Mac OS нұсқасы қолжетімді болды, бірақ қолдауы шектеулі болды. OS X 10.2 Jaguar нұсқасынан бастап Apple iODBC кросс-платформалық ODBC драйверлерінің нұсқасын таратуды бастады. OS X 10.4 Tiger нұсқасынан бастап Apple Core Data деп аталатын жаңа және «жоғары деңгейдегі» жүйені енгізді. Core Data әзірлеушілерге деректерді SQLite-ке өңдеу үшін сериалдауға мүмкіндік береді, бұл SQL емес дерек көзімен қолданылған кезде ODBC-ге ұқсас.