ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ื™ื“ื•ืข ืฉื–ืจื™ืžื•ืช ืชื”ืœื™ื›ื™ื ืฉื ื•ืฆืจื• ื‘ืคื’ื” ืื™ื ืŸ ืชื•ืืžื•ืช ืœืฉื•ื ืชืงืŸ ืคืชื•ื—, ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉื”ืŸ ื ืจืื•ืช ื™ื•ืชืจ ื›ืžื• ื“ื’ื™ืžื•ืช BPMN. ืื ืฉื™ื ืฉืจื•ืฆื™ื ืœืขืฉื•ืช ืืช ื”ืงืคื™ืฆื” ืžืชื—ื™ืœื™ื ืืช ื”ื”ื’ื™ืจื” ืฉืœื”ื ืžืคื’ื” ืœืงืžื•ื ื“ื” ืขืœ ื™ื“ื™ ืฉืจื˜ื•ื˜ ืžื—ื“ืฉ ืฉืœ ืชื”ืœื™ื›ื™ื ื‘ืื•ืคืŸ ื™ื“ื ื™ ื‘-Modeler. ืื‘ืœ ืฉืจื˜ื•ื˜ ืžื—ื“ืฉ ืฉืœ ื–ืจื™ืžื•ืช ืชื”ืœื™ื›ื™ื ื‘ืื•ืคืŸ ื™ื“ื ื™ ื”ื•ื ืžื™ื™ื’ืข ื•ื’ื•ื–ืœ ื–ืžืŸ, ื‘ืžื™ื•ื—ื“ ืื ื™ืฉ ื”ืจื‘ื” ืžื”ื ืื• ืฉื”ืชื”ืœื™ื›ื™ื ืฉื™ืฉ ืœื”ืžื™ืจ ื”ื ืžื•ืจื›ื‘ื™ื. ื‘ืžื“ืจื™ืš ื–ื” ื ืกืชื›ืœ ืขืœ ื›ืœื™ ืขื–ืจ ืฉื™ื›ื•ืœ ืœืขื–ื•ืจ ืœืš ืœื™ืฆื•ืจ ืชื”ืœื™ืš ืชื•ืื BPMN, ื–ื” ื™ืฉืžืฉ ื ืงื•ื“ืช ื”ืชื—ืœื” ืœื”ื’ื™ืจื” ืžืคื’ื” ืœืงืืžื•ื ื“ื”.

ืžื“ืจื™ืš ืœืžืžื™ืจ Pega XML ืœ-BPMN

Camunda Consulting ื™ืฆืจื” ืงื‘ื•ืฆื” ืฉืœ ื›ืœื™ื ื–ืžื™ื ื™ื ื‘ืื•ืคืŸ ื—ื•ืคืฉื™ ืœื”ืขื‘ืจืช ื–ืจื ืชื”ืœื™ื›ื™ื. ื ื™ืชืŸ ืœืžืฆื•ื ื›ืœื™ื ืœื”ืขื‘ืจืช ื–ืจืžื™ ืชื”ืœื™ืš ืฉืœ Pega ื›ืืŸ. ืžื™ื“ ืชื‘ื—ื™ืŸ ืฉืžื“ื•ื‘ืจ ื‘ืคืจื•ื™ืงื˜ ืฉืœ Maven ืฉื ื™ืชืŸ ืœืคืชื•ื— ื›ืžืขื˜ ื‘ื›ืœ IDE. Eclipse ื•-Intellij ื”ื ืฉื ื™ื™ื ืžื”-IDEs ื”ืคื•ืคื•ืœืจื™ื™ื ื‘ื™ื•ืชืจ. ืื‘ืœ ืชื—ื™ืœื” ื™ื”ื™ื” ืขืœื™ืš ืœืฉื›ืคืœ ืื• ืœื”ื•ืจื™ื“ ืืช ืžืื’ืจ ื›ืœื™ ื”ื”ื’ื™ืจื” - ื ื™ืชืŸ ืœืขืฉื•ืช ื–ืืช ื›ืืŸ.

