Социальная сеть - Программирование, компьютеры и кибернетика дипломная работа

Социальная сеть - Программирование, компьютеры и кибернетика дипломная работа



































Анализ структуры социальной сети. Рассмотрение основных функций автоматизированной информационной системы: регистрация и аутентификация пользователей, администрирование. Этапы разработки программно-информационного компонента. Назначение web-сервисов.


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
социальный сеть автоматизированный администрирование
В настоящее время Интернет занимает огромное место в жизни человека. В отличие от Интернета «раннего» периода, в настоящий момент он не представлен просто сайтами, на которых размещена та или иная информация, а также ссылки на прочие ресурсы либо каталоги файлов. Это уже и не просто совокупность сервисов наподобие онлайн-переводчиков, электронных словарей или web-интерфейсов для электронных почтовых ящиков.
В современном Интернете web-сервисы начинают интегрироваться с «настольными» приложениями, перенимая типичные для них интерфейс, поведение и возможности. Среда Интернет позволяет также организовать многопользовательскую работу с документами, проектами, обмениваться различной информацией в едином сервисе с людьми, зарегистрированными в нем и разделенными большими расстояниями.
Одним из видов сервисов коллективной работы пользователей являются социальные сети. Социальная сеть - это совокупность социальных элементов (людей, групп, организаций, сообществ), которые обмениваются между собой различными данными. Такими данными могут быть как простые текстовые сообщения, так и изображения, видео- и аудиофайлы.
Переходя к теме простых сообщений, следует отметить, что в большинстве случаев они не несут значимой смысловой нагрузки и сводятся к простому диалогу между пользователями, который мог бы быть произойти, к примеру, при личной встрече. Возникает закономерный вопрос: почему бы не использовать социальную сеть для обмена действительно полезной информацией? Причем информация эта необязательно должна быть полезна определенному кругу людей - знакомых, коллег, учащихся одного учебного заведения: можно давать информацию, которая была бы полезна более широким группам людей, в конечном итоге - их социуму. Это могут быть как программисты, студенты, так и люди, не объединенные каким-либо занятием, но имеющие общие интересы, к примеру, в истории или в выращивании комнатных растений.
Однако, так как объемы информации по интересующим тематикам достаточно велики, можно давать ссылки на ресурсы в Интернете, на которых находится необходимая информация. Обычно человек, часто пользующийся Интернетом, имеет набор любимых ресурсов, которые сохранены средствами браузера в «Избранном», «Закладках» и т.п. Но при работе на другом компьютере возникает проблема синхронизации любимых ссылок. В этом деле может помочь web-ресурс, на котором человек может сохранить свои ссылки, а затем, зайдя в свой профиль, найти нужную. Связав это с возможностью просмотра ссылок прочих пользователей, их разделением по категориям, возможностью отправки личных сообщений (для консультаций или простого общения), мы получим социальную сеть - обменник ссылками. В современном мире эта возможность будет весьма актуальна -поиск информации в поисковых сервисах не дает хороших результатов по причине отсутствия качественного искусственного интеллекта в системах релевантности и большого количества т.н. «поискового спама». В социальной же сети пользователи сами отбирают только лучшие ресурсы с необходимыми материалами, что позволяет легко рекомендовать эти же ресурсы другим людям, интересующимся данной тематикой.
Дипломный проект проводится с целью:
- систематизации и закрепления полученных теоретических знаний и практических умений по общепрофессиональным и специальным дисциплинам («Операционные системы и среды», «Основы алгоритмизации и программирования», «Архитектура ЭВМ и вычислительных систем», «Базы данных», «Автоматизированные информационные системы») а также практики по эксплуатации программных средств информационных систем;
- углубления теоретических знаний в соответствии с заданной темой;
- формирования умений применять теоретические знания при решении поставленных вопросов;
- формирования умений использовать справочную, нормативную и правовую документацию;
- подтверждения квалификации выпускника.
Н азначение и цели создания системы
Данная система создана для упрощения коммуникации большой группы пользователей, интересующихся определенной предметной областью. Она позволит этим людям общаться между собой, автоматически выдавать рекомендуемые ссылки по принципу «сходности мышлений», а также эффективно управлять личной коллекцией ссылок, при необходимости имея быстрый поиск интересующей информации.
Создание подобного ресурса в сети Интернет имеет следующие преимущества:
- уменьшение затрат времени на поиск необходимой информации в Интернете;
- отсутствие необходимости установки дополнительных программ для обмена сообщениями с другими пользователями;
- расширение кругозора конечных пользователей, выраженное в виде обмена ссылками на источники информации;
- решение проблемы синхронизации «Избранного»;
- возможность получать доступ с экрана карманного компьютера либо подобного мобильного устройства.
Уменьшение затрат времени на поиск информации происходит благодаря тому, что пользователь не ищет ее на поисковых серверах, отсеивая бесполезные страницы или страницы, содержащие комбинации слов поискового запроса, но не соответствующих его тематике, а находит ссылки у других пользователей по ключевым словам либо по категориям.
Для обмена сообщениями необходим только веб-браузер, причем пользователь продолжает находиться в системе и может продолжить работу, ожидая ответного сообщения.
Функция «рекомендации ссылок» позволит людям, интересующимся некоторым ресурсом, находить подобные ему, причем эти ссылки должны присутствовать и у иных пользователей, чтобы исключить материалы, интересные лишь одному человеку. Данная функция не исключает, тем не менее, возможности найти эти материалы посредством поиска или просто просматривая профили других пользователей.
Человеку, имеющему несколько компьютеров или просто выходящему в Сеть из места, где нет доступа к его ПК, больше не нужно вспоминать нужные ссылки либо вновь их искать на поисковых серверах. Посредством единого сервера достаточно лишь помнить свой ID пользователя и адрес ресурса данной социальной сети.
На современных карманных компьютерах средства просмотра web-страниц (Safari на iPhone, Opera на Windows Mobile-коммуникаторах) позволяют работать с ними почти так же, как и на настольной системе. Различие лишь в том, что пользователь видит «макет» страницы и может приближать для детального просмотра некоторые ее части. Благодаря простой и логичной структуре пользовательского интерфейса сделать необходимое будет очень просто.
В социальной сети присутствуют два типа пользователей: администраторы (также выполняющие роль модераторов) и обычные пользователи. Между обычными пользователями нет никаких различий и никто из них не обладает большими, чем другие, возможностями и полномочиями. Администратор также может иметь свой профиль, который для прочих пользователей не будет ничем отличаться. Но, находясь внутри системы, администратору будут доступны некоторые дополнительные возможности.
Таким образом, структуру социальной сети и взаимодействие процессов в ней можно представить в виде, изображенном на рисунке 1.
Как видно из рисунка, основой социальной сети является «личный кабинет». Он присутствует как у администратора, так и у простых пользователей, и различается лишь возможностями. Отметим, что администратор может влиять на содержимое личных кабинетов других пользователей, исключая личные сообщения, т.к. законы РФ предполагают наказание за нарушение тайны личной переписки.
Процесс работы в системе можно описать следующим образом:
- пользователь регистрируется в системе, придумывая себе логин и пароль, если у него еще нет учетной записи;
- он авторизуется в системе и получает полный доступ к своему личному кабинету;
- после этого он может начать управлять списком своих закладок, личными сообщениями, своими анкетными данными.
- перемещаясь по кабинетам прочих пользователей, он может просматривать их закладки, добавлять их в свой список, читать данные в их профилях.
- если пользователь является администратором, то он может редактировать учетные данные прочих пользователей, блокировать их и делать изменения в списках ссылок; также он может редактировать внешний вид ресурса.
- в конце работы с системой пользователь может выйти, стирая тем самым сохраненные для авторизации данные либо просто закрыть браузер, после чего при следующем входе на сайт он автоматически зайдет в свой личный кабинет авторизованным, если установил параметр «запомнить меня».
О писание постановки задачи. Функциональная структура АИС
В результате анализа предметной области была составлена функциональная структура АИС, приведенная на рисунке 2.
В АИС выделены три основные функции:
- регистрация и аутентификация пользователей - выполняет задачи доступа пользователей к необходимым возможностям системы, тогда как незарегистрированным пользователям допускается только просмотр и поиск данных;
- работа с личными кабинетами - выполняет задачи обеспечения пользователей всеми необходимыми возможностями, является центральной частью системы;
- администрирование - выполняет задачи по управлению учетными данными пользователей, а также содержимым, находящимся внутри их личных кабинетов.
Описание выявленных задач данной АИС:
1) функция «Авторизация и аутентификация» должна решать следующие задачи:
- сохранение его учетных данных в БД, причем пароль должен храниться в надежно зашифрованном виде;
- доступ к функциям системы посредством авторизации;
- защита от атак типа SQL-Injection.
2) функция «Личный кабинет» должна решать следующие задачи:
- доступ к возможностям системы в своем кабинете;
- доступ в режиме чтения к частям личных кабинетов других пользователей;
- управления личными настройками пользователя.
3) функция «Администрирование» должна выполнять задачи:
- редактирование шаблонов оформления сайта;
- работы с учетными записями пользователей;
В виду специфики системы вся выходная информация представлена в виде экранных форм, технически реализованных как web-страницы.
При выполнении задач системы с правами обычного пользователя ему выдаются следующие экранные формы, перечисленные в таблице 1.Таблица 1
Приглашение входа в систему, ссылка для регистрации
При каждом входе пользователей в систему
Форма для ввода придуманных пользователем логина и пароля
Отображение ссылок для входа в возможности системы, на ней выводятся также анкетные данные
При успешных авторизациях и по требованию пользователя
Содержит список закладок, разделенный на части, с возможностью перемещения между ними, а также элементами управления для их поиска, редактирования, добавления и удаления
По требованию пользователя, после создания или изменения/удаления закладки
Содержит списки входящих и исходящих сообщения, а также их текст
Содержит элементы управления для выбора категории закладок либо поля ввода ключевых слов (для названия ссылки, части адреса, описания)
По требованию пользователя для поиска своих ссылок или нахождения новых
Выводит список рекомендуемых ссылок с возможностью добавления
Содержит поля ввода для анкетных данных. Ни одно из полей не является обязательным
Содержит поля ввода для ввода старого пароля (в целях безопасности) и нового
Содержит элемент управления выбором файла и текущий аватар
Содержит элемент ввода ID пользователя и элемент управления для редактирования его анкеты, а также возможность его блокировки
Позволяет удалять нежелательные закладки или редактировать их описания по соображениям цензуры. Содержит элементы для поиска описаний и адресов.
Позволяет редактировать содержимое верхней и нижней частей ресурса, а также таблицу стилей
В состав выходных сообщения входят структурные единицы, перечисленные в таблице 2.
Входной информацией являются данные учетной записи пользователя, которые он придумывает сам, данные анкеты, вводимые по собственному желанию, данные ссылок, сообщения, а также исходный код, который как вводится администратором, так и отображается ему. Входная информация перечислена в таблице 3.
Ввиду двусторонней связи пользователя и системы, структурные единицы входной информации являются идентичными структурным единицам входной, что обусловлено технической реализацией системы.
Автоматизированная система имеет четкую специализацию, поэтому она должна быть сведена к решению конкретных задач. Так как она является системой, предназначенной для работы в Интернете, то работа с ней возможна с клиентских станций, соединяющихся с веб-сервером и сервером БД. Интерфейс системы прост и нагляден, количество элементов управления соответствует минимуму, необходимому для решения задач в ней. После того как были определены назначение и цели создания системы, требования к её концепции, выполнена постановка задачи, можно сделать обоснованный выбор технических средств и программного обеспечения.
Технические средства серверной части должны соответствовать минимальным системным требованиям:
- 80 Гб свободного пространства на жестком диске;
- видеокарта - 32 Мб с поддержкой разрешения 800х600 и 32-битного цвета или выше;
- операционная система - в случае Windows-систем: Windows 2000 Server/Windows XP Professional/Windows 2003 Server/Windows 2008 Server; в случае UNIX-систем: FreeBSD 6.5+, OpenBSD 4+, Linux (любой дистрибутив) с ядром версии 2.6+.
К клиентским машинам предъявляются обычные для работы в Интернете требования:
- от 500 до 1000 Мб на жестком диске;
- видеокарта 32 Мб с поддержкой разрешения 800х600 и 32-битного цвета или выше;
- операционная система - Microsoft Windows 98/ME/NT/2000/XP/2003/Vista, Linux 2.4+, MacOS 9+, FreeBSD 5+, OpenBSD 3+, NetBSD.
Концептуальная модель представляет объекты и их взаимосвязи без указания способов их физического хранения, т.е. представляет собой отражение предметной области. При проектировании концептуальной модели усилия разработчика должны быть направлены в основном на структуризацию данных и выявление взаимосвязей между ними без рассмотрения особенностей реализации и вопросов эффективности обработки. Проектирование концептуальной модели основано на анализе решаемых, на предприятии задач по обработке данных. Концептуальная модель данных представлена на рисунке 3.
Л огическое проектирование. Логическая модель данных
Логическая модель данных разворачивается из концептуальной следующим образом: каждый объект (сущность) характеризуется собственными атрибутами. При этом какой-либо атрибут может стать объектом. Если атрибуты во многих объектах повторяются, то их убирают, оставляя только при одном объекте, а в остальных используют уменьшенный код этого атрибута. Далее для каждой сущности находятся первичные и альтернативные ключи, через которые поддерживается целостность данных.
Логическая модель должна быть оптимизирована путём перегруппировки элементов данных, согласно поставленным задачам, избавления от избыточности данных, в реляционных системах устанавливаются отношения между сущностями.
В представленной выше концептуальной модели выделяются следующие сущности: пользователь, его анкета, сообщения и закладки. Определив атрибуты каждой сущности и исключив повторяющиеся, мы приводим их ко второй нормальной форме. Кроме того, атрибуты необходимо исключать путем глубокого понимания тех задач и ограничений, которые стоят перед системой. Так, не имеет смысла разделять дату и время, т.к. в системе они нигде не обрабатываются, а лишь выводятся, и их запись по отдельности уменьшит производительность и увеличит расходы памяти.
Для описания всех объектов предметной области необходимо определить атрибуты, свойственные данным сущностям. Таким образом мы привели таблицу ко второй нормальной форме, т.е. исключили повторяющиеся группы и для каждого набора связных атрибутов создали отдельную таблицу и снабдили её первичным ключом. Результат можно увидеть в таблице 5.
Для каждой сущности мы задаем первичный и (по условию, предъявляемому к работе системы с данной сущностью) альтернативный ключи, которыми связываем сущности в реляционные отношения. С помощью связей можно организовать видимую связь между данными, которая отражена в описании предметной области. В таблице не отражена сущность «Администратор», т.к. она полностью аналогична и, более того, технически реализована неотделимо от сущности «Пользователь». Логическая модель данных автоматизированной системы отражена на рисунке 4.
Алгоритм работы автоматизированной системы
Кроме непосредственно разработки логической модели данных, логическое проектирование охватывает построение алгоритмов решения тех типовых задач, которые встречаются в системе и могут быть выделены в целое множество задач подобного рода, которое можно найти практически в любой автоматизированной системе, так или иначе осуществляющей обработку информации и выдачу некоторого результата работы системы, зависящего от произведенных пользователем действий.
Таким образом, большинство задач, стоящих перед автоматизированной системой, должны быть решены посредством типовых либо переработанных алгоритмов решения, измененных под нужды данной системы. Такими алгоритмами являются:
1) добавление данных, происходит посредством оператора языка SQL INSERT;
2) удаление данных - с помощью оператора языка SQL DELETE;
3) изменение данных - посредством оператора языка SQL UPDATE;
4) вывод данных - в поля редактирования, с помощью оператора языка SQL SELECT и средств клиента;
Рассмотрим алгоритм работы автоматизированной системы в укрупненном виде. Он приведен на рисунке 5.
И нформационная безопасность системы
Специфика системы такова, что она может быть атакована следующими видами атак, характерными для сети Интернет:
1) Отказ в обслуживании. Бывает двух типов: обычный (DoS) и распределенный (DDoS), который гораздо опаснее. Если при обычном типе атаки участие в ней принимают 1 или несколько компьютеров, то подобная атака обычно не может нанести ущерба при наличии достаточно мощного сервера и достаточно широкой пропускной способности его канала. Кроме того, достаточно средствами сервера узнать IP-адрес атакующего (это можно сделать при помощи как специальных пакетов - систем обнаружения атак (IDS), так и при помощи простых программ - анализаторов логов и сетевой активности). Затем можно средствами ОС, МСЭ или специализированными программами запретить подключения с этих адресов. Однако при распределенной атаке злоумышленник имеет большую сеть компьютеров (обычно зараженных вирусами типа «троянский конь», и владельцы их даже не догадываются о сетевой активности этих компьютеров), которым он может отдавать команды для отправки пакетов на ресурс. Такие сети называются «ботнетами» и защититься от их атаки весьма сложно. По достижению суммарной пропускной способности их каналов равенства каналу сервера он начинает заметно сбоить, а в его работе начинаются заметные задержки. По превышению пропускной способности сервер перестает успевать обрабатывать запросы и либо зависает, либо самопроизвольно завершает свою работу с ошибкой. Блокировать приходится целые подсети, что не всегда представляется возможным.
2) Подбор паролей. Данный тип атак производится путем перебора всех возможных комбинаций логина и пароля на какой-либо сервис или для доступа в закрытую часть сайта. Взломщик может воспользоваться как готовыми программами, такими как MyBrute для Windows или консольный переборщик hydra для UNIX-систем, так и программами собственного написания, сделанными специально для подбора пароля для входа на конкретный ресурс. Атака производится либо одним из трех типов (по словарю, посимвольный перебор, перебор с учетом известной части пароля), так и комбинированным методом. Защититься от атак можно, блокируя подключения с IP-адресов proxy-серверов, которыми пользуется взломщик, а также используя сложные пароли типа kF1pwZ86NG3t!
3) Атаки на уязвимые сервисы. Посредством специальных программ (например, nmap) взломщик может сделать сканирование сервисов системы («fingerprinting»), узнать их версии. Имея на руках описание свежей ошибки в одном из сервисов, взломщик может дождаться появления программы взлома под эту версию (т.н. эксплоит) либо написать подобную программу сам, что предполагает его высокую квалификацию. Наиболее профессиональные хакеры самостоятельно ищут ошибки в программном обеспечении и создают «0-day»-эксплоиты, находящиеся в распоряжении узкого круга знакомых хакера. Подобные программы являются наиболее опасными, т.к. об ошибках в ПО неизвестно более никому, а уязвимые сервисы имеют тысячи ресурсов по всему миру. Защиты от них, что естественно, найти невозможно. От обычных же эксплоитов можно защититься, постоянно следя за новостями мира информационной безопасности и устанавливая новые, безопасные версии сервисов.
4) Атаки на сценарии. В PHP-сценариях существует угроза локального или удаленного внедрения файлов, а также SQL-инъекции как причина двух типичных недочетов программистов. В первом случае, если программист использует в сценарии файлы, то возможно указать в качестве параметра скрипта такой путь к файлу, который будет прочтен и отображен на экране, к примеру, /etc/passwd. В случае SQL-инъекции взломщик меняет параметры скрипта таким образом, что запрос к БД становится уязвимым.
Если передается числовой параметр, то его можно заменить на -1 OR 1=1, в результате чего выполнится условие 1=1, всегда равное true, и из БД будут выбраны все данные. Также может быть использован оператор UNION, позволяющий задать еще несколько запросов вкупе к тому, который уже выполняется. Защититься от подобного можно, тщательно фильтруя содержимое переменной и приводя ее к числовому типу, после чего проверяя ее на корректность. Также можно обрезать лишние символы, к примеру, если точно известно, что параметр id не может быть более 99999, следует обрезать строку-параметр до 5 символов, после чего уже приводить ее к числу и проверять.
Если же передается строковый параметр, то возможны добавления кавычек и последующих за ними операторов, к примеру, если имеет место быть запрос вида
SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news
WHERE news_caption = LIKE('%Test%'), где Test - строка, передеваемая в качестве параметра скрипту, то взломщик может передать следующий параметр:
text = ')+and+(news_id_author='1')/*
В результате этого внутри сценария появится запрос
SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news
WHERE news_caption = LIKE('%') AND (news_id_author='1')/*%)
В этом запросе комментарий отсечет ненужные символы и будут выведены только статьи под авторством автора № 1 с любыми заголовками.
Защититься от подобных атак можно фильтрацией переменных, удалением из них опасных символов, а также «заслешиванием» всех опасных символов, после чего они экранируются и не воспринимаются как управляющие, а становятся просто частью текста, который корректно воспринимается БД.
Р азработка программно-информационного компонента. Обоснование выбора среды разработки
Проанализировав результаты логического проектирования, необходимо определить методы решения поставленных задач.
Основные требования сводятся к следующему:
2) не должна нарушаться целостность данных при внесении изменений;
3) система должна обеспечивать дружественный интуитивный интерфейс, удобное перемещение и быстрый вызов любой функции;
4) должна включать в себя помощь и подсказки по эксплуатации;
В силу специфики разрабатываемой системы и среды ее эксплуатации (Интернет) мы можем рассматривать средства, применяемые при создании web-приложений. Начнем с того, при помощи чего организуется клиентская основа системы.
- HTML - является главной частью клиентской части приложения, обеспечивает возможность создания гипертекстовой разметки веб-страниц. Он позволяет создавать формы (с типичными элементами управления - кнопками, списками, полями ввода), таблицы, внедрять различные объекты (аудио- и видеофайлы, Java-апплеты, Flash-анимацию), вставлять рисунки, работать с шрифтовым оформлением страниц. И, конечно же, одной из важнейших его возможностей является поддержка гиперссылок.
- CSS - данная технология каскадных стилевых таблиц позволяет добиться большей тонкости отображения страниц, чем HTML. Именно благодаря ей возможна более продвинутая, нежели табличная, блочная верстка страниц. Также благодаря CSS можно создавать страницы, отображаемые практически одинаково во всех браузерах, включая достаточно устаревшие версии, однако это требует больших временных затрат и наличие большого опыта у разработчика.
- JavaScript - язык клиентских сценариев, позволяющий организовать диалог с пользователем, проверку вводимых данных, управление содержимым документа. Важным свойством данного языка является встроенная поддержка работы с CSS и моделью документа DOM. При помощи этого языка строятся масштабные пользовательские интерфейсы.
- AJAX - технология (вернее, их совокупность), возникшая на основе JavaScript и XML. Она позволяет добиться полной интерактивности диалога с пользователем, благодаря ей можно обновлять не всю страницу целиком, а лишь необходимые данные, что позволяет веб-приложениям по удобству и надежности вплотную приблизиться к настольным. В проекте эта технология реализуется при помощи JavaScript-фреймворка jQuery. Он имеет поддержку цепочек вызовов, отличную работу с DOM, встроенные эффекты, возможность тонкой надстройки над объект xmlHttpRequest, огромное количество различных плагинов и мощную поддержку, включающую как огромное сообщество программистов, собравшихся над этим проектом, так и удобную и доступную документацию.
- Visual Basic Script - имеет возможности, превосходящие в клиентском плане возможности JavaScript (например, запись и чтение из файлов, навигация по файловой системе), а также является языком серверных сценариев в технологии ASP (позволяя, например, работать с БД), однако его работоспособность на клиентской части ограничена только браузером Internet Explorer, а о недостатках ASP будет изложено ниже.
- Adobe Flash и ActionScript - технологии, позволяющие создать красочное интерактивное клиентское приложение. Однако данным решениям присуща излишняя медлительность (производительность скриптового языка ActionScript слишком мала), большой объем, занимаемый flash-роликом, сильная нагрузка на процессор клиента, а также невозможность отображения при использовании клиентом устаревшей версии flash-плеера, ОС или браузера, не поддерживающего Flash или программ, блокирующих такое содержимое (файрволлы, компрессоры трафика). Кроме того, для создания Flash-приложений требуется коммерческое приложение Flash MX.
Для серверной стороны необходимо рассмотреть выбор языка программирования серверных сценариев, который непосредственно связан с выбором web-сервера и сервера баз данных.
В настоящее время на рынке программного обеспечения лидируют разработки open source - Apache и Internet Information Server от компании Microsoft. IIS обладает меньшей степенью защищенности, чем Apache, что обусловлено большим числом найденных в нем ошибок безопасности. Хотя его и можно загрузить бесплатно или установить сразу вместе с Windows, хостинг с IIS (а, следовательно, и Windows Server) обойдется значительно дороже (в 2-3 раза) хостинга под управлением UNIX. Кроме того, следует отметить, что IIS работает только под Windows, в то время как Apache - практически под любой современной ОС. В то же время Apache имеет весьма сложный конфигурационный файл, который необходимо редактировать вручную, а IIS - удобный графический конфигуратор.
В целом, можно сказать, что оба этих продукта равны по возможностям и отличаются лишь деталями реализации. Однако то, что связка Apache+MySQL+PHP уже давно стала классической, а также практически полное отсутствие затрат на разработку позволяет выбрать Apache как наиболее приемлемый вариант.
Среди серверов баз данных для работы в web на настоящий момент существуют следующие основные продукты:
- PostgreSQL - СУБД, которая имеет достаточно вложный собственный формат данных, из-за чего работа с данными оказывается весьма непроизводительной. Данный формат данных оправдывает себя только при огромных запросах, в которых соединяются десятки таблиц с сотнями тысяч записей в каждой.
- SQLite - нереляционная СУБД, все данные таблиц хранятся в одном файле, а работа с ними поддерживается при помощи удобного интерфейса, поддерживающего ANSI SQL. Также необходимо отметить, что она неявляется демоном (сервисом) в обычном смысле этого слова - это встраиваемая библиотека, и в ее основе не лежит технология «клиент-сервер» - все реализуется как составная часть программного модуля. Благодаря такому устройству потребляет намного меньше памяти, чем прочие СУБД, и дает существенный выигрыш в производительности. Однако на больших объемах данных этот выигрыш исчезает. Применяется главным образом в небольших проектах, хостингах, где нет поддержки СУБД, а также в некоторых настольных приложениях.
- MySQL - СУБД, обеспечивающая высокую надежность, производительность, поддержку расширенного относительно ANSI SQL формата этого языка. Имеет хорошо продуманную внутреннюю организацию, что позволяет удобно и быстро получать данные из таблиц. Используется в средних проектах, так как на очень больших объемах данных начинает проигрывать по производительности PostgreSQL. Однако ее скорости хватает практически во всех случаях. Поддерживает все необходимые функции: разграничение полномочий, тонкое конфигурирование, служебные таблицы.
- Microsoft SQL Server - коммерческая СУБД, работающая только под Windows. Имеет удобный графический конфигуратор, поддержку большого числа форматов данных, отличную призводительность. Однако ее бесплатная версия Express Edition имеет слишком много ограничений и лишена нормального конфигуратора.
Таким образом, я выбрал MySQL, как наиболее соответствующую моим требованиям. Осталось выбрать подходящий язык для серверного программирования.
- Perl - язык, в системах UNIX использующийся для создания автоматизации в системе. Имеет гибкий синтаксис, встроенную поддержку регулярных выражений, являющуюся одним из его главных достоинств, большое количество модулей и целое сообщество, располагающееся на ресурсе cpan.org. Однако его производительность весьма мала, кроме того, для выполнения практически любой обыденной вещи необходимо пользоваться (и искать) новым модулем, множество из которых идут в поста
Социальная сеть дипломная работа. Программирование, компьютеры и кибернетика.
Кандидатская Диссертация Презентация
Курсовая работа по теме Анализ использования основных фондов (на примере ООО 'Форта')
Экологические Проблемы Казахстана Эссе Кратко
Реферат: Чернобыльская авария (Доклад)
Реферат по теме Государственное регулирование национальной экономики
Курсовая работа: Формы реализации права
Реферат по теме Миф о праве муниципальной собственности на землю в Cвердловской области
Дипломная работа по теме Порядок учета операций, связанных с поступлением материалов в ОАО 'Юрмаш'
Доклад по теме Гуру Нанак
Дипломная Работа На Тему Система Роботи З Розвитку Мовлення В Першокласників
Курсовая работа: Приближённые методы решения алгебраического уравнения
Дипломная Работа На Тему Исследование Рисков Внешнеэкономической Деятельности На Оао "Донецкий Металлургический Завод"
Сочинения 7 Класс Мила
Мини Сочинение Моя Будущая Профессия Врач
Реферат: Emma Jane Austen Essay Research Paper Essay
Контрольная работа по теме Кинематический расчет механизмов
Курсовая работа по теме Разработка вариантов международной автомобильной перевозки груза по маршруту Череповец-Стамбул
Реферат: «Путешествие в сердце Азии»
Сочинение Егэ 19
Аудит Доходов И Расходов Курсовая
Характеристика гражданского общества - Политология презентация
Институт местного самоуправления в истории России - Государство и право дипломная работа
Земельные правоотношения - Государство и право контрольная работа


Report Page