Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Использование Internet/intranet технологий для организации доступа к базам данных.



Использование Internet/intranet технологий для организации доступа к базам данных.

Министерство общего и профессионального образования РФ

Дипломная работа

Исполнитель Апанасенко Е.В.

Челябинский государственный университет

Факультет математический

Введение

Базы данных настолько тесно вошли в нашу жизнь, что без их помощи не мыслится деятельность ни одной организации. С появлением локальных сетей, подключением таких сетей к Internet, созданием внутрикорпоративных сетей на базе intranet, появляется возможность с любого рабочего места организации получить доступ к информационному ресурсу сети, такому как база данных. Однако, при попытке использовать существующие базы данных возникают проблемы связанные с требованием однородности рабочих мест (для запуска " родных" интерфейсов), большим трафиком в сети (доступ идет напрямую к файлам базы данных), загрузкой файлового сервера и невозможностью удаленной работы (например, командированных сотрудников). Так, для каждой используемой базы данных необходим свой специфический клиент, такой как модуль времени исполнения или исполняемый файл, реализующий функциональность клиента. Клиентский компьютер должен быть достаточно мощным, для того чтобы справиться с обработкой функциональности клиента. Решением проблемы является использование унифицированного интерфейса WWW для доступа к информационным ресурсам организации [4].

Среди преимуществ такого подхода возможность доступа к базе данных посредством так называемого ⌠ тонкого клиента■ - компьютера с установленной на нем стандартной программой-обозревателем Internet (Netscape Communicator, Microsoft Internet Explorer, и т.п.) вместо использования специфических программ-клиентов;

прозрачность для пользователя работы с удаленными базами данных (сервер баз данных может находиться как в локальной сети, к которой подключен пользователь, так и на другой стороне земного шара);

мобильность клиента: в качестве клиента может использоваться любой компьютер, под управлением любой ОС, имеющий обозреватель Internet;

легкость доступа к базе данных (для доступа к базе данных необходимо лишь иметь компьютер, подключенный любым способом к сети Internet - вся маршрутизация осуществляется серверами сети автоматически). При этом обеспечивается нужный уровень защиты данных.

В данной дипломной работе делается попытка проанализировать существующие технологии организации Web-ориентированных интерфейсов к базам данных и разработать такого рода систему, взяв в качестве прототипа реально существующую базу данных ⌠ Библиографический каталог■, функционирующую в среде Microsoft Access [2].

Постановка задачи. Провести анализ имеющихся технологий разработки Web-ориентированных интерфейсов к базам данных и разработать справочно-библиографическую систему с WWW-интерфейсом, реализующую алфавитный и систематический каталоги публикаций на базе СУБД Oracle [7].

Для этой цели решались следующие задачи:

разработать структуру базы данных;

реализовать два варианта архитектуры WWW-интерфейса к базе данных и провести их сравнение;

разработать технологию импорта данных из формата СУБД MS Access в формат СУБД Oracle.

Две архитектуры систем доступа к базам данных через Web

В традиционной архитектуре клиент/сервер [1] действует принцип разделения задач, когда используется более чем один компьютер, и каждый из них выполняет строго определенные ему задачи. Такой подход уменьшает загрузку каждого узла системы, позволяя ему сконцентрироваться на выполнении ⌠ своих■ задач и, следовательно, увеличивает производительность и возможности системы в целом.

В СУБД Oracle система баз данных разделена на две части: клиентскую часть и серверную часть [7] (Рис. 1).

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

Серверная часть, работающая на программном обеспечении Oracle, обслуживает задачи, необходимые для параллельного общего доступа к данным. Серверная часть принимает и обрабатывает SQL и PL/SQL запросы, посылаемые клиентскими приложениями [13]. Компьютер, обслуживающий серверную часть, должен быть оптимизирован для решения своих специфических задач √ он должен иметь большую дисковую память и быстрый процессор [8].

Связь между сервером и клиентом осуществляется посредством SQL*Net √ сетевого интерфейса Oracle [9]. SQL*Net позволяет программам Oracle, запущенным на сетевых клиентских рабочих станциях и серверах, организовать доступ, модификацию, разделение и хранение данных на других серверах.

При построении Web-интерфейсов к базам данных различают два подхода: доступ к базе данных на стороне клиента, и доступ к базе данных на стороне сервера.

Доступ к базе данных на стороне клиента

Доступ к базе данных на стороне клиента обеспечивает язык Java [10]. Java - это объектно-ориентированный язык программирования, являющийся, по сути дела, " безопасным" подмножеством языка Си++. В частности, Java не содержит средств адресной арифметики, не поддерживает механизм множественного наследования и т. д. Для языка Java существуют компиляторы в так называемый " мобильный код" (машинно-независимый код, который может интерпретироваться или из которого могут генерироваться машинные коды на разных платформах).

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

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

