Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

Pega์—์„œ ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค ํ๋ฆ„์€ BPMN ์ƒ˜ํ”Œ๊ณผ ๋” ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ ๊ณต๊ฐœ ํ‘œ์ค€์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์•ฝ์„ ์›ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ Modeler์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋‹ค์‹œ ๊ทธ๋ ค์„œ Pega์—์„œ Camunda๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ์„ธ์Šค ์Šค๋ ˆ๋“œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋‹ค์‹œ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์€ ์ง€๋ฃจํ•˜๊ณ  ์‹œ๊ฐ„ ์†Œ๋ชจ์ ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ ํ”„๋กœ์„ธ์Šค ์Šค๋ ˆ๋“œ๊ฐ€ ๋งŽ๊ฑฐ๋‚˜ ๋ณ€ํ™˜ํ•ด์•ผ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ณต์žกํ•œ ๊ฒฝ์šฐ์—๋Š” ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” BPMN ํ˜ธํ™˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Pega์—์„œ Camunda๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•œ ์ถœ๋ฐœ์  ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

Pega XML์—์„œ BPMN ๋ณ€ํ™˜๊ธฐ ํŠœํ† ๋ฆฌ์–ผ

Camunda Consulting์€ ํ”„๋กœ์„ธ์Šค ์ŠคํŠธ๋ฆผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•ด ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ ์„ธํŠธ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Pega ํ”„๋กœ์„ธ์Šค ์ŠคํŠธ๋ฆผ์„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—. ๊ฑฐ์˜ ๋ชจ๋“  IDE์—์„œ ์—ด ์ˆ˜ ์žˆ๋Š” Maven ํ”„๋กœ์ ํŠธ๋ผ๋Š” ๊ฒƒ์„ ์ฆ‰์‹œ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Eclipse์™€ Intellij๋Š” ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” IDE ์ค‘ ๋‘ ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋จผ์ € ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋„๊ตฌ ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

์ด ํŠœํ† ๋ฆฌ์–ผ์—์„œ๋Š” Eclipse๋ฅผ IDE๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • Git ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œํ•˜๊ฑฐ๋‚˜ ๋‹ค์šด๋กœ๋“œํ•œ ํ›„ Pega Converter ๋„๊ตฌ ์ €์žฅ์†Œ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ƒˆ๋กœ์šด ์ž‘์—… ๊ณต๊ฐ„์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Git ์ €์žฅ์†Œ๊ฐ€ ๋‹ค์Œ ์œ„์น˜์— ์žˆ๋Š” ๊ฒฝ์šฐ C:gitRepos, ๋‹ค์Œ์—์„œ Pega ๋ณ€ํ™˜๊ธฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. C:gitRepos migration-to-camunda-toolsPegaPega XML์—์„œ BPMN ์ƒ์„ฑ.
  • ์ „์ฒด ํด๋”๋ฅผ ์„ ํƒํ•œ ์ž‘์—… ๊ณต๊ฐ„์— ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ Eclipse๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ฐฉ๊ธˆ ์ฝ˜ํ…์ธ ๋ฅผ ๋ณต์‚ฌํ•œ ์ž‘์—…๊ณต๊ฐ„์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. Eclipse๋ฅผ ์‹œ์ž‘ํ•œ ํ›„ ๋‹ค์Œ์œผ๋กœ ์ด๋™ํ•˜์‹ญ์‹œ์˜ค. ํŒŒ์ผ > ๊ฐ€์ ธ์˜ค๊ธฐ > ์ผ๋ฐ˜ > ํด๋” ๋˜๋Š” ์•„์นด์ด๋ธŒ์˜ ํ”„๋กœ์ ํŠธ.
  • ๋ฒ„ํŠผ์„ ํด๋ฆญ ๋‹ค์Œ ๋ณด๊ธฐ.
  • ๋‚˜ํƒ€๋‚˜๋Š” ๋Œ€ํ™” ์ƒ์ž์—์„œ ๋‹ค์Œ์„ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค. ๋ช…๋ถ€ ๋‹ด๋‹น ๋ฐฉ๊ธˆ ์ž‘์—… ๊ณต๊ฐ„์— ๋ณต์‚ฌํ•œ ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค(์•„๋ž˜ ์ฐธ์กฐ).
  • ๋ฅผ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค ๋งˆ๊ฐ์žฌ .

Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ž‘์—…๊ณต๊ฐ„์œผ๋กœ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ œ๊ณต๋œ ์ฝ”๋“œ์™€ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ ๊ฐ„์˜ Java ์ปดํŒŒ์ผ๋Ÿฌ ์ฐจ์ด์ ์„ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ทธ๋Œ€๋กœ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ Eclipse์—์„œ ๋ณ€ํ™˜๊ธฐ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์‹คํ–‰ ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ ํด๋”๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  ์„ ํƒํ•˜์‹ญ์‹œ์˜ค. ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ > ๊ตฌ์„ฑ ์‹คํ–‰โ€ฆ
  • ๋‚˜ํƒ€๋‚˜๋Š” ๋Œ€ํ™” ์ƒ์ž์—์„œ ๋‹ค์Œ์„ ํด๋ฆญํ•˜์‹ญ์‹œ์˜ค. ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒˆ ๊ตฌ์„ฑ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ๋Œ€ํ™” ์ƒ์ž์—๋Š” ํ”„๋กœ์ ํŠธ ์ด๋ฆ„์ด ์ด๋ฏธ ์ž…๋ ฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๊ตฌ์„ฑ์— ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ ๋ฉ”์ธ ํด๋ž˜์Šค๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ณ  ๋‹ค์Œ์„ ์„ ํƒํ•˜์„ธ์š”. BPMNGenFromPega - org.camunda.bpmn.generator. ์„ ํƒํ•˜๊ณ  ํด๋ฆญํ•˜์„ธ์š”. OK.
  • ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

