Статьи автора
|
В рамках подхода Polyglot Persistence в статье рассматриваются ситуационно-ориентированные базы данных — информационный процессор в составе веб-приложения, обрабатывающий XML/JSON-документы на основе иерархической ситуационной модели HSM.
Обсуждается гибкое задание в HSM отображений виртуальных документов на реальные
данные из различных физических хранилищ. Предлагается подход к встраиванию отображений, предусматривающий для каждого нового типа хранилища разработку трех
модулей: манипулирования, загрузки и сохранения, реализуемых в виде функций обратного вызова. Подход иллюстрируется на примере отображения на таблицу реляционной
базы данных SQLite. Рассматриваются преимущества подхода и практическая реализация
на платформе PHP.
Читать дальше...
В статье рассматриваются новые возможности, предусмотренные в ситуационно-ориентированных базах данных (СОБД) для реализации микросервисной архитектуры. СОБД
– это проект интегратора разнородных данных в рамках подхода polyglot persistence на
основе информационного процессора, управляемого встроенной ситуационной моделью.
Доступ к разнородным данным организован в СОБД на основе концепции виртуальных
документов, которые отображаются на разнородные физические данные. В статье обсуждается микросервисная архитектура, основанная на СОБД, – современный подход,
обеспечивающий лучшую масштабируемость и модифицируемость веб-приложений на
основе HTTP-запросов. Поставлена задача обработки микросервисом HTTP-запросов в
рамках общей концепции виртуальных документов. Для решения задачи введен новый
тип виртуального документа, отображаемый на HTTP-запрос, что облегчает микросервису, с одной стороны, доступ к свойствам запроса и прикрепленным к нему данным, а с
другой – формирование ответа HTTP-response. В статье обсуждаются способы обработки
HTTP-запроса на примере типовой ситуационной модели микросервиса, который ведет
таблицу реляционной базы данных на основе источника данных – внешнего веб-сервиса.
Детально рассматривается структура ситуационной модели, выполняющей обработку и
формирование ответа в зависимости от типа запроса и возникших ситуаций. Приводится
пример практической реализации комплекса микросервисов на основе СОБД для мониторинга просмотров студентами образовательных видеороликов на YouTube.
Читать дальше...
В статье рассмотрены вопросы применения ситуационно-ориентированного подхода для программной обработки word-документов. Рассматриваемые документы подготавливаются пользователем в среде текстового процессора Microsoft Word или его аналогов и используются в дальнейшем как источники данных. Открытость форматов Office Open XML и Open Document Format позволила применить концепцию виртуальных документов, отображаемых на ZIP-архивы, для программного доступа к XML- компонентам word-документов в ситуационно-ориентированной среде. Обоснована важность выработки предварительных соглашений относительно размещения информации в документе для последующего поиска и извлечения, например, с помощью заранее подготовленных шаблонов-заготовок. Для форматов DOCX и ODT рассмотрено использование ключевых фраз, закладок, элементов управления контентом, пользовательских XML-компонентов для организации извлечения введенных данных. Для каждого варианта построены древовидные модели доступа к извлекаемым данным, а также соответствующие XPath-выражения. Отмечено, что использование того или иного варианта зависит от функциональных возможностей и ограничений текстового процессора и характеризуется различной сложностью разработки шаблона-заготовки, внесения данных пользователем и программирования извлечения данных. Рассмотрен практический пример обработки метаданных научной статьи, подготовленной в среде Microsoft Word для публикации в научном журнале. Примененное решение основано на занесении метаданных в статью с помощью размещенных в шаблоне-заготовке элементов управления контентом, привязанных к элементам пользовательского XML- компонента. Разработанная иерархическая ситуационная модель HSM обеспечивает извлечение XML-компонента, загрузку его в DOM-объект и XSLT-преобразования для получения результирующих данных: отчета об ошибках и JavaScript-кода для последующего использования извлеченных метаданных. Читать дальше...
|