Слоёный пирог стейкхолдеров

Многотомник текущей (десятой) версии фреймворка корпоративной архитектуры TOGAF содержит много советов по работе c заинтересованными лицами (stakeholders). А нотация описания архитектуры предприятия Archimate включает в себя довольно развесистый набор концепции для описания целей, оценок, движущих сил, ограничений и требований этих самых стейкхолдеров. Но все же, я думаю, что ряд довольно важных вещей, касающихся восприятия и взаимодействия с заинтересованными лицами, остался невысказанными. Они либо вообще не добрались до текста стандарта, либо запутались где-то между строк. Давайте о них сегодня поговорим Читать далее Слоёный пирог стейкхолдеров

Что не так с TOGAF 9.2

Несмотря на то, что с появления версии 9.2 фреймворка архитектуры предприятия TOGAF прошло уже несколько месяцев, обзорных статей на эту тему появилось не очень много. А ведь появления очередной, то ли 10-ой то 9.2 версии ждали аж 2011 года. Те, кто последовательно критиковал деятельность The Open Group, продолжили это делать (см., например Svyatoslav Kotusev TOGAF Version 9.2: What’s new?). Приверженцы отметились небольшими «дежурными» статьями. Но общий фон представляется мне довольно спокойным. Количество просмотров большинства коротких видео, подготовленных Open Group и опубликованных на YouTube, не доходит до тысячи. В общем вышла очередная версия, ну и ладно. Читать далее Что не так с TOGAF 9.2

Карта ИТ ландшафта

landscapemapЕсли вы зайдете в офис средней или крупной организации, поймаете в коридоре сотрудника и спросите у него: «Чем в вашей компании занимаются ИТ-архитекторы», то вряд ли услышите в ответ: «Как чем? Они моделируют структуру и поведение информационных систем; с различных точек зрений отображают их текущее и целевое состояние, формулируют фундаментальные принципы организации корпоративной информационной системы для принятия ключевых решений…». Вероятность такого события существуют, но она совсем небольшая. Если же ваш собеседник произнесет такие или похожие слова, то значит случилось маловероятное событие и вы поймали в коридоре именно ИТ-архитектора. Скорее всего этого не произойдет. Ваш собеседник на некоторое время задумается, но возможно вспомнит, что есть в ИТ такой парень, которого называют архитектором. И еще, что он рисует какую-то большую не очень внятную картинку и с умным видом произносит загадочные слова. Впрочем, айтишники они все такие… Читать далее Карта ИТ ландшафта

Современное предприятие нуждается в цифровой архитектуре

Под прошлогоднее Рождество я описал в этом блоге довольно призрачную вещь, условно назвав её Цифровая Архитектура Предприятия (Digital Enterprise Architecture).  2016 год принес вполне материальное её воплощение. Правда облачное. Называется этот инструмент Ardoq

Я сначала опубликую короткий видеоролик, с рассказом о том, что это такое, а затем напишу пару абзацев чем новое поколение инструментов архитектуры предприятия отличается от того, с чем нам приходилось сталкиваться раньше. И конечно, я не могу не выразить признательность Ian Stendera (Ardoq) за рассказ о системе и особую признательность Антону Абилову (Ardoq) , который озвучил этот ролик на русском. Спасибо, Антон!

https://vimeo.com/193068396/9dc08d9a13

Вы можете посмотреть другие видео (английский), а так же задать свои вопросы на русском. Для ответов на них мы планируем провести в ближайшее время вебинар (подпишитесь на обновления).

Небольшое отступление. Для меня комфортной формой изучения новых инструментов является просмотр видео на английском с последующей возможностью задать вопросы и обсудить материал на русском. Именно такую схему я хочу предложить

Читать далее Современное предприятие нуждается в цифровой архитектуре

Open Graph: Третье поколение глобальной сети

Эту заметку следует прочитать не только тем, кто интересуются архитектурой информационных систем. Об этом полезно знать всем кто, так или иначе связан с информационными технологиями – системами коллективной работы, интранет приложениями, решениями для документооборота, анализа и управления бизнес-процессами. Возможно, кому-то это покажется банальным и давно очевидным. Кто-то с первого раза не поймет о чем речь, обвинит меня в предвзятости и надувании очередного мыльного пузыря. Но, мне хочется верить в то, что найдутся люди, которым это сообщение будет полезным и интересным.