Для взаимодействия Java-апплета с внешним сервером баз данных разработан специализированный протокол JDBC, который, фактически, сочетает функции шлюзования между интерпретатором мобильных Java-кодов и ODBC, а также включает ODBC.

По сути дела, Web-интерфейс с доступом к базе данных на стороне клиента практически ничем не отличается от традиционной клиент/серверной архитектуры. Просто роль клиентского приложения здесь играет Java-апплет √ программа на псевдокоде, способная через Internet/intranet загрузиться и выполниться на вашем компьютере.

Технология разработки Web-интерфейсов к базам данных

Как было описано в главе 2, архитектура приложений баз данных с WWW-интерфейсом базируется на трехзвенной архитектуре (Рис. 5), включающей:

Сервер баз данных;

Сервер приложений;

Клиентов.

Рассмотрим технологический цикл построения таких систем.

Заключение

При выполнении дипломного проекта были получены следующие основные результаты:

освоена технология разработки приложений на базе СУБД Oracle с использованием системы разработки Oracle Developer/2000 R2.0;

изучена технология создания Oracle приложений с WWW-интерфейсом на базе механизма OracleWeb deployment;

используя технологию Web deployment, при использовании системы разработки приложений Oracle Developer/2000 R2.0 создано приложение ⌠ Справочно-библиографическая система■;

предложена технология создания Web-ориентированных интерфейсов к базам данных с использованием интерфейса CGI;

на основе описанной CGI-технологии создана Internet версия аннотированного ⌠ библиографического каталога по программированию и базам данных■;

разработан и реализован механизм переноса данных из базы данных библиографического каталога в формате MS-Access в новую базу данных в формате Oracle;

осуществлено внедрение в промышленную эксплуатацию Internet версии библиографического каталога по программированию и базам данных на математическом факультете Челябинского государственного университета: http: //reindeer.math.cgu.chel.su/oracle/bibl (акт о внедрении прилагается);

на основе описанной CGI-технологии реализована и внедрена в промышленную эксплуатацию система отчетности по торгам на Южно-Уральской фондовой бирже: http: //www.suse.ru: 8001/ (акт о внедрении прилагается);

по теме дипломной работы выполнена одна публикация: Соколинский Л.Б., Апанасенко Е.В. Технологические аспекты разработки Internet версии аннотированного библиографического каталога по программированию и базам данных // Телематика'99: Тез. докл. Всерос. конф. Санкт-Петербург. 1999.

Список литературы

Когаловский М.Р. Технология баз данных на персональных ЭВМ. - М.: ⌠ Финансы и статистика■. 1992. - 256 с.

Разработка приложений Microsoft Access 7.0 для Windows 95. - Microsoft Corp. Publ. - 1996. 898 с.

Сайгин Ю., Филимонов Б., Глонти Н. Создание приложений Web к базам данных Oracle // СУБД 1996. √ N 5-6

Кузнецов С.Д. Доступ к базам данных посредством технологии WWW // СУБД 1996.- N 5-6

Oracle Developer/2000. Forms 4.5 Reference Manual. - Oracle Corp. - 1995. Vol 1-2

Developer/2000 Guidelines for Building Applications Release 2.0 √ - Oracle Corp. - 1997.

Oracle Server V2, 3, ..., 7.0, 7.1... and Counting. // EOUG Oracle User Forum 94 17-20 April 1994, Maastriht, The Netherlands.

The Committee for Advanced DBMS Function. Third Generation Database Manifesto. // SIGMOD Record, 1990. - Vol. 19, N 3, pp. 31-44

Лашманов А. ORACLE √ история, состояние и перспективы // СУБД 1995.- N1, C.55

В. Цишевский, Язык и архитектура Java, Jet Infosystems - electronic version

Wall L., Christiansen T., Schwartz R. Programming Perl. 2nd ed. O'Reilly & Associates, 1996.

Кристиан К. Введение в операционную систему UNIX. - М.: Финансы и статистика. 1985. √ 318 с.

Oracle Product Documentation Library. √ Oracle Corp. - 1995.

Приложение 1. Описание структуры базы данных ⌠ Библиографического каталога■

Соответствие названий таблиц в базе данных-прототипе (MS Access) и в разработанной базе данных (Oracle).

Microsoft Access Oracle
Алфавитный каталог Alphabetical_Catalogue
Систематический каталог Systematic_Catalogue
СК-2 (подчиненная) SC-2
СК-3 (подчиненная) SC-3

Исходный текст файла-сценария SQL, создающего структуру базы данных и хранимые процедуры:

DROP TABLE Alphabetical_Catalogue;

DROP TABLE SC2;

DROP TABLE SC3;

