Дипломная работа.
Тема: "Перенос базы данных на WEB-сервер"
Сдавался: СПбГЭТУ(бывший ЛЭТИ), кафедра МО ЭВМ, 15.02.2000
Оценка: "отлично"

Выбор темы для дипломного проектирования.


Выбор темы для дипломного проектирования, на мой взгляд, достаточно сложная вещь. В дипломной работе требуется проявить самостоятельность с одной стороны и уровень знаний с другой. Но помимо этого хотелось осветить проблему достаточно интересную и новую, поэтому я выбрал тему диплома связанную с технологиями Internet.

Internet развивается довольно стремительно. Быстро растет количество изданий, посвященных Сети, что предвещает широкое ее распространение даже в далеких от техники областях. Internet превращается из большой игрушки для интеллектуалов в полноценный источник всевозможной полезной информации для всех. Процессы развития глобальных информационно-коммуникационных технологий очень динамичны в настоящее время, а их возможности для общества и экономики еще только начинают масштабно использоваться. Еще два-три года назад Internet рассматривался преимущественно как гигантская библиотека и главной его задачей считалась помощь в поиске нужной информации и организация доступа к ней. В настоящий "коммуникационный" этап своего развития главной задачей сети Internet является помощь в поиске желательных партнеров и предоставление средств для организации с ними нужного вида коммуникаций с необходимой интенсивностью. Результаты последних исследований показали, что использование Internet-технологий может принести реальную экономию и прибыль. Ожидается существенный рост увеличения объемов Internet-коммерции, особенно в таких областях, как путешествия, розничная торговля, финансы, тематическая реклама, а также в компьютерном секторе. В мире накоплено огромное количество информации по различным вопросам. Чаще всего эта информация хранится в базах данных (БД). Чтобы опубликовать её в Сети приходилось экспортировать БД в HTML-документы, что требовало больших затрат и усложняло поиск информации. Сегодня имеется большой опыт подобных работ. Практически любой пользователь Сети не раз сталкивался с подобными БД. Например, главное в работе популярного поискового сервера Yahoo (адрес- http::\\www.yahoo.com) - это запросы к базе данных WWW-сервера по ключевым словам. Ответ сервера - список гипертекстовых ссылок на найденные в Сети страницы, содержащие нужную информацию. Именно сегодня проблема Web-интерфейса к БД как никогда актуальна.


Разработка технического задания на дипломное проектирование.


Работая в фирме «Телефонная Коммерческая Служба Санкт-Петербурга 008» передо мною, было поставлена задача:

Перенести базу данных по клиентам фирмы с сервера в локальной сети телефонной справочной службы фирмы на её WEB-сервер.

Выбрать способ реализации.

Сделать выбор между доступными на сегодняшний день серверами баз данных, для дальнейшей реализации, на его основе, базы данных «Телефонной Коммерческой Службы Санкт-Петербурга 008».

Сделать выбор между способами доступа к базе данных.

Осуществить разработку доступа к базе данных фирмы с помощью Internet-браузера.


Выбор методов и средств решения.


Выбор сервера баз данных.


В данном разделе требуется определить с помощью каких методов и средств решения можно осуществить реализацию проекта. Сразу надо сказать, что средств решения этой задачи на сегодняшний день достаточно много, но практически всегда всё зависит от количества ресурсов предоставляемых для решения – типом и характеристиками сервера, операционной системой и т.д. Сразу надо сказать, что компьютер, выделенный под WEB-сервер достаточно мощный (Pentium II - 300Мг, 128Мб. оперативной памяти, SCSI – диск). На нём установлена операционная система Microsoft Windows NT 4.0, так же установлен WEB-сервер Internet Information Server.

Доступная потребителю информация о самих системах, операционных системах, программном обеспечении инфраструктуры (СУБД и мониторы обработки транзакций) как правило, носит очень общий характер. Структура аппаратных средств, на базе которых работают программные системы, стала настолько сложной, что эксперты в одной области редко являются таковыми в другой.

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

Следует отметить, что выбор той или иной аппаратной платформы и конфигурации определяется и рядом общих требований, которые предъявляются к характеристикам современных вычислительных систем.

К ним относятся:

отношение стоимость/производительность;

надежность и отказоустойчивость;

масштабируемость;

совместимость и мобильность программного обеспечения.

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