Идея этого сообщения родилась у меня пару дней назад, 14 февраля, на встрече клуба архитекторов. Обсуждали мы вторую версию языка моделирования архитектуры предприятия ArchiMate. Вероятно, несколько главных ИТ архитекторов, собравшихся в одно время и в одной комнате, создают некоторый магнетизм,  что позволят обратить внимание на вещи, которые почему-то с первого взгляда от внимания ускользают. Дело в том, что у элементов, определенных в ArchiMate нет свойств(и методов), как например у классов языка UML. Свойства элементов определяются теми отношениями, в которых они участвуют. Кроме того, в ArchiMate нет аналога понятия стереотип, используемого в UML. Т.е. если мы хотим показать, что какой-то класс является частным случаем другого класса, то мы должны делать это явно. Но вернемся к теме. Читать далее Open Graph: Третье поколение глобальной сети

Архитектура Предприятия и ArchiMate 2.0

31 января 2012 года на конференции в Сан-Франциско Open Group представила вторую версию языка моделирования архитектуры предприятия ArchiMate. По словам разработчиков, основной задачей данной версии явилось расширение языка для более полного покрытия методологии TOGAF Architecture Development Method (ADM). И действительно в ArchiMate появилось два расширения Motivation extension и Implementation and Migration extension с новыми симпатичными обозначениями заинтересованных лиц, целей, требований и так далее. Вы можете скачать (после регистрации) описание ArchiMate 2.0 с сайта The Open Group Так же на сайте есть некоторые сопроводительные материалы: шаблоны для MS Visio, пример архитектурных моделей вымышленной организации ArchiSurance, постеры с нотацией языка, онлайновое описание и т.п.

Отвечая на вопрос: «зачем все это нужно?» руководитель проекта разработки ArchiMate Marc Lankhorst сказал примерно следующее:

Сначала мы разработали язык, призванный помочь архитекторам создавать модели архитектуры предприятия, так же как UML помогает разработчикам моделировать программное обеспечение. Вы наверняка знакомы с ”PowerPoint архитектурой” состоящий из квадратиков и стрелок. И каждый раз, при взгляде на такую картинку, у вас возникает вопрос, что означает эта фигурка и эта линия. Целю ArchiMate было определить условные обозначения, чтобы быть уверенным, что у вас есть единое понимание отображенной архитектуры… Теперь(в версии 2.0) у нас есть язык, который дополнен средствами для моделирования концепций, проектов, результатов; позволяющий описывать мотивацию – заинтересованные стороны, драйверы, цели и требования.

Как сделать хороший API?

ArchimateAbstractВ предыдущем сообщении Event-driven architecture я позволил себе заметить, что сервисная шина (ESB) не является необходимым условием построения сервис-ориентированной архитекутры(SOA). О том, что сервисы должны предоставляться именно приложениями много говорят в SOA School Томаса Эрла, используя термин Intrinsic interoperability На занятиях мы довольно долго пытались его корректно перевести и, по-моему, остановились на «врожденной способностью к взаимодействию». Этот принцип, кстати, вошел в СОА-манифест в формулировке «Intrinsic interoperability over custom integration»
Одним словом, речь идет о том, что задача предоставления [ре]юзабильных повторно-используемых программных интерфейсов отводится именно бизнес-приложениям, а не интеграционной среде. (Под юзабилити я понимаю именно юзабилити, а не эргономику. Чем отличается одно от другого см. Юзабилити глазами архитектора)
Вопрос в том, как такие интерфейсы построить.

Вариант 1. Обнаружить стандарт, описывающий данную предметную область (домен). Я не говорю о стандартах вида WS-* они описывают совершенно другие вещи. Речь идет именно о стандартах CMIS, OSS/J и пр.
Вариант 2. Если стандартов нет, и все знания о предметной области локализованы в головах нескольких посвященных соответствующего тайного ордена, то интерфейс придется разрабатывать. И обычно это делается неправильно. Разработчик системы спрашивает, какие данные вам нужны и предоставляет что-то похожее на то, что вы попросили. В результате получаются хранимые процедуры типа:

