HATEOAS

Этот страшный заголовок является аббревиатурой Hypermedia as the Engine of Application State. Википедия указывает указывается на заметку блоге REST APIs must be hypertext-driven , принадлежащую Рою Филдингу. Слабо понятное сокращение скрывает совершенно великолепную архитектурную идею:

Представьте себе, что ваш веб-броузер является конечным автоматом. Ну, может, помните, в институте изучалась такая вещь как конечные автоматы. Это такой черный ящик с некоторым набором состояний. Входные данные изменяют его состояния в соответствии с некоторым графом. Так вот: состояниями нашего браузера-автомата являются страницы всемирной паутины. Изменение состояния производится пользователем посредством перехода по одной из гиперссылок, представленных на текущей странице. Т.е. множество допустимых переходов из текущего состояния определяется используемыми на странице ссылками. Теперь вспоминаем, что любая программа является некоторым конечным автоматом и с удивлением понимаем, что наш броузер является как бы компьютером, исполняющим программу, написанную посредством веб-страниц. Т.е. программа развернута где-то там, в «облаке», а исполнение её происходит прямо у нас под носом, в окошке броузера.

Филдинг говорил об этом применительно к архитектурному стилю REST (Кстати, он его и придумал). Из примеров реализации такой архитектуры мне на память приходят автоответчики, сценарии которых задаются в виде voiceXML страниц. Ну, а вспомнил я об этом, раздумывая об архитектуре BPM систем.

Первый взгляд на Metastorm BPM

Посмотрел дизайнер бизнес-процессов от Metastorm (взять можно на http://www.metastorm.com/). Решение совсем игрушечное и применять его в реальной деятельности вряд ли целесообразно. Впрочем, простота решения способствует пониманию идей.
Читать далее Первый взгляд на Metastorm BPM

Dynamic business application

Способна ли ваша компания запускать новые продукты быстрее, чем ваше ИТ разрабатывает новые бизнес-приложения? Обычно ответ является отрицательным. Время вывода на рынок нового продукта или услуги не может быть меньше, чем время на разработку или на приобретение и развертывание нового приложения. Длинные циклы внесения изменений в ИТ системы являются существенным тормозом в стремлении предприятий гибко реагировать на меняющиеся потребности рынка.
Причина проблемы кроется в том, что используемые сегодня пакеты бизнес-приложений создавались для реализации типовых стандартных сценариев, создавались на основе требований сформулированных для текущей ситуации и не были предназначены для изменений. Дальше читаем Forrester The Dynamic Business Applications Imperative если найдем в бесплатном доступе

Что роднит BPM и кейс менеджмент

Брюс Сильвер пишет о том, что case managment нацелен на решение тех же управленческих проблем что и BPM:

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

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

Case Management for Knowledge Work

Вебинар Workflow management coalition, состоявшийся 3 марта необходимо посмотреть всем, кто интересуется данной темой. Доступны как слайды, так запись вебинара case management for knowledge work

Несколько идей тезисно:

Knowledge worker – это тот, кто лучше всех в организации разбирается в определенной задаче. (моя вольная интерпретация Друкера)

BPM базируется на следующих допущениях: ваш процесс предсказуем и четко определен; его можно автоматизировать; увеличение “объемов производства” позволяет вернуть вложенные средства. О последнем необходимом условии забывают чаще всего. Интересно, сумел ли Адам Смит продать все булавки, произведенные после эксперимента с разделением труда?

Work-around – старейший киллер производительности труда

Accenture 2009: Companies need to treat innovation with the same discipline as other functions. The most successful companies are generating profitable revenue by managing innovation as a business process.

Enterprise Developer Conference

Пока в Интернет появился всего один отчет о прошедшей накануне Enterprise Developer Conference, а именно размышления Андрея Колесова. Выскажу свои соображения о прошедшем мероприятии. Вернее, не столько о мероприятии сколько, о затронутой теме: разработка ПО внутренними силами предприятия. О самой конференции еще наверняка напишут.

Итак, кто же все эти люди, разрабатывающие ПО, но не являющиеся сотрудниками ни Microsoft ни IBM, ни даже компаний системных интеграторов? Зачем Microsoft собрал их на эту встречу и чему хотел научить? В общем-то, большинство докладов было посвящено именно разработке. Организаторы честно запускали Visual Studio, создавали контролы и редактировали фрагменты кода. Вот только радости участникам конференции, на мой взгляд, это практически не доставляло. Среди гостей мне удалось распознать несколько знакомых ИТ-менеджеров, преподавателей ВУЗов, учебных центров и нескольких журналистов. Вряд ли они так уж часто открывают интегрированные среды разработки. Наверное, потому и не было особой радости на их лицах. Конечно, были и настоящие разработчики, но большинства они не составили. Вспомните «Волшебный котел» Эрика С. Реймонда утверждающего, что до 95% программного кода пишется вовсе не на продажу, а для собственных нужд. Может быть это время ушло(«Волшебный котел» написан в 1999г.) и компании полностью передали разработку ПО на аутсорс? Что-то я сомневаюсь. Скорее внутренние разработчики банков, страховых компаний и прочих предприятий просто не ожидали, что для них может быть организована специальная конференция и потому не пришли. В лучшем случае ограничились просмотром трансляции конференции в Интернет. Потому и тема собственной разработки так и осталась не раскрытой.

А упомянутые энтерпрайз девелоперы так и продолжа решать свои проблемы самостоятельно: Как убедить руководство в нецелесообразности приобретения очередного «промышленного решения», в каком объеме и нужно ли вообще платить за сопровождение платформ и заказных решений, где допустимые границы кастомизации решений.

Впрочем, начало разговора положено. Будем ждать продолжения.

Direct Graph Markup Language

Был вчера на конференции Enterprise developer conference. О конференции чуть позже, сначала про DGML.

Microsoft встроил в Visual Studio функционал построения графических моделей из проектных репозиториев, разработав попутно для этого XML-based язык описания ориентированных графов. Какие объекты использовать в качество узлов графа(сборки, неймспейсы или классы) решать архитектору. Думаю, без больших проблем можно использовать и другие объекты. Или же просто нарисовать такую картинку как эта

В общем-то, идея вполне симпатичная, тем более что GraphVis уже давно не развивается. Посмотрим насколько это новшество приживется в практической деятельности разработчиков