Материал: Разработка автоматизированной системы планирования и учета нарядов в подразделении для военно-учебных заведений

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

3. Выбор аппаратной и программной платформы системы планирования и учета нарядов подразделения

 

.1 Определение архитектуры создаваемой системы


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

К таким особенностям можно отнести:

1. территориальную удалённость подразделений института и

соответственно рабочих мест пользователей системы;

2. использование системы одновременно несколькими пользователями;

3. различие выполняемых пользователями задач, в соответствии со своим должностным положением;

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

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

Главными функциями клиентской части являются интерфейсные, которые позволяют пользователю принимать информацию от системы и формировать к ней пользовательские запросы.

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

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

 

.2 Обзор существующих Web-технологий


Платформенно-независимый интерфейс CGI

Значительные сервисные ресурсы могут быть созданы с применением технологии CGI. Платформенно-независимый интерфейс CGI (CommonGatewayInterface - дословно - общий шлюзовой интерфейс) используется для исполнения программ совместно с Web-сервером. Такие программы называются CGI-приложениями. Рассмотрим, как работает данная технология.

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

CGI-программа может представлять собой любой исполняемый файл - будь то программа, написанная на языке С, Shell-скрипт или программа на Perl. Вообще приложениями CGI называются программы, которые, пользуясь этим интерфейсом, получают через протокол HTTP информацию от удаленного пользователя, обрабатывают ее, и возвращают результат обработки обратно в виде ссылки на уже существующий документ HTMLили другой объект (например, графическое изображение) или в виде документа HTML, созданного динамически. Из-за того, что очень часто такие программы пишутся именно на языках-интерпретаторах (подобных Basic, Perl, PHP), их традиционно называют сценариями.

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

Язык разработки сценариев РНР

РНР - язык, специально нацеленный на работу в сети Интернет, который позволяет встраивать программный код в HTML-доку менты. Синтаксис языка чрезвычайно ясный и читаемый, сочетает в себе все достоинства языков Perl и С.

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

Как правило, Web-документы, написанные на языке РНР, имеют расширение.php. Рассмотрим, как работает данная технология. РНР-"программа" представляет собой обычный HTML-файл, в который в требуемых местах встроен программный код, выполняющий заданные действия. Вставки кода оформляются парой тегов <?php и ?>, между которыми может находиться необходимое число операторов языка. При запросе такого документа пользователем Web-сервер вызывает специальный PHP-интерпретатор и передает ему этот документ. Интерпретатор просматривает его, пропуская все теги HTML и выполняет все операторы программной вставки. Сама программная вставка, ограниченная тегами <?php и ?>, удаляется из документа, а на ее место вставляется результат выполнения операторов этой вставки, в том случае, конечно, если в ней содержатся операторы вывода. При этом сам HTML-файл фактически выступает в роли статического шаблона, в котором изменяемые фрагменты реализуются программным кодом. Результат такой обработки отправляется пользователю. Пользователь же никогда не сможет узнать, какой конкретно фрагмент (и вообще имелись ли такие фрагменты) был сгенерирован динамически. Однако если Web-сервер не имеет PHP-интерпретатора, но на нем была размещена страница с инструкциями на этом языке, то страница, вместе со всеми программными вставками будет передана пользователю. Так как вставки кода оформляются парой тегов <?php и ?>, они будут восприняты браузерами как комментарии, и отображены пользователю не будут. Хотя пользователь сможет увидеть их, запросив в браузере исходный код страницы. планирование наряд идентификация авторизация

Как следует из изложенного алгоритма, элементарная РНР-программа вообще может не содержать ни одной программной вставки. Тем не менее, такая "программа" будет вполне рабочей, и при ее интерпретации в интерпретаторе Web-сервера никакой ошибки не произойдет. Иными словами, PHP-сценарий вообще может не отличаться от HTML-документа.

