1.2 Анализ подобных информационных систем. 12
1.3 Требования к корпоративному порталу. 18
2 Анализ и выбор инструментальных средств разработки. 25
2.1 Обзор существующих технологий создания веб-систем. 25
2.1.1 Язык PHP. 25
2.1.2 Язык ASP.NET. 26
2.1.3 Язык Java. 27
2.2 Обзор средств разработки. 27
2.3 Обзор существующих платформ для разработки информационных систем. 30
2.4 Обзор существующих СУБД. 38
2.4.1 Обзор СУБД MySQL. 38
2.4.2 Обзор СУБД PostgreSQL. 38
2.4.3 Обзор СУБД Firebird. 39
2.4.4 Обзор СУБД Microsoft SQL Server. 40
2.5 Выбор инструментальных средств разработки. 41
Проектирование корпоративной информационной системы КЭССТ. 45
2.6 Разработка структуры портала. 45
2.7 Проектирование навигации. 49
2.8 Проектирование компоновки страниц и дизайна интерфейса системы. 50
2.8.1 Дизайн интерфейса. 50
2.8.2 Компоновка страниц веб-системы. 51
2.9 База данных информационной системы.. 52
2.10 Определение групп пользователей и уровней доступа в системе. 54
2.10.1 Связывание информационной системы с контроллером домена. 57
Заключение.. 60
Список используемых источников.. 61
Определения
В настоящем отчете применяют следующие термины с соответствующими определениями:
Браузер (browser) - программа для просмотра web-страницы.
Атрибут – поименованная характеристика сущности.
База данных – файл, снабженный описанием хранимых в них данных и находящийся под управлением системы управления базами данных.
Сущность – любой различимый объект, информацию о котором необходимо хранить в базе данных.
PHP – (Hypertext Preprocessor) - это язык, предназначенный для быстрого создания динамических web-страниц.
HTML – (от англ. HyperText Markup Language — «язык разметки гипертекста») — стандартный язык разметки документов во Всемирной паутине.
CSS – (англ. Cascading Style Sheets — каскадные таблицы стилей) — технология описания внешнего вида документа, написанного языком разметки.
MySQL – относительно небольшая и быстрая реляционная система управления базами данных.
SQL – структурированный язык запросов, промышленный стандарт доступа к БД.
JavaScript – скриптовый язык, чаще всего использующийся при создании сценариев поведения браузера, встраиваемых в веб-страницы.
Пользователь – лицо или организация, которое использует действующую систему для выполнения конкретной функции.
Компоновка страниц – это настройка места вывода различных информационных блоков на страницах разделов сайта.
Контент - англ. content — содержимое) — любое информационно значимое наполнение информационного ресурса (например, веб-сайта) — тексты, графика, мультимедиа — вся информация, которую пользователь может загрузить на диск компьютера с соблюдением соответствующих законностей, как правило, только для личного пользования.
WWW (World Wide Web) - всемирная компьютерная сеть, распределенная система доступа к гипертекстовым документам, существующая в Internet.
CMS (англ. Content Management System, система управления содержимым) – информационная система, используемая для обеспечения организации совместного процесса создания, редактирования и управления содержимым (контентом).
CRM (англ. Customer Relationship Management, система управления взаимоотношениями с клиентами) – прикладное программное обеспечение для организаций, предназначенное для автоматизации стратегий взаимодействия с клиентами (сотрудниками), установления и улучшения бизнес-процессов.
LDAP (англ. Lightweight Directory Access Protocol, облегчённый протокол доступа к каталогам) – протокол прикладного уровня для доступа к службе каталогов в сети.
Active Directory (англ. Active Directory Domain Services, AD, Активный каталог) – служба каталогов для операционных систем семейства Windows Server. LDAP-совместимая реализация служб каталогов, включает возможности интеграции с другими службами авторизации, выполняя для них интегрирующую и объединяющую роль.
Домен (Windows NT) – собрание участников безопасности (все объекты Active Directory), имеющих единый центр (который называется контроллером домена), использующий единую базу, известную как Active Directory.
Аутентификация – проверка соответствия субъекта и того, за кого он себя выдаёт, с помощью некой уникальной информации (например, с помощью имени входа и пароля).
Авторизация – проверка и определение полномочий на выполнение некоторых действий (например, чтение файла) в соответствии с ранее выполненной аутентификацией.
Хост (англ. Host – хозяин, принимающий гостей) – любое устройство, предоставляющее сервисы формата «клиент-сервер» в режиме сервера.
SSO (англ. Single Sign- On, единая точка входа) – технология при которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.
API (англ. Application Programming Interface, интерфейс программирования приложений) – готовый набор констант, функций, классов и процедур, предоставляемых приложением для использования в сторонних (внешних) программных продуктах.
NTLM (англ. NT LAN MANAGER) – протокол сетевой аутентификации, разработанный компанией Microsoft для операционных систем семейства WinNT.
BBCode (англ. Bulletin Board Code) – узкоспециализированный язык текстовой разметки предназначенный для форматирования текстового сообщения на форумах. При форматировании текста применяются теги, очень схожие с тегами языка HTML, но отличаются в синтаксисе, заключением текста в квадратные скобки (пример - [b]Привет мир![/b], полужирный текст). Перед отображением страницы в браузере форумная система разбирает текст и преобразует его в HTML код, который затем посылается браузеру.
Список сокращений
КЭССТ – Комплекс эксплуатации сетей связи и телекоммуникаций
ЦЭНКИ – Центр эксплуатации наземной космической инфраструктуры
БД – база данных
СУБД – система управления базами данных
HTML – Hypertext Markup Language (язык гипертекстовой разметки)
SQL – Structured Query Language (язык структурированных запросов)
UML - Unified Modeling Language (унифицированный язык объектно-ориентированного моделирования)
id – идентификатор
PHP - Hypertext Preprocessor
Введение
Организация КЭССТ входит в состав предприятия ЦЭНКИ, которое в свою очередь является частью государственной корпорации РОСКОСМОС и занимается развитием средств связи и информатизации в интересах государственной корпорации РОСКОСМОС, обеспечивает объекты космической инфраструктуры космодрома всеми видами связи и телекоммуникаций. КЭССТ находится на космодроме Байконур включает в себя 9 подразделений численностью 500 сотрудников.
КЭССТ является закрытым предприятием, которое имеет свои административные здания на всех площадках космодрома. В организации КЭССТ, организована корпоративная локальная сеть с доменными службами Active Directory, своим почтовым сервером и ограниченным выходом в Интернет. Рабочие места сотрудников оснащены рабочими станциями под управлением операционных систем семейства Windows NT. Все рабочие станции и пользователи управляются групповыми политиками на контроллере домена Active Directory, пользователи для входа на рабочие станции и использования сетевых сервисов используют учётные данные Active Directory. Так же в организации используются мобильные устройства с беспроводной связью под управлением операционных систем Apple iOS, Google Android и Microsoft Windows.
Для всех сотрудников организации необходимо разработать единый программный комплекс с универсальной возможностью доступа с различных устройств, предоставляющий возможность для размещения информационных материалов, файлового обмена, совместной работы над проектами предприятия, и эффективного взаимодействия друг с другом.
Учитывая поставленную задачу, наилучшим на мой взгляд вариантом, будет проектирование автоматизированной информационной системы с использованием веб-технологий – корпоративный портал.
Целью данной преддипломной практики, является проектирование внутреннего корпоративного портала для сотрудников предприятия, который позволит:
· быть в курсе последних событий предприятия и в области космической отрасли,
· повысит уровень управления и поддержки принятия решений руководством КЭССТ за счёт организации сбора, консолидации и анализа необходимой информации,
· использовать единую базу знаний предприятия, включая агрегированную информацию, получение которой требует больших временных и ресурсных затрат,
· повысит уровень коммуникаций и совместной работы между сотрудниками предприятия,
· позволит иметь оперативный доступ ко всем внутренним и отраслевым распоряжениям,
· использовать файловое хранилище, расположенное на едином информационном ресурсе,
· просматривать фото и видео материалы с мероприятий,
· использовать электронную систему заявок для сокращения временных издержек,
· прямо на рабочих местах иметь возможность тестирования для подготовки к экзаменам по повышению квалификации или сдаче внутренних экзаменов организации,
· иметь возможность делиться опытом и выражать своё мнение,
· позволит осуществлять совместную работу над проектами организации
Плюсами создания корпоративного портала будет организация быстрого и удобного (наглядного) способа получения информации, оперативность и достоверность получаемых данных, сокращение времени персонала для получения интересующих личных данных, а также обмена информацией.
Таким образом, создание единой корпоративной информационной системы является актуальным и нужным на сегодняшний день.
Постановка задачи
Основная цель данной преддипломной практики – спроектировать внутренний корпоративный портал предприятия КЭССТ для организации совместной работы между сотрудниками и подразделениями, публикации информационных материалов и распорядительных документов, предоставления площадок для обсуждения рабочих вопросов, организации работы над проектами предприятия, внедрения электронной системы заявок, организации файлового хранилища и медиа галереи, предоставления информации о деятельности предприятия, размещения новостей предприятия и отраслевых новостей в локальной сети организации.
Исходными данными будет следующая информация – «Распоряжение начальника КЭССТ на разработку единой информационной системы с организацией совместной работы подразделений» информация о локальной сети организации, должностные инструкции, список сотрудников.
В ходе проектирования для создания внутреннего корпоративного портала необходимо было решить следующие задачи:
· Анализ деятельности организации, функции подразделений, анализ подобных систем на рынке и их сравнения.
· Разработка требований к корпоративному порталу, дизайну, навигации. UML – диаграмма прецедентов использования.
· Анализ и выбор инструментальных средств разработки.
· Проектирование структуры информационной системы, компоновки страниц, навигации и дизайна.
1 Описание объекта исследования.
1.1 Общие сведения о предприятии КЭССТ.
Организация КЭССТ – занимается обеспечением связи и телекоммуникаций всех объектов космодрома Байконур, административные здания организации расположены на площадках космодрома Байконур, организация включает в себя 9 подразделений, состоящих из 500 сотрудников. Организация КЭССТ является частью предприятия ЦЭНКИ – «Космический центр «Южный» входящей в состав государственной корпорации РОСКОСМОС
КЭССТ для выполнения своих функций имеет в своем составе отделы, выполняющие различные задачи. Структурная схема организации представлена на рисунке 1.
Рисунок 1 – Структурная схема подразделений организации
Одними из основных видов деятельности организации, является развитие всех видов связи и информатизации космодрома, во главе с начальником КЭССТ, согласно приказу №87 генерального директора РОСАВИАКОСМОСА от 11 мая 2000 года «О назначении в Российском авиационно-космическом агентстве Генерального заказчика и головных исполнителей по системам и средствам связи и информатизации». Организация КЭССТ выполняет следующие задачи:
· Развитие телефонной связи, объединяющей в единую сеть цифровые телефонные станции филиалов и центров эксплуатации на космодроме.
· Обеспечение космодрома сетью радиорелейной связи, объединяющую на космодроме «Байконур» цифровыми потоками технические и стартовые комплексы, заправочные комплексы и объекты жизнеобеспечения
· Предоставление транкинговой связи, обеспечивающей радиоподвижную связь на всей территории космодрома.
· Обслуживание и развитие интегрированной командно-оперативной связи и громкоговорящего оповещения космодрома «Байконур»
· Обслуживание системы передачи телеметрической информации и телевидения с контрольно-измерительных пунктов.
· Обслуживание магистральных каналов связи для передачи телеметрической информации с измерительных пунктов космодрома на вычислительный центр, центр управления полётами и сектор оперативно-технического контроля.
· Обслуживание и развитие корпоративной сети ЦЭНКИ, соединяющей все объекты ведомства в центральном регионе России с космодромом «Байконур».
1.2 Анализ подобных информационных систем.
Для сравнения аналогичных систем были выбраны проекты, разработанные на базе платформ Microsoft SharePoint Server 2013 и 1С-Битрикс: Корпоративный портал.
Проект на основе Microsoft SharePoint Server 2013:
Заказчик – крупная распределённая компания с количеством пользователей порядка 10 тыс.
· Особенностью проекта является нетривиальный дизайн корпоративного портала, использующий эффект прозрачных стекол, вследствие чего, веб части и вывод данных был осуществлен в соответствии с данной концепцией. Используемые модули интегрировались из стандартного набора пакета Microsoft SharePoint 2013. Центральная часть главной страницы полностью отдана под скриптовой блок графических новостей. Вид классический, с боковыми функциональными полями;
· В проекте реализованы подсайты департаментов для организации тематических сообществ среди филиальной структуры компании - (ИТ, Бухгалтерия, Менеджмент, Руководство, Отдел продаж и т д). В департаментах сотрудники имеют возможности организовывать задачи по иерархической структуре, вести блоги, форумы, осуществлять доступ к совместным документам, вести календари, создавать библиотеки, загружать фото и видео, создавать опросы в соответствии с правами доступа);
· В разделе "Документы" находится область посвященная Электронному Документообороту (СЭД), внедренному на базе решения Microsoft Worklite.Docs. Регистрация входящих / исходящих, система контроля исполнения поручений, работа с расширенными карточками документов, параллельное и/или последовательное согласование, контроль исполнения, все виды стандартных бизнес процессов электронного документооборота , конструктор маршрутов процессов (входит в состав решения, и не требует внедрения стороннего ПО или программирования). Данный продукт позволяет полностью удовлетворить нужды компании по работе с СЭД;
· Личный кабинет является областью сотрудника куда проецируются все виды задач и поручений. Состоит из блоков с выведенными данными. Количество блоков является неограниченным. Так же возможно наполнение и вывод информации любого характера, в зависимости от специфики (мировые часы, календари, заметки, мессенджер и другое);
· В разделе "Учебный центр" находится область, посвящённая системе обучения и тестирования, реализованная на базе решения Microsoft Learning Gateway;
· Для информативности учета выполнения задач сотрудниками, в карточки были добавлены формулы расчета по сумме выполненных задач по отношению к поставленным. Учет поручений ведется в соответствии с отчетами из системы СКИП, входящей в состав интегрируемого решения Электронного документооборота MS Worklite.Docs. Что позволило в полной мере охватить весь диапазон по контролю как простых задач (не привязанных к карточке документа), так и поручений, связанных с документооборотом (параллельное согласование, последовательное согласование, утверждение, отзывы и т д).
· Проект интегрирован с доменной сетью организации на основе Active Directory;
· Для авторизации задействована технология SSO с использованием начальной NTLM аутентификацией в системе пользователя.
Изображение разработанного проекта на базе MS SharePoint 2013 представлено на рисунке 2 (данные о компании и сотрудниках были изменены).
Рисунок 2 – Проект на основе Microsoft SharePoint Server 2013
Проект на основе 1С-Битрикс: Корпоративный портал:
Заказчик – компания Альбиоген с количеством пользователей порядка 6 тыс.
· Особенностью проекта является наличие высоких требований к безопасности и подключения системы к 1С: Зарплата и управление. Особых требований к дизайну и шаблону системы предъявлено не было, поэтому проект имеет дизайн макета, поставляемый в комплектации по умолчанию. Центральная часть главной страницы полностью отдана под скриптовой блок информационных материалов и текстовых форм. Вид классический, с боковыми функциональными полями;
· В проекте реализованы: «живая» новостная лента на главной странице, которая автоматически обновляется через короткий промежуток времени; чаты, индивидуальные и групповые; телефония; управление задачами; календари; файловое хранилище; фото и видео галереи; система личных сообщений; экспорт и хранение почты с почтового сервера; управление бизнес-процессами; CRM; техническая поддержка; управление персоналом; элементы социальной сети с группами, сообществами и персональными страницами пользователей; управление событиями предприятия; вакансии; новости компании и отраслевые новости; блоги; форумы; система тестирования; электронный документооборот;
· CRM компонент полностью интегрирован с базой 1С;
· Система интегрирована с Active Directory, для входа используется разовая авторизация с учётными данными Active Directory.
Изображение разработанного проекта на базе 1С-Битрикс: Корпоративный портал представлено на рисунке 3 (данные о компании и сотрудниках были изменены).
Рисунок 3 – Проект на основе 1С-Битрикс: Корпоративный портал.
Это дало определённое общее представление о том, какими могут быть корпоративные информационные системы работающие на основе веб-технологий, их функции и возможности. Теперь эти системы можно сравнить, для выделения наиболее востребованных функций и возможностей при использовании внутри организаций.
Результаты сравнения приведены в сводной таблице 1.
Таблица 1 – Сравнение возможностей аналогов для разработки
Функции и возможности | Microsoft SharePoint Server 2013 | 1С-Битрикс: Корпоративный портал | Общие возможности |
Фото и видео альбомы | + | + | √ |
Новости | + | + | √ |
Блоги | + | + | √ |
Информация о сотрудниках | + | + | √ |
Личные сообщения | + | + | √ |
Документы и файлы | + | + | √ |
Чаты | - | + | |
Распоряжения | + | + | √ |
Система обучения | + | + | √ |
Форум | + | + | √ |
Персональные страницы | + | + | √ |
Уровни доступа | + | + | √ |
Техническая поддержка | + | + | √ |
Телефония | - | + | |
Интеграция с LDAP службами | + | + | √ |
Интеграция с базой 1С | - | + | |
Документооборот | + | + | √ |
События | + | + | √ |
Контроль рабочего времени | - | + | |
Задачи | + | + | √ |
Проекты | - | + | |
Социальные элементы | + | + | √ |
CRM | - | + | |
Вакансии | - | + | |
Хранение почты и контактов | - | + | |
База знаний | + | + | √ |
SSO | + | + | √ |
В результате анализа аналогичных проектов было решено при разработке информационной системы, учесть все наиболее востребованные функции уже существующих систем, а также расширить возможности системы.
1.3 Требования к корпоративному порталу.
Для определения требований к содержанию разрабатываемой корпоративной информационной системы был рассмотрен ряд аналогов. В результате были выработаны концептуальные и технологические требования к системе.
В зависимости от вида пользователя корпоративный портал должен предоставлять сотрудникам КЭССТ следующую информацию и возможности:
· просмотр новостей по категориям и по группам пользователей;
· регулирования уровня доступа на публикацию и просмотр информационных материалов;
· доступ к внутренним и к отраслевым распоряжениям;
· файловое хранилище для каждого отдела;
· форум с общими разделами и разделами для каждого отдела;
· корпоративные блоги по категориям;
· элементы социальной сети с группами и страницами;
· систему личных сообщений с возможностью групповых бесед;
· мероприятия и календарь мероприятий;
· галерею с фото и видео материалами организации;
· систему электронных заявок по типам и категориям с выбором приоритета;
· совместная работа над проектами;
· постановка задач
· адаптивный дизайн сайта
· систему тестов
· база знаний и словарь терминов
· интеграция с Active Directory
· информацию о сотрудниках организации;
· общий доступ к шаблонам и образцам заявлений
· возможность обратной связи:
- просмотр вопросов с ответами;
- возможность задать вопрос;
- возможность получить ответ.
· просмотр зарегистрированных сотрудников, поиск;
· участвовать в голосовании, управление голосованием;
· возможность добавления, удаления, редактирования информации;
· управление группами пользователей.
Технические требования к системе:
· доступ к системе должен осуществляться посредством локальной сети через веб-браузер;
· данные должны оперативно обновляться и располагаться на удаленном сервере в БД;
· система управления сайтом должна позволять полностью администрировать корпоративный портал на уровне пользователя;
· простота навигации;
· единство дизайна всех разделов и веб-приложений;
· доступность для разных групп пользователей;
· должна быть возможность расширения корпоративного портала;
· корректно отображаться браузерами Microsoft Internet Explorer, Microsoft Edge, Google Chrome, Mozilla Firefox;
· корректно отображаться на настольных и мобильных устройствах.
Список требований к системе для различных групп пользователей был создан на основе диаграмм прецедентов использования (use case diagram) изображенных на рисунках с 5 по 14.
Рисунок 5 – Общая диаграмма прецедентов использования для пользователей
Рисунок 6 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Журналисты»
Рисунок 7 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Тренеры»
Рисунок 8 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Агенты поддержки»
Рисунок 9 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Координаторы агентов поддержки»
Рисунок 10 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Участники проектов»
Рисунок 11 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Координаторы проектов»
Рисунок 12 –Диаграмма прецедентов использования для пользователей с дополнительной группой «Начальство»
Рисунок 13 –Диаграмма прецедентов использования для модераторов
Рисунок 14 – Диаграмма прецедентов использования для администратора
2 Анализ и выбор инструментальных средств разработки.
2.1 Обзор существующих технологий создания веб-систем.
HTML (англ. HyperText Markup Language, язык гипертекстовой разметки) – сообщает особые инструкции браузеру, при помощи которых создаются Веб-страницы.
То есть Web-страницы - являются документы в формате HTML, содержащие текст и специальные тэги (дескрипторы) HTML. По сути тэги HTML нужны для форматирования текста (то есть придания ему подходящего вида), который "воспринимает" браузер. Документы HTML хранятся в виде файлов с расширением .htm либо .html.
Тэги HTML сообщают браузеру информацию о структуре и особенностях форматирования Веб-страницы. Любой тэг имеет определенную инструкцию и заключается в угловые скобки <>. Большая часть тэгов состоят из открывающей и закрывающей частей и воздействуют на текст, заключенный внутри.
На самом деле, web-страница - это обычный текстовый документ, имеющий тэги (которые к тому же являются обычным текстом, заключенным в скобки). То есть, отталкиваясь от вышеизложенного, web-страницы возможно набрать в любом текстовом редакторе (Блокнот, WordPad, Word и т.д.)
Основные языки веб программирования это: PHP, ASP. NET, JAVA
Языки программирования для интернета делятся на используемые на стороне клиента (client side scripting language) и используемые на стороне сервера (server side scripting language).
Код программ, работающих на стороне клиента (посетителя сайта) выполняется на компьютере посетителя сайта, в браузере, запущенном на компьютере пользователя (Internet Explorer, Opera, Firefox и др.). Этот код пишется на языках JavaScript и VBScript.
Программа, используемая на стороне сервера, вставляет сгенерированные ею конструкции HTML и не передается клиенту, т.е. посетитель, просмотрев код страницы, никогда не увидит кода, генерирующего фрагменты HTML. Эти программы пишутся на таких языках программирования: PHP; ASP. NET; Java.
2.1.1 Язык PHP.
PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») - это язык обработки гипертекста (HTML), используемый на стороне сервера (server side scripting language), конструкции которого вставляются в HTML-текст.
В области программирования для Сети PHP — один из популярнейших скриптовых языков (вместе с JSP, Perl и языками, используемыми в ASP.NET) благодаря собственной простоте, скорости исполнения, богатой функциональности и распространению исходных кодов на основе лицензии PHP. PHP выделяется наличием ядра и подключаемых модулей, «расширений»: для работы с базами данных, сокетами, динамической графикой, криптографическими библиотеками, документами формата PDF и т. п. Любой желающий имеет возможность разработать своё личное расширение и подключить его. Есть сотни расширений, но в обычную поставку входит только несколько десятков отлично зарекомендовавших себя. Интерпретатор PHP подключается к веб-серверу или через модуль, созданный именно для этого сервера (например, для Apache или IIS), или в виде CGI-приложения.
Помимо этого, он может использоваться для решения административных задач в операционных системах UNIX, GNU/Linux, Microsoft Windows, Mac OS X и AmigaOS. Но в этом качестве он не стал популярен, отдавая пальму господства Perl, Python и VBScript.
Синтаксис PHP аналогичен синтаксису языка Си. Некоторые элементы, такие как ассоциативные массивы и цикл foreach, взяты из Perl.
Ныне PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более пятой доли доменов Интернета.
2.1.2 Язык ASP.NET.
Язык ASP.NET (англ. Active Server Pages - «активные серверные страницы» для .NET) - это язык программирования сценариев от Microsoft. Язык ASP уступал языку PHP по многим параметрам, и в первую очередь, по времени исполнения программ. С появлением ASP.NET ситуация изменилась.
ASP.NET тесно интегрирован в новую технологию NET компании Microsoft. Особенностью этого языка является возможность использовать любой язык программирования среды исполнения NET (Visual Basic.NET, C#, J#). В рамках одного приложения может быть использовано несколько языков, что позволяет объединять в одном проекте программистов, владеющих разными языками программирования.
Код web-приложения на ASP.NET компилируется в промежуточный язык MSIL (Microsoft Intermediate Language). Аппаратно-независимый код на этом языке помещается в кэш web-сервера для повышения производительности, как и байт-код Java, но в отличие от технологии Java, обеспечивающей платформенную независимость, NET обеспечивает независимость от языка разработки.
ASP.NET используется для комплексных решений при разработке крупных проектов, связывающих Internet с Intranet, работающих на связке Windows-IIS.
Недостатком языка ASP.NET является невозможность выполнения на серверах, работающих не под Windows. Кроме того, если страница активно использует компоненты NET, просмотр динамической страницы возможен только в броузере MS Internet Explorer.
"Родная" связка PHP + MySQL + Apache работает быстрее ASP.NET + IIS + Microsoft SQL Server 2000.
2.1.3 Язык Java
Язык Java (не путайте с JavaScript) - C-подобный язык, который разрабатывался, как упрощенная и улучшенная версия языка С++, а также межплатформенная технология, позволяющая создавать web-приложения корпоративного масштаба.
Его достоинством является переносимость и объектно-ориентированность, что позволяет создавать сложные и объемные приложения. Но у языка Java есть и недостатки: медленное выполнение и потребление большого количества памяти, как плата за кроссплатформенность, а также сложность разработки web-приложений по сравнению с языком PHP, практически не уступающим Java в гибкости и масштабируемости созданных приложений.
Язык Java для разработки web-приложений обычно используется в связке Windows-IIS. Применение языка Java для разработки web-приложений вряд-ли оправдано для относительно простых приложений, кроме того, это обходится значительно дороже, чем использование PHP в связке Unix(Linux, Solaris, FreeBSD)-Apache.
2.2 Обзор средств разработки.
Почти все крупномасштабные Web-сайты ASP.NET разрабатываются с использованием Visual Studio - предлагаемой компанией Microsoft полнофункциональной среды разработки Web-приложений, гибкого и универсального инструмента проектирования и создания законченных приложений для платформы Windows.
Как и любая другая профессиональная среда разработки, Visual Studio включает в себя средства управления проектами, редактор исходного текста, конструкторы пользовательского интерфейса, мастера, компиляторы, компоновщики, инструменты, утилиты, документацию и отладчики. Она позволяет создавать приложения для 32- и 64-разрядных Windows-платформ, а также новой платформы .NET Framework. Одно из важнейших усовершенствований - возможность работы с разными языками и приложениями различных типов в единой среде разработки.
Преимуществам Visual Studio:
· встроенный редактор WISWYG (What You See Is What You Get) ("Что видишь, то и получаешь") - позволяет настраивать статическое HTML-содержимое, в том числе шрифты и стили;
· меньше кода для написания - благодаря автоматизации базовых задач по созданию стереотипного кода.
· интуитивный стиль программирования - форматирование кода, выполняемое Visual Studio во время его набора в виде автоматической расстановки отступов и использования цветового кодирования; значительно улучшает удобочитаемость кода и снижает вероятность допущения ошибок в коде;
· встроенный Web-сервер, позволяющий запускать Web-сайт прямо из среды проектирования.
· многоязыковая разработка - Visual Studio позволяет кодировать на любых языках с использованием одного и того же интерфейса (IDE). Единственное ограничение: на одной странице можно применять только один язык.
· увеличение скорости разработки, для чего Visual Studio обладает множеством возможностей. Удобства вроде мощной функции поиска и замены, а также средства автоматического добавления и удаления комментариев, которые могут временно скрыть блок кода, позволяют работать быстро и эффективно.
· отладка - возможно выполнять код по строке за раз, устанавливать интеллектуальные точки прерывания, которые можно сохранить для дальнейшего использования и в любое время отображать текущую информацию из памяти.
NetBeans IDE - бесплатная интегрированная среда разработки (Integrated Development Environment - IDE) на языках программирования Java, JavaFX, Ruby, Python, PHP, JavaScript, C++ и ряде других, с открытым исходным кодом. Она поддерживает большинство платформ, включая Windows, Linux, Solaris и MacOS. Установка NetBeans не вызывает сложностей, а работа со средой удобна и понятна. Это полноценный пакет утилит для создания профессиональных межплатформенных приложений для настольного ПК, предприятия, Интернета и мобильных устройств.
Преимущества NetBeans:
· функции автозаполнения и Garbage Collector;
· программа бесплатна;
· программа общедоступна.
К недостаткам можно отнести брльшое потребление ресурсов, в том числе оперативной памяти и процессора.
Eclipse IDE - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Графический интерфейс в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.
Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких, как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентного Паскаля, Zonnon, и прочих.
Для среды Eclipse существует целый ряд свободных и коммерческих модулей. Первоначально среда была разработана для языка Java, но в настоящее время существуют многочисленные расширения для поддержки и других языков: C/C++ - модуль CDT; Fortran – модуль Phortran; Perl – модуль EPIC; PHP – модуль PDT; JavaScript – модуль JSEclipse; Python – модуль PyDev; Ruby – модуль RDT; 1С V8 – модуль 1С: Enterprise DT.
Преимущества Eclipse:
Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) и пр. от различных разработчиков.
Eclipse JDT (Java Development Tools) — наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями — CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.
Notepad++ - свободный текстовый редактор разрабатываемый с 2003 года с открытым исходным кодом для Windows и ReactOS с подсветкой синтаксиса большого количества языков программирования и разметки: ActionScript, ASP, ада, ASCII-графика, ассемблер, AutoIt, BAT, C, C#, C++, Caml, CSS, CoffeeScript, doxygen, фортран, HTML, INNO, Haskell, Java, JavaScript, KiXtart, лисп, Lua, Make, MATLAB, NSIS, Objective-C, паскаль, Perl, PHP, PostScript, Python, Ruby, Scheme, UNIX Shell Script, Smalltalk, SQL, Tcl, TeX, Verilog, VHDL, Visual Basic, VBS, XML. Поддерживает открытие более 100 форматов. Notepad++ поддерживает конвертирование кодировок ANSI, UTF-8 и UCS-2. Прост в использовании и самодостаточен, программа потребляет очень мало оперативной памяти, в чистом виде 6,7 Мб, и растёт пропорционально открытым файлам и объёму данных.
2.3 Обзор существующих платформ для разработки информационных систем.
Microsoft SharePoint Server - это интегрированный пакет серверных приложений, способствующих улучшению организации труда благодаря возможностям по организации документооборота, всестороннего управления информацией и корпоративного поиска, ускорению совместно выполняемых бизнес-процессов и упрощению обмена данными между отделами. Windows SharePoint Services полностью построена на технологии ASP.NET Пользователи могут быстро создавать узлы SharePoint, поддерживающие публикацию определенного контента, управление информацией, управление записями и бизнес-аналитику. Кроме того, можно эффективно выполнять поиск людей, документов и данных, использовать бизнес-процессы на основе форм, а также получать доступ к большому объему бизнес-данных и анализировать их. В продукте сделан акцент на социальную составляющую, облака и мобильность. Функционал SharePoint Server расширяется за счёт отдельных серверных приложений, таких как: Microsoft Project Server – серверное приложение для работы с проектами; Microsoft Dynamics CRM – пакет программного обеспечения для управления взаимоотношениями с клиентами или сотрудниками организации с возможностью организации службы поддержки; Microsoft Workflow – серверное приложения для управления рабочими процессами; Microsoft Skype for Business (ранее Microsoft Lync) – клиент-серверное приложение для корпоративных коммуникаций; Microsoft Learning Gateway – серверная платформа для организации образовательного процесса; Microsoft Worklite.Docs – серверное приложения для организации СЭД (система электронного документооборота). Пример работы сайта разработанного на базе платформы MS SharePoint 2013 на рисунке 15.
Microsoft SharePoint Server разработан в первую очередь для крупных предприятий, имеющих филиалы в разных городах.
Преимущества Microsoft SharePoint Server:
· Единая платформа, объединение в одном месте всех необходимых бизнес-приложений для эффективного взаимодействия;
· Хранение и синхронизация документов;
· Высокая масштабируемость, информационную систему можно адаптировать под любой проект;
· Тесная интеграция с приложениями от Microsoft, в том числе с офисными;
· Обеспечивает полномасштабный доступ ко всем бизнес-приложениям с настольных, планшетных и мобильных устройств;
· Высокая степень интеграции с почтовым сервером MS Exchange и службой каталогов Active Directory.
Недостатки Microsoft SharePoint:
· Кроссплатформенность, Microsoft SharePoint Server разработан исключительно для Windows Server;
· Высокие системные требования, необходимо наличие 12 Гб оперативной памяти и 80 Гб свободного места на диске;
· Высокая стоимость реализации, необходима лицензия на установку и на каждого пользователя, на сегодняшний день, цена на локальную установку 424 650.00 рублей. Для расширения функционала, необходимо дополнительно приобретать лицензии для каждого серверного приложения.
· Отсутствие доступа к исходному коду, что сильно ограничивает разработку сторонних дополнений
Рисунок 15 – Снимок страницы сайта на платформе MS SharePoint 2013
1С-Битрикс: «Корпоративный портал» – это система управление контентом, разработана для управления внутренними процессами в деятельности организации. Система разработана на базе фирменной платформе Bitrix Framework и является расширенной редакцией 1С-Битрикс24. Продукт продаётся уже сразу с готовыми следующими возможностями: социальная сеть; групповые чаты и система мгновенных сообщений; видео звонки с возможностью организации конференцсвязи до 4х человек одновременно; телефония с использованием облачной платформы VoxImplant; управление задачами и проектами; совместная работа с документами; поддержка браузерного просмотра и редактирования документов в GoogleDocs и MS Office Online; планирование и учёт рабочего времени; календари, общие и персональные с возможностью подключения к календарям MS Outlook, Google, iOS, MacOS, Android; организация встреч; генерация отчётов для руководителя; резервирование переговорных комнат; систему CRM; каталоги товаров и услуг; работа со счетами; рассылки; систему управления персоналом; визуальное управление структурой компании; синхронизацию контактов с MS Outlook, Google, iOS, MacOS, Android; персональные страницы сотрудников; графики отсутствия сотрудников; систему обучения и тестирования сотрудников; новостные разделы; сервис сбора идей; систему технической поддержки; визуальные конструкторы бизнес-процессов; документооборот; командировки и отпуска; утверждение отчётов; возможность экспорта почты на портал; отдельные мобильные и настольные приложения для MacOS, iOS, Android и Windows; интеграция с MS Office; коннекторы для связи с MS Exchange Server, MS Exchange Web Mail, MS SharePoint, 1С: «Зарплата и управление»; интеграция с OpenLDAP и Active Directory; возможность кластеризации; проактивная защита WAF – Web Applicaton Firewall; генератор одноразовых паролей; работу со справочными данными сотрудников; кадровые перемещения и вакансии; интеграция с облачными сервисами Google Drive и Битрикс24 Диск; управление медиа содержимым; управление документами и отслеживание их маршрутов.
Система построена на PHP и имеет возможность работы с СУБД MySQL, Oracle и MS SQL Server. Система является кроссплатформенной и может работать на MS Windows и UNIX-подобных платформах, включая Linux. Минимум для работы системы требуется 2 Гб оперативной памяти и 100 Мб места на жёстком диске. Дальнейшая аппаратная конфигурация зависит от характера нагрузки на сервер (количество пользователей, тип и размер контента и т.д.). Пример работы системы, разработанной на основе 1С-Битрикс: «Корпоративный портал» на рисунке 16.
Система 1С-Битрикс: «Корпоративный портал» ориентирована для использования в крупных организациях и холдингах.
Преимущества 1С-Битрикс: «Корпоративный портал»:
· Кроссплатформенность, система подходит для использования в средах UNIX-подобных системах и Windows;
· Возможность интеграции с социальными сетями, облачными хранилищами, почтовыми сервисами и LDAP службами;
· Кроссбраузерность, сайт созданный на основе системы 1С-Битрикс: «Корпоративный портал» одинаково хорошо работает на всех современных популярных браузерах: MS Internet Explorer 11 и выше, MS Edge, Mozilla Firefox, Opera, Apple Safari, Google Chrome;
· Низкие минимальные системные требования;
· Открытость исходных кодов, что позволяет разрабатывать дополнительный функционал, не обращаясь за помощью к поставщику;
· Система изначально содержит в себе большинство необходимых веб-приложений для нужд организации.
Недостатки 1С-Битрикс: «Корпоративный портал»:
· Избыточность функций, которые не отключаются. Так как система изначально имеет огромный список функций и возможностей и позиционирует себя как «коробочный корпоративный портал для любой компании», многие веб-приложения и возможности могут оказаться не нужными и занимать большое количество неиспользуемого программного кода, который снижает производительность;
· Для полноценного обслуживания, администрирования и разработки требуется специальное обучение у специалиста из-за сложности в настройке и понимания API функций;
· Высокая стоимость реализации, необходима лицензия на установку и на каждого пользователя, на сегодняшний день, цена на локальную установку 219 500.00 рублей, при покупке даётся лицензия всего на 25 пользователей, каждый дополнительный пользователь 1500 рублей, лицензия на 1000 дополнительных пользователей стоит 695 000.00 рублей.
Рисунок 16 – Снимок страницы сайта работающем на основе 1С-Битрикс: «Корпоративный портал»
CMS Joomla – бесплатная система управление контентом, разработана для создания проектов любой сложности и тематики. Проект имеет открытый исходный код и успешно развивается с 2005 года, пользуется популярностью у миллионов пользователей по всему миру. Система позволяет решать многие задачи почти любого уровня сложности и включает в себя минимально необходимый набор инструментов при начальном развёртывании, который расширяется по мере необходимости. Такой подход позволяет значительно снижать загромождение административной панели ненужными элементами, а также снизить нагрузку на сервер и контролировать её пропорционально масштабированию. Система представляет из себя две части, фронтальную (пользовательскую) работы непосредственно с сайтом и административную для контроля, конфигурирования и расширения. Изначально система предоставляет следующий функционал: многоуровневая аутентификация; система управления макетами, которая позволяет изменять стили и PHP код уже готового макета, а также, не покидая административную часть, создавать свои; возможность настройки схем расположения элементов; счётчик посещений и статистика; автоматическая публикация и снятие с публикации материала по дате; массовая рассылка контента по электронной почте. Структура системы представляет собой ядро, к которому присоединены веб-приложения (компоненты), компоненты делятся на типы: модули – элементы, отображаемые на фронтальной части сайта в виде отдельных блоков; плагины – элементы, расширяющие функциональность системы; шаблоны (макеты) - элементы, отвечающие за унифицированное оформление всего сайта. К ядру системы относятся: блок, функциональность которого определяется HTML кодом внутри него и его разновидности с расширенными возможностями управления - система баннеров, контакты и лента новостей RSS; материал (контент) с метками (тегами) и категориями (папками) для навигации по сайту, редактором для удобного создания материала. Создание собственного компонента/модуля/плагина/шаблона осуществляется путём написания на PHP с использованием API Joomla.
Система построена на PHP и имеет возможность работы с СУБД: MySQL; Oracle; PostgreSQL; SQLite; MS SQL Server. А также одинаково хорошо работает на веб-серверах Apache, MS IIS7 и Nginx. Система является кроссплатформенной и может работать на MS Windows и UNIX-подобных платформах, включая Linux. Минимум для работы системы требуется 1 Гб оперативной памяти и 50 Мб места на жёстком диске. Дальнейшая аппаратная конфигурация зависит от характера нагрузки на сервер (количество пользователей, тип и размер контента и т.д.) и расширенных функциональных возможностей. Пример работы системы, разработанной на основе Joomla на рисунке 17.
CMS Joomla подходит для использования в малых и средних организациях. Содержит в себе необходимые базовые функции и широкие возможности по расширению.
Преимущества CMS Joomla:
· Кроссплатформенность, система подходит для использования в средах UNIX-подобных системах и Windows;
· Система позволяет использовать адаптивный дизайн для мобильных, планшетных и настольных устройств;
· Низкие минимальные системные требования;
· Открытость исходных кодов и простота в освоении благодаря огромному количеству бесплатной литературы и сообществ разработчиков по этой системе, что позволяет разрабатывать дополнительный функционал или изменить существующий;
· Гибкость системы, любое веб-приложение можно выключить, удалить или ограничить его использование только в определённых разделах сайта или определёнными пользователями.
· Бесплатность, система не требует никаких лицензий.
Недостатки CMS Joomla:
· Интеграция с разными веб-приложениями (компонентами). Для этой системы уже сейчас существует более 9000 различных дополнений и вариантов дизайна, изучая и переписывая PHP код многие нужные приложения приходится вручную интегрировать друг с другом для работы, как единое целое. Каждое приложение имеет свои базовые элементы дизайна, которые могут кардинально отличаться от единого оформления системы, в связи с этим без базовых знаний в CSS и PHP невозможно применить концепцию единого дизайна;
· Для полноценного обслуживания, администрирования и разработки требуется изучение API функций Joomla;
· Интеграция со сторонними сервисами в сетях Интернет и Интранет. Для интеграции системы со сторонними приложениями и сервисами чаще всего приходится разрабатывать собственные компоненты «мосты».
· CMS Joomla обладает крайне низким уровнем безопасности, в следствии чего сайты разработанные на данной системе чаще всех подвергаются взлому. Требуются знания по предотвращению взлома веб-приложений.
Рисунок 17 – Снимок страницы сайта работающем на основе CMS Joomla
2.4 Обзор существующих СУБД.
Для интернет-приложений используются множество различных баз данных: MySQL, PostgreSQL, MS SQL Server, MS Access, Firebird.
Наиболее распространенными решениями при выборе базы данных для интернет-приложений являются базы данных MySQL, PostgreSQL, MS SQL Server и Firebird.
2.4.1 Обзор СУБД MySQL
СУБД MySQL — свободная система управления базами данных (СУБД). Иными словами, это компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в применение. MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и помимо этого имеет большее количество расширений к этому стандарту, которых нет ни в какой иной СУБД.
Краткий перечень возможностей MySQL:
- поддерживается неограниченное число пользователей, в одно и тоже время использующих базу данных;
- количество строк в таблицах может достигать 50 млн.;
- быстрое выполнение команд, возможно MySQL самый быстрый сервер из существующих;
- несложная и действенная система безопасности.
Некоторые плюсы использования MySQL:
· MySQL относительно быстрее PostgreSQL;
· дизайн и планирование базы данных несколько проще;
· можно создать простой веб сайт с использованием базы;
· ответы на запросы MySQL были хорошо протестированы;
· не нужно использовать методы очистки (вакуум).
2.4.2 Обзор СУБД PostgreSQL
PostgreSQL - это свободно распространяемая объектно-реляционная система управления базами данных (ORDBMS), наиболее развитая из открытых СУБД в мире и являющаяся реальной альтернативой коммерческим базам данных.
Не много веб-разработчиков используют в своей работе PostgreSQL, так как считают, что дополнительные особенности и возможности снижают производительность и скорость работы. Однако, PostgreSQL имеет много преимуществ над MySQL.
Например, некоторые из особенностей, которые часто используются – внешние ключи, триггеры и представления. Они позволяют скрывать сложность базы данных от приложения, таким образом избегая создания сложных команд SQL.
Одно из наиболее ощутимых различий между MySQL и PostgreSQL - невозможность создания вложенных подзапросов (селектов) в MySQL.
Однако если мы хотим создать веб приложение, и главное для нас это производительность и скорость – MySQL будет лучшим выбором, потому что она быстра и разработана для того, чтобы хорошо работать с веб серверами.
2.4.3 Обзор СУБД Firebird
Firebird - компактная, кроссплатформенная, свободная система управления базами данных (СУБД), работающая на Linux, Microsoft Windows и разнообразных Unix платформах.
В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность и мощную языковую поддержку для хранимых процедур и триггеров.
Версионная архитектура: Основная особенность Firebird — версионная архитектура, позволяющая серверу обрабатывать различные версии одной и той же записи в любое время таким образом, что каждая транзакция видит свою версию данных, не мешая соседним («читающие транзакции не блокируют пишущие, а пишущие не блокируют читающих»)
Хранимые процедуры: Используя язык PSQL (процедурный SQL) Firebird, возможно создавать сложные хранимые процедуры для обработки данных полностью на стороне сервера. Для генерации отчётов особенно удобны хранимые процедуры с возможностью выборки, возвращающие данные в виде набора записей. Такие процедуры можно использовать в запросах точно так же, как и обычные таблицы.
Резервное копирование на лету: Для резервного копирования нет надобности останавливать сервер. Процесс резервного копирования сохраняет состояние базы данных на момент своего старта, не мешая при этом работе с базой. Кроме того, существует возможность производить инкрементальное резервное копирование БД.
2.4.4 Обзор СУБД Microsoft SQL Server
Microsoft SQL Server - одна из наиболее мощных СУБД архитектуры клиент - сервер. Эта СУБД позволяет удовлетворять такие требования, предъявляемые к системам распределенной обработке данных, как тиражирование данных, параллельная обработка, поддержка больших баз данных на относительно не дорогих аппаратных платформах при сохранении несмежного управления.
MS SQL Server представляет собой систему, конечно, плохо сравнимую с рассмотренными выше СУБД. Он не предназначен непосредственно для разработки пользовательских приложений, а выполняет функции управления базой данных. Для пользовательского приложения SQL Server является мощным источником генерации и управления нужными данными.
Microsoft SQL Server предназначен исключительно для поддержки систем, работающих в среде клиент-сервер. Он поддерживает широкий спектр средств разработки и максимально прост в интеграции с приложениями, работающими на ПК.
MS SQL Server имеет новую масштабируемую архитектуру блокировок, называемую Динамической блокировкой (Dinamic Locking), которая комбинирует блокировку на уровне страницы и записи для достижения максимальной производительности и подключения максимального числа пользователей.
MS SQL Server может тиражировать информацию в БД иных форматов включая Oracle, BM DB2, Sybase, Microsoft Access и другие СУБД (при наличии ODBC драйвера, отвечающего определенным требованиям).
Хранимые процедуры, поддерживающие OLE Automation, позволяют разработчику применять практически любой инструмент из тех, что поддерживают OLE, в целях создания хранимых процедур для SQL Server. Многочисленные расширения языка Transact-SQL включают расширенную поддержку курсоров, возможность использования команд определения данных внутри транзакций и т.д.
Пакет Enterprise Manager включает утилиту, позволяющую переносить некоторые или все объекты из одной базы данных в другую. Используя эту утилиту, разработчик или администратор может:
• выполнять копирование объектов любого типа с указанием, какого типа объекты подлежат копированию (или копировать все объекты всех типов);
• переносить схему базы данных вместе с данными или без них;
• дополнять или замещать существующие данные;
• уничтожать объекты в базе-приемнике перед копированием схемы;
• для копируемого объекта включать объекты от него зависящие;
• использовать стандартные настройки генерации кода создания/удаление объектов или использовать собственные;
• определять момент выполнения переноса объектов: немедленно однократно в определенный момент времени, многократно по определенному графику.
2.5 Выбор инструментальных средств разработки.
На основании проведенного анализа для создания веб-системы в качестве средств разработки была выбрана система управления контентом CMS Joomla, среда разработки Notepad++, язык программирования PHP, СУБД MySQL, web-сервер Apache и набор скриптов phpMyAdmin.
Notepad++ 7.3 — базируется на компоненте Scintilla, написан на C++ с использованием STL и распространяется под лицензией GPL. Базовый функционал программы может быть расширен как за счёт плагинов, так и сторонних модулей, таких как компиляторы и препроцессоры. Пример работы в Notepad++ на рисунке 18.
Рисунок 18 – Пример работы в Notepad++
Достоинства Notepad++:
· скорость работы редактора;
· малый размер;
· подсветка текста и возможность сворачивания блоков, согласно синтаксису языка программирования;
· авто-завершение набираемого слова;
· одновременная работа с множеством документов;
· одновременный просмотр нескольких документов;
· динамическое изменение окон просмотра;
· автоматическое определение состояния файла;
· поддержка большого количества языков;
· выделение скобок при редактировании текста;
· поддержка плагинов.
СУБД MySQL 5.6.31 — свободная система управления базами данных. Другими словами, это компактный многопоточный сервер баз данных. MySQL характеризуется большой скоростью, устойчивостью и легкостью в использовании. MySQL поддерживает язык запросов SQL в стандарте ANSI 92, и кроме этого имеет множество расширений к этому стандарту, которых нет ни в одной другой СУБД.
Краткий перечень возможностей MySQL:
· поддерживается неограниченное количество пользователей, одновременно работающих с базой данных;
· количество строк в таблицах может достигать 50 млн.;
· быстрое выполнение команд, возможно MySQL самый быстрый сервер из существующих;
· простая и эффективная система безопасности.
PHP 5.6.23 - (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») - скриптовый язык программирования, созданный для генерации HTML-страниц на Web-сервере и работы с базами данных.
Web-сервер Apache 2.4.20 (альтернатива Internet Information Services, или скороченно IIS, который интегрирован в операционную систему Windows) - это сервер, принимающий HTTP-запросы от клиентов, обычно Web-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. По сути Web-сервер — это программное обеспечение, выполняющее функции Web-сервера, как и компьютер, на котором это программное обеспечение работает.
phpMyAdmin 4.4.15.7 - совокупность скриптов написанных на PHP, и обеспечивающих полноценную, в том числе удаленную работу с базами данных MySQL, через веб-интерфейс. Так как phpMyAdmin позволяет во многих случаях обойтись без непосредственного ввода команд SQL, то работа с базами данных становится вполне посильной задачей даже для человека весьма поверхностно знакомого с MySQL.
Основные особенности phpMyAdmin:
· интуитивно понятный веб-интерфейс;
· поддержка большинства функций MySQL:
- просмотр и удаление базы данных, таблиц, представлений, полей и индексов;
- создание, копирование, удаление переименование и изменение баз данных, таблиц, полей и индексов;
- техническое обслуживание серверов, баз данных и таблиц;
- выполнить, редактировать и создавать закладки SQL-операторов, даже большие партии-запросов;
- управлять пользователями и привилегиями;
- управлять хранимыми процедурами и триггерами;
· импорт данных из CSV и SQL;
· экспорт данных в форматах: CSV, SQL, XML, PDF, ISO/IEC 26300 - OpenDocument Text и таблиц, Word, Excel, LTEX и др.;
· администрирование нескольких серверов;
· создание PDF графического макета базы данных;
· создание сложных запросов с помощью запроса по образцу (QBE);
· осуществление поиск в глобальном масштабе по всей базе данных или сразу в нескольких.
Pain.NET 4.0.13 – растровый графический редактор, основанный на .Net Framework для Windows, разрабатываемый с 2004 года. Программа имеет удобный интерфейс, похожий на Adobe Photoshop, позволяет работать с несколькими файлами одновременно, поддерживает обработку прозрачности и умеет работать со слоями.
Браузеры при разработке используются для соблюдения совместимости (кроссбраузерности). При работе на портале в разных браузерах необходимо, что бы дизайн был одинаков. Для проверки совместимости использовались 5 самых распространённых браузеров: Mozilla Firefox, Google Chrome, Microsoft Internet Explorer, Microsoft Edge. Для отладки дизайна применялись следующие продукты:
·Mozilla Firefox 50.1.0 – основан на движке Gecko, при отладке использовался встроенный компонент Firebug;
·Google Chrome 55.0.2883.76 – основан на движке Blink, при отладке использовался встроенный компонент Веб-инспектор;
·Microsoft Internet Explorer 11.576.14393.0 – основан на движке Trident, при отладке использовался встроенный компонент Средства разработчика;
·Microsoft Edge 38.14393.0.0 – основан на движке EdgeHTML, при отладке использовался встроенный компонент Microsoft Edge Developer Tools;