ืขื‘ื•ืจ ื”ื“ืจื›ื” ื–ื•, ืื ื• ื ืฉืชืžืฉ ื‘-Eclipse ื›-IDE ืฉืœื ื•.

  • ืœืื—ืจ ืฉื™ื‘ื•ื˜ ืื• ื”ื•ืจื“ืช ืžืื’ืจ Git, ื”ืขืชืง ืืช ื”ืชื•ื›ืŸ ืฉืœ ืžืื’ืจ ื”ื›ืœื™ื ืฉืœ Pega Converter ืœืชื•ืš ืกื‘ื™ื‘ืช ืขื‘ื•ื“ื” ื—ื“ืฉื”. ืื, ืœืžืฉืœ, ืžืื’ืจ Git ืฉืœืš ื ืžืฆื ื‘ C:gitRepos, ืื– ืชืžืฆื ืืช ืžืžื™ืจ Pega ื‘ C:gitReposmigrate-to-camunda-toolsPegacreate BPMN ืž-Pega XML.
  • ื”ืขืชืง ืืช ื›ืœ ื”ืชื™ืงื™ื” ืœืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” ืฉื‘ื—ืจืช.
  • ืœืื—ืจ ืžื›ืŸ ื”ืคืขืœ ืืช Eclipse ื•ื‘ื—ืจ ืืช ืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” ืฉืืœื™ื” ื”ืขืชืงืช ืืช ื”ืชื•ื›ืŸ ื–ื” ืขืชื”. ืœืื—ืจ ื”ืชื—ืœืช Eclipse, ืขื‘ื•ืจ ืืœ ืงื•ื‘ืฅ > ื™ื™ื‘ื•ื โ€‹โ€‹> ื›ืœืœื™ > ืคืจื•ื™ืงื˜ื™ื ืžืชื™ืงื™ื” ืื• ืžืืจื›ื™ื•ืŸ.
  • ืœื—ืฅ ืขืœ ื”ื›ืคืชื•ืจ ื”ึทื‘ึผึธื.
  • ื‘ืชื™ื‘ืช ื”ื“ื•-ืฉื™ื— ืฉืžื•ืคื™ืขื”, ืœื—ืฅ ืขืœ ืžึทื“ืจึดื™ืš ื•ื ื•ื•ื˜ ืœืชื™ืงื™ื” ืฉื–ื” ืขืชื” ื”ืขืชืงืช ืœืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” ืฉืœืš. ื”ืžืกืš ืฉืœืš ืืžื•ืจ ืœื”ื™ืจืื•ืช ื‘ืขืจืš ื›ืš (ืจืื” ืœื”ืœืŸ).
  • ืœื—ืฅ ืกื™ื•ื.

ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ื”ืคืจื•ื™ืงื˜ ื™ื•ื‘ื ืœืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” ืฉืœืš. ื™ื™ืชื›ืŸ ืฉืชืจืฆื” ืœืขื“ื›ืŸ ื›ืœ ื”ื‘ื“ืœื™ื ืฉืœ ืžื”ื“ืจ Java ื‘ื™ืŸ ื”ืงื•ื“ ืฉืกื•ืคืง ืœื‘ื™ืŸ ื”ืกื‘ื™ื‘ื” ืฉืœืš, ืื‘ืœ ื–ื” ืืžื•ืจ ืœืขื‘ื•ื“ ื›ืคื™ ืฉื”ื•ื.