Синтаксис языка РНР обширен и функционален. Язык не требует ни объявления переменных, ни указания их типов. Все преобразования типов выполняются интерпретатором автоматически. Язык поддерживает множество управляющих структур - выбор, циклы, ветвления, поддерживаются функции. В языке реализованы некоторые принципы объектно-ориентированного программирования. К достоинствам языка относится богатый набор "встроенных" функций самого широчайшего назначения: файловых, сетевых, математических, строковых, функций для доступа к базам данных и многих других. РНР изначально ориентирован на поддержку CGI - при обработке форм в обрабатывающем сценарии становятся автоматически доступны все переменные, которые соответствуют элементам форм, что в значительной мере упрощает работу Web-программиста.

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

Технология построения интерактивных документов

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

ДинамическийHTML (DynamicHTML, или DHTML) не является каким-то особым языком разметки страниц. Это термин, применяемый для обозначения HTML-страниц с динамически изменяемым на стороне клиента содержимым.

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

Компоненты ActiveX создаются с применением технологии

программирования COM (ComponentObjectModel), разработанной Microsoft.

С точки зрения программиста, использующего его, ActiveX-элемент - это

дальнейшее развитие технологии объектно-ориентированного программирования. При включении подобного объекта-компонента в тело разрабатываемой программы он делает доступными свои свойства и методы, которые открыты для использования в соответствующей объектно-ориентированной манере в программе-контейнере. Все эти свойства и методы могут быть использованы при применении технологии DHTML в языках-сценариях JavaScript или VBScript.

Элементы ActiveX хранятся на компьютере пользователя. Каждый элемент имеет уникальный идентификатор, и соответствующую, уникальную для каждого элемента запись в реестре операционной системы Windows. Встраивание элемента в HTML-страницу выполняется с помощью пары тегов <OBJECT>..</OBJECT>, содержащих идентификатор встраиваемого элемента ActiveX, а так же необходимое количество других параметров, задающих свойства элементов. Кроме того, может быть задан параметр, определяющий, откуда может быть загружен используемый ActiveX элемент, если он еще не имеется на компьютере пользователя.

ActiveServerPages (ASP)

Технология ASP компании Microsoft является аналогом рассмотренных ранее серверных технологий. Более всего ASP функционально походит на CGI. ASP-страница - это HTML-документ, содержащий сценарии, которые позволяют работать с управляющими элементами ActiveX, в том числе, и элементами для доступа к базам данных. Особенностью этой технологии является то, что в качестве языков сценариев для написания динамических вставок как правило используются JavaScript и VBScript, хотя допустимо использование и других языков. Сценарий управляет объектами, результаты работы которых представляются в формате DynamicHTML.

Технологию ASP используют Web-серверанабазе Windows - Internet Information Server и Personal Web Server. Таким образом, ASP в некоторой мере может служить заменой CGI на Windows-платформах.

 

.3 Сравнение существующих технологий программирования


Рассмотрим особенности CGI и РНР. Очевидно, что реализация серьезных динамических Web-документов в этих технологиях неосуществима без передачи исходной информации от клиента на сервер. При изложении CGI были рассмотрены способы, которыми на сервер могут быть переданы данные. Было сказано, что задача написания функций, реализующих тот или иной алгоритм раскодирования информации и интерпретации строки параметров возлагается на программиста. На каком бы языке сценарий написан бы ни был, если этот язык не имеет соответствующих функций, то программисту придется заботиться и о решении этой совсем не простой задачи. В этом смысле выгодно отличается РНР, который был специально разработан для работы с Web-документами. Если PHP-сценарию была передана строка параметров, вне зависимости от использовавшегося для этого метода, все эти параметры становятся автоматически доступны в сценарии. Иными словами, если серверу была передана строка valuel=aaa&value2=%8E%8F%90, то в сценарии на момент выполнения программы эти данные будут в распоряжении программиста в виде массива. Никаких перекодированний и никаких интерпретаций строк параметров выполнять не потребуется.

В DHTML обращение к значениям данных возможно через объектное представление документа.

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

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

Источник: https://www.bibliofond.ru/view.aspx?id=896350