DROP TABLE Systematic_Catalogue;

CREATE TABLE Alphabetical_Catalogue

(Code NUMBER(6) NOT NULL,

Reference VARCHAR2(25) NULL,

Authors VARCHAR2(120) NULL,

Title VARCHAR2(250) NULL,

Is_Article NUMBER(1) NULL,

Magazine_Or_Publisher VARCHAR2(200) NULL,

Year VARCHAR2(20) NULL,

Volume NUMBER(2) NULL,

Issue VARCHAR2(20) NULL,

From_Page NUMBER(4) NULL,

Till_Page NUMBER(4) NULL,

Is_Russian NUMBER(1) NULL,

Abstract LONG NULL,

Paper VARCHAR2(50) NULL,

Code1 NUMBER(6) NULL,

Code2 NUMBER(6) NULL,

Code3 NUMBER(3) NULL,

Keyword1 VARCHAR2(50) NULL,

Keyword2 VARCHAR2(50) NULL,

Keyword3 VARCHAR2(50) NULL,

Keyword4 VARCHAR2(50) NULL,

Keyword5 VARCHAR2(50) NULL,

Keyword6 VARCHAR2(50) NULL,

Keyword7 VARCHAR2(50) NULL,

Keyword8 VARCHAR2(50) NULL,

Priority NUMBER(2) NULL,

Home_Library NUMBER(1) NULL,

CSU_Library NUMBER(1) NULL);

CREATE TABLE SC2

(Code2 NUMBER(6) NOT NULL,

Title2 VARCHAR2(40) NULL,

Code1 NUMBER(6) NULL);

CREATE TABLE SC3

(CODE3 NUMBER(6) NOT NULL,

TITLE3 VARCHAR2(35) NULL,

CODE2 NUMBER(6) NULL);

CREATE TABLE Systematic_Catalogue

(Title1 VARCHAR2(30) NULL,

Code1 NUMBER(6) NOT NULL);

CREATE OR REPLACE VIEW A_C AS

SELECT

Code,

Reference,

Authors,

Title,

Is_Article,

Magazine_Or_Publisher,

Year,

Volume,

Issue,

From_Page,

Till_Page,

Is_Russian,

Abstract,

Paper,

Keyword1,

Keyword2,

Keyword3,

Keyword4,

Keyword5,

Keyword6,

Keyword7,

Keyword8,

Priority,

Home_Library,

CSU_Library,

Title1,

Title2,

Title3

FROM Alphabetical_Catalogue, Systematic_Catalogue, SC2, SC3

WHERE Alphabetical_Catalogue.Code1=Systematic_Catalogue.Code1 AND

Alphabetical_Catalogue.Code2=SC2.Code2 AND

Alphabetical_Catalogue.Code3=SC3.Code3

WITH READ ONLY;

CREATE INDEX iA_C1 ON Alphabetical_Catalogue

(Code);

CREATE INDEX iA_C2 ON Alphabetical_Catalogue

(Reference);

CREATE INDEX iA_C3 ON Alphabetical_Catalogue

(Keyword1);

CREATE INDEX iA_C4 ON Alphabetical_Catalogue

(Keyword2);

CREATE INDEX iA_C5 ON Alphabetical_Catalogue

(Keyword3);

CREATE INDEX iA_C6 ON Alphabetical_Catalogue

(Keyword4);

CREATE INDEX iA_C7 ON Alphabetical_Catalogue

(Keyword5);

CREATE INDEX iA_C8 ON Alphabetical_Catalogue

(Keyword6);

CREATE INDEX iA_C9 ON Alphabetical_Catalogue

(Keyword7);

CREATE INDEX iA_C10 ON Alphabetical_Catalogue

(Keyword8);

CREATE INDEX iA_C11 ON Alphabetical_Catalogue

(Authors);

CREATE INDEX iSystematic_Catalogue_1 ON Systematic_Catalogue

(Code1);

CREATE INDEX iSystematic_Catalogue_2 ON Systematic_Catalogue

(Title1);

CREATE INDEX iSC2_1 ON SC2

(Code2);

CREATE INDEX iSC2_2 ON SC2

(Title2);

CREATE INDEX iSC3_1 ON SC3

(CODE3);

CREATE INDEX iSC3_2 ON SC3

(Title3);

CREATE OR REPLACE PACKAGE bibl

IS

FUNCTION GetYear (S VARCHAR2)

RETURN NUMBER;

PRAGMA RESTRICT_REFERENCES (GetYear, WNDS, WNPS);

END bibl;

/

CREATE OR REPLACE PACKAGE BODY bibl

IS

FUNCTION GetYear (S VARCHAR2)

RETURN NUMBER

IS

i NUMBER;

done BOOLEAN;

BEGIN

done: = FALSE;

i: = LENGTH (S);

