В.А. БУЕЛЬ, Р.В. АЛФИМОВ, А.М. ФИЛАТОВ
Московский инженерно-физический институт (государственный университет)
ПРИМЕНЕНИЕ ПЛАТФОРМОНЕЗАВИСИМОЙ АРХИТЕКТУРЫ КАК ПОДХОД К РЕАЛИЗАЦИИ БОЛЬШИХ СИСТЕМ
В работе рассмотрено применение платформонезависимой архитектуры как подхода к реализации больших систем. Рассмотрены достоинства и недостатки данного подхода, обозначены недостаточно проработанные области платформонезависимой архитектуры.
В настоящее время бóльшая часть ПО продолжает разрабатываться без оглядки на постоянно меняющуюся инфраструктуру, постоянно меняющиеся требования, и, что самое важное, на новые технологии; все это, несмотря на точное знание того, что каждое, когда-либо написанное приложение будет нуждаться в обновлении и интеграции. Большинство разработчиков ПО игнорируют данные факты и ведут разработку, руководствуясь исключительно спецификациями на данное приложение. В то же время предположения о недолговечности созданного ПО - "это приложение будет использоваться лишь ближайшие несколько лет" - уже достаточно нашумели в мире информационных технологий к концу 2000-го года (Y2K bug).
В идеале, разработка должна представляться пользователям прозрачной и простой, без искусственных барьеров, состоящих из несовместимых операционных систем, машинных архитектур, сетевых протоколов или приложений. Учитывая постоянный рост количества разных систем, это никогда не может быть достигнуто путем переноса всех разработчиков на одну операционную систему, на один язык, одну архитектуру – в одну среду. На данный момент существует слишком много различных конкурирующих технологий, платформ и т.д. для того, чтобы можно было сделать выбор единственной из них в каждой области. Следует согласиться на сосуществование, согласиться на использование моделей и описаний способов трансляции на различные платформы.
Model Driven Architecture – архитектура, управляемая моделями (далее в тексте MDA) - базируется на хорошо известной идее разделения спецификации функционирования системы от деталей использования системой возможностей среды, в которой функционирует система.
MDA предоставляет способы и инструменты для:
- описания разрабатываемой системы независимо от платформы;
- описания платформы;
- выбора конкретной платформы для системы;
- отдельной разметки платформонезависимой модели (установка специфичных конкретной платформе аттрибутов);
- трансляции описания системы на конкретные платформы.
Используя архитектурное разделение описания различных аспектов системы, MDA позволяет достичь три главные цели:
- переносимость, то есть возможность быстро сконструировать систему под другую платформу;
- способность к взаимодействию – поддержка быстрого и удобного способа интеграции с различными системами;
- возможность повторного использования, то есть разработанные модели, компоненты, правила преобразования моделей в исходный код могут быть использованы много раз без множественных изменений в последующих проектах.
Все вышеперечисленное можно причислить к достоинствам MDA. К недостаткам MDA можно отнести следующее:
- необходимость иметь более квалифицированный персонал, нежели при использовании классической схемы разработки (хотя количество необходимых сотрудников ощутимо падает);
- необходимость «переучивать» имеющийся персонал;
- недостаточная проработка некоторых аспектов MDA (например, автоматического создания «мостов» для взаимодействия между различными системами, созданными с использованием данной технологии);
- недостаточно качественная реализация инструментальных средств для использования данного подхода – на данный момент не существует ни одного инструмента, реализующего все возможности MDA.
Следует сделать скидку на то, что технология MDA пока еще является очень молодой. Помимо того, что инструменты, позволяющие применять данную технологию еще весьма далеки от совершенства и требуют значительной доработки, сама технология требует дальнейшего рассмотрения. Необходимо введение стандартов на описание преобразований, разметки модели и тому подобное. Необходимы более тесные контакты между разработчиками прикладного ПО и инструментов MDA для более четкого понимания потребностей первых вторыми.
Несмотря на существующие недостатки инструментов и самой технологии, применение платформонезависимой архитектуры при разработке больших систем используется все чаще и чаще, и в скором будущем будет обычной практикой разработчиков ПО.
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 12
Достарыңызбен бөлісу: |