Реферат: Базы данных в INTERNET
Московскийгосударственныйинститут электроникии математики
кафедраСАПР
Пояснительнаязаписка к курсовомупроекту подисциплине«разработкаСАПР» на тему:
Разработкаструктур основныхвидов обеспеченияпрограммно-техническогокомплекса (ПТК)«Web-интерфейс кбазам данных».
Исполнитель: Петушко А.Г.
Группа: АП-101
Преподаватель: Витушкин П.И.
Сдано ________ 199 г
Оценка________
Москва1996 г.
Заданиена курсовойпроект.
Выбрать вид ПТК для разработки структур ПО и ТО и обосновать свой выбор.
Составить обзор по различным ПТК данного вида.
Составить техническое задание на разработку структур ПО и ТО ПТК.
Разработать эскизный проект структур ПО и ТО ПТК.
Разработать технический проект структур ПО и ТО ПТК.
Сделать выводы по курсовому проектированию.
Оформить пояснительную записку.
Введение.Сегодня множестволюдей неожиданнодля себя открываютдля себя существованиеглобальныхсетей, объединяющихкомпьютерыво всем мирев единое информационноепространство, которое называетсяInternet.Что это такое, определитьнепросто. Стехническойточки зренияInternet- этообъединениетранснациональныхкомпьютерныхсетей, работающихпо различнымпротоколам, связывающихвсевозможныетипы компьютеров, физическипередающихданные по всемдоступным типамлиний — от витойпары и телефонныхпроводов дооптоволокнаи спутниковыхканалов. Большаячасть компьютеровв Internetсвязано попротоколуTCP/IP.Можно сказать, что Internet-это сеть сетей, опутывающаявесь земнойшар.
Протокол TCP/IPпозволяетпередаватьинформацию, а его используютразнообразныесетевые сервисы, по- разномуобращающиесяс этой информацией.Internet нерешила проблемыхранения иупорядоченияинформации, но решила проблемуеё передачи, дав возможностьполучать еёкогда и гдеугодно. ПосколькуСеть (здесь идалее Сеть- сбольшой буквы-будет означатьInternet)децентрализована, то отключениедаже значительнойчасти компьютеровне повлияетна её функциональность.По оценкаманалитиков, в 1995 году числополноценноподключённыхк Сетикомпьютеровсоставило около7 миллионов ипродолжаетстремительнорасти. По темже оценкам, вначале следующеговека Сеть можетстать стольже доступна, как телефонили телевидениесегодня.
Как уже упоминалось, в Сети существуетбольшое числосервисов. Насв дальнейшембудет интересоватьWWW илипросто Web(Word-Wide Web- всемирнаяпаутина).Это самый популярныйсервис Сетии удобный способработы с информацией.Сегодня существуетпо меньшей мере30 тыс. серверовWWW.Именно за счетWWW Сетьрастёт такстремительно.Пользуясьнесложнымязыком описания, можно составлятьгипермедийныедокументы дляих последующейпубликациив Сети (подгипермедийнымя подразумеваюдокумент, которыйможет содержатьвсе виды информации- от простоготекста домултимедийныхроликов). Чтобыувидеть содержаниедокумента так, как его представляетсебе его авторнужно иметьна компьютере-клиенте программупросмотра-браузер. Наиболеепопуляренсегодня NetscapeNavigator, поддерживающиймногие расширенияHTML(Hyper TextMarkup Language- языкгипертекстовойразметки документов- именно с егопомощью оформляетсяинформацияв WWW).Далее под словамибраузер илипрограммапросмотра ябуду подразумеватьименно этупрограмму, хотяи не исключено, что и какая-либо другаяпрограммасможет отображатьвсё так, какбыло задумано.
Теперь немногоинформациио технологии«клиент- сервер».Она известнауже довольнодлительноевремя, но раньшечаще всегоиспользоваласьв крупных сетяхмасштаба предприятия.Сегодня, с развитиемInternet, эта технология все чаще привлекаетвзоры разработчиковпрограммногообеспечения.В мире накопленоогромное количествоинформациипо различнымвопросам. Чащевсего эта информацияхранится вбазах данных(БД). Чтобы опубликоватьеё в Сети приходилосьэкспортироватьБД в HTML-документы, что требовалобольших затрати усложнялопоиск информации.Сегодня имеетсябольшой опытподобных работ.Практическилюбой пользовательСети не разсталкивалсяс подобнымиБД. Например, главное в работе популярногопоисковогосервера Yahoo(адрес- http::\\www.yahoo.com)-это запросык базе данныхWWW- серверапо ключевымсловам. Ответсервера- списокгипертекстовыхссылок на найденныев Сети страницы, содержащиенужную информацию.Именно сегодняпроблема Web-интерфейсак БД как никогдаактуальна.
ОбзорПТК данноговида.
Сначала короткоо технологии«клиент- сервер».Её можно представитьтак:
клиент формирует и посылает запрос к базе данных сервера, вернее — к программе, обрабатывающей запросы.
эта программа производит манипуляции с БД, хранящейся на сервере, в соответствии с запросом, формирует результат и передаёт его клиенту.
Клиент получает результат, отображает его на дисплее и ждет дальнейших действий пользователя. Цикл повторяется, пока пользователь не закончит работу с сервером.
/>/>/>/>/>/>/>/>/>/>/>
В настоящеевремя, в связис бурным развитиемInternetостро стоитпроблема связиБД и клиентовСети. Многиефирмы- производителипрограммныхпродуктоввыпускают илиразрабатываютсредства публикацииБД в Сети. Основныефункции ПТКданного видатаковы:
обеспечить отображение интерфейса пользователя в формате HTML для отображения программой просмотра клиента,
обеспечить формирование запросов к БД наиболее простыми для неподготовленного пользователя средствами,
обеспечить аутентификацию пользователя (для разграничения доступа),
обеспечить обработку запроса и возврат результата в HTML формате для отображения программой просмотра пользователя.
При этом необходимопомнить о защитепередаваемойпо Сети информациии о привлекательностии понятностиинтерфейса.
Для серийновыпускаемыхПТК данноготипа характернывысокая стоимостьсамого программногообеспечения(ПО), аппаратнойплатформы, самой СУБД(насколько мнеизвестно, ПОдля связи с WWWпока не включаетсяв поставкуСУБД). К достоинствамможно отнестихорошуюдокументированность, наличие техническойподдержки, низкую стоимостьдальнейшихобновленийпрограммногообеспечения.Хотя в последнеевремя начинаютпоявлятьсяпрограммытакого типадля «настольных»СУБД типа VisualFoxPro,Paradox и т.д. Но здесьдругая проблема- при низкойстоимости(некоторое ПОможно получитьпо Сети бесплатно- нужно лишьиметь СУБД)отсутствуетмощность игибкость. ТакоеПО годитсяразве что дляпубликациинебольших пообъёму и несложныхБД.
Из известногомне ПО такоготипа можноупомянутьследующие СУБД:
SQL-server фирмы Microsoft (требует мощного сервера БД под управлением ОС Windows NT server той же фирмы )
Sybase System фирмы Sybase (требует мощного UNIX- сервера)
Informix фирмы Informix Software (также требует мощного UNIX- сервера)
Progress фирмы Progress Software (работает на той же аппаратной платформе, что и два предыдущих)
InterBase фирмы Borland (есть вариант для Windows NT и для UNIX)
Кроме вышеперечисленныхдостоинствможно такжеотметить хорошуюмасштабирумость(наращиваемость), устойчивостьв работе, защитуот несанкционированногодоступа и мощностьэтих программныхпродуктов. Всёэто ПО, как мнекажется, оченьхорошо подходитдля работы скрупными проектамив области БД.Например, впоследнеевремя, всё чащеупоминаютIntranet(«внутренняя»Сеть). Это крупныекорпоративныевычислительныесети, основанныена технологияхInternet, использующиете же протоколы, форматы данныхи т.д., но не открытыев глобальнуюсеть. ДостоинстваIntranet втом, что не надопереучиватьперсонал припереходе нановое ПО (можно, в принципе, оставить старыеинтерфейсы), так как научиводин раз человекапользоватьсяInternet’ом, можно легкообучить егоработе с ПОпредприятия- для отображенияинформацииможно воспользоватьсятеми же браузерами.
К общим чертамвышеперечисленныхПТК можно отнестиподдержкустандартногоязыка запросовк БД- SQL, что облегчаетв случае надобностипереход отодной СУБД кдругой, практическоеотсутствиеограниченийна размерыфайлов БД (кто-нибудьвидел файл БДразмером, напримерв 1000 Tбайт?), размеры объектов, количествоодновременноподключенныхклиентов и т.д.Все зависитот конфигурациисервера.
Конкретноесравнениехарактеристикпривести непредставляетсявозможным.Автор никогдане работал свышеперечисленнымипрограммнымипродуктами, а в прессе чащевсего приводитсяочень общаяинформация, а о реализацииконкретныхпроектов ничегоне пишут.
Но можно ожидать, что написаниеподобного ПТКс использованиемсовременныхсредств проектированияи реализацииинтерфейсови программ встиле RAD(Rapid Application Development- быстраяразработкаприложений)не займет многовремени и сил.
Техническоезадание наразработкуструктур ПТК.
Наименованиеи область примененияПТК.
Рабочее названиеразрабатываемогоПТК — «Web-интерфейск БД». Послеокончанияразработкион будет применятьсядля ведениябазы данныхо сотрудникахНИИ ЯдернойФизики (НИИЯФМГУ). Частьинформациипланируетсясделать доступнойпользователямодного из Web-серверов длятого, например, чтобы можнобыло найтичеловека, занимающегосятой или инойнаучной работой.Но, посколькув БД будет хранитьсявся информацияо персоналеНИИЯФ, то этотПТК также планируетсядля автоматизациикадровойдеятельности.Универсальностьобеспечиваетсяза счёт разграниченияполномочийпользователей.
Основаниядля разработкиПТК.Основаниемдля разработкиПТК являетсяустное распоряжениедиректора«группы Махаон»-фирмы, занимающейсяInternet-технологиями, расположеннойна территорииНИИЯФ (с Web-сервером группыможно ознакомитьсяпо адресуhttp:://www.machaon.ru)от 20апреля 1996 года.
Условная темаразработок- использованиебаз данных вInternet.Разработкаведется с цельюполучения опытаработы с БД вСети, для повышениянавыков впрограммированиив среде подуправлениемОС UNIX, для привлеченияновых пользователейна Webсервер группыи для разработкисобственныхтехнологийв области публикацииБД.
НазначениеразработкиПТК.Функционально, разрабатываемыйПТК служит длясвязи с серверомбаз данныхPostgres95 (непутать с Progress), для занесения, модификации, удаления ипоиска информациив БД. Интерфейспредставляетсяв виде HTML-документадля просмотрабраузеромклиента и еговнешний видзависит от ОС, под управлениемкоторой работаетпрограммапросмотра (ноон содержитвсе элементыстандарта GUI-поля ввода, кнопки, радиокнопки, кнопкис независимойфиксацией ит.д.).
ЭксплуатационноеназначениеПТК — сбор и хранениеинформациио сотрудникахНИИЯФ и предоставлениечасти этойинформациидля просмотравнешними клиентами.
Требованияк ПТК.Требованияк функциональнымхарактеристикам.Функции, выполняемыеПТК:
отображение интерфейса пользователя в виде HTML- документа
обработку запроса пользователя с исключением неправильно заданных форматов, неверно заполненных полей запроса и т.д.
в соответствии с запросом поиск в БД, модификация или удаление данных в БД (поиск — для любого клиента, а всё остальное — для имеющего соответствующие права)
отображение результатов работы.
Все выходныеданныепредставляютсяв формате HTML.Входные данные- ключевые слова, список целевыхполей, дальнейшеедействие получаютсяпосле заполненияклиентом формы, полученнойот ПТК и отображеннойпрограммойпросмотра.
По временипроцесс манипуляцийс БД не должензанимать многовремени, иначена сервереможет бытьсгенерировансигнал «timeout» и задачаможет бытьснята с обработки.
Требованияк программномуобеспечению.ПТК разрабатываетсяна языке PERL(Practical Extraction and Report Language). Этостандартныйязык для написаниясценариевработы WWW-сервера. Языкэтот интерпретируемый, похож на нечтосреднее междуязыками C,Pascal и Basic.Интерпретаторраспространяетсяпо Internetбесплатно.Последниеверсии объектно-ориентированные.В PERLприсутствуетвозможностьиспользованиябиблиотек, написанныхна других языкахпрограммированияв т.ч. возможностьдинамическойзагрузки- выгрузкибиблиотек. Языкбезопасен дляиспользования- случайноенарушениезащиты памятисильно затруднено.
ПТК долженработать подуправлениемОС BSD UNIX. Эта ОС написанастудентамии их руководителямив университетеБеркли, Калифорния, США. Распространяетсябесплатновместе с исходнымитекстами. Полностьюсовместимас большинствомстандартовОС UNIX.Имеется массадополнительныхкомпонентов, написанныхдругими коллективами.Многие UNIX-программыработают подуправлениемэтой ОС безперекомпиляции.Система устойчивав работе, легковосстанавливаетсяпосле сбоев, являетсямногозадачной, многопотоковой, многопользовательскойсетевой ОС споддержкоймножествасетевых протоколов(в т.ч. TCP/IP).Версия дляпроцессорах86 работает налюбом совместимомс i386процессоре- от i386SXдо Pentium.При запускебез графическойоболочки X-Windowэта ОС не требовательнак аппаратнымресурсам. ПоэтомуWWW-сервер работаетпод управлениемэтой ОС.
Для работы ПТКв системе должнабыть установленаСУБД Postgres95.Эта СУБД такжебыла разработанав университетеБеркли какисследовательскийпроект группойстудентов.Распространяетсябесплатно. Внастоящее времядоступна версия1.1- объектно-ориентированнаяСУБД поддержкойвсех современныхвозможностей- SQL, большие бинарныеобъекты, расширяемаяархитектура.Имеются программныебиблиотеки для написанияпрограмм, использующихэту СУБД.
Для ускоренияопераций поискана сервере, гдеустановленПТК должно бытьустановленоОЗУ ёмкостьюне менее 16 Мбайт.Размер жесткогодиска зависитот количестваданных в БД.
На клиентскойЭВМ долженработать браузердля отображенияинформации.Типичный клиент-это компьютеркласса 486DXс 4-8 Мбайт ОЗУ, жестким дискомпорядка 210 Мбайт.84% пользователейСети пользуютсябраузером фирмыNetscape.
Требованияк информационномуобеспечению.Web-интерфейс кБД должен:
отображать всю информацию на браузере пользователя в формате HTML
проводить аутентификацию пользователя с целью выяснения его привилегий
для пользователей с низким уровнем привилегий давать возможность видеть часть информации, для пользователей с высоким уровнем — возможность редактирования, добавления и удаления
должна быть обеспечена высокая скорость и надежность работы программы
В процессеработы создаётсябаза данных, для чего используетсяреляционнаямодель БД. Онасодержит наборплоских таблиц, связанных поключевым полям.В процессеработы всетаблицы представляютсякак единоецелое (вместоключей из однойтаблицы сразуотображаетсяинформацияиз информационныхполей другихтаблиц).
Требованияк информационнойи программнойсовместимости.Программныймодуль совместимс интерпретаторомPERL версиине ниже 5.001. Дляработы необходимоналичие некоторыхбиблиотек(интерфейс дляработы с СУБДPostgres95, интерфейс дляработы с HTML-форматированнымтекстом) и нужно, чтобы на серверебыл запущенмонитор БД(фоновый процесс, реагирующийна обращенияк БД и обрабатывающийих — поставляетсявместе с Postgres95).
Требованияк техническомуобеспечению.В настоящеевремя СУБДPostgres95 иWeb-интерфейс кней работаютна сервере соследующимихарактеристиками:
процессор- Intel 486DX2 с тактовой частотой 66 МГц
объем ОЗУ- 32 Мбайт
жёсткий диск объёмом 1,2 Гбайт с интерфейсом SCSI
Системная шина- ISA + EISA
присутствует сетевая карта Ethernet2000- EISA
операционная система- BSD UNIX
Сервер включенв локальнуюсеть, содержащуюмножестворазличных типовкомпьютеров(от SunSPARKstation до i386)и других серверов(под управлениемразличныхверсий UNIXиNetWare). Аппаратноеобеспечениесервера вполнесправляетсяс нагрузкой, обеспечиваяхорошее времяреакции. Этитребованияне являютсяминимальнодопустимыми, но тестированиена другихконфигурацияхсервера непроводилось.
Требованияк надежности.
Для обеспеченияустойчивогофункционированияПТК проверяютсявходные данные.При аварийномзавершениипрограммысистема возвращаетсяв первоначальноесостояние, длячего имеетсяспециальнаяпроцедура, реагирующаяна соответствующийсигнал (аналогпрограммногопрерыванияв DOS).
При отказевремя восстановлениязависит отсложностинеисправности.В случае программногосбоя времявосстановленияравно времени, нужному перезагрузкисервера. Приаппаратномсбое оно равновремени восстановленияинформациис резервнойкопии.
Дополнительныетребования.Для работы сПТК к квалификацииперсонала непредъявляетсяособенныхтребований. Единственныйнеобходимыйнавык- умениеработы с программойпросмотра дляWWW.Для занесенияинформациив БД планируетсязадействоватьодного человека.
Необходимопериодическоерезервноекопированиеинформациидля чего написанапрограмма, экспортирующаясодержимоеБД в текстовыефайлы и программавосстановления.Это выполняетсясистемнымадминистраторомпо мере необходимости.
Компьютерклиента можетбыть практическилюбой и необходимымтребованиемявляется лишьподключениек Сети и наличиебраузера, поддерживающегоHTML версии2.0 (программапросмотраNetscapeNavigator подходиткак нельзялучше, тем болеесуществуютеё модификациидля множествааппаратныхплатформ иоперационныхсистем присхожести интерфейса).
Эскизныйпроект структурыПО ПТК.
На представленномниже эскизепредставленыосновные блокиПТК. В скобкахуказаны основныефункции, выполняемыеблоками.
Это эскиз, использованныйпри начальнойстадии разработки.
/>
Используемыедля написанияпрограммыбиблиотеки:
CGI.pm- библиотека для манипуляции информационными элементами (поля ввода, кнопки, радио кнопки, скрытые поля и т.д. в формате HTML, отображение информации на браузере клиента и ввод ответа от него)
Pg.pm- библиотека для манипуляции БД (подключение к программе- монитору, посылка запросов, обработка результата и т.д.)
Эскизныйпроект структурыТО ПТК.Данныйэскиз показывает, как работаетсистема в общем.Конкретно всёзависит оттого, где находитсяклиент, сервер, как клиентподсоединёнк серверу.
Пользовательна клиентскомкомпьютерев программепросмотразаполняетпредложеннуюформу или выбираетдальнейшеедействие.
Браузер понажатию однойиз кнопок вформе пересылаетданные из заполненнойформы или отображаетвновь полученныев результатекакой- либооперации.
Не важно, к какойиз сетей подключенклиент (он дажеможет бытьудалённымпользователеми соединитьсяпо модему).
Программапринимаетданные, проверяетих и формируетзапрос к мониторуБД или получаетот него результат.
Получив запрос, монитор обрабатываетего. Если непроизошлоошибок, ждётзапроса отпрограммы наотправку программерезультата.
/>/>
На диске серверахранится БД, модифицируемаяпо запросуклиента.
Техническийпроект структурыПО ПТК.Программалогическиразделена нанесколькомодулей. Нижеприведенократкое описаниемодулей и функций, содержащихсяв них.
Модуль Npi_people. Основная часть программы. Этот модуль вызывается при начале работы. Доступ к нему разрешён всем пользователям. Содержит рад подпрограмм общего назначения:
setup- функция первоначальной настройки. Определение, какой пользователь подключён и что разрешено ему видеть
set_mode- установка режима работы, т.е. что дальше будет делать программа — искать, модифицировать или удалять информацию из БД
connect_db- подключение к нужной БД через монитор. В случае ошибки — аварийное завершение
divpare_sql- подготовка SQL- запроса к БД
handler- обработчик аварийных сигналов
Модуль html_output. Содержит подпрограммы вывода форм, форматирования и вывода результатов в формате HTML, приёма и обработки информации от пользователя.
print_form- По установленному режиму вызвать функцию вывода той или иной формы
search_form- вывод формы для поиска
modify_form- вывод формы для модификации
del_form- вывод формы для удаления
print_result- выдача результата
good_bye- выдача сообщения об аварийном завершении программы
Модуль Pg_dbi. Содержит подпрограммы работы с монитором БД.
dbi_con- подсоединение к указанной БД
dbi_rowsmatched- функция возвращает количество строк в результате
do_sql- выполнение SQL- запроса
dbi_disconnect- отсоединение от монитора БД
dbi_nextrow- получение следующей строки результата
Модуль constants. Содержит набор необходимых для работы констант. Вынесен в отдельный модуль, чтобы не загромождать текст программы.
Техническийпроект структурыТО ПТК.
Ниже приведенаодна из конкретныхреализацийТО ПТК (именнона таком ТОработал автор)
Как видно изприведённойсхемы, программаможет работатькак с внутреннимиклиентами(Intranet), так и с внешними(Internet).Типичная ЭВМ, за которойавтор разрабатывали тестировалПТК — это процессорIntel 486DX266 МГц, 4 МбайтОЗУ, жесткийдиск 100 Мбайт.ОС- MSDOS 6.22 и Windows3.1
Сеть на базеNetWare- этовитая пара +карты Ethernet2000на рабочихстанциях
Сервер NetWareпо конфигурациине сильно отличаетсяот UNIX-сервера, конфигурациякоторого описанаранее.
/>Заключение.
РазработанныйПТК в целомсоответствуетТЗ, полученномув начале работы.ПТК ещё нуждаетсяв доработке, но уже выполняетосновные функции.Вполне возможно, что развитиемэтой работыбудет полныйWWW-интерфейс кБД, позволяющийсоздавать своюсобственнуюБД и без программированияманипулироватьей (по аналогиис FoxPro, например). Естьидеи по воплощениюWWWсредства дляпостроениязапросов встандарте QBE(Query By Example). Но наиболееблизок к воплощениюпроект WWW-календарь, содержащийвсе праздникии позволяющийнаходить праздникпо дате илидату известногопраздника вдиалоговомрежиме.
Сравниватьэтот ПТК саналогичнымине логично, потому что всёв нём написаномаленькимколлективомразработчиковдля конкретнойцели, а не целойармией программистови для общихцелей, как вслучае с продуктами, перечисленнымив начале.
В последнеевремя на рынкеInternetуспешно продвигаетсятехнологияJava, разработаннаяфирмой Sun.Java-это объектно-ориентированный язык, схожийс C++.Сама фирмахарактеризуетего как «простой, объектно-ориентированный, распределяемый, интерпретируемый, надёжный, защищённый, не зависящийот архитектуры, высокопроизводительный, многопоточныйи динамичный».На Javaразрабатываютнебольшиепрограммы, которые можнозагружать изСети и выполнятьна клиентскомкомпьютере.Недавно появиласьинформацияо выпускеспецификацииJDBC (поаналогии с ODBCфирмы Microsoft)-стандарта длядоступа изпрограммы, написаннойна Javaк БД любогопроизводителя, поставляющегодрайвер, соответствующийJDBC длясвоей СУБД. Свыпуском подобныхдрайверовупроститьсядоступ и модификацияБД, появятсястандартныеспособы работы, что сильноупростит разработкуПТК, подобногоописываемомуздесь. Но покане все производителиПО для клиентовподдержалиначинания фирмыSun, поэтому толькобраузер NetscapeNavigator умеет выполнятьJava-приложения.
Если Javaстанет стандартом, то можно будетпереписатьПТК на этомязыке, сделавего более надёжным, быстрым ипривлекательнымв смысле интерфейсапользователя.
Библиографическийсписок.
Компьютер Пресс N2 1996г.
Компьютер Пресс N4 1996г.
Компьютер Пресс N5 1996г.
Computer Week Москва N38(196) 1995г.
Computer Week Москва N4(210) 1996г.
Computer Week Москва N17(223) 1996г.
Computer Week Москва N18(224) 1996г.
PC Magazine russian edition спецвыпуск N2(41) 1995г.
PC Magazine russian edition N6(34) 1995г.
Компьютерра N15(142) 1996.