Диссертация (1145511), страница 33
Текст из файла (страница 33)
Однако при разработке конкретного веб-сервиса существуют заданные постановки практически значимых задач и поэтому написание собственного кода неизбежно. Такую возможность и предоставляет открытая программная платформа.Разработанное веб-приложение «Implicit influences Joomla component»предназначено для исследования экономических моделей, объектов и процессов, связанных с реализацией уточнения методики Д.
Нортона, Р. Каплана вчасти влияния на управляемый объект действия имплицитных факторов.Основная цель разработки заключается в создании взаимосвязаннойсистемы веб-сервисов, позволяющих с помощью ряда открытых интерфейсовпередачи данных и управления расчетом, оснастить авторский проблемноориентированный модуль новыми инструментами подготовки, проведения ианализа результатов вычислительного эксперимента для конкретных экземпляров-организаций. В качестве базовых инструментальных средств исследования разработаны следующие три веб-сервиса:1.
веб-сервис «Поиск имплицитных факторов», который используетсядля моделирования процессов поиска имплицитных факторов в экономических системах;2. веб-сервис «Оценка имплицитных факторов», который позволяетпри соответствующих модификациях на основе технологий нечеткого управления провести оценку имплицитного фактора, на основе его логико-семантической декомпозиции на соответствующие показатели;1853. веб-сервис «Оценка влияния имплицитных факторов на ключевыепоказатели деятельности организации», результаты работы которого дают возможность получить прогноз значений ключевых показателей, при соответствующих изменениях имплицитных факторов.Общая архитектура приложения «Implicit influences Joomla component»может быть представлена в виде трех основных подсистем (см.
рис. 4.2.1):1. Математическая подсистема. Включает в себя основные средствапроведения расчетов по моделям оценки имплицитных факторов, преждевсего набор программ, реализующих интеллектуальный анализ входных данных предметной области. Также подсистема содержит набор программныхутилит, обеспечивающих взаимодействие с другими подсистемами в режимереального времени, для которых в рамках стандартных средств и процедурразработаны интерфейсы, обеспечивающие трансформацию данных в форматы входных данных программ модулей, соответствующих веб-сервисов.Рис. 4.2.1.
–Подсистемы приложения «Implicit influences Joomla component»2. Инструментальная графическая подсистема реализует графическийинтерфейс и обеспечивает визуальную подготовку модели рассматриваемого186объекта или экономического процесса, компоновку расчетной области дляудобного размещения элементов в рабочей области веб-севриса, а также взаимодействие с полным набором используемых для моделирования сценариев ибаз данных показателей. С программной точки зрения подсистема являетсякроссплатформенной, написана на языке PHP с использованием встроенных всреду программных библиотек и оконного интерфейса.3.
Подсистема баз данных предметной области содержит структурированную пополняемую реляционную базу знаний о моделируемых объектах ипроцессах, в частности, наборы исследуемых расчетных данных, процедурырасчета, модели и наборы показателей, а также стандарты взаимодействия базданных и работы с ними.В процессе расчета взаимодействие пользователя с каждой из подсистем осуществляется через стандартный интерфейс веб-приложения. Осуществление вычислительного эксперимента для конкретной математическоймодели в приложении представляется в виде последовательной работы с входными данными, осуществляемой в рамках единого интерфейса.Для разработки веб-приложения «Implicit influences Joomla component»была использована одна из самых популярных технологий, основанная на базесервис-ориентированной архитектуры (SOA, Service-Oriented Architecture).Концепция SOA основана на принципе модульности и позволяет получитьпреимущества при дальнейшем развитии приложения и встраиваемости его всоответствующую IT-инфраструктуру организации в целом, и бизнес-процесса в частности.
Это позволяет получить преимущество для дальнейших репликаций версий продукта, поскольку каждый из модулей бизнес-приложенияпредставляет собой сервис, являющийся модулем системы SOA.Для создания сервис-ориентированных приложений перспективно использование технологии веб-сервисов. Технология веб-сервисов позволяетприложениям взаимодействовать друг с другом независимо от платформы, накоторой они развернуты, а также от языка программирования, на котором они187написаны. У веб-сервиса существует программный интерфейс, который описывает набор операций (веб-методов), удаленно вызываемых посредствомстандартизованных XML сообщений.
Ориентация на закрытые стандарты иформаты при разработке информационных систем создает проблемы при интеграции приложений. Веб-сервисы получили широкое распространение, таккак они основаны на открытых протоколах обмена и передачи данных и стандартах, поддерживаемых на различных программных платформах.
Это создаетоснову как для использования разработанных сервисов в рамках IT-инфраструктуры предприятия, так и для автоматизации бизнес процессов, в реализации которых участвуют несколько предприятий. Построение информационных систем на базе веб-сервисов привело к понятию архитектуры, ориентированной на веб-сервисы (Web Services Architecture - WSA), разновидности сервис-ориентированной архитектуры (SOA).
Несомненным достоинством WSAявляется и то, что она поддерживает стандарты глобальной информационнойсети, представляющую собой WEB-среду, разработанные консорциумом W3C[31, 163]Для разработки веб-приложения «Implicit influences Joomla component»использовалась концепция разработки WSA, согласно которой каждое webприложение можно формально разбить на 3 взаимно независимые части (см.рис. 4.2.2):1. модуль, который исполняется web-браузером. Это приложение можетбыть написано на любом языке, который поддерживает браузер. Чащевсего используется язык JavaScript, как наиболее поддерживаемый иимеющий большую библиотечную поддержку, что позволяет существенно экономить бюджеты проектов.2.
модуль, исполняемый на серверной стороне под управлением web-сервера. Это приложение может быть написано на любом языке, интерпретацию которого поддерживает выбранный Вами web-сервер. Последнеевремя, часто, в качестве языка программирования выбирается язык Java.Этот язык также имеет серьезную библиотечную поддержку.1883.
база данных. В этой области так же существует достаточно широкий выбор. Есть промышленные базы данных, такие как Oracle, DB2,PostgreSQL. Есть легкие базы данных, такие как MySQL. База данныхвыбирается, основываясь на целях и области решаемых задач.Рис 4.2.2. – Стандарт разработки веб-приложения на основе WSAНа рис. 4.2.2 показан формализм взаимодействия web-приложения врамках архитектуры WSA смысл которого заключается в том, что каждое webприложение отправляет http-запросы на web-сервер для получения данных, апрограмма под управлением web-сервера использует определенную модельдля хранения данных, реализуемую в интерфейсах баз данных формата SQL.Для построения архитектуры web–приложения был использован стандартный подход, который максимально уменьшает зависимость между основными структурными единицами приложения: web-браузер, web-сервер, базаданных (рис.
4.2.3):Рис. 4.2.3. Структурно-функциональная архитектура web-приложения«Implicit influences Joomla component»189Для реализации такой архитектуры приложения необходимо было решить следующие задачи:определить цели и область решаемых задач, которые будут решаться врамках создаваемого интерфейса;определить API серверной части;выбрать протокол взаимодействия между серверной и клиентской частью. Создание протокола удобнее всего выбрать на базе XML, так какбольшинство современных браузеров имеют встроенную поддержкуэтого языка.написать документ, в котором будет изложен протокол.При этом для реализации приложения были разработаны:1.модуль для web-браузера;2.модуль для web-сервера;3.модуль для базы данных;4.протокол обмена между модулем web-браузера и web-сервером;5.интерфейс взаимодействия между модулем web-браузера и web-сервером;6.интерфейс взаимодействия между web-сервером и базой данных.В рамках нашего приложения реализованы три веб-сервиса, каждый изкоторых организован по описанной выше архитектуре, однако взаимодействиемежду структурными элементами организовано по-разному: в одном случаебизнес-логика web-сервиса находится в базе данных (Веб-сервис «Поиск имплицитных факторов»), в другом (Веб-сервис «Оценка имплицитных факторов») на веб-сервере.
Это вызвано тем, что в первом случае данные, введенныепользователем, эффективней хранить в базе данных и реализовывать интерфейсную часть через представления или хранимые процедуры; а во-втором обработку данных эффективней проводить через транзакции.В качестве средства реализации, описанной выше архитектуры былавыбрана технология LAMP, которая представляет собой совокупность открытых технологий Linux, Apache, MySQL, PHP/Perl.
Это вызвано доступностью190данной технологии (все ПО свободно распространяемое и практически бесплатное), и что, немаловажно, надежностью этой технологии, обеспечиваемойсообществом OpenSource (рис. 4.2.4).Рисунок 4.2.4 – Вариант реализации технологии LAMP, работающей вместес серверомТехнология LAMP, функционал которой обеспечивает независимостьи гибкость процесса разработки web-приложения, является необходимым, ноне достаточным условием разработки веб-приложения.
Достаточным условием является наличие и использование системы управления контентом(CMS), которые служат для настройки функциональных модулей и управляютими.Поскольку большинство сайтов ФБГОУ ВПО «Уральский государственный экономический университет» работает на CMS Joomla, то в целяхупрощения администрирования и установки веб-сервиса на сайт кафедры бизнес-информатики bi.usue.ru, было решено разработать веб-приложение в видекомпонента Joomla.191Второй причиной выбора CMS Joomla послужила поддержка этой CMSсистемы концептуальной модели разработки Model-View-Controller (MVC),которая позволяет разделить работу веб-приложения на три отдельные функциональные роли: модель данных (model), пользовательский интерфейс (view)и управляющую логику (controller).
Таким образом, изменения, вносимые водин из компонентов, оказывают минимально возможное воздействие на другие компоненты. Структура нашего web-приложения построена с использованием этой технологии.Начиная с версии 1.6 Joomla была выделена в отдельное CMS-приложение, основой которого является Joomla Platform - фреймворк для создания вебприложений. Joomla 2.5, на которой и было написано web-приложение, базируется на Joomla Platform 11.4 - последней стабильной версии 2011 года.Поскольку с точки зрения технологии разработки web-сервисы, включенные в web-приложения одинаковы, продемонстрируем результаты разработки на примере web-сервиса ««Оценка имплицитных факторов».MVC-компонент для CMS Joomla для web-сервиса «Оценка имплицитных факторов» представляет из себя набор файлов с исходным кодом на языкеphp, sql и JavaScript запакованные в архив. Структура файлов в архиве данногокомпонента представлена на рисунке 4.2.5.Рисунок 4.2.5.