Internet действительно неожиданно бурно ворвался в устоявшуюся жизнь разработчиков клиент-серверных приложений. Однако первоначальный шок довольно быстро прошел, как только наступило осознание нехитрого в общем-то факта, что структура Internet/Intranet приложений имеет много общего с традиционной платформой "клиент-сервер". Правильнее говоря, World Wide Web (WWW) также основывается на клиент-серверной архитектуре. В самом деле, Web-браузер является типичным клиентским front-end'ом, основное отличие которого от клиентских мест, построенных с помощью Visual C++, Visual Basic, Visual FoxPro и других средств разработки, состоит в более гибко настраиваемой функциональности, которая может определяться даже во время выполнения программы. При этом не требуется ни перекомпиляции, ни переустановки модулей, что уже само по себе является нетривиальной задачей в больших и сложных клиент-серверных системах масштаба корпорации. Правда, первоначально браузеры использовались только как средства форматирования статического текста. Однако активно развивающийся в Internet бизнес вскоре перестал довольствоваться простой публикацией рекламы предприятия и справочной информации о его деятельности. Например, клиент имел полное право хотеть выбрать из рекламного проспекта фирмы понравившиеся ему образцы и совершить покупку. Подобно типичному интерфейсу клиентского приложения на VB, VFP и т.д., сценарий работы предполагал заполнение клиентом некоторой формы, населенной, вообще говоря, различными элементами управления, отправку соответствующего запроса на сервер и прием результатов обработки. Таким образом, требования бизнеса выдвинули на первый план принципы динамического взаимодействия браузера и Web-сервера внутри сессии, что заставило задуматься как об активной роли браузера, так и о расширении функциональности сервера по сравнению с простым хранением и пересылкой HTML-документов.

Многие фирмы-производители программных продуктов выпускают или разрабатывают средства публикации баз данных в Internet-сетях. Основные функции таких программных продуктов данного вида таковы:

обеспечить отображение интерфейса пользователя в формате HTML для отображения программой просмотра клиента, в частности Internet-броузерами.

обеспечить формирование запросов к базе данных наиболее простыми для неподготовленного пользователя средствами.

обеспечить аутентификацию пользователя (для разграничения доступа).

обеспечить обработку запроса и возврат результата в HTML формате для отображения программой просмотра пользователя.

При этом необходимо помнить о защите передаваемой по Сети информации и о привлекательности и понятности интерфейса.

Для серийно выпускаемых программных продуктов данного типа характерны высокая стоимость самого программного обеспечения (ПО), аппаратной платформы, самой СУБД (насколько мне известно, ПО для связи с WWW пока не включается в поставку СУБД). К достоинствам можно отнести хорошую документированность, наличие технической поддержки, низкую стоимость дальнейших обновлений программного обеспечения. Хотя в последнее время начинают появляться программы такого типа для «настольных» СУБД типа Visual FoxPro, Paradox и т.д. Но здесь другая проблема - при низкой стоимости (некоторое ПО можно получить по Сети бесплатно - нужно лишь иметь СУБД) отсутствует мощность и гибкость. Такое ПО годится разве что для публикации небольших по объёму и несложных баз данных.

Можно упомянуть следующие СУБД:

SQL-server фирмы Microsoft (требует мощного сервера баз данных под управлением ОС Microsoft Windows NT server).

Sybase System фирмы Sybase (требует мощного UNIX- сервера).

Informix фирмы Informix Software (также требует мощного UNIX- сервера).

Progress фирмы Progress Software (работает на той же аппаратной платформе, что и два предыдущих).

InterBase фирмы Borland (есть вариант для Windows NT и для UNIX).

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

Например, в последнее время, всё чаще упоминают Intranet («внутренняя» Сеть). Это крупные корпоративные вычислительные сети, основанные на технологиях Internet, использующие те же протоколы, форматы данных и т.д. имеющие или не имеющие выход глобальную сеть Internet. Достоинства Intranet в том, что не надо переучивать персонал при переходе на новое ПО (можно, в принципе, оставить старые интерфейсы), так как научив один раз человека пользоваться Internet’ ом, можно легко обучить его работе с ПО предприятия - для отображения информации можно воспользоваться теми же браузерами. К общим чертам вышеперечисленных программных продуктов можно отнести поддержку стандартного языка запросов к базам данных SQL, что облегчает в случае надобности переход от одной СУБД к другой, практическое отсутствие ограничений на размеры файлов баз данных.

Оригинальная версия SQL – это интерпретируемый язык, предназначенный для выполнения операций над базами данных. Язык SQL был создан в начале 70 х как интерфейс для взаимодействия с базами данных, основанными на новой для того времени реляционной теории. Реальные приложения обычно написаны на других языках, генерирующих код на языке SQL и передающих их в СУБД в виде текста в формате ASCII. Нужно отметить также, что практически все реальные реляционные (и не только реляционные) системы помимо реализации стандарта ANSI SQL, известного сейчас в последней редакции под именем SQL2 (или SQL-92), включают в себя дополнительные расширения, например, поддержка архитектуры клиент-сервер или средства разработки приложений.

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