ืœืื—ืจ ืžื›ืŸ ื ื™ืฆื•ืจ ืชืฆื•ืจืช Run ืฉืชืืคืฉืจ ืœืš ืœื”ืคืขื™ืœ ืืช ื”ืžืžื™ืจ ื‘-Eclipse:

  • ืœื—ืฅ ืœื—ื™ืฆื” ื™ืžื ื™ืช ืขืœ ืชื™ืงื™ื™ืช ื”ืฉื•ืจืฉ ืฉืœ ื”ืคืจื•ื™ืงื˜ ื•ื‘ื—ืจ ื”ืคืขืœ ื‘ืฉื > ื”ืคืขืœ ืชืฆื•ืจื•ืช...
  • ื‘ืชื™ื‘ืช ื”ื“ื•-ืฉื™ื— ืฉืžื•ืคื™ืขื”, ืœื—ืฅ ืขืœ ื™ื™ืฉื•ื Java ื›ื“ื™ ืœื™ืฆื•ืจ ืชืฆื•ืจื” ื—ื“ืฉื”. ื™ืฉ ืœืžืœื ืืช ืฉื ื”ืคืจื•ื™ืงื˜ ื›ื‘ืจ ื‘ืชื™ื‘ืช ื”ื“ื•-ืฉื™ื— ื”ื–ื•. ืืชื” ื™ื›ื•ืœ ืœืชืช ืœืชืฆื•ืจื” ื–ื• ืฉื ื—ื“ืฉ ืื ืชืจืฆื”.
  • ืœืื—ืจ ืžื›ืŸ ืขืœื™ืš ืœื‘ื—ื•ืจ ืืช ื”ื›ื™ืชื” ื”ืจืืฉื™ืช. ืœื—ืฅ ืขืœ ื›ืคืชื•ืจ ื”ื—ื™ืคื•ืฉ ื•ื”ืงืคื“ ืœื‘ื—ื•ืจ - BPMNGenFromPega - org.camunda.bpmn.generator. ื‘ื—ืจ ืื•ืชื• ื•ืœื—ืฅ OK.
  • ื”ืžืกืš ืฉืœืš ืืžื•ืจ ืœื”ื™ืจืื•ืช ื‘ืขืจืš ื›ืš:

ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ื›ืขืช ืขืœื™ืš ืœืกืคืง ืฉื ื™ ืืจื’ื•ืžื ื˜ื™ื, ื”ืจืืฉื•ืŸ ื”ื•ื ื™ื™ืฆื•ื ื”-XML ืžืคื’ื” ื•ื”ืฉื ื™ ื”ื•ื ืฉื ื”ืงื•ื‘ืฅ ืฉื”ื•ืžืจ. ืœื™ืชืจ ื‘ื˜ื—ื•ืŸ, ื”ื–ืŸ ืืช ื”ื ืชื™ื‘ ื•ืฉืžื•ืช ื”ืงื‘ืฆื™ื ื‘ืงื˜ืข ื˜ื™ืขื•ื ื™ ืชื•ื›ื ื™ืช ื›ืจื˜ื™ืกื™ื•ืช ื˜ื™ืขื•ื ื™ื, ืžื•ืงืฃ ื‘ืžืจื›ืื•ืช. ืžืœื›ืชื—ื™ืœื”, ืชืงื‘ืœื• ืงื•ื‘ืฅ xml ืœื“ื•ื’ืžื” ืฉืœ Pega. ื›ื“ื™ ืœื”ืฉืชืžืฉ ื‘ื“ื•ื’ืžื” ื–ื•, ื”ื–ืŸ ืืช ื”ืžื™ื“ืข ื”ื‘ื ืขื‘ื•ืจ ืงื‘ืฆื™ ื”ืงืœื˜ ื•ื”ืคืœื˜:

"./src/main/resources/SamplePegaProcess.xml" "./src/main/resources/ConvertedProcessFromPega.bpmn"

ื”ืžืกืš ืฉืœืš ืืžื•ืจ ืœื”ื™ืจืื•ืช ื‘ืขืจืš ื›ืš:

ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ืœื—ืฅ ืขืœ ื”ืคืขืœื”. ืืžื•ืจ ืœื”ื™ืคืชื— ื—ืœื•ืŸ ืžืกื•ืฃ ื•ืชืจืื” ืืช ื”ื“ื‘ืจื™ื ื”ื‘ืื™ื:

