Механизмы доступа к БД - Телемедицина

Существует, в общем, два класса механизма доступа к БД:

    - на стороне сервера (используются интерфейсы CGI, API и др.); - на стороне клиента (используются языки Java, JavaScript и др.).

Для обеспечения доступа к базам данных на стороне Web-клиента (рис. 1) используются языки Java, JavaScript, VBScript и др. Одно из важных свойств этих языков - это мобильность, которая заключается в том, что написанный код может использоваться на любой платформе.

Написанные программы (апплеты), на основе этих языков, компилируются в мобильные коды и соответствующие ссылки на определенные коды этих программ ставятся в HTML-документе. Броузер, работающий с таким документом (со ссылками на апплеты) запрашивает у Web-сервера все мобильные коды. Коды могут начать выполняться сразу после размещения в компьютере клиента или быть активизированы с помощью специальных команд. Такие апплеты могут быть специализированы для работы с БД.

Еще одно важно свойство этих языков - это то, что их код является частью HTML документа. Следовательно, для включения нового апплета в вашу Web-систему нужно перекомпоновать HTML-документ, а не Web-сервер.

К одному из важнейших недостатков Java, JavaScript и VBScript технологий нужно отнести невысокое быстродействие выполнения кода. Т. к. апплет не является откомпилированной программой, то его исполнение проходит через интерпретатор.

Рассмотрим общий механизм стандартного доступа к БД на стороне сервера: используются внешние по отношению к серверу Web-программы, взаимодействие которых происходит через специфицированный протокол CGI (Common Gateway Interface) или API (Application Program Interface) или FastCGI.

Общая схема реализации доступа к базе данных с использованием CGI выглядит следующим образом: клиент, находясь на странице содержащую одну или несколько форм, предназначенных для запроса из базы данных - данных или ввода данных, заполняет их и отправляет заполненную форму на Web-сервер. Получив заполненную форму, сервер запускает соответствующую внешнюю программу, передавая ей параметры и получая результаты на основе протокола CGI. Внешняя программа преобразовывает этот запрос на язык понятный серверу БД, взаимодействует с ним и после получения результатов запроса формирует соответствующую HTML-страницу и передает ее Web-серверу, завершая свою работу. Web-сервер передает сформированную HTML-страницу клиенту, и на этом процедура доступа к базе данных завершается.

При применении спецификации CGI для обмена данными с внешними программами можно выделить следующие преимущества: возможность работать на любом сервере, не привязанность к конкретному языку программирования, порождение отдельных процессов при запуске CGI-программы и др.

Так же есть и недостатки: так как на сервере для каждого запроса порождается новый процесс, который по окончанию работы завершается, то это приводит к невысокому быстродействию CGI-программы и снижает эффективность работы сервера.

Некоторые недостатки спецификации CGI были оптимизированы в спецификациях API. API запускается, как динамическая библиотека на Web-сервере и выполняет обработку каждого вызова сервера по отдельной структуре памяти, что значительно проще, чем создание отдельного процесса для каждого клиентского запроса. Работа через API происходит на много быстрей чем через CGI. Это объясняется тем, что API, выполняясь в основном процессе сервера, постоянно находится в состоянии ожидания запросов, поэтому время на запуск программы и порождения нового процесса не требуется.

Несмотря на достоинства спецификации API она обладает и рядом существенных недостатков: нет возможности работать на любом сервере, привязанность к конкретному языку программирования, неизолированность процесса и др.

Наилучшие свойства двух рассмотренных спецификаций были интегрированы в интерфейс FastCGI. Приложения FastCGI, как и CGI запускаются отдельными процессами. Но отличие заключается в том, что процессы FastCGI являются постоянно работающими и после выполнения запроса не завершаются, а ожидают новых запросов. В данной спецификации можно выделить следующие достоинства: непривязанность к конкретному языку программирования, изолированность процесса, высокое быстродействие - за счет постоянно функционирующих процессов и др.

Похожие статьи




Механизмы доступа к БД - Телемедицина

Предыдущая | Следующая