СуммВырчкНаУтроGF-ЧудесСтрДураков(Кол-воЗолотых)

О повторном использовании таких сервисов говорить, разумеется, не приходится. Очевидный способ построения повторно-используемых интерфейсов – абстрагирование. Про абстрагирование сказано практически во всех работах по программной инженерии от «Программисткого камня» (рекомендую прочитать эту книжку целиком) до классических работ Г.Буча «Объектно-ориентированный анализ и проектирование», но сказано как-то не очень внятно. Поэтому, вопрос как построить хорошую объектную модель, а значит и reusable API остается открытым. Я тоже не знаю полного ответа на этот вопрос, но готов поделиться некоторыми частными, глубоко субъективными наблюдениями:

  • REST лучше чем SOAP, так как оперирует с данными, а не с поведением, а это всегда проще.
  • Референсные модели предметной области, по крайней мере такие, в которых нормальный человек может разобраться, имеют право на жизнь.
  • Что-то чуть более конкретное, чем «Object-Relations» (см. рисунок, предложенный разработчиками ArchiMate).
  • Семь плюс-минус две сущности. Для того, чтоб понять что такое, например WordPress, достаточно посмотреть на структуру его базы данных. В системах, написанных за деньги и на заказ разобраться в структуре данных практически нереально.
  • Классы предметной области и отношения между ними не должны присутствовать в сигнатурах методов. Они должны вести в справочниках, доступных через тот же самый API. Тогда интерфейс становится самоописанным.

Буду признателен за более внятные мысли на тему построения повторно-используемых интерфейсов.

BPMN 2.0 и Microsoft Visio 2010

Возникла у нас на днях потребность порисовать бизнес-процессы. Обычно, архитекторы рисованием бизнес-процессов не занимаются, а если и занимаются, то делают это на high level. Для верхнеуровневого отображения процессов вполне успешно можно использовать Archimate, позволяющий связать бизнес-функции(подразделения), информационные системы и непосредственно процессы. Но в этом случае так получилось, что в процессе перемешаны пользовательские задачи, ручные операции и автоматические интеграционные сценарии, а для этого Archimate не слишком подходит. Кстати, речь идет о процессе выдачи оборудования абонентам в аренду. Так что сами понимаете, что от операций возврата, замены неисправного оборудования или ремонта, а так же выкупа частично самортизированного оборудования никуда не деться. Для решения такой задачки единственной разумной альтернативой нотации явился BPMN, а инструментом – Microsoft Visio. Читать далее BPMN 2.0 и Microsoft Visio 2010

Почему ИТ-сервисы должны базироваться на архитектуре

На протяжении последних десяти лет ИТ архитектура и управление ИТ-сервисами(ITSM) следуют параллельными курсами. Не то чтоб они не пересекаются, пересекаются они на каждом шагу, я бы даже сказал, не пересекаются, а скорее сталкиваются, высекают друг из друга искры и снова расходятся на безопасное расстояние. При этом оба обозначенных направления изначально не являлись целостными и крайне друг в друге нуждаются. Проблема ИТ архитектуры заключается в её статичности. Архитектурные модели, вырванные из процессов ИТ, не актуализируются и довольно быстро устаревают. Архитекторам, зачастую приходится заниматься тем, что Гради Буч назвал software archeology, раскопками утраченных знаний о том, что представляет собой ИТ система и как она работает. В свою очередь, ИТ процессам очень не хватает четкой классификации объектов и отношений между ними. Определяемые ITIL понятия ИТ-сервис и конфигурационная единица(КЕ) не особо конкретны. Любое существительное можно назвать КЕ, однако сколь либо стандартизированных классификаторов КЕ не существует и организациям их приходится придумывать самостоятельно. С ИТ-сервисом ситуация не лучше. Про него по большому счету известно то, что он предоставляется и то, что он обладает(или должен обладать) соглашением об уровне сервиса (SLA). Попробуем «подружить» архитектуру информационных систем и управление ИТ-сервисами Читать далее Почему ИТ-сервисы должны базироваться на архитектуре