WHILE NOT done AND (i> 1) LOOP

IF SUBSTR (S, i, 1) NOT IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9') THEN

done: = TRUE;

ELSE

i: = i-1;

END IF;

END LOOP;

IF done THEN

RETURN TO_NUMBER (SUBSTR (S, i+1));

ELSE

RETURN TO_NUMBER (SUBSTR (S, i));

END IF;

END;

END bibl;

/

Приложение 2. Спецификации переноса базы данных из MS Access в Oracle

Деструктуризация процесса переноса базы данных

Перенос осуществляется в 4 этапа:

экспорт из MS Access в файл SQL-сценария import.sql (в каталог c: \), осуществляемый программой export.mdb;

сжатие полученного файла сценария с помощью программы gzip;

передача сжатого файла по протоколу FTP на Unix-машину;

импорт из созданного файла в базу данных Oracle (запуск файла loaddata.sh).

Ограничения на данные в исходных таблицах

Для правильного экспорта таблиц из MS Access в файл длина MEMO-поля - Алфавитный каталог. Аннотация не должна превышать 2000 символов (строки имеющие MEMO-поля длиной больше 2000 символов автоматически урезаются до этой длины при экспорте во внешний файл).

Импорт

Импорт производится запуском файла loaddata.sh на Unix-машине, из каталога, где находится сжатый файл SQL-сценария import.sql.gz. Следует быть уверенным, что в файле имеются корректные имя пользователя, его пароль, а также строка соединения (алиас) с базой данных, в виде user_name/user_password@connect_string. После окончания импорта следует проверить созданный.log файл на предмет ошибок и отвергнутых записей. Кроме того, необходимо наличие на Unix-машине установленной и сконфигурированной клиентской части Oracle.

 

Использование Internet/intranet технологий для организации доступа к базам данных.

Министерство общего и профессионального образования РФ

Дипломная работа

Исполнитель Апанасенко Е.В.

Челябинский государственный университет

Факультет математический

Введение

Базы данных настолько тесно вошли в нашу жизнь, что без их помощи не мыслится деятельность ни одной организации. С появлением локальных сетей, подключением таких сетей к Internet, созданием внутрикорпоративных сетей на базе intranet, появляется возможность с любого рабочего места организации получить доступ к информационному ресурсу сети, такому как база данных. Однако, при попытке использовать существующие базы данных возникают проблемы связанные с требованием однородности рабочих мест (для запуска " родных" интерфейсов), большим трафиком в сети (доступ идет напрямую к файлам базы данных), загрузкой файлового сервера и невозможностью удаленной работы (например, командированных сотрудников). Так, для каждой используемой базы данных необходим свой специфический клиент, такой как модуль времени исполнения или исполняемый файл, реализующий функциональность клиента. Клиентский компьютер должен быть достаточно мощным, для того чтобы справиться с обработкой функциональности клиента. Решением проблемы является использование унифицированного интерфейса WWW для доступа к информационным ресурсам организации [4].

Среди преимуществ такого подхода возможность доступа к базе данных посредством так называемого ⌠ тонкого клиента■ - компьютера с установленной на нем стандартной программой-обозревателем Internet (Netscape Communicator, Microsoft Internet Explorer, и т.п.) вместо использования специфических программ-клиентов;

прозрачность для пользователя работы с удаленными базами данных (сервер баз данных может находиться как в локальной сети, к которой подключен пользователь, так и на другой стороне земного шара);

мобильность клиента: в качестве клиента может использоваться любой компьютер, под управлением любой ОС, имеющий обозреватель Internet;

легкость доступа к базе данных (для доступа к базе данных необходимо лишь иметь компьютер, подключенный любым способом к сети Internet - вся маршрутизация осуществляется серверами сети автоматически). При этом обеспечивается нужный уровень защиты данных.

В данной дипломной работе делается попытка проанализировать существующие технологии организации Web-ориентированных интерфейсов к базам данных и разработать такого рода систему, взяв в качестве прототипа реально существующую базу данных ⌠ Библиографический каталог■, функционирующую в среде Microsoft Access [2].

Постановка задачи. Провести анализ имеющихся технологий разработки Web-ориентированных интерфейсов к базам данных и разработать справочно-библиографическую систему с WWW-интерфейсом, реализующую алфавитный и систематический каталоги публикаций на базе СУБД Oracle [7].

Для этой цели решались следующие задачи:

разработать структуру базы данных;

реализовать два варианта архитектуры WWW-интерфейса к базе данных и провести их сравнение;

разработать технологию импорта данных из формата СУБД MS Access в формат СУБД Oracle.


Поделиться:



Последнее изменение этой страницы: 2019-10-03; Просмотров: 246; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.102 с.)
Главная | Случайная страница | Обратная связь