Автор работы: Пользователь скрыл имя, 25 Марта 2011 в 17:23, курсовая работа
Основными задачами подобной подсистемы являются разделения процессов создания, редактирования и оформления документов между пользователями системы, что позволяет более эффективно управлять цифровой интеллектуальной собственностью организации.
Если еще одно десятилетие назад можно было задуматься над управлением бумажным документооборотом, то сейчас та же проблема стоит в электронной плоскости. Только уже на гораздо более остром уровне. Не зря же наш век называется «информационным».
Введение 3
Глава 1. Теоретические основы разработки информационного сервера 6
1.1. Web-технологии как основа доставки информации в информационной системе 6
1.2. Архитектура информационного сервера 15
1.3. Принципы организации документооборота на информационном сервере 18
1.4. Средства создания информационных серверов 24
Глава 2. Подсистема организации документооборота «infobeacon» 29
2.1. Архитектура и функциональность подсистемы 29
2.2. Организация политики безопасности в рамках подсистемы 33
2.3. Компоненты подсистемы и схема хранения данных 34
Заключение 41
Список литературы 42
Приложение 1. Листинги sql-запросов по созданию таблиц 43
Приложение 2. Листинги основных php скриптов 45
Браузер предоставляют пользователю возможность указывать внешние программы-интерпретаторы для разных типов документов.
Чудесной находкой, позволившей открыть множеству людей доступ к Интернет, была концепция гипертекста, предложенная Теодором Хольмом Нельсоном. Именно Нельсон считается отцом идеи гипертекста в том виде, в котором он сейчас существует.
Гипертекст - это обычный текст, содержащий ссылки как на собственные фрагменты, так и на другие тексты. Рассказывая о том, что послужило прообразом для этого изобретения, Нельсон вспоминает отрывок из одного очерка Ванневара Буша, написанного в 1945 году: «Работа человеческой мысли построена на принципе ассоциаций. Анализируя какое-либо понятие или элемент, она непременно стремится поставить ему в соответствие какой-нибудь другой знакомый образ, подсказываемый ассоциацией мыслей, и это соответствие устанавливается благодаря трудноуловимой паутине связей, формируемых клетками человеческого мозга». Спроецировав эту идею о работе мозга одного человека на компьютерную сеть, охватывающую весь мир, Нельсон посеял семена явления, которое впоследствии переросло во «Всемирную Паутину».
Идея гипертекста была простой, элегантной и великолепной. Но успех идеи определялся наличием сети. Если сеть есть, гипертекст невероятно полезен. Он тогда становится ключевым механизмом. Дело в том, что при наличии сети тексты, связанные друг с другом ссылками, можно размещать на различных, территориально удаленных компьютерах, и создавать и редактировать тексты могут разные люди. Таким образом, создается «паутина» взаимосвязанных текстов, способная стать гигантским информационным хранилищем.
В 1988 году проект гипертекстовой системы Xanadu Теодора Нельсона обрел источник финансирования у Джона Уокера, основателя Autodesk. Тогда Уокер пророчески заявил: «В 1964 году Xanadu была мечтой одиночки. В 1980 году - общей целью небольшой группы талантливых технологов.
В 1989 году она станет продуктом. А в 1995 году она начнет переделывать мир». Все оказалось даже ближе к истине, чем Уокер мог вообразить.
В основе web-технологий лежит простая идея - HTML-страницы не обязаны быть статичными и храниться в готовом виде. Ничто не мешает формировать их динамически в ответ на запрос пользователя. Если для этого используется отдельное приложение, которое запускается www-сервером, это CGI (Common Gateway Interface). Создать CGI-приложение несложно. В то время как www-сервер занимается управлением правами доступа, обработкой поступающих запросов, передачей данных клиенту и пр., от программы CGI требуется всего лишь вывести HTML-страницу в стандартный поток вывода. При этом она может быть написана на C++, Perl, Php присоединяться к базам данных или другим ресурсам и выполняться очень быстро. Данные запроса передаются в CGI-приложения через переменные окружения или через стандартный ввод. В настоящее время генерация HTML с помощью CGI, будь то скомпилированная программа или интерпретируемый perl-скрипт, распространено чрезвычайно широко. Однако использование CGI имеет и недостатки. Например, при сильной загрузке www-сервера. В течение одной секунды он должен обслужить 100 запросов пользователей. Это означает одновременный запуск 100 CGI-приложений. С точки зрения операционной системы создание нового процесса трудоемкая процедура, как, впрочем, и поддержание его в работоспособном состоянии. Для запуска программы операционная система создает специальные структуры внутри ядра, выделяет память под сегменты задачи, загружает данные приложения с диска и связывает его с динамическими библиотеками. После завершения работы приложения необходимо освобождать все занятые им ресурсы. Нельзя забывать и про время инициализации приложения. В случае, когда идет работа с базой данных, время инициализации - это время установления соединения с сервером БД, и это соединение не всегда выполняется быстро (требуется установить канал связи, проверить права доступа и пр.) В ситуации, когда сервер БД загружен, это время будет еще больше. Технология CGI проста и удобна, но ее следует
использовать в том случае, когда время отклика не критично (генерация отчетов и пр.) и когда запросы для CGI-приложений поступают не очень часто (раз в 10-60 секунд). Что же делать, если необходим динамический HTML, но ресурсы на CGI тратить не хочется?
Выход был найден и здесь - чтобы обойтись без запуска отдельного приложения, его нужно встроить в www-сервер. Поскольку заранее неизвестно, что именно будет делать это приложение, следует встроить в www-сервер интерпретатор удобного для обработки данных языка. Такое решение позволит каждый запрос обрабатывать отдельным потоком сервера, а не отдельным процессом операционной системы. Это увеличивает время отклика и снижает нагрузку на процессор. Программы, которые обрабатывает этот интерпретатор, часто называют «скриптами» (Scripts). В решении внедрить интерпретатор в www-сервер таятся как плюсы, так и минусы - интерпретация скриптов позволяет вносить в них изменения и немедленно видеть результат, но выполняются они медленнее скомпилированной программы. К тому же ошибка в CGI-приложении никак не повлияет на устойчивость www-сервера, а вот ошибка во встроенном интерпретаторе, скорее всего, будет для сервера фатальна. Как показала практика, плюсы все же перевесили. Основной задачей, возлагаемой на скрипты, стало взаимодействие с БД, а здесь основные задержки возникают, как правило, на сервере БД. К тому же отсутствие необходимости в компиляции необычайно удобно при отладке интернет-приложений. Это важно, так как в стадии отладки эти приложения пребывают вплоть до того момента, когда их заменяют другими.
В стане UNIX изначально получил широкое распространение интерпретатор языка PERL (Practical Expression Regular Language). В названии таится главный смысл – «обработка регулярных выражений», то есть специальных выражений, которые обрабатывают строки по шаблонам. Perl позволяет лаконично описывать и решать сложные задачи хранения и синтаксического разбора строк произвольной длины. Для интернет-задач, которые, в основном, оперируют текстом, это вполне удобный инструмент. Интерпретатор
Perl был встроен в основной www-сервер операционной системы Linux Apache. Однако, Perl придуман был изначально не для Internet, и отсюда вытекали все его недостатки, например, неудобства при организации доступа к базам данных. Да и далеко не прост PERL в обучении! Более разумной альтернативой является PHP (Personal Home Page). PHP был придуман в 1994 году для расширения возможностей «домашней» страницы. Вначале умел он не очень много - понимал простейший язык и всего несколько макросов. Позднее PHP получил раз витие и в настоящее время это интерпретатор мощного C-подобного языка, который встраивается в www-сервер Apache. Огромная часть интернет-приложений под UNIX- семейством создается на PHP. Существует он и под Windows, но особой популярностью здесь не пользуется. Для создания работоспособной версии веб-сервера со встроенным PHP придется немного потрудиться. Вначале необходимо получить исходный текст www-сервера и PHP-интерпретатора. Затем установить библиотеки для работы с СУБД, которая Вам необходима. Наконец, скомпилировать, связать (слинковать, как-то некрасиво, хотя более точно) это друг с другом и заняться редактированием настроечных файлов.
К недостаткам PHP (версии 3) сам автор относит снижение производительности на больших проектах, отсутствие поддержки сессий, малое кол-во подключаемых модулей (хотя это вопрос времени). В настоящее время уже существует PHP 4, которая решила большинство этих проблем (например, отсутствие сессий) и буквально в этом году должен появиться PHP5.
Именно указанные технологии на основе общих принципов построения сети Internet и, в особенности, на базе системы протоколов TCP/IP сделали возможным функционирование WWW. Следует обратить внимание на тот факт, что, общаясь с web, пользователь в каждый конкретный момент времени устанавливает связь только с одним web-узлом. Таким образом, взаимодействие пользователя с web всегда укладывается в схему клиент-сервер, несмотря на то, что серверы, т.е. web-узлы, могут сменяться даже во время одного сеанса, а управляет этой сменой узлов пользователь (клиент) с помощью
активации ссылок в изображении просматриваемого документа.
Рассмотрим процесс миграции информационной системы из традиционной технологической схемы локального окружения в Web-технологию.
Традиционная схема представляет из себя:
1) интерфейс пользователя
2) ядро системы
3) информационный массив
4) интерфейс администратора
5) утилиты администратора
С точки зрения Web-технологии интерфейс пользователя - это браузер, который взаимодействует с ядром через http-сервер. Таким образом происходит первый этап декомпозиции традиционной информационной системы в Web.
Второй шаг - это возможность использования браузера в качестве интерфейса администратора. Здесь возникают вопросы разграничения доступа и актуализации информации в базах данных системы.
Следующий шаг - распределение нагрузки по нескольким серверам, а также использование кэширования на серверах-посредниках.
Пока декомпозиции подвергалась связка "конечный пользователь-ядро". Можно провести декомпозицию и на стороне сервера. Первым таким шагом является применение CGI при доступе к ресурсам. Сервер становится посредником между браузером и сервером ресурса.
Основные проблемы Web-технологии - это вопросы отсутствия реального сеанса работы с сервером и безопасность.
Для поддержки сеанса в Web применяется спецификация Cookie. Идея состоит в том, чтобы передавать от клиента на сервер и обратно информацию о пользователе и его действиях, которая привязывается по типу информационного ресурса и времени.
Первоначально
системы такого уровня базировались
на классической двухуровневой клиент-
Рис.
1. Двухуровневая клиент-
Данная клиент-серверная архитектура характеризуется наличием двух взаимодействующих самостоятельных модулей – программы-браузера и сервера базы данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase, MySQL и другие. Сервер БД отвечает за хранение, управление и целостность данных, а также обеспечивает возможность одновременного доступа нескольких пользователей. Клиентская часть представлена так называемым “толстым” клиентом, то есть приложением, на котором сконцентрированы основные правила работы системы и расположен пользовательский интерфейс программы. При всей простоте построения такой архитектуры, она обладает множеством недостатков, наиболее существенные из которых - это высокие требования к сетевым ресурсам и пропускной способности сети. Кроме того, при большом количестве «клиентов» возрастают требования к аппаратному обеспечению сервера БД, а это, как известно, самый дорогостоящий узел в любой информационной системе.
Как
видим, минусов у такой архитектуры
достаточно, а решение тривиально
- нужно отделить логику от клиентской
части и СУБД, выделив ее в отдельный слой.
Так и поступили разработчики и следующим
шагом развития клиент-серверной архитектуры
стало внедрение среднего уровня, реализующего
задачи управления механизмами доступа
к БД (См. Рис. 2).
Рис.
2. Трехуровневая клиент-
Плюсы данной архитектуры очевидны. Благодаря концентрации логики на сервере приложений, стало возможно подключать различные БД. Теперь, сервер базы данных освобожден от задач распараллеливания работы между различными пользователями, что существенно снижает его аппаратные требования. Также снизились требования к клиентским машинам за счет выполнения ресурсоемких операций сервером приложений и решающих теперь только задачи визуализации данных. Именно поэтому такую схему построения информационных систем часто называют архитектурой “тонкого” клиента.
Но,
тем не менее, узким местом, как
и в двухуровневой клиент-
Существует еще один важный момент использования систем, построенных на такой архитектуре. Уровень «клиентов», в целом обладающий огромной вычислительной мощностью, на самом деле простаивает, занимаясь лишь выводом информации на экран пользователя. Так почему бы не исполь-
зовать этот потенциал в работе всей системы?
Более
95 % данных, используемых в документообороте,
могут быть размещены на одном
персональном компьютере, обеспечив
возможность его независимой
работы. Поток исправлений и
Построенные на основе данной архитектуры системы будут обладать надежностью, безопасностью информации и высокой скоростью вычислений, что от них в первую очередь и требуется.
Документооборот - это регламентированная технологическая схема и процесс движения документов по установленным пунктам обработки для выполнения необходимых операций с ними.