Файл: Отчет по практике Разработка приложений архитектуры клиентсервер при помощи sql.docx
Добавлен: 04.12.2023
Просмотров: 84
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Для исключения указанных и некоторых других недостатков была предложена технология «Клиент-Сервер», по которой запросы пользовательских ЭВМ (Клиент) обрабатываются на специальных серверах баз данных (Сервер), а на ЭВМ возвращаются лишь результаты обработки запроса. При этом, естественно, нужен единый язык общения с Сервером и в качестве такого языка выбран SQL. Поэтому все современные версии профессиональных реляционных СУБД (DB2, Oracle, Ingres, Informix, Sybase, Progress, Rdb) и даже нереляционных СУБД (например, Adabas) используют технологию «Клиент-Сервер» и язык SQL. К тому же приходят разработчики СУБД персональных ЭВМ, многие из которых уже сегодня снабжены языком SQL.
Бытует мнение: Поскольку большая часть запросов формулируется на SQL, практически безразлично, что это за СУБД — был бы SQL.
Реализация в SQLконцепции операций, ориентированных на табличное представление данных, позволило создать компактный язык с небольшим (менее 30) набором предложений. SQLможет использоваться как интерактивный (для выполнения запросов) и как встроенный (для построения прикладных программ).
Ориентированный на работу с таблицами SQLне имеет достаточных средств для создания сложных прикладных программ. Поэтому в разных СУБД он либо используется вместе с языками программирования высокого уровня (например, такими как Си или Паскаль), либо включен в состав команд специально разработанного языка СУБД (язык систем dBASE, R:BASEи т.п.).
2.3 Организация взаимодействия клиент-сервер при помощи SQL
При использовании технологии клиент-сервер приложение разделяется на две части. Клиентская часть обеспечивает удобный графический интерфейс и размещается на компьютере пользователя. Серверная часть осуществляет управление данными, разделение информации, администрирование и обеспечивает безопасность информации. Клиентское приложение формирует запросы к серверу базы данных, на котором выполняются соответствующие команды. Результаты выполнения запросов пересылаются клиенту.
При разработке распределенных информационных систем в организации взаимодействия клиентской и серверной части выделяются следующие важные в практическом смысле задачи:
Перенос персональной базы данных на сервер для последующего ее коллективного использования как корпоративной базы данных;
Организация запросов к корпоративной базе данных, размещенной на сервере, со стороны компьютера-клиента;
Разработка клиентского приложения для удаленного доступа к корпоративной базе данных со стороны компьютера- клиента.
Задача переноса персональной базы на сервер может возникать в ситуациях, когда требуется обеспечить коллективный доступ к базе данных, разработанной с помощью персональной СУБД (FoxPro, Access). Для решения этой задачи, в составе названных персональных СУБД имеются соответствующие средства, предназначенные для преобразования баз данных в формат SQL.
Подготовка запросов к базе данных на сервере (на языке SQL) со стороны клиентской части может выполняться с помощью специально предназначенной утилиты. Для предоставления пользователю больших возможностей и удобства в подготовке и выполнении запросов создаются клиентские приложения.
Для организации запросов к серверной базе данных на языке SQLили с помощью клиентского приложения возможны различные способы взаимодействия, заметно влияющие на эффективность. К числу основных способов такого взаимодействия относятся:
Интерфейс DB-LIB (библиотек баз данных);
Технологии ODBC (совместимости открытых баз данных);
Интерфейса OLE DB (связывания и встраивания объектов баз данных);
Технологии DAO (объектов доступа к данным);
Технологии ADO (объектов данных).
Интерфейс DB-LIBпредставляет собой специально предназначенный для SQLинтерфейс прикладных программ. Поэтому он является наименее мобильным из числа рассматриваемых в смысле возможностей переноса приложений в другую среду. С точки зрения производительности этот способ позволяет осуществить самый быстрый доступ к информации. Причиной этого является то, что он представляет оптимизированный интерфейс прикладного программирования и непосредственно использует язык запросов системы SQL.
Технологии ODBCпредназначены для обеспечения возможности взаимосвязи между различными СУБД и получения от приложения запросов на выборку информации, перевод их на язык ядра адресуемой базы данных для доступа хранимой в ней информации.
Основное назначение ODBCсостоит в абстрагировании приложения от особенностей ядра серверной базы данных, с которой оно осуществляет взаимодействие, поэтому серверная база данных становится как бы прозрачной для любого клиентского приложения.
Достоинством этой технологии является простота разработки приложений, обусловленная высоким уровнем абстрактности интерфейса доступа к данным практически любых существующих типов СУБД. Используя эту технологию, можно создавать клиент-серверные приложения, причем средствами персональных СУБД целесообразно разрабатывать клиентскую часть приложения, а средствами SQL— серверную часть.
Основной недостаток технологии ODBCсвязан с необходимостью трансляции запросов, что снижает скорость доступа к данным. В системах клиент-сервер этот недостаток устраняется путем перемещения запроса с компьютера-клиента на компьютер-сервер. При этом устраняются промежуточные звенья, являющиеся основной причиной снижения скорости обработки информации с использованием средств рассматриваемой технологии.
При использовании в клиентском приложении средств ODBCосуществляется обращение к определенному источнику данных, а через него — к СУБД, которую он представляет. При установке средств ODBC устанавливается общая подсистема ODBCи определяются пары «драйвер-база данных», которым задаются имена, используемые при установке соединения с. базой данных. Соответствующие пары называются поименованными источниками данных.
Каждый поименованный источник данных описывает собственно источник данных и информацию о доступе к этим данным. В качестве данных могут выступать базы данных, электронные таблицы и текстовые файлы. Информация о доступе, например, к серверу баз данных, обычно включает в себя сведения о размещении сервера, имя базы данных, идентификатор учетной записи и пароль, а также различные параметры драйвера, описывающие как устанавливать соединение с источником данных.
При обработке данных на сервере с использованием технологии ODBCи применением клиентского приложения выделяются два основных этапа: задание источника данных — создание и настройка соединения, а также собственно обработка данных с помощью запросов.
Интерфейс OLEDBрекомендуется использовать для создания средств и утилит, или разработок системного уровня, нуждающихся в высокой производительности или доступе к SQLсвойствам, недоступные с помощью технологии ADO. Основные возможности спецификации OLEDBобеспечивают полную функциональность доступа к данным. В SQLпроцессор баз данных сервера использует это интерфейс для связи: между внутренними компонентами, таким как процессор хранения и процессор отношений; между установками SQLпри использовании удаленных хранимых процедур; как интерфейс к другим источникам данных для распределенных запросов.
При использовании технологии ОАО работа с базами данных, таблицами ведется с использованием коллекций объектов. При этом обеспечиваются большие удобства в работе с объектами баз данных.
В настоящее время технология ОАО постепенно вытесняется технологией ADO, которая позволяет разрабатывать приложения Webдля работы с базами данных. В целом технологию ADOможно охарактеризовать как наиболее современную технологию разработки приложений для работы с распределенными базами технологии клиент-сервер.
продолжение
--PAGE_BREAK--
2.4 Среды программирования на языке SQL
На сегодняшний день известно более двух десятков серверных СУБД, однако наиболее популярными, исходя из числа продаж и инсталляций, следует признать Oracle, MicrosoftSQLServer.
Oracleбыла первой коммерческой реляционной СУБД, поддерживающей ставший ныне индустриальным стандартом язык SQL; ее первая версия появилась в 1979 году. Фактически все это время Oracleявляется бессменным лидером на рынке производителей коммерческих СУБД и второй (после Microsoft) по величине компанией, производящей программное обеспечение.
Ранние версии этой СУБД были предназначены для мэйнфреймов, а в качестве рабочих мест использовались <неинтеллектуальные> терминалы. Однако со временем появились версии Oracle, предназначенные для использования в архитектуре <клиент-сервер> (первой такой версией была Oracle5, выпущенная в 1985 году). Первоначально эти версии были предназначены для различных серверных платформ — различных версий UNIX, VMSи др. Позже были выпущены версии сервера Oracleдля NovellNetWare. Первые версии этого сервера для персональных компьютеров появились в середине 90-х (PersonalOracle7 forWindows3.1, PersonalOracle7 forWindows95, PersonalOracleLite, OracleWorkgroupServer7 forWindowsNT). До появления этих версий персональные компьютеры могли использоваться исключительно в качестве клиентских рабочих станций — в состав Oracleдля серверных платформ обычно входила клиентская часть для DOS.
Отметим, что Oracleбыла первой компанией, создавшей СУБД, использовавшую предоставляемые некоторыми серверными платформами средства параллельных вычислений — OracleParallelServer(до его появления параллельные вычисления использовались только для решения научных задач). При использовании параллельных вычислений OracleParallelServerдает возможность нескольким процессорам обращаться к одной базе данных, что позволяет обеспечить высокую скорость обработки транзакций, а более поздние его версии дают возможность осуществить декомпозицию операций с большими объемами данных с целью параллельного выполнения их на нескольких процессорах.
Помимо различных версий сервера баз данных среди продуктов Oracleимеется также Designer/2000 — ориентированное на эту СУБД CASE-средство для анализа бизнес-процессов и проектирования данных, а также средства разработки клиентских приложений. Одно из них — Developer/2000 (называвшееся ранее Oracle*Forms) — весьма популярно среди пользователей Oracle; были и другие средства разработки (например, OraclePowerObjects). Отметим, что приложения, созданные с помощью Developer/2000, могут выполняться на различных платформах. Язык SQL, используемый в этом средстве разработки, является интерпретируемым и представляет собой тот же самый язык, что используется в Oracleдля написания серверного кода. Это позволяет отлаживать с помощью Developer/2000 серверный код.
Производя собственные средства разработки, Oracleпредоставляет своим пользователям возможность создавать клиентские приложения с помощью других средств. В частности, помимо стандартного в таких случаях клиентского API(OracleCallInterface) клиентская часть Oracleсодержит также объектную модель (OracleObjectsforOLE), позволяющую использовать клиентскую часть Oracleкак набор СОМ-объектов для доступа к данным. Кроме того, обычно клиентская часть Oracleсодержит также ODBC-драйвер для доступа к данным этой СУБД.
Отметим, что и многие другие компании производят ODBC-драйверы и OLEDB-провайдеры для доступа к Oracle(в частности, Microsoft). Компании, производящие средства разработки, использующие собственные библиотеки доступа к данным (такие как Inpriseили Gupta/Centura), также включают библиотеки доступа к Oracleв состав наиболее дорогих версий своих продуктов.
Из готовых информационных систем на базе Oracleследует особо отметить несколько крупных систем управления предприятием, в частности SAP/КЗ. На Западе также нередко используются готовые решения от самой OracleCorporation, объединенные под общим названием OracleApplications, такие как OracleFinancials, OracleHumanResources, OracleMarketManagement, OracleProjectSystemsи др.
MicrosoftSQLServer6.0 — одна из наиболее мощных СУБД архитектуры клиент-сервер. Эта СУБД позволяет удовлетворять такие требования, предъявляемые к системам распределенной обработке данных, как тиражирование данных, параллельная обработка, поддержка больших баз данных на относительно недорогих аппаратных платформах при сохранении простоты управления и использования.
MicrosoftSQLServerпредставляет собой систему, выполняющую функции управления базой данных. Для пользовательского приложения SQLServerявляется мощным источником генерации и управления нужными данными.
Сервер имеет средства удаленного администрирования и управления операциями, организованными на базах объектно-ориентированной распределенной сред управления. MicrosoftSQLServerвходит в состав семейства MicrosoftBackOffice, объединяющего пять серверных приложений, разработанных для совместного функционирования в качестве интегрированной системы.
MicrosoftSQLServerпредназначен исключительно для поддержки систем, работающих в среде клиент-сервер. Он поддерживает широкий спектр среды разработки и максимально прост в интеграции с приложениями, работающими на персональном компьютере. Данная версия превосходит предыдущую с точки зрения использования многопоточной параллельной архитектуры операционной системы для повышения производительности и масштабируемости, то есть очень эффективно использует возможность ускорения работы в том случае, если на компьютере установлено несколько процессоров.