Microsoft SQL Server 7.0 входит в состав семейства Microsoft BackOffice, объединяющего пять серверных приложений, разработанных для совместного функционирования в качестве интегрированной системы. Она позволяет пользователям повысить производительность процесса принятия решений средствами систем, базирующихся на архитектуре клиент-сервер. Кроме того, Microsoft SQL Server 7.0 завершает линию средств разработки, включающих Microsoft Access, Visual FoxPro®, Visual Basic и Visual C++™.

Расширенные возможности масштабирования и высокая производительность.

Особое внимание, которое было уделено повышению производительности СУБД, позволило повысить скорость выполнения некоторых операций почти на 400% на многопроцессорных компьютерах. Это достигается активным использованием многопроцеcсорной архитектуры компьютера и многопоточной архитектуры операционной системы. Среди операций, выполняющихся параллельно, можно назвать сканирование таблиц, загрузку, создание/восстановление страховочной копии. Все это позволяет обеспечить высокопроизводительную работу с большими и очень большими базами данных.

Поддержка очень больших баз данных и съемных носителей.

Для версии 4.21а очень большой считалась база данных размером 10-15 Гб (хотя некоторые организации, например, Sprint, работали с базами данных размером 60 Гб и более). Высокоскоростная параллельная обработка делает возможной поддержку работы с базами данных размером 100 Гб и более на соответствующим образом конфигурированных системах. Не только процесс создания страховочных копий выполняется быстрее, но и такие операции, как проверка целостности базы данных (выполняется командой DBCC), сильно выигрывают от использования параллельного сканирования и увеличенных блоков ввода/вывода. Возможность сохранения в страховочной копии (восстановления из копии) индивидуальных таблиц позволяет сократить время, необходимое на сохранение (восстановление) отдельных таблиц базы данных. Поддержка распространения баз данных на съемных носителях (таких как CD-ROM) позволяет выпускать различного рода справочники или информационные материалы. Интересно отметить, что гибкость SQL Server проявляется и при работе с очень маленькими объемами информации. Так, для того чтобы базу данных можно было сохранить на дискете, ее минимальный размер снижен до 1 Мб.

Расширение возможностей языка и программного доступа.

Существующая версия SQL Server снабжена мощным языком программирования -Transact-SQL, позволяющим создавать сложную логику триггеров и хранимых процедур. В новой версии язык значительно расширен, теперь он соответствует стандарту ANSI-92, и программисты получили новые возможности (такие как новые, соответствующие ANSI-стандарту, типы данных и соответствующая стандарту ANSI поддержка декларативной целостности данных). Помимо перечисленных возможностей, программист может воспользоваться генератором, автоматически создающим уникальные значения для ключевых полей таблицы, возможностью передавать идентификаторы и данные типа TEXT и IMAGE как параметры хранимым процедурам и многое другое. Использование хранимых процедур, которые запускаются автоматически при каждом старте SQL Server, позволяет создавать системы, способные выполнять различного рода задания без участия администратора. Наиболее же интересным нововведением являются скроллируемые, двунаправленные курсоры. Курсоры SQL Server поддерживают все режимы, определенные расширенными требованиями ANSI, а также и ODBC семантику; они совместимы с существующими курсорами, поддерживаемыми API в DB-Library.

Производительность и масштабируемость.

Microsoft SQL Server 7.0 имеет параллельную архитектуру, интенсивно использующую много поточность операционной системы для обеспечения высокой производительности и масштабируемости на многопроцессорных системах. Все управление задачами SQL Server организовано вытесняющим для повышения надежности и изолирования возможных сбоев. За счет динамического распределения нагрузки на процессоры SQL Server достигает автоматической балансировки загрузки всех ЦП компьютера. Microsoft называет это "симметричной архитектурой сервера".

Преимущества симметричной архитектуры.

Симметричная архитектура Microsoft SQL Server предоставляет следующие преимущества:

- снижает сложность системы.

SQL Server не дублирует службы операционной системы (такие как диспетчирование, распределение памяти, управление очередями), что делает архитектуру системы более эффективной и стабильной;

- повышает производительность .

SQL Server способен обеспечить высокую скорость выполнения транзакций и обладает высокой пропускной способностью на микропроцессорных системах, даже при одновременной работе сотен пользователей;

- адаптируется к росту нагрузки.

Нагрузка на SQL Server динамически распределяется по нескольким ЦП, что повышает масштабируемость на симметричных многопроцессорных системах.

повышает надежность

Задачи пользователя исполняются в самостоятельных потоках, и при необходимости одна задача принудительно завершается, не оказывая влияния на выполнение остальных. Например, SQL Server способен прервать "спящий" процесс без того, чтобы это оказало влияние на работу всей системы. Ни одна задача не может "выйти из-под контроля".

