1 сентября 2015 г.

История LWF

В 2008 году мы внедряли систему ЛОЦМАН Workflow (версии 8.5). Так выглядел клиент Workflow в то время:


Но при внедрении возникли две существенные проблемы:
  1. Необходимость ввода пароля для подтверждение каждого действия.
  2. В клиенте Workflow нет документа, с которым нужно работать.

Проблемы внедрения


В ЛОЦМАН Workflow при выполнении любого действия показывалось окно «Подтверждение полномочий». В нем нужно было ввести пароль, затем нажать кнопку «Контроль», затем «OK».


Из-за требований безопасности пароли были не самые простые, а вводить их требовалось минимум по два раза на каждое задание. Если сотруднику в день поступало несколько десятков заданий, то это очень раздражало.

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

Второй проблемой стало то, что получив задание пользователь видит, что он должен что-то сделать, но не видит, с каким документом. Нажав кнопку «Открыть объект ЛОЦМАН в [ЛОЦМАН Клиент]» пользователь попадает в ЛОЦМАН Клиент и работает там с документом. И что еще интересно: при открытии файлов пользователя постоянно спрашивают, действительно ли он хочет открыть файл в режиме «Только для чтения», или нет.

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

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

Свой клиент


Чтобы спасти положение, было принято решение написать свой клиент Workflow. Приложение получилось не очень большим, около 16 000 строк кода, и было названо «Полученные задания и инициированные бизнес-процессы».


Новый клиент не спрашивал пароль у пользователя для подтверждения каждого действия и позволял видеть задание и документ одновременно. А специально по просьбе генерального директора была добавлена возможность установить большой размер шрифта для всего интерфейса программы.

Внедрение Workflow завершилось успешно, я занялся другими проблемами и о приложении «Полученные задания и инициированные бизнес-процессы» было забыто.

Fly V2


А в 2010 году появился Fly V2.


Fly V2 был хорош, особенно для задач ОРД (организационно-распорядительного документооборота). Но в то же время он был вещью в себе — многие функции в нем были реализованы по-своему, несовместимым со стандартным ЛОЦМАН Клиент образом.

Он не поддерживал плагины стандартного клиента, на которых у нас было многое завязано. Он не поддерживал справочники стандартных изделий и материалов. Он использовал свои библиотеки интеграции с Компасом вместо стандартного интегратора. И функционал Workflow был в нем довольно ограниченным (хотя был простым и удобным), а нам нужны были все возможности Workflow.

Тогда и появилась идея сделать свой клиент. Такой, чтобы он был простой и удобный, как Fly V2, но полностью совместимый со стандартным клиентом. Чтобы он использовал стандартные подходы к интеграции и бизнес-процессам.

На фоне давнего успеха «Полученных заданий и инициированных бизнес-процессов» задача выглядела не такой уж и сложной.

LWF


Для предприятия новый клиент был не нужен — «Полученные задания и инициированные бизнес-процессы» работали без нареканий, к ним все привыкли. Поэтому я занимался новым клиентом по вечерам, в свободное от основной работы время. Новый проект назывался «Loodsman2» и был построен на кодовой базе «Полученных заданий и инициированных бизнес-процессов», в которую я постепенно добавлял функции редактирования данных.

Уже после непродолжительного периода разработки стало понятно, что на базе текущего кода не удастся сделать нормальное редактирование данных в Лоцмане. Весь код проекта «Loodsman2» был отброшен как бесперспективный.

В 2011 году был полностью с чистого листа начат проект «Loodsman3», который позже стал LWF. Но так как работал я в свободное время, которого всегда не хватает, разработка шла медленно. Сначала было сделано дерево объектов, потом списки заданий и процессов. Только к концу 2011 года появилось более-менее работающее приложение.

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

Из-за того, что вся кодовая база была новая, и довольно большая, в приложении находилось огромное число крупных и мелких багов. Большинство из них было исправлено в 2012 году, но некоторые прожили значительно дольше. Одна из самых интересных и редко проявляющихся ошибок дожила до середины 2013 года, на нее была потрачена куча времени и сил, см. WM_PAINT во время ожидания вызова COM-сервера.

В 2012 году, несмотря на предрекаемый скорый конец света, работа медленно, но шла. Оставалось множество багов и приложение зависало при закрытии. Но, имея терпение, им можно было пользоваться.


Обновление Лоцмана


В середине 2012 на предприятии приняли решение перейти на новую версию «Комплекс решений 2011». В новой версии Лоцмана была значительно переработана подсистема Workflow. Функции клиента ЛОЦМАН Workflow были перенесены в стандартный ЛОЦМАН Клиент. Теперь вместо отдельной базы данных бизнес-процессы стали храниться в базах ЛОЦМАН:PLM. Соответственно, встал вопрос о доработке клиента «Полученные задания и инициированные бизнес-процессы».

Я предложил вместо доработки старого клиента перейти на LWF, но большого энтузиазма у коллег мое предложение не вызвало. Старый клиент был прост и надежен, а в LWF на тот момент было полно проблем.

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

Практически все пользователи отозвались о новом клиенте в положительном ключе. И к концу 2012 года старые «Полученные задания и инициированные бизнес-процессы» были везде заменены на LWF. Все замеченные ошибки удалось исправить, проблемы возникали редко.

uselwf.ru


Наступил 2013 год. К этому времени автор Fly V2 перешел работать в Аскон и Fly V2 перестал развиваться. Пришло время выпустить в мир новый клиент для ЛОЦМАН:PLM.


На сайте uselwf.ru можно скачать последнюю версию и ознакомиться со списком изменений в ней. Там же находится подробное описание и документация. По вопросам работы с LWF лучше всего писать по электронной почте на support@uselwf.ru.

Если вы посмотрите на список изменений, то увидите, что с 2013 года многое было сделано. Надеюсь, в будущем получится сделать еще немало.

Очень многое зависит и от вас, уважаемые пользователи. В отличие от бездушных корпораций, делающих продукт для бизнеса, LWF разрабатывается для людей. При разработке прилагается максимум усилий для того, чтобы работать с ним было просто, удобно и приятно (насколько вообще может быть приятной работать с PLM-системой).

Комментариев нет:

Отправить комментарий