ืชืจืฉื™ื ./src/main/resources/SamplePegaProcess.xml ื”ื•ืžืจ ืžืคื’ื” ื•ื ื™ืชืŸ ืœืžืฆื•ื ืื•ืชื• ื‘ื›ืชื•ื‘ืช ./src/main/resources/ConvertedProcessFrom Pega.bpmn

ืชื™ืงื™ื™ืช ื”ืžืฉืื‘ื™ื ืžื›ื™ืœื” ืืช ืงื•ื‘ืฅ ื”-PNG (samplePegaProcessDiagram.png) ืฉืœ ื”ืชื”ืœื™ืš ื”ืžืงื•ืจื™ ื‘ืคื’ื” ื•ื”ื™ื ืชื™ืจืื” ื›ืš:

ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ื‘ืืžืฆืขื•ืช Camunda Modeler, ืคืชื— ConvertedProcessFromPega.bpmn ื•ื–ื” ืืžื•ืจ ืœื”ื™ืจืื•ืช ื‘ืขืจืš ื›ืš:

ื”ืขื‘ืจืช ืชื”ืœื™ื›ื™ื ืžืคื’ื” ืœืงืžื•ื ื“ื” - ืžื“ืจื™ืš ืฉืœื‘ ืื—ืจ ืฉืœื‘

ื™ืฆื™ืจืช ืงื•ื‘ืฅ jar

ืื ืืชื” ืจืง ืจื•ืฆื” ืœื™ืฆื•ืจ ืงื•ื‘ืฅ ืฆื ืฆื ืช ืฉื™ืจื•ืช, ื™ืฉ ืœืš ืžืกืคืจ ืืคืฉืจื•ื™ื•ืช:

  • ืื• ืงืœื™ืง ื™ืžื ื™ ืขืœ ื”ืงื•ื‘ืฅ pom.xml ื•ื‘ื—ืจ ื”ืคืขืœ ื‘ืฉื > ื”ืชืงื ืช Maven.
  • ืœื—ืœื•ืคื™ืŸ, ืœื—ืฅ ืœื—ื™ืฆื” ื™ืžื ื™ืช ืขืœ ืชื™ืงื™ื™ืช ื”ืฉื•ืจืฉ ื•ื‘ื—ืจ ื”ืฆื’ ื‘ื˜ืจืžื™ื ืœ ืžืงื•ืžื™ ื•ื”ืคืขืœ ืืช ื”ืคืงื•ื“ื” ื”ื‘ืื” ืฉืœ Maven: ื”ืชืงื ืช ื—ื‘ื™ืœื” ื ืงื™ื™ื” ืฉืœ mvn.

ื›ืš ืื• ื›ืš (ืื• ื‘ืืžืฆืขื•ืช ื”ืฉื™ื˜ื” ื”ืžื•ืขื“ืคืช ืขืœื™ืš) ืืชื” ืืžื•ืจ ืœืกื™ื™ื ืขื ืงื•ื‘ืฅ jar ื‘ืชื™ืงื™ื™ื” /ื™ึทืขึทื“. ื”ืขืชืง ืืช ื”ืฆื ืฆื ืช ื”ื–ื• ืœื›ืœ ืžืงื•ื ื•ื”ืคืง ืืช ื”ืคืงื•ื“ื” ื”ื‘ืื” ื‘ื˜ืจืžื™ื ืœ:

java -jar yourGeneratedJarFile.jar "ืงื•ื‘ืฅ ื”ืงืœื˜ ืฉืœืš" "ืงื•ื‘ืฅ ื”ืคืœื˜ ืฉืœืš"

ื›ื›ื”! ืื ื ืืœ ืชื”ืกืก ืœื”ืฉืื™ืจ ืžืฉื•ื‘ ืขืœ ืฉืœื ื• ืคื•ืจื•ื ะธ ืจืื” ืžืื’ืจ Git ื–ื” ืœืžืžื™ืจื™ื ื ื•ืกืคื™ื ื›ืฉื”ื ื™ื”ื™ื• ื–ืžื™ื ื™ื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”