์ด์ œ ๋‘ ๊ฐœ์˜ ์ธ์ˆ˜๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” Pega์—์„œ ๋‚ด๋ณด๋‚ธ XML์ด๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ๋ณ€ํ™˜๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ์„ ๋Œ€๋น„ํ•ด ์„น์…˜์— ๊ฒฝ๋กœ์™€ ํŒŒ์ผ ์ด๋ฆ„์„ ์ž…๋ ฅํ•˜์„ธ์š”. ํ”„๋กœ๊ทธ๋žจ ์ธ์ˆ˜ ํƒญ ์ธ์ˆ˜, ๋”ฐ์˜ดํ‘œ๋กœ ๋ฌถ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์ƒ˜ํ”Œ Pega xml ํŒŒ์ผ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ž…๋ ฅ ๋ฐ ์ถœ๋ ฅ ํŒŒ์ผ์— ๋Œ€ํ•ด ๋‹ค์Œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.

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

ํ™”๋ฉด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

๋ˆ„๋ฅด๋‹ค ๋‹ฌ๋ฆฌ๊ธฐ. ์ฝ˜์†” ์ฐฝ์ด ์—ด๋ฆฌ๊ณ  ๋‹ค์Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์ด์–ด๊ทธ๋žจ ./src/main/resources/SamplePegaProcess.xml์€ Pega์—์„œ ๋ณ€ํ™˜๋˜์—ˆ์œผ๋ฉฐ ./src/main/resources/ConvertedProcessFrom Pega.bpmn์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค ํด๋”์—๋Š” Pega์˜ ์›๋ž˜ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ PNG ํŒŒ์ผ(samplePegaProcessDiagram.png)์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

Camunda Modeler๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ์„ ์—ฝ๋‹ˆ๋‹ค. ConvertedProcessFromPega.bpmn ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค:

Pega์—์„œ Camunda๋กœ ํ”„๋กœ์„ธ์Šค ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ - ๋‹จ๊ณ„๋ณ„ ๊ฐ€์ด๋“œ

jar ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

์œ ํ‹ธ๋ฆฌํ‹ฐ jar ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์•„๋‹ˆ๋ฉด ํ•ด๋‹น ํŒŒ์ผ์„ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜์„ธ์š”. pom.xml ๊ทธ๋ฆฌ๊ณ  ์„ ํƒ ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ > Maven ์„ค์น˜.
  • ๋˜๋Š” ๋ฃจํŠธ ํด๋”๋ฅผ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์œผ๋กœ ํด๋ฆญํ•˜๊ณ  ๋กœ์ปฌ ํ„ฐ๋ฏธ๋„์— ํ‘œ์‹œ ๋‹ค์Œ Maven ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. mvn ํด๋ฆฐ ํŒจํ‚ค์ง€ ์„ค์น˜.

์–ด๋Š ์ชฝ์ด๋“ (๋˜๋Š” ์„ ํ˜ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ) ํด๋”์— jar ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. /ํ‘œ์ . ์ด jar๋ฅผ ์–ด๋””์—๋‚˜ ๋ณต์‚ฌํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์—์„œ ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์„ธ์š”.

java -jar yourGeneratedJarFile.jar โ€œ์ž…๋ ฅ ํŒŒ์ผโ€ โ€œ์ถœ๋ ฅ ํŒŒ์ผโ€

์ด์™€ ๊ฐ™์ด! ์–ธ์ œ๋“ ์ง€ ์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ํฌ๋Ÿผ ะธ ์ด Git ์ €์žฅ์†Œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” ์ถ”๊ฐ€ ๋ณ€ํ™˜๊ธฐ๊ฐ€ ์ถœ์‹œ๋˜๋ฉด.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€