Microsoft в очередной раз продемонстрировала свою поддержку в отношении моделирования ПО. Об этом свидетельствует присоединение корпорации к ведущему консорциуму OMG (Object Management Group), который занят продвижением моделирования в корпоративную среду, и объявление о поддержке стандарта UML (Unified Modeling Language) данной организации.
На деле Microsoft начала поддерживать моделирование ещё в 2003 г., когда председатель ее совета директоров Билл Гейтс в выступлении перед финансовыми аналитиками заявил, что это направление упростит разработку ПО. Такое видение сформировалось благодаря платформе моделирования Oslo, которая была создана в подразделении CSD (Connected Systems Division) этой корпорации. Данный проект, правда, как и вся программа моделирования Microsoft, предназначался в первую очередь “для внутреннего употребления”, а за пределами корпорации его плоды могли оценить только участники специализированных групп типа Developer Division и пользователи таких разработок, как флагманский инструментарий Microsoft Visual Studio.
Так что продемонстрированная 10 сентября решимость вывести моделирование на передовые позиции отрасли и объявление о присоединении к OMG были далеко не первыми ласточками. Достаточно вспомнить, что о поддержке UML в следующей версии Visual Studio Гейтс объявил еще за три месяца до этого на июньской конференции Microsoft TechEd Developers '2008. Тем не менее такой шаг говорит о коррекции курса корпорации в соответствии с воззрениями ее старшего вице-президента Боба Муглиа – главы подразделения серверов и инструментария, известного своим очень серьезным отношением к совместимости, прозрачности и открытости продукции Microsoft, а также стремлением вывести корпорацию из периода былых свар. Ведь не секрет, что компания уже состояла в членах OMG, но покинула группу из-за разногласий относительно поддержки CORBA (Common Object Request Broker Architecture), продвигая в качестве альтернативы собственную технологию COM (Component Object Model).
Более того, хотя Microsoft объявила о членстве в OMG только сейчас, по сведениям из осведомленных источников нам известно, что вступление состоялось еще в июле. Но как бы то ни было, действия корпорации свидетельствуют о потеплении ранее замороженных отношений и демонстрируют желание Microsoft и Муглиа отказаться от мелочного позерства. Достаточно сказать, что представителем Microsoft в OMG назначен ее инженер Стив Кук, ранее относившийся к спецификации UML довольно критически.
Моделирование является центральным элементом стратегии Dynamic IT — долговременного подхода Microsoft к реализации технологий, сервисов и передового опыта, помогающих ИТ-организациям и разработчикам вырабатывать стратегический подход к бизнесу.
Представители корпорации отмечают, что хотя моделирование уже несколько десятилетий считается многообещающим направлением, оно пока не получило широкого распространения в области разработки базовых приложений и их сопровождения. По их мнению, модели должны выйти за рамки статических диаграмм, описывающих систему ПО, и превратиться в неотъемлемую часть повседневных деловых обсуждений, приняв для этого форму таблиц и графиков. Чтобы сделать реальностью разработку на основе моделей, Microsoft с учетом вышесказанного сосредоточилась на создании платформы разработки, управляемой моделями, и визуального инструментария моделирования. Это призвано облегчить совместную работу “пользовательских масс” -- интеллектуальных сотрудников, разработчиков, архитекторов баз данных и ПО, бизнес-аналитиков и ИТ-специалистов -- на протяжении всего жизненного цикла разработки приложений. Включая созданные с помощью моделей инновации непосредственно в платформу Microsoft .NET, предприятия, как утверждают представители Microsoft, смогут наглядно контролировать весь этот процесс и управлять им.
“Мы делаем моделирование базовой частью такой платформы, — заявил Муглиа. — Это позволяет ИТ-специалистам четко определять потребности бизнеса и создавать такие приложения, которые точно соответствуют предъявляемым требованиям. Кроме того, такой подход позволяет свести воедино различные этапы жизненного цикла ИТ. Возникает связь между бизнес-аналитиками, которые определяют такие требования, архитекторами систем, которые конструируют решения, разработчиками, которые создают приложения, и техническими специалистами, которые развертывают и сопровождают их. В целом же это означает, что ИТ-сотрудники получают возможность совершенствовать бизнес и быстрее реагировать на его потребности”.
А вот какое мнение высказал в интервью eWeek исполнительный директор OMG Ричард Марк Соули: “С момента появления на свет в 1997 г. языка UML и представления в 2001 г. концепции модельно-ориентированного подхода к разработке ПО наша организация успешно использует языки моделирования наподобие UML для решения множества задач. С их помощью мы обеспечиваем совместимость электронных платежей, переносимость медицинских документов, интеграцию космических систем, систем страхования недвижимости и жизни, а также применяем такие языки во множестве других проектов для вертикальных отраслей. Я очень рад, что Microsoft решила присоединиться к нескольким из них, привнеся сюда свой глубокий и богатый опыт, равно как и мощный рыночный потенциал. Программистам нужны общие стандартные решения не только для инфраструктур моделирования типа UML, но и для вертикальных отраслей, где они смогут расширить выбор средств и свести к минимуму затраты. Microsoft же создала команду мирового уровня, собрав в ней экспертов моделирования во многих областях, так что мы приветствуем корпорацию как одного из ведущих участников OMG”.
Войдя в состав OMG, Microsoft станет активно участвовать в нескольких ее рабочих группах, внося тем самым свежую струю в отраслевой диалог и способствуя развитию столь необходимых массовому пользователю стандартов. Уже сейчас, скажем, во взаимодействии с финансовой рабочей группой корпорация трудится над информационными моделями страхования недвижимости и жизни, а затем собирается приспособить их и для других областей применения. Еще одно важное направление деятельности Microsoft касается преобразования сообщений, составленных на базе различных платежных стандартов.
По мнению корпорации, разработчики уже сейчас могут пользоваться моделированием, применяя в этих целях такие инновационные технологии, как XAML (Extensible Application Markup Language, расширяемый язык разметки приложений) — описательная модель, которая составляет основу WPF (Windows Presentation Foundation) и WCF (Windows Workflow Foundation). Годится для этого, по утверждению представителей Microsoft, и технология ASP.NET MVC, позволяющая включать разработку на базе моделирования в инфраструктуру .NET Framework и намного упрощающая реализацию шаблонов MVC (Model-View-Controller) в Web-приложениях. И XAML, так и MVC корпорация называет как примеры моделей, определяющих поведение приложений .NET в реальном времени. Они представляют собой составные части общей концепции, предусматривающей взаимосвязанное моделирование платформ. Сюда входят технологии, созданные в рамках упомянутого выше проекта Oslo и инициативы Rosario из проекта Visual Studio.
Что ж, приятно видеть, что Microsoft наконец-то решилась использовать свое влияние в интересах OMG и забыть былые разногласия с этой организацией. А ведь еще в 1999 г. ее воспитанник Дон Бокс, который в то время был одним из основателей тренинговой компании DevelopMentor, а сейчас является партнером-архитектором подразделения Microsoft CSD, писал: “Как это ни странно, но пока Microsoft и Object Management Group [OMG] спорили о том, что должно лежать в основе Интернета — DCOM [Distributed Component Object Model] или CORBA, — главная роль в Сети досталась протоколу HTTP [Hypertext Transfer Protocol]”.
Примерно то же вполне убедительно доказывает и Бокс: “В конце концов, основное назначение любой компонентной технологии состоит в том, чтобы склеивать множество программных компонентов. Это в полной мере относится к объектной модели СОМ и технологии Java. То же самое совершенно справедливо для CORBA. Все три технологии создают инфраструктуру для интеграции программных компонентов, созданных независимо друг от друга в различных организациях. С высоты птичьего полета все они выглядят более-менее одинаково, и лишь вблизи видны радикальные различия в способах и стилях программирования, с помощью которых достигается главная цель”.
Участие Microsoft в работе OMG будет способствовать не только реализации планов компании расширить поддержку моделирования, но и выполнению давней мечты Билла Гейтса, для которого моделирование было одним из любимых проектов. В свое время корпорация даже пыталась привлечь внимание лидеров мира UML, включая соавторов этого языка Айвара Якобсона и Грейди Буча. Первый из них тогда высказался в поддержку Microsoft Solutions Framework, а второго, по слухам, Microsoft старалась завербовать дважды. Сначала, говорят, Гейтс лично встретился с этим научным сотрудником IBM, а вторая попытка была предпринята уже после ухода Гейтса со своего поста в конце июня.
Но как бы то ни было, корпорация забросила UML ради стратегии моделирования на основе доменных языков (DSL). Новые же ее шаги хотя и не ведут к отказу от DSL в пользу UML, но лишний раз подчеркивают: язык UML стал настолько популярным, что Microsoft просто не в состоянии игнорировать его. Как пояснил научный сотрудник Microsoft из подразделения CSD Бред Лаверинг, поддержка UML была включена в Oslo как ответ на массовые требования потребителей. И в самом деле, по данным Forrester, 71% компаний, разрабатывающих ПО, используют в процессе моделирования именно этот язык.