Усовершенствования, связанные с параллельной обработкой данных в SQL Server 7.0 .

У SQL Server 7.0 Microsoft еще более расширила возможности параллельной обработки симметричной архитектуры сервера. За счет параллельного выполнения широкого диапазона внутренних функций СУБД с использованием множественных потоков операционной системы при работе на много процессорных системах резко возрастает производительность и масштабируемость многих операций (таких как определенные типы запросов, сканирование таблиц, создание индексов, создание/восстановление страховочных копий, проверка целостности базы данных и т.д.).

Параллельное сканирование и асинхронное опережающее чтение.

Параллельное сканирование и асинхронное опережающее чтение повышает на 40 - 400% скорость выполнения некоторых типов запросов и других операций над базой данных в многопроцессорных системах. Повышение производительности достигается за счет использования SQL Server 7.0 множественных потоков операционной системы и алгоритмов определения следующего блока данных, необходимых для вывода в кэш. Эта операция типична для длительного запроса с вычислениями или операции создания отчета. Подобная технология обеспечивает резкое повышение производительности для любой операции, требующей просмотра таблиц, например, SELECT, UPDATE и DELETE с необходимостью поиска, CREATE INDEX, DBCC, DUMP/LOAD и т.п.

Параллельная загрузка.

При работе с новой версией SQL Server можно запускать несколько параллельно работающих копий BCP или SQL Enterprise Manager и выполнять параллельные перекрывающиеся операции загрузки данных в SQL Server. Подобные возможности оказываются особенно полезными при необходимости массивного копирования данных в ограниченные сроки.

И конечно же безопасность:

Улучшенная интеграция с безопасностью NT ;

Аутентификация средствами NT (как текущий пользователь - без пароля, как другой - login+pwd) ;

Mixed (возможна аутентификация средствами SQL Srv) ;

Полная поддержка пользователей, групп и ролей ;

Роли могут быть приписаны пользователям и группам NT, а также пользователям Sphinx ;

Роли могут быть вложены ;

Прикладные роли для 3-уровневых систем ;

Позволяют назначать права при доступе через приложение, а не isql ;

Гибкая гранулярность прав и системных ролей ;

Предопределенные роли ServerAdmin, SecurityOfficer, ... ;

Поддержка делегирования в NT 4.0 ;

На 2-м сервере не как удаленный пользователь, а под тем же именем ;

Простое и мощное администрирование.

Потому было принято решение установить сервером базы данных – Microsoft SQL Server 7.0.


Выбор методов доступа к базе данных.


Далее необходимо сравнить способы реализации доступа к базе данных. Схематически можно представить взаимодействие базы данных и WEB-сервера так:



Информация о работе «Перенос Базы Данных на WEB-сервер»
Раздел: Информатика, программирование
Количество знаков с пробелами: 108575
Количество таблиц: 10
Количество изображений: 0

Похожие работы

Скачать
51476
2
0

... Java-совместимом Web-обозревателе. Необходимо использовать обозреватель, имеющий поддержку JDK (Java Development Kit √ стандарт Java) версии 1.1.x или выше. 3.2 Технология доступа к базам данных на стороне сервера с использованием механизма CGI В соответствии с идеологией CGI-интерфейсов, вся функциональность размещается на сервере приложений. Ее реализует один или несколько CGI-скриптов, ...

Скачать
183471
45
12

... Java, JavaScript и встроенные в сервер средства LiveConnect. Более мощными реляционными возможностями доступа к базе данных и более эффективным выполнением виртуальной Java-машины будут расширены услуги разработки приложений, обеспечиваемых в Enterprise Server 2.0,. Сервис управления. В дополнение к использованию встроенной машины каталога LDAP Enterprise Server 2.0 будет управляем через общие ...

Скачать
194681
23
7

... поставленной задачи показала правильность выбранного подхода. Тем не менее, работа требует дальнейше доработаки для организации постоянного доступа читателей к библиографическим ресурсам библиотекам города через Интернет. Литература 1.          Глушаков С.В., Ломотьков Д.В. Базы данных: Учебный курс. – К.: Абрис, 2000. -504с. 2.          Джейсон Мейнджер. Java: основы программирования :Пер ...

Скачать
59434
0
14

... данных означает, что в распределенной системе могут мирно сосуществовать СУБД различных производителей, и возможны операции поиска и обновления в базах данных различных моделей и форматов. распределённая база данные компьютерный 3 Проблемы распределенных баз данных Исходя из определения Дэйта, распределенную базу данных в общем случае можно рассматривать как слабосвязанную сетевую структуру, ...

0 комментариев


Наверх