Обоснование выбора инструментальных средств
Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод на новый заказ в Автор24. Это бесплатно.
Для выбора средств реализации проекта проведем анализ существующих средств разработки webприложений.
В настоящее время, самыми распространенными являются PHP+ Apache.
Анализ будет проводиться по таким характеристикам
1) уровень затрат на реализацию и внедрение;
2) простота и удобство применения инструмента;
3) справочная документация;
4) высокий уровень безопасности;
5) простота внедрения и администрирования.
Таблица 1. Сравнительная характеристика средств реализации проекта
Критерий сравнение уровень затрат на реализацию и внедрение простота и удобство применения инструмента справочная документация высокий уровень безопасности простота внедрения и администрирования Среднее значение
ASP.NET 4 4 5 4 5 4,4
PHP+ 5 5 5 5 5 5
Для программной реализации интерфейса информационной системы выбран вебинтерфейс и язык PHP.
SP (ActiveServerPages) представляет собой фирменный язык сценариев Microsoft. Если быть точнее, ASP это не язык, а расширение VisualBasic для формирования сценариев. По этой причине любому, кто знаком с VisualBasic, относительно нетрудно в освоении ASP. Однако технология ASP.NET имеет существенные отличия. В будущем ASP может значительно поднять возможность масштабирования и свою производительность. Это будет достигнуто усилением архитектуры .NET/COM и управляющей среды. Впрочем, реальных преимуществ можно достичь лишь при условии больших затрат на различные сопутствующие серверы.
ASP.NET Префикс предоставляет подробную информацию о производительности вашего приложения. Включая все операторы SQL, ошибки, журналы, HTTPвызовы и сведения из десятков других фреймворков. Хотя концепция стала популярной благодаря методологии и практикам Agile, большинство из программистов имеет дело с ASP.NET, когда вызывает компилятор (или линтер), который сообщает нам, действительна ли программа.
Glimpse может показать много деталей об одном вебзапросе и конфигурации вашего сервера. Минипрофайл отслеживает запросы к базе данных и может предоставить более подробную информацию, если вы добавите в свое приложение код для шагов, которые хотите отслеживать.
Плюсы: эти инструменты отлично подходят для устранения основных проблем с производительностью ASP.NET во время разработки и в сценариях типа QA. Также может быть полезен в производстве с минимальными затратами на производительность.
Минусы: они показывают только информацию о текущем запросе, который выполняете. Таким образом, не сможете реально устранить проблемы с производительностью ASP.NET, с которыми сталкиваются пользователи, если вы не воспроизведете те же самые шаги. Они не используются для мониторинга текущей производительности всего приложения, как решение APM.
Рис. 4. Пример реализации ASP.NET
PHP это широко используемый язык сценариев общего назначения с открытым исходным кодом. Говоря проще, PHP это язык программирования, специально разработанный для написания Webприложений (сценариев), исполняющихся на Webсервере.
Аббревиатура PHP расшифровывается как Hypertext Preprocessor (Препроцессор Гипертекста). Синтаксис языка берет начало из C, Java и Perl. PHP достаточно прост для изучения. Преимуществом PHP является предоставление Webразработчикам возможности быстрого создания динамически генерируемых Webстраниц. Важным преимуществом языка PHP перед такими языками, как языков Perl и C заключается в возможности создания HTML документов с внедренными командами PHP.
Значительным отличием PHP от какоголибо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHPскрипты выполняются на стороне сервера. Вы даже можете сконфигурировать свой сервер таким образом, чтобы HTMLфайлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTMLфайл или результат выполнения скрипта.
PHP позволяет создавать качественные Webприложения за очень короткие сроки, получая продукты, легко модифицируемые и поддерживаемые в будущем. PHP прост для освоения, и вместе с тем способен удовлетворить запросы профессиональных программистов [2].
Язык PHP постоянно совершенствуется, и ему обеспечено долгое доминирование в области языков Webпрограммирования, в ближайшее время.
Главным фактором языка РНР является практичность. РНР должен предоставить программисту средства для быстрого и эффективного решения поставленных задач. Практический характер РНР обусловлен пятью важными характеристиками:
традиционностью;
простотой;
эффективностью;
безопасностью;
гибкостью.
Существует еще одна «характеристика», которая делает РНР особенно привлекательным: он распространяется бесплатно. Причем, с открытыми исходными кодами (Open Source).
1) Традиционность. Язык РНР будет казаться знакомым программистам, работающим в разных областях. Многие конструкции языка позаимствованы из C, Perl. Код РНР очень похож на тот, который встречается в типичных программах на С или Pascal. Это заметно снижает начальные усилия при изучении РНР. PHP язык, сочетающий достоинства Perl и C и специально нацеленный на работу в Интернете, язык с универсальным (правда, за некоторыми оговорками) и ясным синтаксисом.
И, хотя PHP является довольно молодым языком, он обрел такую популярность среди Webпрограммистов, что на данный момент является одним из популярнейших языков для создания Webприложений (скриптов).
2) Простота. Сценарий РНР может состоять из 10 000 строк или из одной строки все зависит от специфики вашей задачи. Вам не придется подгружать библиотеки, указывать специальные параметры компиляции или чтонибудь в этом роде. Механизм РНР просто начинает выполнять код после первой экранирующей последовательности (?) и продолжает выполнение до того момента, когда он встретит парную экранирующую последовательность (?). Если код имеет правильный синтаксис, он исполняется в точности так, как указал программист. PHP язык, который может быть встроен непосредственно в HTMLкод страниц, которые, в свою очередь будут корректно обрабатываться PHPинтерпретатором. Мы можем использовать PHP для написания CGIсценариев и избавиться от множества неудобных операторов вывода текста. Мы можем привлекать PHP для формирования HTMLдокументов, избавившись от множества вызовов внешних сценариев.
Большое разнообразие функций PHP избавят вас от написания многострочных пользовательских функций на C или Pascal.
3) Эффективность является исключительно важным фактором при программировании для многопользовательских сред, к числу которых относится и Web.
Очень важное преимущество PHP заключается в его «движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.
По некоторым оценкам, большинство PHPсценариев (особенно не очень больших размеров) обрабатываются быстрее аналогичных им программ, написанных на Perl. Однако, чтобы не делали разработчики PHP, откомпилированные исполняемые файлы будут работать значительно быстрее в десятки, а иногда и в сотни раз. Но производительность PHP вполне достаточна для создания вполне серьезных Webприложений.
4) Безопасность. РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.
Средства безопасности системного уровня. В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgibin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).
Средства безопасности уровня приложения. В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим со многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (ecommerce). Другое преимущество в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает для выполнения команды View Source.
5) Гибкость. Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Кроме того, хорошо структурированные приложения РНР легко расширяются по мере необходимости (впрочем, это относится ко всем основным языкам программирования).
Нет проблем и с зависимостью от браузеров, поскольку перед отправкой клиенту сценарии РНР полностью компилируются на стороне сервера
Зарегистрируйся, чтобы продолжить изучение работы
. В сущности, сценарии РНР могут передаваться любым устройствам с браузерами, включая сотовые телефоны, электронные записные книжки, пейджеры и портативные компьютеры, не говоря уже о традиционных ПК. Программисты, занимающиеся вспомогательными утилитами, могут запускать РНР в режиме командной строки. Поскольку РНР не содержит кода, ориентированного на конкретный Webсервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформеннонезависимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003.
Наконец, средства РНР позволяют программисту работать с внешними компонентами, такими как Enterprise Java Beans или СОМобъекты Win32. Благодаря этим новым возможностям РНР занимает достойное место среди современных технологий и обеспечивает масштабирование проектов до необходимых пределов.
6) Бесплатное распространение. Стратегия Open Source, и распространение исходных текстов программ в массах, оказало несомненно благотворное влияние на многие проекты, в первую очередь Linux, хотя и успех проекта Apache сильно подкрепил позиции сторонников Open Source. Сказанное относится и к истории создания РНР, поскольку поддержка пользователей со всего мира оказалась очень важным фактором в развитии проекта РНР. Принятие стратегии Open Source и бесплатное распространение исходных текстов РНР оказало неоценимую услугу пользователям. Вдобавок, отзывчивое сообщество пользователей РНР является своего рода «коллективной службой поддержки», и в популярных электронных конференциях можно найти ответы даже на самые сложные вопросы.
База данных интегрированная совокупность данных, с которой работают много пользователей. Напомним основные принципы, положенные в основу теории баз данных: централизованное хранение данных; централизованное обслуживание данных (ввод, корректировка, чтение, контроль целостности).
Базы данных появились в период господства больших ЭВМ. База данных велась на одной ЭВМ, все пользователи работали именно на ЭВМ (возможные режимы работы описаны в "Различные архитектурные решения, используемые при реализации многопользовательских СУБД. Краткий обзор СУБД"). Других вариантов использования вычислительной техники в то время просто не существовало. Если проанализировать работу пользователей с данными в компаниях, организациях, предприятиях в "докомпьютерное" время, то нетрудно заметить, что на отдельных участках пользователи работали со «своими» данными (осуществляли сбор определенных данных, их хранение, обработку, передачу обработанных данных на другие участки или уровни управления).
У такой технологии были существенные недостатки: дублирование некоторых данных, отсутствие возможности сравнительного анализа данных всех участков. Однако у этой технологии были и существенные достоинства: данные вводились и хранились в местах их порождения; с этими данными работал пользователь, являющийся специалистом именно по этим данным, что позволяло ему вести эффективный контроль правильности данных на всех стадиях обработки; данные находились непосредственно у пользователя, что давало возможность их оперативной обработки. Централизация данных на одной ЭВМ, несомненно, дающая эффективные возможности хранения и обработки данных, не позволяла реализовывать вышеназванные достоинства.
Развитие вычислительных компьютерных сетей обусловило новые возможности в организации и ведении баз данных, позволяющие каждому пользователю иметь на своем компьютере свои данные и работать с ними и в то же время позволяющие работать всем пользователям со всей совокупностью данных как с единой централизованной базой данных. Соответствующая совокупность данных называется распределенной базой данных.
Термин «распределенная база данных» достаточно часто встречается в литературе. Однако в разных источниках под этим термином понимаются совершенно разные вещи. Часть авторов понимают под распределенной базой данных то, что имеется удаленный сервер, на котором расположены данные, а также клиентские компьютеры, расположенные территориально в другом месте. Такая трактовка нам представляется неправильной. Настоящая распределенная база данных располагается на нескольких компьютерах. При этом часть файлов расположена на одном компьютере, часть на другом и т.д. Более того, возможна и даже часто встречается ситуация, когда информация на этих компьютерах пересекается, дублируется.
База данных это ориентированное на пользователянепрограммиста множество взаимосвязанных данных, структурированных таким образом, что достигается их минимальная избыточность и максимальная независимость от прикладных программ.
Распределенная база данных – это, по сути, база данных, которая не ограничена одной системой, она распределена по разным сайтам, то есть на нескольких компьютерах или в сети компьютеров. Система распределенных баз данных расположена на разных площадках, где нет общих физических компонентов. Это может потребоваться, когда к конкретной базе данных необходимо получить доступ для разных пользователей во всем мире. Ею нужно управлять так, чтобы для пользователей она выглядела как единая база данных.
Распределённая база данных, называемая иногда распределенная/параллельная база данных или в английской аббревиатуре, DDB – это именно единая база данных, а не произвольный набор файлов, индивидуально хранимых на разных узлах сети и являющейся распределенной файловой системой. Данные представляют собой DDB, только если они связаны в соответствии с некоторым структурным формализмом, реляционной моделью, а доступ к ним обеспечивается единым высокоуровневым интерфейсом. Распределённые базы могут иметь разный уровень реплицированности от полного отсутствия дублирования информации, до полного дублирования всей информации во всех распределённых копиях (например, блокчейн).
Выделяют следующие типы распределенных баз данных:
1) Мультибазы данных с глобальной схемой. Система мультибаз данных – это распределённая система, которая служит внешним интерфейсом для доступа ко множеству локальных СУБД или структурируется, как глобальный уровень над локальными СУБД.
2) Федеративные базы данных. В отличие от мультибаз не располагают глобальной схемой, к которой обращаются все приложения. Вместо этого поддерживается локальная схема импортаэкспорта данных. На каждом узле поддерживается частичная глобальная схема, описывающая информацию тех удалённых источников, данные с которых необходимы для функционирования.
3) Мультибазы с общим языком доступа – распределённые среды управления с технологией «клиентсервер»
4) Интероперабельные системы –м это системы, в которых сами приложения, выполняемые в среде той или иной СУБД, ответственны за интерфейсы между различными средами приложения, независимо от того, являются они однородными или неоднородными. Системы ориентированы главным образом на обмен данными. Дальнейшее развитие этих систем является объектноориентированные БД.
Объединение данных организуется виртуально. Соответствующий подход, по сути, отражает организационную структуру предприятия (и даже общества в целом), состоящего из отдельных подразделений. Причем, хотя каждое подразделение обрабатывает свой набор данных (эти наборы, как правило, пересекаются), существует необходимость доступа к этим данным как к единому целому (в частности, для управления всем предприятием).
Одним из примеров реализации такой модели может служить сеть Интернет: данные вводятся и хранятся на разных компьютерах по всему миру, любой пользователь может получить доступ к этим данным, не задумываясь о том, где они физически расположены.
В зарубежных источниках литературы выделяют такие типы распределенных баз данных:
1. Однородная база данных:
В однородной базе данных все разные сайты хранят базу данных одинаково. Операционная система, система управления базами данных и используемые структуры данных на всех сайтах одинаковы. Следовательно, ими легко управлять.
Однородные распределенные системы баз данных относительно просты для понимания. Они имеют в своей основе один продукт СУБД, обычно с единственным языком баз данных (например, SQL с расширениями для управления распределенными данными). СУБД с поддержкой однородного распределения являются сильно связанными системами, их встроенные средства поиска данных и средства обработки запросов оптимизированы и настроены для достижения максимальной производительности и пропускной способности.
2. Гетерогенная (неоднородная) база данных:
Противоположностью однородных систем РаБД являются, конечно, неоднородные распределенные системы баз данных. Неоднородные системы включают два или более существенно различающихся продукта управления данными (например, реляционные СУБД от разных поставщиков, таких, как Oracle и Digital Equipment Corp.*, или СУБД одного поставщика, но функционирующие на разных платформах и использующие различные структуры баз данных**, такие, как DB2 и SQL/DS компании IBM)
50% курсовой работы недоступно для прочтения
Закажи написание курсовой работы по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!