Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Инструментальные средства информационных систем

Расширение функциональных возможностей

Конфигурирование ИС включает в себя не только адаптацию ее структуры, наполнения и интерфейса к специфике области внедрения. Важнейшей задачей является расширение функциональных возможностей типовой поставки ИС: добавление новых процедур обработки данных или модификация существующих. Это реализуется на программном уровне с использованием встроенных в ИС или сторонних средств разработки [57].

В случае десктопных, а не веб-платформенных ИС, их модули расширения представляют собой программы, исполняемые в рамках конфигурируемой ИС или внешние динамически подключаемые библиотеки DLL (от англ. Dynamic Link Library). При использовании внутренних средств ИС на встроенном языке программирования в среде разработке выполняется написание и отладка программного кода, реализующего необходимые функциональные возможности. При этом разработчику необходимо соблюдать правила и парадигмы внутренней среды, например привязка функций к обработчикам событий (рис. 24, 25), синтаксис встроенного языка и т. д.

Редактор программного кода в СЭД DIRECTUM

Рис. 24. Редактор программного кода в СЭД DIRECTUM

Редактор программного кода в системе 1C:Предприятие

Рис. 25. Редактор программного кода в системе 1C:Предприятие

Однако даже при наличии отладчика и других вспомогательных инструментов внутренней среды разработки, на практике при написании программного кода, расширяющего функциональные возможности ИС, используют не встроенные редакторы, а специальные интегрированные среды разработки, IDE (от англ. Integrated Development Environment). В сторонних IDE реализуют программные модули расширения, которые затем сохраняются в виде DLL-библиотек. Обращение к этим DLL- библиотекам запускает выполнение разработанных программных функций расширения возможностей конфигурируемой ИС [62].

Фактически DLL-библиотека является внешним по отношению к конфигурируемой ИС подключаемым объектом, участком «неуправляемого кода». Это соответствует парадигме компонентно-ориентированного программирования, появившейся в 90-е гг. XX в. Она предполагает развитие объектно-ориентированного подхода в сторону повышения надежности больших программных комплексов путем устранения проблемы хрупких базовых классов.

Компонент - это самостоятельный модуль программного кода, предназначенный для повторного использования и развертывания, независящий от конкретного языка программирования.

Наиболее известной прикладной реализацией компонентно-ориентированного программирования является технология СОМ (от англ. Component Object Model, компонентная объектная модель), разработанная корпорацией Microsoft для использования в операционных системах (ОС) на платформе Windows.

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

  • • преобразование параметров функции в СОМ-объекты;
  • • обратное преобразование COM-объектов в процедурные параметры;
  • • возвращение кода ошибки в вызывающую программу.

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

Как правило, назначение скриптов для событий осуществляется с помощью встроенных инструментов разработки. Скрипты могут выполняться до события, после или вместо него.

При наличии открытого интерфейса программирования приложений, API (от англ. Application Program Interface) в большинстве современных ИС возможно использование внешних сред разработки для создания собственных DLL-библиотек на любом языке программирования. Поэтому на практике встроенные редакторы программного кода ИС зачастую применяются только для вызовов функций DLL-библиотек, содержащих программный код модулей расширения ИС [62]. На рис. 26 приведена UML-диаграмма компонентов, которая иллюстрирует связь между ИС и файлом DLL-библиотеки модуля расширения ее функциональных возможностей.

Взаимосвязь программных компонент по расширению функциональных возможностей ИС с помощью СОМ-технологии

Рис. 26. Взаимосвязь программных компонент по расширению функциональных возможностей ИС с помощью СОМ-технологии

Через элементы графического интерфейса пользователя (кнопки, пункты меню и т. д.) происходит вызов программных скриптов, написанных на внутреннем языке программирования ИС во встроенном редакторе программного кода. Вызванный программный скрипт через API ИС обращается к файлу DLL-библиотеки модуля расширения ИС, который находится на компьютере пользователя и содержит описание дополнительных ее функций. Выполнение вызванной функции возвращает результат в ИС. Таким образом, наличие открытого API позволяет использовать уже существующие и зарегистрированные в реестре операционной системы COM-объекты, а также создавать новые.

Таким образом, типовая последовательность действий по расширению функциональных возможностей конфигурируемой ИС с применением СОМ-технологии выглядит следующим образом:

  • • в среде разработки пишется скрипт-программа, которая представляет собой модуль расширения функциональных возможностей ИС и включает набор COM-объектов (описание дополнительных функций) в виде DLL-библиотеки;
  • • для вызова созданной на предыдущем шаге скрипт-программы ее следует связать с элементами графического интерфейса пользователя;
  • • с помощью системной утилиты, например regasm.exe, которая является частью программной платформы Microsoft.Net, в реестре ОС Microsoft Windows следует зарегистрировать COM-объекты, содержащиеся в DLL-библиотеке.

Вышеприведенные действия относятся к общему способу расширения функциональных возможностей десктопной ИС с открытым API, работающей под управлением Microsoft Windows, и применимы к практически любым частным случаям. Поэтому основным вопросом при использовании данного способа конфигурирования ИС является выбор среды разработки.

При выборе IDE целесообразно принять во внимание следующие параметры инструмента разработки:

  • • поддержка нескольких языков программирования;
  • • автоматическая оптимизация управления памятью (сборка «мусора», проверка границ массивов, списков и т. д.);
  • • возможность контроля версий исходного кода;
  • • автоматическая сборка частей проекта (модулей, динамических библиотек);
  • • возможность многопользовательской работы над единым проектом;
  • • поддержка и развитие программного продукта со стороны разработчика.

Перечисленным критериям соответствуют наиболее распространенные сегодня среды разработки ПО: SharpDeveloper, MonoDeveloper, NetBeans, Eclipse, Microsoft Visual Studio и многие другие. Популярные среды разработки, как правило, являются мультилингвальными и поддерживают несколько языков программирования. Поэтому при выборе языка программирования для разработки модуля расширения конфигурируемой ИС следует ориентироваться:

  • • на поддержку используемой модели данных ИС, например реляционного и объектно ориентированного подходов;
  • • наличие встроенных средств взаимодействия с неуправляемым кодом, таких как DLL-библиотеки.

Этим условиям сегодня отвечают популярные языки программирования для Windows-платформенных программ, например, С#.

Подводя итог рассмотренному способу расширения функциональных возможностей конфигурируемой ИС с помощью технологии СОМ, следует еще раз отметить, что данный метод:

  • • не является единственно возможным;
  • • подходит только для десктопных (не веб-платформенных) ИС;
  • • реализуем только в случае использования ОС Microsoft Windows в качестве базовой платформы.

В случае веб-платформенных ИС расширение их функциональных возможностей реализуется, как правило, с помощью следующих способов [57]:

  • • запуск дополнительных скриптов, исполняемых на стороне сервера или клиента;
  • • подключение специальных библиотек;
  • • использование сторонних веб-сервисов.
 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы