Промышленная автоматизация и порталы

Ave Customer, integrituri te salutant!

  • Increase font size
  • Default font size
  • Decrease font size
Главная Статьи Программная инженерия Формализация компонентного подхода проектирования портала

Формализация компонентного подхода проектирования портала

E-mail Печать PDF

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

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

Стандарт xArch

До сих пор ведутся разработки различного рода ADL для всевозможных проектов, при этом создание некого универсального ADL возможно ожидать в ближайшем будущем. Так как в силу широкой области применения языков описания, современное сообщество до сих пор не может определиться с тем, что должно быть в идеальном языке описания архитектуры. При чем, если брать существующие языки, которые в какой-то мере могут решать наши задачи, то приходится вносить в них небольшие изменения, что требует такого же «небольшого» изменения сопутствующего инструментария, что сделать оказывается не всегда возможно, а если и возможно, то, как правило, не легко.

Ученые Университета штата Калифорнии разработали спецификацию по созданию собственных ADL на базе XML. Основной целью разработки было, получение такого языка описания архитектур, который был максимально универсален, состоял из модулей, которые можно наследовать, изменять и таким образом максимально быстро достигать требуемых результатов в разработке специальных, проблемно-ориентированных ADL.

Стандарт xArch предполагает предоставления инструментария для быстрого (RAPID) процесса разработки ADL основывающегося на XML. xArch предоставляет:

  • механизм создания модульных расширений, основанных на XML, для быстрой разработки новых ADL
  • базовый набор возможностей, которые могут быть использованы при разработке
  • гибкий набор инструментария для разработки и использования ADL

В любом случае, механизм достаточно простого создания, усовершенствования, изменения ADL с использованием специальных, для этих целей, инструментов поможет значительно сократить расходы на написания новых или не сильно измененных ADL.

xArch – это базовый документ XML Schema с названием файла instance.xsd. Структуру схемы можно посмотреть в Приложение Схема времени исполнения . В нем собраны наиболее общие концепции, встречающиеся в ADL, такие как компоненты, соединители, конфигурация, независимые группировки и другие. Однако, xArch описывает лишь базовый набор элементов, позволяющий создавать архитектуры систем только времени исполнения. При разработке проблемно-зависимых языков описания архитектур следует производить разработку по типу, как это сделано в xADL, с возможно, повторным использованием созданных частей.

Инфраструктура xADL 2.0

Наиболее известной реализацией ADL по стандарту xArch является язык описания архитектуры xADL 2.0 [1]. По мимо языка, разработчиками, созданы гибкие средства работы со всеми вариантами ADL соответствующих xArch.

Помимо непосредственного расширения базовой XML схемы, предоставляемой xArch, xADL описывает новые схемы, описывающие систему, на различных уровнях проектирования – дизайна и реализации. От самого высокой системы в целом, до программной реализации отдельных соединителей.

По материалам работы:

1. Eric M. Dashof, Richard N. Taylor. An Infrastructure for the Rapid Development of XML-based Architecture Description Language, Institute of Software Research University of California, Irvine. (http://www.ics.uci.edu/~edashofy/papers/icse2002.pdf )