Я хотел бы знать, что было бы на ваш взгляд самым простым и эффективным способом создания визуального инструмента для сравнения процессов BPMN 2.0 с использованием веб-дизайнера JBPM?Visual BPMN 2.0 diff tool для JBPM
ответ
... способ создания визуального инструмента для сравнения
BPMN 2.0
процессов с использованиемJBPM
веб-дизайнер?
Я не знаю, как я бы реализовать, ни то, что может JBPM
дизайнера делать ни, если он уже решен в существующем инструменте, так что я не могу выбрать некоторые простого или эффективное решения.
Но, основываясь на том факте, что BPMN
модели являются фактически XML
файлы и файлы XML
фактически text
файлы, я бы попробовать уменьшить проблему текста дифф визуализация.
С 2 XML
с (старый, новый) создать новый «диф» XML
с использованием некоторых существующих текстовых ориентированных на дифф алгоритм, где «добавленный» вещи будут помечены как зеленый «удален» отмечен как красный и «измененный», обозначенный как синий. Если получившийся «diff» XML
будет правильно отформатирован BPMN
, тогда просто показ его в окне просмотра BPMN
будет визуально отображать различия.
Я не следить за текст дифф или бинарной проблемы различий в довольно долгое время, но помимо консалтинга Wikipedia: DIFF темы, несколько проверенных источников я в курсе являются:
- WinMerge очень зрелый и полезный инструмент текст различий, и это хранилище исходного кода содержат некоторые алгоритмы текста Diff реализован в
C++
иC
- sourceforge.net/p/winmerge/code/HEAD/tree/trunk/Src/diffutils/src - Ангуса Джонсона создал удивительные бесплатное программное обеспечение с исходным кодом TextDiff tool реализован в
Delphi
. Приложение построено вокруг компонентаTDiff
, который является (согласно readme) на основе документов «Алгоритм разностных разностей (OD) и его вариаций» от E Myers - Algorithmica Vol. 1 № 2, 1986, стр. 251-266 и «Алгоритм сравнения последовательностей О (NP)» от Sun Wu, Udi Manber & Gene Myers. Обе бумаги вPDF
и их воплощение исходного кода включены в загружаемый файлzip
- В качестве побочного продукта вычисления Levenshtein distance между двумя строками могут быть установлены операции «добавить», «копировать», «удалить», необходимые для преобразования старой строки в новый. Если вы назначаете цвета для операций, вы можете получить цветную визуализацию разницы
Все вышеперечисленное содержит материал «Компьютерная наука», который для меня трудно понять, но соответствующий код просто работает.Например, изучая инструмент Angus Johnson (я добавлял поддержку для сравнения полных папок не только файлов), в комментариях и чтениях были замечены примечания, что
→ сравнение текстовых файлов - частный случай сравнения векторов строк, который является частный случай сравнения векторов чисел (строка хэши), который является некоторым straighforward (?) N-мерной математической задачи (!?)
Я продаю то, что я купил несколько лет назад, понимая это и используя это зависит от вас, но я считаю, что это может быть полезно;)
Из 2 'XML' s (старый, новый) создают новый «diff» 'XML', используя некоторые существующие текстовые ориентированные di ff, где «добавленные» вещи будут отмечены зеленым «удаленным», отмеченным как красный, и «измененным», обозначенным как синий? Если «diff» 'XML' будет правильно отформатирован« BPMN'-файл, вы можете визуально визуализировать различия. Добавление некоторых тегов 'algorithm' к вашему вопросу может привлечь некоторых полезных умных остроумных парней. Сейчас ваш сложный вопрос довольно широк и основан на мнениях, а не [по теме] (http://stackoverflow.com/help/on-topic) – xmojmr
Спасибо за ответ xmojmr, я добавлю предлагаемые теги. Что вы думаете о алгоритме x-diff для обнаружения изменений? – Roomka