เบชเบฐเบเบฒเบเบเบต เบฎเบฒเบ!
เบเปเบฅเบดเบชเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเปเบฝเบงเบเบฒเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ ERP-class software solutions, เบชเปเบงเบเปเบเปเบเบเบญเบเบเปเบฒเบเปเบกเปเบ occupied เปเบเบเบฅเบฐเบเบปเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเบกเบตเบเปเบฒเบเบงเบ huge เบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเปเบญเบเบฐเบชเบฒเบ flow a la EDMS. เบฎเบธเปเบเบเบฑเบเบเบธเบเบฑเบเบเบญเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบญเบตเบเปเบชเปเปเบเบฑเบเปเบเปเบฅเบขเบต JavaEE, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเบเบฒเบเบฒเบกเบเบปเบเบฅเบญเบเบเบฑเบ microservices เบขเปเบฒเบเบเบดเบเบเบฑเบ. เบซเบเบถเปเบเปเบเบเบฑเบเบซเบฒเบเบตเปเบชเบธเบเบเบญเบเบเบฒเบเปเบเปเปเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเบฒเบเบฅเบงเบกเปเบญเบปเบฒเบฅเบฐเบเบปเบเบเปเบญเบเบเปเบฒเบเปเบเบตเปเปเบเบฑเบเบเบญเบเปเบเปเบกเบเบเบตเปเบขเบนเปเปเบเปเบเบฝเบ. เบเบฑเบเบซเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบชเบฐเปเบซเบกเบตเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบซเบปเบงเบขเปเบฒเบเปเบซเบเปเบซเบผเบงเบ, เปเบเบเบเปเปเบเปเบฒเบเบถเบเปเบเบดเบเบฎเบนเบเปเบเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ, stacks เปเบเบฑเบเปเบเปเบฅเบขเบตเปเบฅเบฐเบเบญเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเป, เปเบเปเบเปเปเบเบปเบเบกเบฒเบเบตเปเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเปเบฒเปเบเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฑเปเบเบเปเบฒเบง.
เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเปเบฒเปเบญเบปเบฒเบเบงเบฒเบกเบชเบปเบเปเบเบเบญเบเบเปเบฒเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฐเบชเบปเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบปเปเบเบเบงเปเบฒเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบตเป NPO Krista เบกเบตเบขเบนเปเปเบเบเบทเปเบเบเบตเปเบเปเบฒเบเบปเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฐเปเบเบดเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเปเบเปเปเบเบเปเบฒเบเปเบเปเปเบเบฑเบเบเบฑเบเบซเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบฅเบฐเบเบญเบเบซเบฒเบชเบดเปเบเบเบตเปเปเบเบทเปเบญเบเปเบงเปเบขเบนเปเบซเบฅเบฑเบเบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบเบตเป.
เบเบฐเบเบดเปเบชเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบ
เบเบฒเบเปเบเปเปเบเบเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเปเบฅเบฐเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบเบปเบเบเบงเบฒเบกเปเบกเปเบเบชเบฐเปเบซเบเบตเปเบเบเบเปเบญเบเปเบเบเบญเบตเบเปเบชเปเบเบฐเบชเบปเบเบเบฒเบเบชเปเบงเบเบเบธเบเบเบปเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเบเบญเบเบงเบฝเบเบเบฒเบเบชเบฐเปเบเบฒเบฐ. เบงเบดเบเบตเปเบเปเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเปเบเปเบญเปเบฒเบเบงเปเบฒเปเบเบฑเบเบเบปเปเบงเปเบเปเบฅเบฐเบญเบฒเบเบเบฐเบเปเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเบฒเบเปเบเปเปเบเบทเปเบญเบเปเบเบญเบทเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเป.
BPM เปเบฎเบฑเบเบซเบเบฑเบเบเบฑเบเบกเบฑเบ?
เปเบเบทเปเบญเบเบญเบเบเปเบฒเบเบฒเบกเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบฒเบฐเปเบฅเบดเบเปเบฅเบฑเบเบเปเบญเบเปเบเบปเปเบฒเปเบเปเบเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเปเบเปเบเบญเบเบงเบดเบเบตเปเบเปเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบชเปเบงเบเบซเบผเบฑเบเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบฅเบฐเบเบปเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบเบเบปเบเบเบฐเบเบดเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบเบเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเบเบนเปเปเบเป, เบเบนเปเบกเบทเปเบฅเบฐเบเบฒเบเบเบงเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบเปเปเบกเบนเบเบเบตเป, เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฒเบเบขเปเบฒเบ, เปเบเบตเบเปเบเปเบกเบฑเบเปเบเบซเบฒเบฅเบฐเบเบปเบเบญเบทเปเบ / เบเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบงเบดเปเบเบฒเบฐ / เบเบฒเบเปเบเบฑเบเบกเปเบฝเบ, เปเบฅเบฐเบเบฒเบเบชเปเบฒเบเบเบปเบเบฅเบฒเบเบเบฒเบ. . เบเบฑเปเบเบเบฑเปเบ, เบซเบเปเบฒเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเบฅเบฐเบเบปเบเบชเปเบฒเบฅเบฑเบเบฅเบนเบเบเปเบฒเปเบกเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเปเบเบเบญเบเบเบงเบเปเบเบปเบฒ.
เปเบเบทเปเบญเบเบงเบฒเบกเบชเบฐเบเบงเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบงเปเบฒ "เปเบญเบเบฐเบชเบฒเบ" เปเบเบเบฒเบเบชเบทเปเบชเบฒเบเปเบเบฑเบเบชเบดเปเบเบซเบเปเปเบเปเปเบเบญเบเบเบธเบเบเปเปเบกเบนเบเบฅเบงเบกเบเบฑเบเปเบเบเบเบฐเปเบเบเบปเปเบงเปเบเบเบตเปเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฒเบเบขเปเบฒเบเบชเบฒเบกเบฒเบ "เปเบเบทเปเบญเบกเบเปเป".
เปเบเปเบชเบดเปเบเบเบตเปเบเปเบฝเบงเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ? เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เบงเบฝเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบกเปเบเบชเปเบฒเบเบเบถเปเบเปเบเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเบฅเบฐเบเบปเบ, เปเบเบดเปเบ "เบเบฑเบ" เปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบชเปเบงเบเบเปเปเปเบกเปเบเบเบฒเบกเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบฅเบนเบเบเปเบฒ, เปเบเปเบเบฒเบเปเบเปเบญเบดเบเบเบดเบเบปเบเบเบญเบเบเบฑเบเปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ:
- เบเบถเปเบเบเบฑเบเบเบปเบเปเบฒเบเบเบญเบ Conway;
- เปเบเบฑเบเบเบปเบเบกเบฒเบเบฒเบเบเบฒเบ reusing เบฅเบฐเบเบปเบเบเปเบญเบเบเบตเปเบเบฑเบเบเบฐเบเบฒเบเปเบญเบเบซเบเปเบฒเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบญเบทเปเบเป;
- เบเบฒเบกเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบญเบเบชเบฐเบเบฒเบเบฐเบเบดเบ, เปเบเบเบญเบตเบเปเบชเปเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเบฐเปเบซเบเบ.
เบกเบตเบเบฒเบเบฅเปเปเบฅเบงเบเบญเบฑเบเปเบซเบเปเบซเบผเบงเบเบเบตเปเบเบฐเปเบเบเปเบซเบเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฒเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบปเปเบเบเป, เปเบเบทเปเบญเบเปเปเปเบซเปเบกเบปเบเบฅเบฐเบเบดเบเบเปเปเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฑเบเบชเบดเปเบเบเบฐเบเบดเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเปเบฅเบฐเบเบฑเบเปเบเบปเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเปเบเบฒเบฐเปเบฅเบดเบเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบนเบกเบชเบฑเบเบเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเบฅเบฐเบเบปเบ. เบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเปเปเบเบตเบซเบผเบฒเบเบขเปเบฒเบ, เปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเปเบเบดเบเบเบงเบฒเบกเบเปเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบปเบเบเบญเบเบกเบฑเบ:
- เบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบซเบผเบธเบเบฅเบปเบเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบเปเบเบฎเบนเบเปเบเบเบเบญเบเบเบฒเบเปเบ synchronous เปเบเบทเปเบญเบเบเบฒเบเบเบธเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเบฒเบเบฑเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบงเบฝเบเบเบฒเบเบเบปเปเบเบเป (เบเปเปเปเบชเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ synchronous เปเบเปเบเบทเบเบเบถเบเบชเบฒเบซเบฒเบฅเบทเบเปเบฒเบเบฅเบธเปเบกเบเบตเป);
- เบงเบฑเบเบเบธเบเบนเบฅเบดเบกเบฐเบชเบดเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเปเบเบฒเบฐเบฅเบปเบเปเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบซเบผเบฑเบเปเบกเบทเปเบญเบเปเบฒเบเบดเบเปเบซเบฑเบเบเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเบญเบทเปเบเปเบกเปเบเบเปเบญเบเบเบฒเบ;
- เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเปเบชเบปเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบฅเบฐเบชเบฒเบกเบฒเบเบเปเบฒเบฅเบฒเบเบกเบฑเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ;
- เบฅเบฐเบเบปเบเบขเบธเบเปเบเบปเบฒเปเบเบฑเบเบญเบฑเบเบเบฝเบงเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบนเปเปเบเป, " seams" เบฅเบฐเบซเบงเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบฒเบเปเบเบฑเบเบเบตเปเบชเบฑเบเปเบเบเปเบซเบฑเบ, เปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเบเบนเปเปเบเปเบเบตเปเบเปเปเบฒเบเบฑเบเบเบฒเบเบปเบ, เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบญเบเบเปเปเบกเบนเบเบเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเบซเบเบถเปเบเปเบเบซเบฒเบญเบตเบ.
เบงเบดเบเบตเบเบฒเบเบญเบทเปเบเปเบกเปเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฐเบเบดเบชเปเบฒเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบซเบผเบฑเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ. เปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบเบธเบเบชเบปเบกเบเบฑเบเบเบญเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบตเปเบกเบเบถเปเบเบชเบนเบ, เบเบฒเบเบชเปเบฒเบเบเบฐเบเบดเบชเปเบฒเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบซเบกเปเบเบงเบเบเบฐเปเบเบฑเบเปเบฅเบทเปเบญเบเบเปเบฒเบเปเบฅเบฐเบซเบเบธเปเบเบเบฒเบ, เบกเบตเปเบญเบเบฒเบเบซเบเปเบญเบเบเบตเปเบเบฐเปเบฅเบทเบญเบเปเบญเบปเบฒเบเบฒเบเปเบเปเปเบ. เบเบตเปเปเบกเปเบเบเบฒเบเบเบฒเบเบเบตเปเบเบฐเปเบฎเบฑเบเบซเบผเบฒเบเบเปเบงเบฒเบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒ: เปเบเบทเปเบญเบเบกเบทเบเปเบญเบเบกเบตเบเบงเบฒเบกเปเบเบฑเปเบกเปเบเบเบเบฝเบเบเปเบเบตเปเบเบฐเปเบซเปเบเบนเปเปเบเปเบกเบตเบเบฒเบเปเบฅเบทเบญเบเบเปเบฒเบเปเบเบตเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบญเบเบกเบฑเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบฅเบฒเบง "เบเบดเบเบเบปเบงเปเบญเบเปเบชเปเบเบตเบ." เบกเบตเบซเบผเบฒเบเบเปเบฒเบเบฒเบกเบเบตเปเบเบฑเบเบงเบดเบชเบฐเบงเบฐเบเบญเบเบเปเบญเบเบเบญเบเปเบเปเบเปเบเบญเบเบงเบฝเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ, เปเบเปเบชเบดเปเบเบเบตเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเปเบเบงเบเบเบดเบเบเปเบฝเบงเบเบฑเบเบงเบฝเบเบเบฒเบเบเบฐเบเปเบฒเบงเบฑเบเบเบญเบเบฅเบฒเบง: เบเบญเบเปเบเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ, เบเบงเบฒเบกเบชเบญเบเบเปเบญเบ, เบเบฐเบฅเปเบฒเบกเบฐเบเบน, เบเบงเบฒเบกเบเบญเบเปเบ, เบเบฐเบซเบเบฒเบ, เบเบฒเบเปเบซเบผเบเปเบฅเบฐเบเบฒเบเปเบเบเบขเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, เปเบชเบฑเปเบเบเบฒเบ, marshaling, เบเบฒเบเปเบเปเบเบฐเบเบฒเบเปเบฅเบฐเบเบฒเบเบชเบฐเบซเบผเบฑเบเบชเบฐเบเบฒเบเบเบฒเบ, เปเบฅเบฐเบญเบทเปเบเป, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบชเบฐเปเบซเบเบตเปเบซเปเบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบเบเบงเบดเบเบตเบเบฒเบเปเบเปเปเบเบเบตเปเบเปเบฒเบเบเบฒเบเบซเบผเบฒเบ, เปเบเบดเปเบเบเปเบฒเบเบญเบเบเบญเบเบเปเบฒเบเบฒเบกเบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบทเบเปเบเบทเปเบญเบเปเบงเปเปเบฅเปเบง. เปเบกเปเปเบเบเปเบซเบผเบปเปเบฒเบเบตเปเบเปเบญเบเบเปเบญเบเบเปเบฒเบเบเบญเบเปเบ: เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเปเบฝเบเปเบเบเปเบฅเบทเปเบญเบเป, เปเบเบดเปเบเปเบเบตเปเบกเบเบงเบฒเบกเบชเปเบฝเบเบเปเปเบเบฒเบเบเปเบฒเบชเบฐเปเบซเบเบตเบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเปเบฒเปเบเปเบเปเบฒเบเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเปเบญเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบเปเปเบฒเบเปเบชเบปเบกเบเบงเบ.
เปเบเป BPM เปเบฎเบฑเบเบซเบเบฑเบเบเบฑเบเบกเบฑเบ? เบกเบตเบซเบผเบฒเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ...
เปเบเปเบเบดเบเปเบฅเปเบง, เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบญเบตเบเบญเบฑเบเบซเบเบถเปเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบเบดเบเบปเบกเบซเบผเบฒเบเปเบเบเบฒเบเปเบเปเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ - เปเบเบเบเปเบฒเบเบเปเบฒเบเบดเบเบฒเบกเบเบฒเบเบเบฐเบเบฒเบเบเบญเบเปเบเบเบงเบฒเบเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบญเบเบฅเบฑเบเปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบญเบเบเบนเปเบเบฑเบเบเบฒเบเบเบตเปเบกเบตเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเบฑเบเบเปเบฝเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบฅเบฑเบเบเบตเปเบเปเบฒเบเบปเบเบเปเบฒเปเบซเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเบเบญเบ "เปเบญเบเบฐเบชเบฒเบ" เปเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบกเปเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบ "เปเบญเบเบฐเบชเบฒเบ" เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ.
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบฐเบเบงเบเบเบฒเบเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบเบเบเบฒเบ
เบเบงเบฒเบกเบเบดเบเบปเบกเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเบกเบฒเบเบฒเบเบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบฅเบฐเบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเบชเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบชเบฑเปเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบญเบเบงเปเบฒเบฅเบฐเบเบปเบเบเบญเบเปเบงเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเบฒเบเปเบเบฑเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเบซเบผเบฒเบ, เบเบฒเบเบชเปเบงเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฐเปเบฅเบตเบเปเบเบตเบเปเบเปเบฅเบฐเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ. เบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฒเบเบเปเบญเบเบชเบฐเบซเบผเบฒเบ, เบเปเบฒเปเบเปเบเบทเบเปเบซเบกเปเบเบญเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบชเบฒเบเบฒเปเบเบทเปเบญเปเบซเปเปเบเปเบฅเบฐเบชเบฒเบเบฒเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบฐเบซเบเบฒเบ. เบเบฒเบเปเบเปเปเบเบทเปเบญเบเปเบเบเบฑเปเบเบเปเบฒเบง, เปเบเบทเปเบญเบเบกเบทเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบเปเปเบชเบฐเบเบงเบ, เปเบฅเบฐเปเบเบเบงเบฒเบเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบญเบเบฅเบฑเบเบเบฐเบชเบนเบเปเบชเบเปเบเบทเปเบญเบซเบฒเบเปเปเบกเบนเบเบเบญเบเบกเบฑเบ (เบเบฒเบเปเบเปเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเปเปเปเบเปเบชเบฐเบเปเบญเบเบขเบนเปเปเบเปเบเบเบงเบฒเบเบเบฑเบเบซเบกเบปเบ).
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบฐเบเบงเบเบเบฒเบเปเบเบดเปเบเบเบทเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบซเบผเบฒเบเปเบเบฑเปเบเบเบญเบเบเบฒเบเบเบตเปเปเบเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบ.
เบงเบดเบเบตเบเบฒเบเบญเบญเบเบเบฒเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเปเบกเปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ
เบเบฒเบเบชเปเบงเบเบเปเบญเบเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบชเบฑเบเบชเบปเบ
เปเบเปเบฅเบเบฐเบเบฒเบง, เบเบฒเบเปเบเปเปเบเบเปเปเปเบเปเบขเบนเปเบเบฒเบกเบเบงเบฒเบกเบเบฒเบเบซเบงเบฑเบ: เบเบงเบฒเบกเปเบเบฑเปเบกเบเบปเปเบเบเบญเบเปเบฎเบเบเบฒเบเบชเบนเบเปเบเบเบฒเบเบชเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเปเบฒเบเปเบเบทเปเบญเบเบกเบทเบชเบฒเบเบเบฒเบเปเปเปเบเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฑเบเบฅเบธเบเบปเบงเบเบตเปเบงเบฑเบเบเบฒเบเบเบฐเบฅเบดเบเบเบตเปเบเบญเบกเบฎเบฑเบ, เปเบฅเบฐเปเบเบทเปเบญเบเบกเบทเบเบญเบเบกเบฑเบเปเบญเบเปเบเปเบเบฒเบเปเบเบฑเบเบซเบเบถเปเบเปเบเบเบฑเบเบเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเปเปเบกเบฑเบเบเบตเปเบชเบธเบ. เบเบฑเบเบกเบตเบเบฒเบเบฎเปเบญเบเบเบธเบเบเปเบฝเบงเบเบฑเบเปเบเบเบชเปเบฒเบเบเบฒเบเปเบเบเบญเบเปเบเบทเปเบญเบเบเบฑเบ, เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเบฎเบนเบเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบ "patches" เปเบฅเบฐ "crutches".
เบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบงเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเปเบเป jBPM เปเบกเปเบเบเบฒเบเบฎเบฑเบเบฎเบนเปเบเบปเบเบเบฐเปเบซเบเบเปเบฅเบฐเบเบงเบฒเบกเปเบชเบเบซเบฒเบเบเบญเบเบเบฒเบเบกเบตเบชเบฐเบเบฒเบเบฐเบเบฒเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเบญเบเบเบปเบเปเบญเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบเปเปเบซเบฑเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบงเบดเบเบตเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบญเบฐเบเบธเบชเบฑเบเบเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบตเปเบเบฑเบเบเปเบญเบเบฅเบฐเบซเบงเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบฒเบเปเปเบเบเปเบเปเบเบฒเบเปเบเปเบเบญเบเปเบเบ asynchronous เบเปเบฒเบเบชเบฑเบเบเบฒเบเปเบฅเบฐเบเปเปเบเบงเบฒเบก. เบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบฅเบฑเบเบเบตเปเบเบทเบเบเบปเบเบกเบตเบเบปเบเบเบฒเบเบชเปเบฒเบเบฑเบเปเบเปเบฅเบทเปเบญเบเบเบตเป.
เบญเบตเบเบเบฒเบกเบเบฒเบเบเปเบฒเบเปเบเบดเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบฐเบซเบผเบธเบเปเบเป: เบงเบดเบเบตเบเบฒเบเบเบฐเบเบงเบเบเบฒเบเปเบเปเบเบ BPM เบเปเบงเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบเปเปเบเบงเบฝเบเบเบฒเบเบเบตเปเบซเบผเบฒเบเบซเบผเบฒเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบชเบฑเบเบชเบปเบเบเบตเปเปเบเบตเปเบกเบเบถเปเบเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฐเบชเบปเบกเบเบปเบกเบเบฝเบงเบเบฑเบเบเบดเบเบเบฐเบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบเบปเปเบฒเปเบเบเบฐเบเบงเบเบเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบฅเบฐเบฎเบฑเบเบชเบฒเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบชเบฐเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
เบเปเปเปเบชเบเบเบญเบเบเบฒเบเปเบ synchronous เปเบเบฑเบเบฎเบนเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบเปเบเบ synchronous เบซเบกเบฒเบเปเบเบดเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเปเบเบเบตเปเบเปเบฒเบเบเบฒเบเบเบตเปเบชเบธเบ. เบฅเบฐเบเบปเบเบเปเบญเบเบซเบเบถเปเบเปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบเบเปเบฒเบเปเบเบตเบเปเบงเบตเปเบฅเบฐเปเบเบตเบเปเบเบตเบ API เบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบ. เบฅเบฐเบเบปเบเบเปเบญเบเบญเบทเปเบเปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบเบเปเบฒเบเบฅเบนเบเบเปเบฒเปเบฅเบฐเปเบเปเบงเบฅเบฒเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเปเบฎเบฑเบเปเบซเปเปเบเบซเบฒเปเบฅเบฐเบฅเปเบเปเบฒเบเบปเบเปเบเปเบฎเบฑเบ. เบญเบตเบเบเบฒเบกเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบฅเบฐเบเบปเบ, เบฅเบนเบเบเปเบฒเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบขเบนเปเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเบเบฝเบงเบเบฑเบ, เบซเบผเบทเปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเบชเบญเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ RPC เปเบฅเบฐเบชเบฐเบซเบเบญเบ marshalling เบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเปเบฅเบฐเบเบปเบเบเบญเบเบเบฒเบเปเบ.
เบฎเบนเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบตเปเบกเบตเบเปเปเปเบชเบเบเบฝเบเบเบตเปเบเปเบญเบเบเปเบฒเบเบซเบผเบฒเบ, เปเบเปเบกเบฑเบเบเบทเบเบเปเบฒเปเบเปเบขเปเบฒเบเบเบงเปเบฒเบเบเบงเบฒเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบเบญเบเบกเบฑเบ. เบเบงเบฒเบกเปเบงเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ captivates เปเบฅเบฐเบเบฑเบเบเบฑเบเปเบซเปเบเปเบฒเบเปเบเปเบกเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบฅเบฐเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบเปเบเบซเบเปเบฒเบเบญเบเบเบฒเบเบเปเบฒเบเบปเบเปเบงเบฅเบฒเบเบปเบเบเบฑเบ, เบเบฒเบเบเบฑเบเบเบถเบเบเบฒเบเปเบเปเปเบเปเบเบฑเบเบซเบเบตเปเบชเบดเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ. เปเบเปเบกเบฑเบเบเปเปเปเบเบตเบเบเบทเปเบเบงเปเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเปเปเบกเบตเบเบฐเบชเบปเบเบเบฒเบเปเบเปเบกเบฑเบเปเบเบเบเปเปเบฎเบนเปเบเบปเบง, เบเบฝเบเปเบเปเบเปเปเปเบเบปเปเบฒเปเบเบเบปเบเบชเบฐเบเปเบญเบเบเบฒเบเบฅเบปเบ.
เบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบฒเบเปเบเบตเปเบกเบเบทเปเบเบขเปเบฒเบเบเบฑเบเปเบเบเบเบตเปเบชเบธเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบฅเบฐเบเบปเบเบเปเบญเบ, เบเบฑเบเบกเบตเบเบฑเบเบซเบฒเบซเบเปเบญเบเบเบตเปเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบเบเบฑเบเบเบธเบฅเบฐเบเปเบฒ "เบเบฒเบเบเบฐเบซเบเบฒเบเบเบปเบง" เปเบฅเบฐ "เบเบทเบเบเบฒเบง". เปเบเปเบเบดเบเปเบฅเปเบง, เบเปเบฒเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเบขเปเบฒเบ, เบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเปเปเบชเบฒเบกเบฒเบเบซเบผเบตเบเบฅเปเบฝเบเปเบเป, เปเบฅเบฐเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ, เบเบฑเบเบเบงเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบเปเบฎเบฑเบเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเป. เบเบฑเปเบเปเบกเปเบ, เบเบปเบเบเปเบงเบฒเบฅเบฐเบเบปเบเบเปเบญเบเบซเบเบถเปเบเบฅเปเบเปเบฒเบเบฒเบเบเบญเบเปเบเปเบเบฒเบเบญเบตเบ, เบกเบฑเบเบเบฐเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบฅเบฐเปเบญเบปเบฒ locks เปเบเป. เบเบตเปเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเบเบงเบฒเบกเบชเปเบฝเบเบเบญเบเบเบปเบเบเบฐเบเบปเบเบเบตเปเบซเบฅเบฒเบเบซเบฅเบฒเบ:
- เบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบญเบเบฅเบฐเบเบปเบเปเบกเปเบเบชเบนเบเปเบชเบ, เบเบนเปเปเบเปเบฅเปเบเปเบฒเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบญเบเบเปเปเบเบฒเบเบชเบญเบเบเบฒเบก;
- เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเปเบเบตเบเปเบงเบตเบเบฐเบขเบธเบเบเบฒเบเบเบญเบเบชเบฐเปเบญเบเบเปเปเบเบฒเบเบฎเปเบญเบเบเปเบเบญเบเบเบนเปเปเบเปเปเบเบทเปเบญเบเบเบฒเบเบกเบตเบเบธเปเบกเบเบฐเบเบนเปเบเบตเปเปเบญเบญเบฑเบ: เบชเปเบงเบเปเบซเบเปเบเบญเบเบเบฐเบเบนเปเบเบทเบเบฅเบฑเบญเบเบขเบนเปเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบญเบเบเบญเบเปเบเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ;
- Deadlocks เปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเบเบฒเบเบปเบ: เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบเบงเบเปเบเบปเบฒเบขเปเบฒเบเปเบเบเปเบฎเบเปเบกเปเบเบเบถเปเบเบเบฑเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ, เบเปเบฒเบเบงเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเบเบฒเบเบฅเบฑเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ;
- เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเบซเบกเบปเบเปเบงเบฅเบฒเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบฒเบเบปเบ;
- เปเบเบตเบเปเบงเบต "เบฅเบปเปเบกเปเบซเบฅเบง" เบเบฑเบ OutOfMemory เบเปเบฒเบงเบฝเบเบเบฒเบเบเปเบญเบเบเบฒเบเบเบฒเบเบเบธเบเปเบเปเบเปเบฅเบฐเบเบฒเบเบเปเบฝเบเปเบเบเบเปเปเบกเบนเบเบเปเบฒเบเบงเบเบซเบฅเบฒเบ, เปเบฅเบฐเบเบฒเบเบเบฐเบเบปเบเบเบปเบงเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ synchronous เปเบฎเบฑเบเปเบซเปเบกเบฑเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเปเบเปเบเบเบฑเบเบเบฒเบเบเบธเบเปเบเปเบเปเบเบปเปเบฒเปเบเปเบเบเบธเบฅเบฐเบเปเบฒ "เปเบเบปเบฒ".
เบเบฒเบเบกเบธเบกเปเบเบดเปเบเบเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒ, เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเปเบฎเบฑเบเปเบซเปเบเบฒเบเบชเบนเบเปเบชเบเบเบฒเบเบเบงเบเบเบธเบกเบเบธเบเบเบฐเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบญเบเบเบธเบเบเบปเบ: เบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบเบปเบงเบเบตเปเบงเบฑเบเบเบธเบเบเบฐเบเบฒเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเบซเบเบถเปเบเบเบตเปเปเบเบเบเปเบฝเบงเบเบฒเบเบเบปเบงเบเบตเปเบงเบฑเบเบเบธเบเบเบฐเบเบฒเบเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเบญเบทเปเบ. เบเปเบฒเบฅเบฐเบเบปเบเบเปเบญเบเบเบทเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบเบตเบกเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบตเปเปเบกเปเบเบเบฑเบเบซเบฒเปเบซเบเป.
เบชเบดเปเบเบเปเบฒเบเปเบเปเปเบกเบตเบเบงเบฒเบกเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบเบเปเบฒเบฅเบฐเบเบปเบเบเปเบญเบเบเบตเปเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบขเบนเปเปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบฅเบฐเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบ synchronous เปเบเบเบฑเบเบชเบญเบเบเปเบฒเบ. เบงเบดเบเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบซเบผเบปเปเบฒเบเบตเป?
เบเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบกเปเบเปเบฎเบฑเบเปเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเปเบเบเบเปเบฒเบเบซเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบฐเบเปเบญเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเบฑเบเบเบฒเบเปเบฅเบฐเบเบฒเบเบเบปเบเปเบเบตเบเบเบตเปเบซเบเปเบฒเปเบเบทเปเบญเบเบท, เปเบฅเบฐเบเบตเปเบเบฐเบฅเบปเบเบฅเปเบฒเบเบเบปเบเบเบฐเปเบซเบเบเบเบปเปเบเบเปเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ synchronous - เบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ.
เบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเปเบเบเบขเบฒเบเบเบฑเบเบขเบนเปเปเบเปเบ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเปเบเปเบเบงเบเบกเบฑเบเปเบเบเบฒเบเปเบเปเปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ: เบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบเบฐเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบท.
"Saga" เปเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ
เบเปเบงเบเบเบงเบฒเบกเบเบดเบเบปเบกเปเบเบตเปเบกเบเบถเปเบเบเบญเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบ, เบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ
เบฎเบนเบเปเบเบเบเบตเปเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบเบเบตเปเบขเปเบฒเบเบชเบปเบกเบเบนเบเปเบเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเบเบฒเบงเบเบฒเบ, เปเบฅเบฐเบเบฑเบเบเบฐเบซเบเบฒเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเบธเปเบกเบเบญเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบฅเบฐเบเบปเบเบเบฒเบเบเปเบฒเบเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ: เบเบฒเบเบเบปเบเปเบเบตเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเบฅเบปเปเบกเปเบซเบฅเบงเบญเบฒเบเบเบฐเบเปเปเปเบฎเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบฑเบเบเบทเบเบชเบนเปเบชเบฐเบเบฒเบเปเบเบตเบก, เปเบเปเบชเบฐเบซเบเบญเบ. เปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเบเบฒเบเปเบฅเบทเบญเบ. เบเบตเปเบเบฑเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเปเบฎเบฑเบเบเปเปเบฒเบเบฑเปเบเบเบญเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเปเบฅเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเปเบซเปเบเบฐเบเบงเบเบเบฒเบ "เบเบต" เบชเบดเปเบเบชเบธเบเบฅเบปเบ.
เบซเบเปเบฒเบชเบปเบเปเบ, เปเบเบฅเบฐเบเบปเบ monolithic เบฎเบนเบเปเบเบเบเบตเปเบเบฑเบเบกเบตเบเบงเบฒเบกเบเปเบฝเบงเบเปเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเบกเบฑเบเบกเบฒเบเบฑเบเบเบฒเบเบฅเบงเบกเบเบปเบงเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเบเบตเปเบงเปเบฒเบเปเบฅเบฐเบเบปเบเบเบฐเบเบปเบเบเบฒเบเบฅเบปเบเบเบตเปเปเบเบตเบเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเบเบฒเบงเบเบฒเบเปเบฅเบฐเบเบฒเบเบฅเบฑเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบเปเบเบทเบเบชเบฑเบเปเบเบเปเบซเบฑเบ.
เบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบฎเบนเบเปเบเบ BPM, เบกเบฑเบเบเบฐเบเบฒเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเปเบฒเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบ "Sagas": เบเบฑเปเบเบเบญเบเบชเปเบงเบเบเบธเบเบเบปเบเบเบญเบ "Saga" เบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบฑเบเบเบดเบเบเบฐเบเปเบฒเบเบฒเบเปเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เปเบฅเบฐเบชเบฐเบเบฒเบเบฐเบเบปเบเบเบตเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฑเบ. เบเปเบฒเบเบปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบเบญเบ "Saga". เบเบฑเปเบเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเบเปเปเบเปเบญเบเบเบฒเบเบเบปเบเปเบเบเบฒเบเบเบฐเบชเบฒเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบก. เบชเบดเปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบกเปเบเบเบฒเบเบซเบเปเบฒเบเปเปเบเบงเบฒเบกเบเบตเปเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ "เบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบฑเปเบ" เบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเปเบเบฑเบเบเบฒเบเบเบปเบเบชเบปเปเบ.
เปเบเปเบเบฒเบเปเบเปเปเบเบเบตเปเบเบฑเบเบกเบต "เบฅเบฒเบเบฒ" เบเบญเบเบเบปเบเปเบญเบ:
- เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ: เบเบฒเบเบเบปเบเปเบเบตเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบญเบญเบ;
- เบกเบฑเบเบเบฐเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเบฐเบเบดเปเบกเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเป, เปเบเบดเปเบเบชเบฒเบกเบฒเบเบกเบตเบเบงเบฒเบกเบญเปเบญเบเปเบซเบงเปเบเบเบชเบฐเปเบเบฒเบฐเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ monolithic;
- เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเปเบฅเบฑเบเบเปเบญเบ, เปเบฅเบฐเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเบเปเบฒเบเปเปเบเบงเบฒเบกเบเบฐเบเบฒเบเบปเบ;
- เปเบเบทเปเบญเบเบกเบทเบเบฒเบเบเบดเบเบเบฒเบกเปเบฅเบฐเบเบฒเบเบเปเบฅเบดเบซเบฒเบเปเบเบตเปเบกเปเบเบตเบกเบเบฐเบเปเบญเบเบเบฒเบ (เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบเบเบปเปเบงเปเบเปเบฅเปเบงเบเบตเปเปเบกเปเบเบเบต: เบเบธเบเบเบฐเบเบฒเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบฅเบฐเบเบปเบเบเบฐเปเบเบตเปเบกเบเบถเปเบ).
เบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบ monolithic, เปเบซเบเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป "Sag" เปเบกเปเบเบเปเปเบเบฐเปเบเปเบ. เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบธเบเบฅเบฐเบเบฒเบเปเบฅเบฐ SOA เบญเบทเปเบเป, เบชเปเบงเบเบซเบผเบฒเบเปเบกเปเบเบเบฐเบกเบตเบเบฒเบเบซเบเปเบฒเบขเบนเปเปเบฅเปเบง, เปเบฅเบฐเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบขเปเบฒเบเปเบเบฑเบกเบเบตเปเปเบเปเบเบทเบเปเบชเบเบชเบฐเบฅเบฐเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบเบเบเบฒเบ, เบเบปเบเบเบฐเปเบซเบเบเบเบญเบเบเบฒเบเบเปเบฒเปเบเปเบฎเบนเบเปเบเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเปเปเปเบชเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบกเบต API เบเบตเปเบชเบฐเบเบงเบเปเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ. เบฅเบฐเบเบฑเบ.
encapsulating เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบ microservices
เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบปเบเบฅเบญเบเบเบฑเบ microservices, เบเปเบฒเบเบฒเบกเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเปเบเบตเบเบเบทเปเบ: เบเปเบญเบเบเบตเปเบเบฐเบงเบฒเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเปเบเปเบกเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเบปเบเบเบปเบเบเบญเบเบเปเปเบกเบนเบเปเบเปเบกเบ?
เปเบกเบทเปเบญเปเบเบดเปเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบ BPMSs เบเปเบฒเบเป, เบกเบฑเบเบญเบฒเบเบเบฐเปเบเบดเปเบเบเบทเบงเปเบฒเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเบเบตเปเบเบฐเปเบเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเบเบฒเบเบเบปเบเบเบปเบง: เบชเปเบฒเบเบเบฑเปเบเบเบญเบเปเบเบฅเบฐเบเบฐเบเบญเบกเปเบฅเบฐเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเปเบญเบเบฐเบฅเบฒเบเปเบเปเบกเบเบเบตเปเบเบฐเบเบญเบเปเบเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเปเบฅเบฐเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบกเบ, เปเบฅเบฐเบญเบญเบเปเบเบเบเบงเบฒเบกเบเบปเบเบเบปเบงเบเบญเบเบเปเปเบกเบนเบเปเบเปเบกเบเปเบเบฑเบ. เบเบฑเปเบเปเบเบเบเปเบฒเบเบซเบฒเบเบเบญเบ microservices เบเปเบฒเบเบเบฒเบเบซเบผเบฒเบเปเบฅเบฐ lightweight. เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบฐเบเบดเบเบฑเบ orchestration เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบญเบเบเบฑเปเบเบเบปเบเบเบตเป.
เบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบฐเปเบซเบเบเบญเบฑเบเปเบซเบเปเบซเบผเบงเบเบซเบผเบฒเบ: เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบตเปเบกเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเปเบงเบเบตเบซเบผเบฒเบเปเบเบปเปเบฒเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบ, เปเบฅเบฐเบเบฝเบเปเบเปเบเบฑเปเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบญเบ microservices เปเบงเบเบตเบเบฐเบเบฒเบเปเบเบฑเบ "เปเบเบกเบฑเบ" เบเบฒเบเบเบตเป. เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเปเบเปเบกเบเปเบเบเปเปเบเบฒเบกเปเบกเปเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบซเบเปเบฒเบเบตเปเปเบซเบกเปเบเบญเบเปเบงเบเบตเบเบฑเบเบเบตเบเบตเปเบกเบฑเบเบเบทเบเบเบฑเบเบเบธเบ.
เบเบฒเบเบชเบถเบเบชเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเปเบเปเปเบเบตเบเปเบเบตเบเบเปเปเปเบชเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเบงเบดเบเบตเบเบฒเบเบเบตเป:
- เบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบฅเบฐเบเบฐเบเบญเบกเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบซเบผเบฒเบเปเปเบเปเบกเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเบตเปเบเบดเปเบเปเบซเบเปเปเบเบฑเบเบเบธเบเบเบฝเบงเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง. เบเบฒเบเบเปเบฝเบเปเบเบเปเบฅเบทเปเบญเบเปเบเปเบฝเบงเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบตเปเบกเบเบงเบฒเบกเบชเปเบฝเบเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเปเบฒเปเบเบชเบนเปเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบงเบเบญเบเบฅเบฐเบเบปเบ;
- เบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบ: เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเปเปเบกเบนเบเบเบญเบเบกเบฑเบเปเบเบเบเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเปเบเบเปเบฅเบฐเบเปเบฒ:
- เบเปเปโเบกเบนเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบ marshaled เบญเบตเบโเปเบเบทเปเบญโเบซเบเบถเปเบโเปเบฅเบฐ pumped เปเบเบโเบเปเบฒเบ stack เปเบเบทเบญโเบเปเบฒเบโ;
- เบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเปเบกเบเบกเบฑเบเบเบฐเบชเบฐเบซเบเบญเบเบเปเปเบกเบนเบเบซเบผเบฒเบเบเบงเปเบฒเบเบตเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบเปเปเบเบฝเบเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบปเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบฅเบฐเบเบฑเบ API เบเบฒเบเบเบญเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ;
- เบเบฒเบเบเบดเปเบเบชเปเบงเบเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบชเบฒเบกเบฒเบเบฎเปเบญเบเบเปเบเบทเบเปเบซเบกเปเบญเบตเบเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเปเบกเบนเบ (เบเบฑเบเบซเบฒเบเบตเปเบชเบฒเบกเบฒเบเบซเบผเบธเบเบเปเบญเบเปเบเปเปเบเบเบเบฒเบเปเบเบตเปเบกเบญเบปเบเบเบฐเบเบญเบเบเบญเบเปเบเบเบเบฑเบเบเบตเปเบเปเปเบกเบนเบ cache, เปเบเปเบเบตเปเปเบฎเบฑเบเปเบซเปเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบชเบฑเบเบชเบปเบเบซเบผเบฒเบเปเบฅเบฐเบชเปเบฒเบเบเบฑเบเบซเบฒเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเปเบฅเบฐ cache invalidation);
- เบเบฑเบเบซเบฒเบเบธเบฅเบฐเบเปเบฒ:
- เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบกเบตเบชเบฐเบเบฒเบเบฐเบเบปเบเบเบตเป, เปเบเบดเปเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบงเบเบต, เบเปเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเปเปเบกเบนเบเปเบเปเบกเบ, เปเบฅเบฐเบเปเปเบกเบตเบงเบดเบเบตเบเปเบฒเบเปเบเบตเปเบเบฐเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเป;
- เบเบฒเบเบเบฑเบเบเบงเบฒเบเบเปเปเบกเบนเบเปเบเปเบกเบเบขเบนเปเบเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ: เบเปเบฒเปเบซเบเบเบปเบเบเบญเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบกเบเบเปเบญเบเบเปเบฝเบเปเบเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเปเปเบกเบนเบเปเบเบเบฐเบเบธเบเบฑเบ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบปเบเปเบงเบฑเปเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบเปเบเปเบเบเบฑเบเปเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบเบธเบเปเบเปเบ. เบเบฒเบเบเบฑเบเบเบงเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบญเบเบชเบฒเบกเบฒเบเบเปเบงเบเปเบเปเปเบเบเบฑเบเบซเบฒเปเบเป, เปเบเปเบเบฒเบเปเบเปเปเบเบเบฑเปเบเบเปเบฒเบงเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบชเปเบฝเบเปเบเบตเปเบกเปเบเบตเบกเปเบฅเบฐเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเปเบเบเบฅเบงเบกเบเบญเบเบฅเบฐเบเบปเบ;
- เบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบฑเบเบเบธเบ: เปเบเบเบฒเบเบเปเบฅเบฐเบเบต, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบปเบเบเบตเปเปเบฅเบฐเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบ synchronously เบซเบผเบทเปเบเบฅเปเบฒเบเบฑเบเบเบตเปเปเบเบฑเปเบเบเบฑเบ.
เปเบเบเบตเปเบชเบธเบ, เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบเบทเปเบเบเบฒเบ: encapsulate เบเปเปเบกเบนเบเปเบเปเบกเบเปเบฅเบฐเปเบซเบเบเบปเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบกเบเปเบเบปเปเบฒเปเบเปเบ microservice เบเบฝเบง. เบงเบดเบเบตเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบฎเบฑเบเบฎเบนเปเบเบญเบเบเปเบฅเบดเบเบฒเบเบเบธเบฅเบฐเบเบฒเบเปเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเปเบถเปเบเบเบญเบเบฅเบฐเบเบปเบเบเปเบฒเบ เปเบฅเบฐเบเปเปเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบเปเบฒเบเปเบเบดเบ. เบญเบฑเบเบเบตเปเบเปเปเปเบเปเบเบทเบเบกเบญเบเปเบซเปเบเบฃเบต:
- เบกเบฒเบเบเบฐเบเบฒเบ API เปเบกเปเบเบเปเบฒเปเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบงเบเบฑเบเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ (เปเบเบเบชเบฐเปเบเบฒเบฐ, เปเบเบทเปเบญเบชเบฐเบซเบเบญเบเบเบดเบเบเบฐเบเปเบฒเบเบญเบเบเบนเปเปเบเปเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ) เปเบฅเบฐเบเปเบฅเบดเบเบฒเบเปเบงเบเบต API; เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบเบขเปเบฒเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเบเปเปเบเบฒเบเบเปเบฝเบเปเบเบ API, เบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเปเบเบเปเบฒเบเบเปเบฒเบเปเบฅเบฐเบเปเบฒเบเบซเบฅเบฑเบ;
- เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเปเบเบตเปเบกเบซเปเบญเบเบชเบฐเบซเบกเบธเบ runtime เปเบเบตเปเบกเปเบเบตเบกเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเปเบเปเบฅเบฐ microservice เบเบฑเปเบเบเปเบฒเบง, เปเบฅเบฐเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเปเบซเบกเปเบชเปเบฒเบฅเบฑเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบฑเปเบเบเปเบฒเบง: เบเบงเบฒเบกเบชเบฐเบซเบงเปเบฒเบเปเบฅเบฐเบเปเบฒเปเบชเบธเบเบเบตเปเบเบญเบ transitive dependencies;
- เบเบฑเบเบเบฑเบเบเบฐเบเบฒ logic เบเบธเบฅเบฐเบเบดเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเบดเบเบเบฒเบกเบเบงเบเบเบฒเบชเบฐเบเบฑเบเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ: เบเปเบฒ microservice เบเบฑเบเบเปเปเบเบฑเบเปเบเปเบชเปเบฒเปเบฅเบฑเบเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ, เบกเบฑเบเบญเบฒเบเบเบฐเบเบฐเบเบญเบเบเปเบงเบเบชเบฐเบเบฑเบเบเบฒเบชเบฒเบฅเปเบฒเบชเบฐเปเบซเบกเบเบญเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ. เบเบตเปเบชเบฒเบกเบฒเบเปเบเบฑเบเบญเบธเบเบฐเบชเบฑเบเบเบตเปเบเปเปเบเบฒเบเบเบดเบเปเบเบเบฒเบเปเบเบตเปเบกเบเบธเบเบชเบปเบกเบเบฑเบเปเบซเบกเป เปเบฅเบฐเบญเบฒเบเบเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบปเปเบฒเบเบญเบเบเปเบฅเบดเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบเบซเบฒเบซเปเบญเบเบชเบฐเปเบธเบเบชเบฐเบเบฑเบเปเปเป เบเปเบฒเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเปเบงเบตเบเบฑเบเบเปเบฒเบเป.
เบเบฑเปเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบงเบเบตเบเบฑเบเบกเบตเบขเบนเปเปเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบฑเปเบเบเปเบฒเบง, เปเบเปเบเบฑเปเบเบเบตเปเบเปเปเปเบเปเบเบฐเบเบญเบเปเบเบฑเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเปเบเปเบกเบ, เปเบเปเบงเปเบฒเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบญเบเบกเบฑเบเปเบเบปเปเบฒเบเบฑเปเบ, เบชเบฐเบซเบเบญเบเบซเบเปเบฒเบเบตเป "เปเบงเบเบต" เบเปเบงเบเปเบซเบผเบทเบญ. เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเปเบฒเปเบเบฑเบเบเปเปเบเบฝเบเปเบเปเปเบเบทเปเบญเบฎเบฑเบเบชเบฒเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบกเบตเบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒเบเบญเบ microservices เปเบเปเบกเบ, เปเบเปเบเบฑเบเปเบเบฑเบเบชเบนเบเบเบฒเบเบเบฒเบเบเบธเปเบกเบเบญเบ.
เบเบปเบงเบขเปเบฒเบ, เบเบดเบเบเบฐเบเปเบฒเบเบญเบเบเบนเปเปเบเปเปเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบชเปเบฒเบเบงเบฝเบเบเบฒเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบกเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบงเบฝเบเบเบฒเบ, เบเบนเปเปเบเปเบเปเบญเบเปเบเบดเปเบเบซเบเปเบฒเบงเบฝเบเบเบฒเบเบเบธเบเปเบเปเบกเบเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบปเปเบงเปเบ, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฐเบเปเบญเบเบกเบตเบเบฒเบเบเปเบฅเบดเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบงเบฝเบเบเบฒเบเบเบญเบเปเบงเบเบตเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ, เบฅเบปเบเบฅเปเบฒเบเปเบซเบเบเบปเบเบเบญเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบกเบ. เบเบฒเบเบฎเบฑเบเบชเบฒเบเบฒเบเบซเบธเปเบกเบซเปเปเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบชเบฐเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบกเบตเบเบฑเบเบซเบฒ, เปเบฅเบฐเบเบตเปเปเบกเปเบเบเบฒเบเบเบฐเบเบตเบเบฐเบเบญเบกเบญเบตเบเบญเบฑเบเบซเบเบถเปเบเบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบตเป.
เบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบเบเปเบฒเบเบชเบฒเบเบเบฒเบเบญเบเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ
เบเบฑเปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเบเปเบฒเบเปเบเบดเบ, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบญเบเบเบทเบเปเบเบเบญเบญเบเบเบฒเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฒเบเบงเบดเบเบฒเบเบฒเบเปเบฅเบฐเบงเบดเบชเบฐเบงเบฐเบเปเบฒเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบเบญเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบซเบผเบฒเบเปเบขเปเบฒเบเปเบเบทเปเบญเปเบซเปเบเบนเปเบซเบเบถเปเบเบชเบฒเบกเบฒเบเบเบฑเบเปเบเปเบเบปเบเบเบฐเบฅเบดเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบตเปเบเบต.
เปเบซเปเบเบฐเบเบฒเบเบฒเบกเปเบเปเปเบเบเบฑเบเบซเบฒเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบตเปเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบซเบผเบฒเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเปเบกเปเบ invented เบชเปเบฒเบฅเบฑเบเบเบปเบเบเบงเบฒเบก. เบเบตเปเบเบฐเปเบเบฑเบ "เปเบเบก" เบงเบฝเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบชเบฒเบกเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เบเปเบญเบเบเบตเปเปเบเปเบฅเบฐเบเบปเบเบเปเบฒเบเบปเบเบเบทเปเปเบเปเบกเบเบเบตเปเปเบเปเบเบญเบ: "app1", "app2", "app3".
เบเบฒเบเปเบเปเบเปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบเบทเบเปเบเบตเบเบเบปเบงเบเบตเปเปเบฅเบตเปเบกเบเบปเปเบ "เบซเบผเบดเปเบเบเบฒเบ" เบเปเบฒเบเบฅเบปเบเปเบกเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ. เบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเบเบทเป "เบเบฒเบ" เบเบฐเปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบเบเบฒเบ.
เบเบปเบเบฅเบฐเบเบฝเบเบเบญเบเปเบเบก:
- เบเบนเปเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเบนเปเบฅเบดเปเบฅเบตเปเบก. เบฅเบฒเบงเปเบเบทเปเบญเปเบเบตเบเบเบนเปเบซเบผเบดเปเบเบญเบทเปเบเปเปเบซเปเบซเบฅเบดเปเบเปเบเบก, เปเบฅเบตเปเบกเปเบเบกเปเบฅเบฐเบชเบฒเบกเบฒเบเบขเบธเบเบกเบฑเบเปเบเปเบเบธเบเปเบงเบฅเบฒ;
- เบเบนเปเบเบญเบทเปเบเปเบเบฐเบเบฒเบเบเบฒเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบก, "เบฎเบนเปเบเบฑเบ" เปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบเปเบฅเบฐเบเบนเปเบเบเปเบฒเบญเบดเบ;
- เบซเบผเบฑเบเบเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบฅเปเบง, เบเบนเปเบเบเบฐเปเบฅเบทเบญเบเปเบญเบปเบฒเบเบนเปเบญเบทเปเบเบเบตเปเปเบเบปเปเบฒเบฎเปเบงเบกเปเบฅเบฐเบชเบปเปเบเบเบฒเบเปเบเบซเบฒเบฅเบฒเบง. เบเปเบฒเบเบงเบเบเบฒเบเบชเบปเปเบเบชเบฑเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบเบฑเบ;
- เบเบนเปเบเปเบเปเบฅเบฐเบเบปเบเบกเบต "เบเบฐเบฅเบฑเบเบเบฒเบ" เบเบตเปเบซเบผเบธเบเบฅเบปเบเบเปเบงเบเบเบฒเบเบเปเบฒเบเบเบญเบเบเบฒเบเปเบเปเบฅเบฐเบเบปเบเปเบเบเบเบนเปเบเบเบฑเปเบ. เปเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบฅเบฑเบเบเบฒเบเบซเบกเบปเบ, เบเบนเปเบเบญเบญเบเบเบฒเบเปเบเบก, เบเบฐเบเบฒเบเบฅเบฒเบญเบญเบเบเบญเบเบเบปเบ;
- เบเปเบฒเบเบนเปเบเปเบเปเบเบทเบเบเบฐเปเบงเปเบขเบนเปเบเบปเบเบเบฝเบง, เบฅเบฒเบงเบเบฑเบเบเบตเบเบฐเบเบฒเบเบเบฒเบเบญเบญเบเปเบ;
- เปเบเปเบงเบฅเบฒเบเบตเปเบเบนเปเบเบเบฑเบเบซเบกเบปเบเปเบเปเบเบทเบเบฅเบปเบเบฅเปเบฒเบ, เบเบนเปเบเบเปเบฒเบญเบดเบเบเบฐเบเบฒเบเปเบเบกเบซเบกเบปเบ. เบเปเบฒเบฅเบฒเบงเบญเบญเบเบเบฒเบเปเบเบกเปเบง, เบฅเบฒเบงเบเบฑเบเบเบปเบเบเบดเบเบเบฒเบกเปเบเบกเปเบเบทเปเบญเปเบซเปเบกเบฑเบเบชเปเบฒเปเบฅเบฑเบ.
เปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเป, เบเปเบญเบเบเบฐเปเบเป DSL เบเบญเบเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เปเบเบดเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบญเบฐเบเบดเบเบฒเบเปเบซเบเบเบปเบเปเบ Kotlin เบขเปเบฒเบเบซเบเบฒเปเบซเบเปเบ, เปเบเบเบกเบตเบเปเบฒเปเบชเบธเบเบเบตเปเบเบญเบ boilerplate.
เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบเบนเปเบเบเปเบฒเบญเบดเบ (aka เบเบนเปเบฅเบดเปเบฅเบตเปเบกเบเบญเบเปเบเบก) เบเบฐเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ app1 app:
class InitialPlayer
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.constraint.UniqueConstraints
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.dsl.taskOperation
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList : ArrayList<PlayerInfo>()
// ะญัะพ ะบะปะฐัั ัะบะทะตะผะฟะปััะฐ ะฟัะพัะตััะฐ: ะธะฝะบะฐะฟััะปะธััะตั ะตะณะพ ะฒะฝัััะตะฝะฝะตะต ัะพััะพัะฝะธะต
class InitialPlayer : ProcessImpl<InitialPlayer>(initialPlayerModel) {
var playerName: String by persistent("Player1")
var energy: Int by persistent(30)
var players: PlayersList by persistent(PlayersList())
var shotCounter: Int = 0
}
// ะญัะพ ะดะตะบะปะฐัะฐัะธั ะผะพะดะตะปะธ ะฟัะพัะตััะฐ: ัะพะทะดะฐะตััั ะพะดะธะฝ ัะฐะท, ะธัะฟะพะปัะทัะตััั ะฒัะตะผะธ
// ัะบะทะตะผะฟะปััะฐะผะธ ะฟัะพัะตััะฐ ัะพะพัะฒะตัััะฒัััะตะณะพ ะบะปะฐััะฐ
val initialPlayerModel = processModel<InitialPlayer>(name = "InitialPlayer",
version = 1) {
// ะะพ ะฟัะฐะฒะธะปะฐะผ, ะฟะตัะฒัะน ะธะณัะพะบ ัะฒะปัะตััั ะธะฝะธัะธะฐัะพัะพะผ ะธะณัั ะธ ะดะพะปะถะตะฝ ะฑััั ะตะดะธะฝััะฒะตะฝะฝัะผ
uniqueConstraint = UniqueConstraints.singleton
// ะะฑััะฒะปัะตะผ ะฐะบัะธะฒะฝะพััะธ, ะธะท ะบะพัะพััั
ัะพััะพะธั ะฑะธะทะฝะตั-ะฟัะพัะตัั
val sendNewGameSignal = signal<String>("NewGame")
val sendStopGameSignal = signal<String>("StopGame")
val startTask = humanTask("Start") {
taskOperation {
processCondition { players.size > 0 }
confirmation { "ะะพะดะบะปััะธะปะพัั ${players.size} ะธะณัะพะบะพะฒ. ะะฐัะธะฝะฐะตะผ?" }
}
}
val stopTask = humanTask("Stop") {
taskOperation {}
}
val waitPlayerJoin = signalWait<String>("PlayerJoin") { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
println("... join player ${signal.data} ...")
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
println("... player ${signal.data} is out ...")
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val throwStartBall = messageSend<Int>("Ball") {
messageData = { 1 }
activation = { selectNextPlayer() }
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
// ะขะตะฟะตัั ะบะพะฝััััะธััะตะผ ะณัะฐั ะฟัะพัะตััะฐ ะธะท ะพะฑััะฒะปะตะฝะฝัั
ะฐะบัะธะฒะฝะพััะตะน
startFrom(sendNewGameSignal)
.fork("mainFork") {
next(startTask)
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut)
.branch("checkPlayers") {
ifTrue { players.isEmpty() }
.next(sendStopGameSignal)
.terminate()
ifElse().next(waitPlayerOut)
}
}
startTask.fork("afterStart") {
next(throwStartBall)
.branch("mainLoop") {
ifTrue { energy < 5 }.next(sendPlayerOut).next(waitBall)
ifElse().next(waitBall).next(throwBall).loop()
}
next(stopTask).next(sendStopGameSignal)
}
// ะะฐะฒะตัะฐะตะผ ะฝะฐ ะฐะบัะธะฒะฝะพััะธ ะดะพะฟะพะปะฝะธัะตะปัะฝัะต ะพะฑัะฐะฑะพััะธะบะธ ะดะปั ะปะพะณะธัะพะฒะฐะฝะธั
sendNewGameSignal.onExit { println("Let's play!") }
sendStopGameSignal.onExit { println("Stop!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<InitialPlayer, Int>.selectNextPlayer() {
val player = process.players.random()
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
เบเบญเบเปเบซเบเบทเบญเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เบฅเบฐเบซเบฑเบเบเปเบฒเบเปเบเบดเบเบชเบฒเบกเบฒเบเบเบฐเบฅเบดเบเบฎเบนเบเปเบเบเบงเบฑเบเบเบธเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เปเบเบดเปเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบซเบฑเบเปเบเปเปเบเบฎเบนเบเปเบเบเบเบญเบเปเบเบเบงเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเปเปเบเปเบเบฐเบเบดเบเบฑเบ Visualizer เปเบเบทเปเบญ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเปเบเปเปเบงเบฅเบฒเปเบฅเบฑเบเบเปเบญเบเปเบเบเบฒเบเปเบเปเบกเบฎเบนเบ (เปเบเบเบตเปเบเบตเปเบเปเบญเบเปเบเปเบเบฑเบเบเบธเบเบเบงเบฒเบกเบซเบกเบฒเบ BPMN เปเบฅเบฑเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฐเบเบนเบฎเบปเปเบงเปเบเบทเปเบญเบเบฑเบเบเบธเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบญเบเปเบเบเบงเบฒเบเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป):
app2 เบเบฐเบเบฐเบเบญเบเบกเบตเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบเบนเปเบเบญเบทเปเบเป:
เบซเปเบญเบเบฎเบฝเบ RandomPlayer
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList: ArrayList<PlayerInfo>()
class RandomPlayer : ProcessImpl<RandomPlayer>(randomPlayerModel) {
var playerName: String by input(persistent = true,
defaultValue = "RandomPlayer")
var energy: Int by input(persistent = true, defaultValue = 30)
var players: PlayersList by persistent(PlayersList())
var allPlayersOut: Boolean by persistent(false)
var shotCounter: Int = 0
val selfPlayer: PlayerInfo
get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}
val randomPlayerModel = processModel<RandomPlayer>(name = "RandomPlayer",
version = 1) {
val waitNewGameSignal = signalWait<String>("NewGame")
val waitStopGameSignal = signalWait<String>("StopGame")
val sendPlayerJoin = signal<String>("PlayerJoin") {
signalData = { playerName }
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
eventCondition = { signal ->
signal.sender.processInstanceId != process.id
&& !process.players.any { signal.sender.processInstanceId == it.id}
}
handler = { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
}
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
allPlayersOut = players.isEmpty()
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val receiveHandshake = messageWait<String>("Handshake") { message ->
if (!players.any { message.sender.processInstanceId == it.id}) {
players.add(PlayerInfo(
message.data!!,
message.sender.domain,
message.sender.processInstanceId))
}
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
startFrom(waitNewGameSignal)
.fork("mainFork") {
next(sendPlayerJoin)
.branch("mainLoop") {
ifTrue { energy < 5 || allPlayersOut }
.next(sendPlayerOut)
.next(waitBall)
ifElse()
.next(waitBall)
.next(throwBall)
.loop()
}
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut).next(waitPlayerOut)
next(receiveHandshake).next(receiveHandshake)
next(waitStopGameSignal).terminate()
}
sendPlayerJoin.onExit { println("$playerName: I'm here!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<RandomPlayer, Int>.selectNextPlayer() {
val player = if (process.players.isNotEmpty())
process.players.random()
else
process.selfPlayer
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
เปเบเบเบงเบฒเบ:
เปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ app3 เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบซเปเบเบนเปเบเบเบตเปเบกเบตเบเบถเบเบเบดเบเปเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบฅเบฑเบเบเปเบญเบ: เปเบเบเบเบตเปเบเบฐเปเบฅเบทเบญเบเบเบนเปเบเบเปเปเปเบเปเบเบเบชเบธเปเบก, เบฅเบฒเบงเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบฎเบญเบ:
เบซเปเบญเบเบฎเบฝเบ RoundRobinPlayer
import ru.krista.bpm.ProcessInstance
import ru.krista.bpm.runtime.ProcessImpl
import ru.krista.bpm.runtime.dsl.processModel
import ru.krista.bpm.runtime.instance.MessageSendInstance
data class PlayerInfo(val name: String, val domain: String, val id: String)
class PlayersList: ArrayList<PlayerInfo>()
class RoundRobinPlayer : ProcessImpl<RoundRobinPlayer>(roundRobinPlayerModel) {
var playerName: String by input(persistent = true,
defaultValue = "RoundRobinPlayer")
var energy: Int by input(persistent = true, defaultValue = 30)
var players: PlayersList by persistent(PlayersList())
var nextPlayerIndex: Int by persistent(-1)
var allPlayersOut: Boolean by persistent(false)
var shotCounter: Int = 0
val selfPlayer: PlayerInfo
get() = PlayerInfo(playerName, env.eventDispatcher.domainName, id)
}
val roundRobinPlayerModel = processModel<RoundRobinPlayer>(
name = "RoundRobinPlayer",
version = 1) {
val waitNewGameSignal = signalWait<String>("NewGame")
val waitStopGameSignal = signalWait<String>("StopGame")
val sendPlayerJoin = signal<String>("PlayerJoin") {
signalData = { playerName }
}
val sendPlayerOut = signal<String>("PlayerOut") {
signalData = { playerName }
}
val waitPlayerJoin = signalWaitCustom<String>("PlayerJoin") {
eventCondition = { signal ->
signal.sender.processInstanceId != process.id
&& !process.players.any { signal.sender.processInstanceId == it.id}
}
handler = { signal ->
players.add(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
}
}
val waitPlayerOut = signalWait<String>("PlayerOut") { signal ->
players.remove(PlayerInfo(
signal.data!!,
signal.sender.domain,
signal.sender.processInstanceId))
allPlayersOut = players.isEmpty()
}
val sendHandshake = messageSend<String>("Handshake") {
messageData = { playerName }
activation = {
receiverDomain = process.players.last().domain
receiverProcessInstanceId = process.players.last().id
}
}
val receiveHandshake = messageWait<String>("Handshake") { message ->
if (!players.any { message.sender.processInstanceId == it.id}) {
players.add(PlayerInfo(
message.data!!,
message.sender.domain,
message.sender.processInstanceId))
}
}
val throwBall = messageSend<Int>("Ball") {
messageData = { shotCounter + 1 }
activation = { selectNextPlayer() }
onEntry { energy -= 1 }
}
val waitBall = messageWaitData<Int>("Ball") {
shotCounter = it
}
startFrom(waitNewGameSignal)
.fork("mainFork") {
next(sendPlayerJoin)
.branch("mainLoop") {
ifTrue { energy < 5 || allPlayersOut }
.next(sendPlayerOut)
.next(waitBall)
ifElse()
.next(waitBall)
.next(throwBall)
.loop()
}
next(waitPlayerJoin).next(sendHandshake).next(waitPlayerJoin)
next(waitPlayerOut).next(waitPlayerOut)
next(receiveHandshake).next(receiveHandshake)
next(waitStopGameSignal).terminate()
}
sendPlayerJoin.onExit { println("$playerName: I'm here!") }
sendPlayerOut.onExit { println("$playerName: I'm out!") }
}
private fun MessageSendInstance<RoundRobinPlayer, Int>.selectNextPlayer() {
var idx = process.nextPlayerIndex + 1
if (idx >= process.players.size) {
idx = 0
}
process.nextPlayerIndex = idx
val player = if (process.players.isNotEmpty())
process.players[idx]
else
process.selfPlayer
receiverDomain = player.domain
receiverProcessInstanceId = player.id
println("Step ${process.shotCounter + 1}: " +
"${process.playerName} >>> ${player.name}")
}
เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบเบถเบเบเบดเบเปเบฒเบเบญเบเบเบนเปเบเบเปเปเปเบเบเบเปเบฒเบเบเบฒเบเบญเบฑเบเบเบตเปเบเปเบฒเบเบกเบฒ, เบเบฑเปเบเบเบฑเปเบเปเบเบเบงเบฒเบเบเปเปเบเปเบฝเบเปเบเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเป. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบซเปเบเบฝเบเปเบเปเบฅเบฐเบซเบฑเบเบเบญเบเบเบฒเบเบเบปเบเบชเบญเบเบเบปเบงเบกเบฑเบเปเบญเบ, เปเบเบทเปเบญเบเปเปเปเบซเป clutter เบเบปเบเบเบงเบฒเบกเบเบตเปเบกเบต boilerplate (เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเปเบฒเปเบเปเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเปเปเบเบทเปเบญเบเบปเบเบชเบญเบเบเบฒเบเบฅเบงเบกเบเบปเบงเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบญเบทเปเบเป):
เปเบเบกเบเบปเบเบชเบญเบ()
@Test
public void testGame() throws InterruptedException {
String pl2 = startProcess(app2, "RandomPlayer", playerParams("Player2", 20));
String pl3 = startProcess(app2, "RandomPlayer", playerParams("Player3", 40));
String pl4 = startProcess(app3, "RoundRobinPlayer", playerParams("Player4", 25));
String pl5 = startProcess(app3, "RoundRobinPlayer", playerParams("Player5", 35));
String pl1 = startProcess(app1, "InitialPlayer");
// ะขะตะฟะตัั ะฝัะถะฝะพ ะฝะตะผะฝะพะณะพ ะฟะพะดะพะถะดะฐัั, ะฟะพะบะฐ ะธะณัะพะบะธ "ะฟะพะทะฝะฐะบะพะผัััั" ะดััะณ ั ะดััะณะพะผ.
// ะะดะฐัั ัะตัะตะท sleep - ะฟะปะพั
ะพะต ัะตัะตะฝะธะต, ะทะฐัะพ ัะฐะผะพะต ะฟัะพััะพะต.
// ะะต ะดะตะปะฐะนัะต ัะฐะบ ะฒ ัะตััะตะทะฝัั
ัะตััะฐั
!
Thread.sleep(1000);
// ะะฐะฟััะบะฐะตะผ ะธะณัั, ะทะฐะบััะฒะฐั ะฟะพะปัะทะพะฒะฐัะตะปััะบัั ะฐะบัะธะฒะฝะพััั
assertTrue(closeTask(app1, pl1, "Start"));
app1.getWaiting().waitProcessFinished(pl1);
app2.getWaiting().waitProcessFinished(pl2);
app2.getWaiting().waitProcessFinished(pl3);
app3.getWaiting().waitProcessFinished(pl4);
app3.getWaiting().waitProcessFinished(pl5);
}
private Map<String, Object> playerParams(String name, int energy) {
Map<String, Object> params = new HashMap<>();
params.put("playerName", name);
params.put("energy", energy);
return params;
}
เปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเบเบชเบญเบเปเบฅเบฐเปเบเบดเปเบเบเบฑเบเบเบถเบ:
console output
ะะทััะฐ ะฑะปะพะบะธัะพะฒะบะฐ ะบะปััะฐ lock://app1/process/InitialPlayer
Let's play!
ะกะฝััะฐ ะฑะปะพะบะธัะพะฒะบะฐ ะบะปััะฐ lock://app1/process/InitialPlayer
Player2: I'm here!
Player3: I'm here!
Player4: I'm here!
Player5: I'm here!
... join player Player2 ...
... join player Player4 ...
... join player Player3 ...
... join player Player5 ...
Step 1: Player1 >>> Player3
Step 2: Player3 >>> Player5
Step 3: Player5 >>> Player3
Step 4: Player3 >>> Player4
Step 5: Player4 >>> Player3
Step 6: Player3 >>> Player4
Step 7: Player4 >>> Player5
Step 8: Player5 >>> Player2
Step 9: Player2 >>> Player5
Step 10: Player5 >>> Player4
Step 11: Player4 >>> Player2
Step 12: Player2 >>> Player4
Step 13: Player4 >>> Player1
Step 14: Player1 >>> Player4
Step 15: Player4 >>> Player3
Step 16: Player3 >>> Player1
Step 17: Player1 >>> Player2
Step 18: Player2 >>> Player3
Step 19: Player3 >>> Player1
Step 20: Player1 >>> Player5
Step 21: Player5 >>> Player1
Step 22: Player1 >>> Player2
Step 23: Player2 >>> Player4
Step 24: Player4 >>> Player5
Step 25: Player5 >>> Player3
Step 26: Player3 >>> Player4
Step 27: Player4 >>> Player2
Step 28: Player2 >>> Player5
Step 29: Player5 >>> Player2
Step 30: Player2 >>> Player1
Step 31: Player1 >>> Player3
Step 32: Player3 >>> Player4
Step 33: Player4 >>> Player1
Step 34: Player1 >>> Player3
Step 35: Player3 >>> Player4
Step 36: Player4 >>> Player3
Step 37: Player3 >>> Player2
Step 38: Player2 >>> Player5
Step 39: Player5 >>> Player4
Step 40: Player4 >>> Player5
Step 41: Player5 >>> Player1
Step 42: Player1 >>> Player5
Step 43: Player5 >>> Player3
Step 44: Player3 >>> Player5
Step 45: Player5 >>> Player2
Step 46: Player2 >>> Player3
Step 47: Player3 >>> Player2
Step 48: Player2 >>> Player5
Step 49: Player5 >>> Player4
Step 50: Player4 >>> Player2
Step 51: Player2 >>> Player5
Step 52: Player5 >>> Player1
Step 53: Player1 >>> Player5
Step 54: Player5 >>> Player3
Step 55: Player3 >>> Player5
Step 56: Player5 >>> Player2
Step 57: Player2 >>> Player1
Step 58: Player1 >>> Player4
Step 59: Player4 >>> Player1
Step 60: Player1 >>> Player4
Step 61: Player4 >>> Player3
Step 62: Player3 >>> Player2
Step 63: Player2 >>> Player5
Step 64: Player5 >>> Player4
Step 65: Player4 >>> Player5
Step 66: Player5 >>> Player1
Step 67: Player1 >>> Player5
Step 68: Player5 >>> Player3
Step 69: Player3 >>> Player4
Step 70: Player4 >>> Player2
Step 71: Player2 >>> Player5
Step 72: Player5 >>> Player2
Step 73: Player2 >>> Player1
Step 74: Player1 >>> Player4
Step 75: Player4 >>> Player1
Step 76: Player1 >>> Player2
Step 77: Player2 >>> Player5
Step 78: Player5 >>> Player4
Step 79: Player4 >>> Player3
Step 80: Player3 >>> Player1
Step 81: Player1 >>> Player5
Step 82: Player5 >>> Player1
Step 83: Player1 >>> Player4
Step 84: Player4 >>> Player5
Step 85: Player5 >>> Player3
Step 86: Player3 >>> Player5
Step 87: Player5 >>> Player2
Step 88: Player2 >>> Player3
Player2: I'm out!
Step 89: Player3 >>> Player4
... player Player2 is out ...
Step 90: Player4 >>> Player1
Step 91: Player1 >>> Player3
Step 92: Player3 >>> Player1
Step 93: Player1 >>> Player4
Step 94: Player4 >>> Player3
Step 95: Player3 >>> Player5
Step 96: Player5 >>> Player1
Step 97: Player1 >>> Player5
Step 98: Player5 >>> Player3
Step 99: Player3 >>> Player5
Step 100: Player5 >>> Player4
Step 101: Player4 >>> Player5
Player4: I'm out!
... player Player4 is out ...
Step 102: Player5 >>> Player1
Step 103: Player1 >>> Player3
Step 104: Player3 >>> Player1
Step 105: Player1 >>> Player3
Step 106: Player3 >>> Player5
Step 107: Player5 >>> Player3
Step 108: Player3 >>> Player1
Step 109: Player1 >>> Player3
Step 110: Player3 >>> Player5
Step 111: Player5 >>> Player1
Step 112: Player1 >>> Player3
Step 113: Player3 >>> Player5
Step 114: Player5 >>> Player3
Step 115: Player3 >>> Player1
Step 116: Player1 >>> Player3
Step 117: Player3 >>> Player5
Step 118: Player5 >>> Player1
Step 119: Player1 >>> Player3
Step 120: Player3 >>> Player5
Step 121: Player5 >>> Player3
Player5: I'm out!
... player Player5 is out ...
Step 122: Player3 >>> Player5
Step 123: Player5 >>> Player1
Player5: I'm out!
Step 124: Player1 >>> Player3
... player Player5 is out ...
Step 125: Player3 >>> Player1
Step 126: Player1 >>> Player3
Player1: I'm out!
... player Player1 is out ...
Step 127: Player3 >>> Player3
Player3: I'm out!
Step 128: Player3 >>> Player3
... player Player3 is out ...
Player3: I'm out!
Stop!
Step 129: Player3 >>> Player3
Player3: I'm out!
เบเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบฐเบซเบผเบธเบเบเบตเปเบชเปเบฒเบเบฑเบเบเปเบฒเบเบงเบเบซเบเบถเปเบ:
- เบเปเบงเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบฒเปเบเบฑเบ, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบฅเบฐเบซเบงเปเบฒเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฑเบเบเบงเบฒเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ;
- เบเบงเบฒเบกเบเบฑเบเบเปเบญเบเบเบญเบเบงเบฝเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบตเปเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเปเบฒเบเบงเบดเบชเบฐเบงเบฐเบเปเบฒเบชเบฒเบกเบฒเบเบเบทเบเปเบเบทเปเบญเบเปเบงเปเบเบฒเบเปเบเบเบญเบเบเปเบฒเบงเปเบฒเบเบตเปเปเบเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเบเบญเบเปเบเบทเปเบญเบเบเบปเปเบ. เบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเบเบญเบเบเบฑเบเบซเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเปเบเบทเปเบญเบเปเบงเป, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเบฒเบเปเบเบฅเบฐเบซเบฑเบเบเบฐเบกเบตเบฅเบฑเบเบชเบฐเบเบฐ;
- เปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบซเบเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบเบตเปเบเบฐเบเปเบญเบเบเปเบฒเบเบถเบเปเบเบดเบเบเบงเบฒเบกเบชเบญเบเบเปเบญเบเปเบเบเบตเปเบชเบธเบเปเบฅเบฐเบเบฒเบเบเบฒเบ linearizability เบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบนเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเบซเบกเบปเบ. เบเบตเปเบเบฑเบเบเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเบฑเบเบชเบปเบเปเบซเบเบเบปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบกเบฑเบ insensitive เบเบฑเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบซเบเบเบฒเบเบเบฒเบเบเบญเบเปเบเบตเบเบเบถเปเบ. เปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบนเปเบเบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเปเบเบกเบซเบผเบฑเบเบเบฒเบเบเบตเปเบฅเบฒเบงเบเบฐเบเบฒเบเบญเบญเบเบเบฒเบเปเบเบก: เบเบนเปเบเบญเบทเปเบเปเบเบฐเบชเบทเบเบเปเปเบชเบปเปเบเบเบฒเบเปเบเบซเบฒเบฅเบฒเบงเบเบปเบเบเปเบงเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบญเบญเบเบเบญเบเบฅเบฒเบงเปเบเบฎเบญเบเปเบฅเบฐเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบนเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเบฑเบเบซเบกเบปเบ. เปเบซเบเบเบปเบเบเบตเปเบเปเปเปเบเปเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบเบเบญเบเปเบเบกเปเบฅเบฐเปเบเบฑเบเบเบฒเบเปเบเปเปเบเบเบฒเบเบเบฐเบเบตเบเบฐเบเบญเบกเบเบฒเบเปเบเบเบญเบเบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบตเปเปเบฅเบทเบญเบ.
เบเปเปโเปเบโ, เบเบงเบโเปเบฎเบปเบฒโเบเบฐโเปเบงเบปเปเบฒโเปเบเบดเบโเบเบงเบฒเบกโเบซเบเบธเปเบโเบเบฒเบโเบเปเบฒเบเปโเบเบญเบโเบเบฒเบโเปเบเปโเปเบโเบเบญเบโเบเบงเบโเปเบฎเบปเบฒโ, เบเบฒเบโเบเบฐโเบเบตโเบเบฐโเบโเบญเบกโเปเบฅเบฐโเบเบธเบโเบญเบทเปเบเปโ.
เบเปเปเบเบงเบฒเบกเบเบฑเบเปเบปเบเบขเบนเปเปเบเบเบดเบงเบเบฝเบง
เบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฑเบเบซเบกเบปเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบฅเบปเบเปเบกเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบซเบเบถเปเบ, เปเบเบดเปเบเบเปเบฒเบชเบฐเปเบซเบเบตเปเบเบฎเบนเบเปเบเบเบเบญเบเบเบฒเบเบซเบเปเบฒเบเบฒเบเบเบญเบ, เบซเบเบถเปเบ BPMQueue เบชเปเบฒเบฅเบฑเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบซเบปเบงเบเปเป BPMTopic เบซเบเบถเปเบเบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบ (เปเบซเบเบเบฒเบ). เบเบฒเบเบงเบฒเบเบเปเปเบเบงเบฒเบกเบเบฑเบเบซเบกเบปเบเบเปเบฒเบเปเบเบงเบเบฝเบงเปเบกเปเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบเบฑเบเบเบฒเบเบเบฐเบเบตเบเบฐเบเบญเบก. เปเบเบฅเบฐเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบฐเบเปเบฒเบเบฐเปเบเบเบเปเปเบเบงเบฒเบกเปเบซเบกเปเบซเบผเบฒเบเปเบเบปเปเบฒเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบเบชเปเบฒเบเบฅเบฐเบเบปเบ. เบเบตเปเปเบกเปเบเบเบงเบฒเบกเบเปเบฒเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบ, เปเบเปเบกเบฑเบเบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเบตเปเปเบเปเบเบญเบ, เปเบเบดเปเบเปเบเปเบเปเบเบญเบเบงเบฝเบเบเบฒเบเบเบปเบเบเบฐเบเบดเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเปเบชเปเบฒเบเบฑเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ.
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบกเบตเบเบงเบฒเบกเบญเปเบญเบเปเบซเบงเบญเบฑเบเบซเบเบถเปเบเบขเบนเปเบเบตเปเบเบตเป: เปเบเปเบฅเบฐเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฒเบเบเบฑเปเบเบเบญเบเบเปเปเบเบงเบฒเบก "เบเบญเบเบกเบฑเบ" เบเบฒเบเปเบเบงเบขเบนเปเบเบฒเบเปเบเบปเปเบฒ, เปเบเบเบเบทเปเปเบเปเบกเบเบเบญเบเบกเบฑเบ. เปเบเปเบกเบเบเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเบชเบฑเบเบเบฒเบเบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฒเบเบฑเบ "เบเบญเบเปเบเบเบเบญเบเบเบฒเบเปเบเบดเปเบเปเบซเบฑเบ" เบเบญเบเบชเบฑเบเบเบฒเบเปเบซเปเบเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฝเบง. เบเบตเปเบเบงเบเบเบฐเปเบเบตเปเบกเบเบฒเบเบชเบปเปเบเบเปเบฒเบเบฅเบปเบเปเบก, เปเบเปเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบญเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบฑเบเบเบทเปเปเบเปเบกเบ: เบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบก - เบเบฑเบเบเบฑเบ, เบชเปเบฒเบฅเบฑเบเบชเบฑเบเบเบฒเบ - เบเบงเบฒเบกเบเบฒเบเบฐเบซเบเบฒ.
เบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเบเบญเบเบฅเบปเบเปเบกเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ
เบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเบเบฐเบเบญเบเบเปเบงเบเบซเบผเบฒเบเบเบธเบ:
- เบเบฒเบเบซเบเปเบฒเบเปเปเบเบงเบฒเบกเบเบตเปเปเบฅเบทเบญเบเปเบกเปเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเปเบฅเบฐเบเบธเบเบเบฝเบงเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบง: เบกเบฑเบเบเปเบญเบเบกเบตเบเบงเบฒเบกเบเบปเบเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบดเบเบเบฝเบเบเป. เบเปเบฒเบเบเบงเบเปเบเปเบเบฝเบเปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบปเบเบชเบญเบเบเบตเปเปเบเปเปเบงเบฅเบฒ, เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบตเปเบเบตเปเบฅเบฐเบเบธเบกเบเบปเบเบเบฐเบซเบเบฒเบเปเบซเบเป;
- เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเปเบญเบกเบเบญเบเบเบฒเบเบซเบเปเบฒเบเปเปเบเบงเบฒเบก, เปเบเบดเปเบเบกเบฑเบเบเปเบญเบเบเบทเบเปเบเบเบญเบญเบเบเบฒเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ (เบเบงเบฒเบกเบเปเบญเบกเบชเบนเบเบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบกเบตเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบตเปเบเปเบฒเปเบเปเปเบกเปเบเบกเบตเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบฅเบฐเบกเบตเบฅเบฒเบเบฒเปเบเบเบเบงเปเบฒเปเบเบทเปเบญเบฎเบฑเบเบเบฐเบเบฑเบ);
- เบเบฒเบเบซเบเปเบฒเบกเบตเบเบฑเบเบเบฐเปเบซเป "เบขเปเบฒเบเบซเบเปเบญเบเบซเบเบถเปเบเบเบฑเปเบ" เบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบชเบปเปเบ. เบเบตเปเปเบกเปเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบฑเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเปเบเบทเปเบญเบเบทเปเบเปเบเบญเบเบฅเบปเบเปเบกเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ. เบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบฅเบฐเบเบฑเบ "เปเบเปเบเบญเบเบซเบเบถเปเบเบเบฑเปเบ": เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เบเบฒเบกเบเบปเบเบฅเบฐเบเบฝเบ, เบเปเปเบกเบตเบเบงเบฒเบกเบญเปเบญเบเปเบซเบงเบเปเปเบเบฑเบเบเบฒเบเบกเบฒเบฎเบญเบเบเบญเบเบเปเปเบเบงเบฒเบกเบซเบผเบทเปเบซเบเบเบฒเบเบเปเปเบฒเบเปเบญเบ, เปเบฅเบฐเปเบเบงเบฝเบเบเบฒเบเบเบดเปเบชเบเบเบตเปเบกเบตเบเบงเบฒเบกเบชเปเบฒเบเบฑเบ, เบกเบฑเบเบเปเบฒเบเบเบตเปเบเบฐเปเบเบตเปเบกเบเบฒเบเบเบงเบเบชเบญเบเปเบเบตเปเบกเปเบเบตเบกเปเบซเปเบเบฑเบเบเบธเบฅเบฐเบเบดเบ. เปเบซเบเบเบปเบเบซเบผเบฒเบเบเบงเปเบฒเบเบตเปเบเบฐเบเปเบฒเปเบเปเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเบเปเบญเบเบเปเบฒเบ "เปเบเบ" "เบฎเบฑเบเบเบฐเบเบฑเบ;
- เบเบฒเบเบชเบปเปเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบชเบฑเบเบเบฒเบเบเปเบญเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบธเบฅเบฐเบเปเบฒเปเบเบเบฅเบงเบกเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเบเปเปเบกเบนเบเปเบเปเบกเบ. เบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบกเปเบเบเบฒเบเปเบเปเบฎเบนเบเปเบเบ
เบเปเบญเบเบเบฒเบญเบญเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ , เปเบเปเบกเบฑเบเบเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบฐเบฅเบฒเบเปเบเบตเปเบกเปเบเบตเบกเปเบเบเบฒเบเบเปเปเบกเบนเบเปเบฅเบฐ repeater. เปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ JEE, เบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเปเบเปเบเบนเปเบเบฑเบเบเบฒเบ JTA เบเปเบญเบเบเบดเปเบ, เปเบเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเบซเบเปเบฒเบเบตเปเปเบฅเบทเบญเบเบเปเบญเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเป.XA ; - handlers เบเบญเบเบเปเปเบเบงเบฒเบกเบเบฒเปเบเบปเปเบฒเปเบฅเบฐเปเบซเบเบเบฒเบเบเบฑเบเบเปเบญเบเปเบเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเบตเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ: เบเปเบฒเบซเบฒเบเบงเปเบฒเบเบธเบฅเบฐเบเปเบฒเบเบฑเปเบเบเปเบฒเบงเปเบเปเบเบทเบเบกเปเบงเบเบเบทเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบฐเบเปเบญเบเบเบทเบเบเบปเบเปเบฅเบตเบ;
- เบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเปเปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฐเบเปเบญเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเปเบเบเบเปเบฒเบเบซเบฒเบ
D.L.Q. (เปเบเบงเบเบปเบเปเบฒเบเบเบฒเบ). เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบชเปเบฒเบ microservice เปเบเบฅเบฐเบเบฐเบเบญเบกเปเบเบเบเปเบฒเบเบซเบฒเบเบเบตเปเปเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบฑเปเบเบเปเบฒเบงเบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบญเบเบกเบฑเบ, เบเบฑเบเบชเบฐเบเบตเบเบงเบเบกเบฑเบเปเบเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ (เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบธเปเบกเปเบงเปเบฅเบฐเบเบฒเบเบเบญเบเบซเบฒ), เปเบฅเบฐเปเบเบตเบเปเบเบตเบ API เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบดเปเบ, เบชเบปเปเบเบเบทเบเปเบเบซเบฒเบเบตเปเบขเบนเปเบเบฒเบเบเบฒเบ, เปเบฅเบฐเบฅเบถเบเบเปเปเบเบงเบฒเบก. เบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบเปเบฒเบเบเบฒเบเปเบเปเบเบญเบเปเบงเบฑเบเบเบญเบเบเบงเบเปเบเบปเบฒ; - เปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบซเบเปเบฒ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฑเบเบเปเบฒเบเบงเบเบเบฒเบเบชเบปเปเบเบเบทเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเปเบฒเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบชเบปเปเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบฐเปเบเบปเปเบฒเปเบเปเบ DLQ (เบกเบฑเบเปเบเบทเบญเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบเบดเบเปเบฅเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ, เปเบเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบดเบเปเบฅเบฐเบเบฑเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ. );
- เบฎเปเบฒเบเบเปเบฒ DLQ เบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบดเบเบเบฒเบกเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ, เปเบฅเบฐเบฅเบฐเบเบปเบเบเบฒเบเบเบดเบเบเบฒเบกเบเปเบญเบเปเบเปเบเปเบเบทเบญเบเบเบนเปเปเบเบดเปเบเปเบเบเบฅเบฐเบเบปเบเปเบเบทเปเบญเบงเปเบฒเปเบกเบทเปเบญเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเปเบเปเบชเบปเปเบเปเบเบตเบเบเบทเปเบ, เบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบเปเปเบงเปเบเบปเปเบฒเบเบตเปเบเบฐเปเบงเปเบเป. เบเบตเปเบเบฐเบซเบผเบธเบเบเปเบญเบ "เบเบทเปเบเบเบตเปเปเบเปเบฎเบฑเบเบเบปเบเบเบฐเบเบปเบ" เบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบซเบผเบทเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ;
- เบฅเบปเบเปเบกเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเปเบญเบเบกเบตเบเบงเบฒเบกเบญเปเบญเบเปเบซเบงเบเปเปเบเบฑเบเบเบฒเบเบเปเปเบกเบตเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบปเปเบงเบเบฒเบง: เบเบฒเบเบชเบฐเบซเบกเบฑเบเบซเบปเบงเบเปเปเปเบเบซเบเบถเปเบเบเปเบญเบเบเบปเบเบเบฒเบ, เปเบฅเบฐเบเบทเปเปเบเปเบกเบเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเบญเบเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ, เบเบฑเปเบเบเบฑเปเบเปเบเบเบฐเบเบฐเบเบตเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเปเปเบขเบนเป, เบเบปเบเบญเบทเปเบเบเบฐเบเปเปเบเบฐเบเบฒเบเบฒเบกเบเบฐเบกเบงเบเบเบปเบเบเปเปเบเบงเบฒเบกเบเบญเบเบกเบฑเบเบเบฒเบ. เบเบดเบง.
เบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบเบญเบเปเบเบเบฐเบเบนเปเบเบญเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ
เบเบปเบงเบขเปเบฒเบเบเบฝเบงเบเบฑเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเปเบซเบเบเบฒเบเบซเบผเบฒเบเบเบฑเปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบฐเบซเบเบฒเบ. เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบงเบเบเบฐเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบเบญเบเปเบ.
เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเปเบเปเบฅเบฐเปเบซเบเบเบฒเบเบเบฒเบเบเบญเบเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเปเปเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฑเปเบเปเบเบฑเบเบชเปเบงเบเบเบธเบเบเบปเบ. เปเบซเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบญเบฒเบเบเบฐเปเบเบฑเบ:
- เปเบเบตเบเบเบปเบงเบขเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ;
- เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบนเปเปเบเปเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบดเบเบเบฐเบเปเบฒเบเบฒเบเปเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ;
- เบเบฒเบโเบฎเบฑเบโเบเปเปโเบเบงเบฒเบกโเบซเบผเบทโเบชเบฑเบโเบเบฒเบโเบเบตเปโเบเบปเบงโเบขเปเบฒเบโเบเบฐโเบเบงเบโเบเบฒเบโเบเบธโเบฅเบฐโเบเบดเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเบฐโเบซเบกเบฑเบโ;
- triggering เบเบญเบ timer เบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบเบเบปเบงเบขเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ;
- เบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบฒเบ API (เบเบปเบงเบขเปเบฒเบ, เบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฐเบเบงเบเบเบฒเบ).
เปเบเปเบฅเบฐเปเบซเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบชเบฒเบกเบฒเบเบเปเบฝเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบปเบงเบขเปเบฒเบ: เบเบฒเบเบเบดเบเบเบฐเบเปเบฒเบญเบฒเบเบเบฐเบชเบดเปเบเบชเบธเบเบฅเบปเบเปเบฅเบฐเบเบปเบเบญเบทเปเบเบญเบฒเบเบเบฐเปเบฅเบตเปเบกเบเบปเปเบ, เปเบฅเบฐเบเบธเบเบเปเบฒเบเบญเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบปเบเบเบตเปเบญเบฒเบเบเบฐเบเปเบฝเบเปเบเบ. เบเบฒเบเบเบดเบเบเบดเบเบเบฐเบเปเบฒเปเบเปเบญเบฒเบเบเบฐเบชเบปเปเบเบเบปเบเปเบซเปเบเบดเบเบเบฐเบเปเบฒเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเบดเบเบเบฐเบเปเบฒเบเปเปเปเบเบเบตเป. เปเบซเบผเบปเปเบฒเบเบฑเปเบ, เปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบชเบฒเบกเบฒเบเบขเบธเบเปเบเบปเบฒเบเบฒเบเบฅเปเบเปเบฒเปเบซเบเบเบฒเบเบญเบทเปเบเปเบซเบผเบท, เบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเปเบเปเบญเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบก, เบชเบฒเบกเบฒเบเปเบฎเบฑเบเบชเปเบฒเปเบฅเบฑเบเปเบเบเบธเบฅเบฐเบเปเบฒเบเบฝเบงเบเบฑเบ. เบเปเบญเบเบเบตเปเบเบฐเบเบดเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒ, เบชเบฐเบเบฒเบเบฐเปเบซเบกเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฐเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบเบฒเบเบเปเปเบกเบนเบ, เบเปเบญเบเบเบตเปเบกเบฑเบเบเบฐเบฅเปเบเปเบฒเปเบซเบเบเบฒเบเบเบฒเบเบเบญเบเบเปเปเปเบ.
เบเปเปโเบกเบนเบโเบเบฐโเบเบงเบโเบเบฒเบโเบเบธโเบฅเบฐโเบเบดเบโเบเบปเบโเบเบตเปโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเปเบงเปโเปเบโเบเบฒเบโเบเปเปโเบกเบนเบโเบเบตเปโเบเปเบฝเบงโเบเปเบญเบโเปเบเบฑเบโเบเบธเบโเบชเบฐโเบเบงเบโเบเบตเปโเบชเบธเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบ synchronizing เบเบฒเบโเบเบธเบโเปเบเปเบโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒเบโเบเปเบฒโเปเบเป SELECT FOR UPDATE. เบเปเบฒเบเบธเบฅเบฐเบเปเบฒเบซเบเบถเปเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเบเบทเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบกเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบตเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบญเบทเปเบเปเบเบเบฐเบซเบเบฒเบเบเบฐเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบญเบทเปเบ, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบเบธเบฅเบฐเบเปเบฒเบเปเบฒเบญเบดเบ, เบญเบฑเบเบเบตเบชเบญเบเปเบกเปเบ. เบฎเบฑเบโเบเบฐโเบเบฑเบโเบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเปเบฝเบโเปเบเบโเบเบญเบโเบฅเบฑเบโ.
เบเบฒเบเบเปเบฒเปเบเป locks เบเบตเปเบเปเปเบเบตเปเบเบเปเบฒเบ DBMS, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฑเบเบซเบกเบปเบ
เปเบเบงเปเบเบเปเปเบเบฒเบก, เบเบฒเบเบฅเบฑเบญเบเปเบเปเบเปเบฎเปเบฒเบเบเบฐเบเบปเปเบกเบเบนเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบฒเบเบเบดเบเบเปเบฒเบ, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ SELECT FOR UPDATE เบเบงเบเบเบทเบเบเปเบฒเบเบฑเบเบเบฒเบเบซเบกเบปเบเปเบงเบฅเบฒเบเบตเปเบชเบปเบกเปเบซเบเบชเบปเบกเบเบปเบเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบงเบฒเบกเบเบฒเบเปเบเบตเบเบเบทเปเบเปเบเบเบฒเบเบเปเบฅเบฐเบเบตเบเบตเปเบฎเปเบฒเบเปเบฎเบเปเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ.
เบเบฑเบเบซเบฒเบญเบทเปเบเปเบกเปเบ synchronization เบเบญเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ. เปเบเบเบฐเบเบฐเบเบตเปเบเปเปเบกเบตเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เบเปเปเบกเบตเบฅเบฑเบเบขเบนเปเปเบเบเบฒเบเบเปเปเบกเบนเบ, เบเบฑเปเบเบเบฑเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเบเบฐเบเปเปเปเบฎเบฑเบเบงเบฝเบ. เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบญเบเบเบปเบงเบขเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบเบญเบเปเบเบเบชเบฐเปเบเบฒเบฐเปเบเบซเบเบถเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบฒเบเบเบฐเปเบเบเบเบญเบเบเบฒเบ synchronization เบงเบฑเบเบเบธเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบซเปเบญเบเบฎเบฝเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเบฐเบเบญเบเปเบเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. เปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบปเบเปเบเบเบฒเบเบฅเบฑเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบญเบปเบฒเบเบฒเบเบฅเบฑเบญเบเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบตเปเบเบปเบเปเบญเบเบกเบฑเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบเบฐเปเบเปเบเบฎเบนเบเปเบเบ URI เบเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฒเบเบเบญเบ.
เปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ InitialPlayer เบเบฐเบเบญเบเบเปเบงเบเบเบฒเบเบเบฐเบเบฒเบ
uniqueConstraint = UniqueConstraints.singleton
เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบเบเบถเบเบกเบตเบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบญเบปเบฒเปเบฅเบฐเบเปเบญเบเบเบปเบงเบฅเบฑเบญเบเบเบญเบเบเบฐเปเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ. เบเปเปเบกเบตเบเปเปเบเบงเบฒเบกเบเบฑเปเบเบเปเบฒเบงเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบญเบทเปเบเป: uniqueConstraint เบเปเปเปเบเปเบเปเบฒเบเบปเบ.
เบเบฑเบเบซเบฒเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบปเบเบเบตเป
เบเบฒเบเบเบฑเปเบเบเบฒเบเบกเบตเบฅเบฑเบเบเบปเบเบเบปเบงเบเปเปเบเบฝเบเปเบเปเบเปเบงเบ, เปเบเปเบเบฑเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบขเปเบฒเบเปเบเปเบเบดเบ.
เบเบฑเบเบซเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเบทเปเบญเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเบญเบเปเบฎเบฑเบเบเบฒเบกเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ เปเบฅเบฐ/เบซเบผเบท เบฎเบนเบเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ. เบเปเปเปเบกเปเบเบเบธเบเปเบเบฒเบเบเปเบฝเบเปเบเบเบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบฑเบเบชเบฐเบเบฒเบเบฐเปเบเบปเปเบฒเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ. เบเปเบฒเบกเบตเบเบปเบงเบขเปเบฒเบเบชเบปเบเบซเบผเบฒเบเปเบเบเบฒเบเบเปเปเบกเบนเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฑเบเบซเบฒเบซเบผเบฒเบ, เปเบเบดเปเบเบเบงเบเปเบฎเบปเบฒเบกเบฑเบเบเบฐเบเบปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเป jBPM.
เบญเบตเบเบเบฒเบกเบเบงเบฒเบกเปเบฅเบดเบเบเบญเบเบเบฒเบเบเปเบฝเบเปเบเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบชเบญเบเบงเบดเบเบต:
- เบชเปเบฒเบเบเบฐเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบซเบกเปเปเบเบทเปเบญเบเปเปเปเบซเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเบเบฑเบเบญเบฑเบเปเบเบปเปเบฒ, เปเบฅเบฐเปเบเปเบกเบฑเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเปเบเบเปเบเบปเปเบฒเปเบเปเบงเบฅเบฒเปเบเบตเบเบเบปเบงเปเบซเบกเป. เบชเบณเปเบเบปเบฒเปเบเบปเปเบฒเบเบฐเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบ โเบเบทเปเบเบปเปเบฒโ;
- เปเบเบทเปเบญเบเบเปเบฒเบเบชเบฐเบเบฒเบเบฐเบเบตเปเบเบปเบเบเปเบฒเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบกเบทเปเบญเบเบฑเบเบเบธเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ.
เบงเบดเบเบตเบเปเบฒเบญเบดเบเปเบกเปเบเบเปเบฒเบเบเบฒเบเบเบงเปเบฒ, เปเบเปเบกเบตเบเปเปเบเปเบฒเบเบฑเบเปเบฅเบฐเบเปเปเปเบชเบเบเบญเบเบกเบฑเบ, เบเบปเบงเบขเปเบฒเบ:
- duplicate เบเบญเบเปเบซเบเบเบปเบเบเบธเบฅเบฐเบเบดเบเปเบเบซเบผเบฒเบเบฎเบนเบเปเบเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เปเบเบตเปเบกเบเบฐเบงเบตเบเบฐเบฅเบดเบกเบฒเบเบเบญเบเปเบซเบเบเบปเบเบเบธเบฅเบฐเบเบดเบ;
- เปเบฅเบทเปเบญเบเปเบเบฒเบเบซเบฑเบเบเปเบฝเบเบเบฑเบเบเบตเปเบเบชเบนเปเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบซเบกเปเปเบกเปเบเบเปเบฒเปเบเบฑเบ (เปเบเปเบเปเบเบญเบเบงเบฝเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบ - เปเบเบทเบญเบเบชเบฐเปเบซเบกเบต);
- เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเปเปเบฎเบนเปเบงเปเบฒเบฎเบนเบเปเบเบเปเบเบเบตเปเบฅเปเบฒเบชเบฐเปเบซเบกเบชเบฒเบกเบฒเบเบเบทเบเบฅเบปเบเบญเบญเบเปเบเป.
เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบชเบญเบเบงเบดเบเบตเบเบฒเบ, เปเบเปเปเบเปเบเบฑเบเบชเบดเบเปเบเบเปเบฒเบเบงเบเบซเบเบถเปเบเปเบเบทเปเบญเปเบฎเบฑเบเปเบซเปเบเบตเบงเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบเบถเปเบ:
- เปเบเบเบฒเบเบเปเปเบกเบนเบ, เบชเบฐเบเบฒเบเบฐเบเบปเบเบเบตเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบฎเบนเบเปเบเบเบเบตเปเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบเปเปเบฅเบฐเบเบธเบเปเบเปเบเปเบเปเบเปเบฒเบ: เปเบเบฎเบนเบเปเบเบ JSON. เบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเปเบเบทเปเบญเบเบฐเบเบดเบเบฑเบเบเบฑเบเบเบฒเบเปเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบญเบ. เปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบชเบธเบเบเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเปเบเบกเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ (เปเบเบเบชเบฐเปเบเบฒเบฐเปเบกเปเบเปเบเบฑเบเบเบฐเปเบซเบเบเปเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบ debugging);
- เปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบเปเปเปเบเปเปเบเปเบเบทเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบ, เบเบฑเปเบเบเบฑเปเบเบเบธเบเปเบงเบฅเบฒเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบปเบเปเบเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบตเปเปเบเบปเปเบฒเบฎเปเบงเบกเบเปเบงเบเบเบทเปเปเบซเบกเป (เบเบปเบงเบขเปเบฒเบ, "InitialPlayerV2"). เบเบฒเบเบเบนเบเบกเบฑเบเปเบเบตเบเบเบถเปเบเปเบเบเบเปเบฒเบเบเปเปเบเบงเบฒเบกเปเบฅเบฐเบเบทเปเบชเบฑเบเบเบฒเบ;
- เบฎเบนเบเปเบเบเบเบฐเบเบงเบเบเบฒเบเบกเบตเบเปเบฒเบเบงเบเบฎเบธเปเบ, เบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเบตเปเบกเบเบถเปเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบเปเปเปเบเบปเปเบฒเบเบฑเบเบเบฑเบเบเบปเบงเปเบเบเบเบตเป, เปเบฅเบฐเบเบปเบงเปเบฅเบเบเบตเปเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเบเปเบญเบกเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบปเบงเบขเปเบฒเบเบเบฐเบเบงเบเบเบฒเบ;
- เบชเบฐเบเบฒเบเบฐเบเบปเบเบเบตเปเบเบญเบเบเบฐเบเบงเบเบเบฒเบเปเบกเปเบเบญเปเบฒเบเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบเปเบญเบเปเบเบปเปเบฒเปเบเปเบเบฎเบนเบเปเบเบเบงเบฑเบเบเบธเบเบตเปเบชเบฐเบเบงเบ, เปเบเบดเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเปเบฒเบเบปเบงเปเบฅเบเบฎเบธเปเบเบเบญเบเบเบปเบงเปเบเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ;
- เบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเปเบกเปเบเบเบทเบเบเบฑเบเปเบชเปเบขเบนเปเบเปเบฒเบเบเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบฅเบฐเปเบญเบตเปเบเบงเปเบฒ "lazy" เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบเบทเปเบเบเบนเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบ;
- เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเปเบฒเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเบฐเบเบงเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเบขเปเบฒเบเปเบงเบงเบฒเปเบฅเบฐ synchronously, เบงเบดเบเบตเปเบเปเปเบเบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเบเบฒเบเบเปเปเบกเบนเบเบเบฅเบฒเบชเบชเบดเบเบซเบผเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเป, เปเบเปเบเปเบฒเบเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ JSON.
เบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบญเบเบญเบทเปเบเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเป?
เบงเบดเบเบตเปเบเปเปเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบเบเบปเบเบเบงเบฒเบกเปเบเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเปเบซเปเบเบตเบงเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบเบฒเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ, เบเบฐเบซเบเบฒเบเบเบญเบเปเบเบเบเบญเบเบเบฑเบเบซเบฒเบเบตเปเปเบเปเปเบเปเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเปเบเบเปเบซเบเบเบปเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเบปเปเบฒเปเบเปเบ microservices เบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบซเบผเบฒเบ. เปเบเบทเปเบญเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เบงเบฝเบเบเบฒเบเบซเบผเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ, เบเบญเบ "เบเปเปเบฒเบซเบเบฑเบเปเบเบปเบฒ" เบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบทเปเบญเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบเบเบญเบเปเบเบเบเบญเบเบเบฑเบเบซเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเปเบเบงเปเบฒเบเบเบงเบฒเบ. เบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบเบฒเบเบฐเบซเบเบฒเบเบตเปเบเบฐเปเบเปเบเบเบฑเบเบเบปเบเปเบเปเบฎเบฑเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบญเบปเบเบเบฐเบเบญเบเบเบปเปเบงเปเบเปเบเบตเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเปเบเปเปเบเบญเบฐเบเบธเบเบฒเบเบเบฃเบต. เบเบตเปเบเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเปเบฅเบฐเปเบงเบฅเบฒเบเบฒเบเบขเปเบฒเบ. เบเบฒเบเปเบเบปเปเบฒเปเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเปเบเบเบฑเปเบเบเปเบฒเบงเบญเบฒเบเบเบฐเปเบเบฑเบเปเบฎเบเบเบนเบเปเบเปเบเบตเปเบกเปเบเบตเบกเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบชเบฐเปเบซเบเบต, เบเบงเบฒเบกเบชเบปเบเปเบเบซเบเปเบญเบเบซเบผเบฒเบเปเบกเปเบเบเปเบฒเบเปเบซเปเบเบฑเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบญเบเบเบญเบเบเบปเบงเบกเบฑเบเปเบญเบ, เปเบเปเบเบฒเบเบญเบฑเบเปเบกเปเบเปเบซเบฑเบเปเบเปเบเบฒเบเบเบปเบงเบขเปเบฒเบเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบต. เบเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเบตเบเปเบเปเบเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบปเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบซเบฒเบเบเบฐเบเบทเบเบญเบธเบเบดเบเปเบซเปเบเบฑเบเบกเบฑเบ. เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบเบญเบเปเบเบเปเบฒเบเปเบฒเบเบเบญเบเบเปเบฒเบเบฒเบกเปเบฅเบฑเบเบเปเบญเบ:
เบเบฝเบเปเบเปเบเบนเปเปเบเปเบฅเบปเบเบเบฐเบเบฝเบเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเบฎเปเบงเบกเปเบเบเบฒเบเบชเปเบฒเบซเบผเบงเบ.
เบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบญเบเบญเบทเปเบเบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเบเบธเบฅเบฐเบเบดเบเบเป?
-
18,8%เปเบกเปเบเปเบฅเปเบง, เบเปเบญเบเบเบญเบเบซเบฒเบชเบดเปเบเปเบเบเบเบตเปเบกเบฒเบเบปเบเปเบฅเปเบง
-
12,5%เบเปเบญเบเบกเบตเบเบงเบฒเบกเบชเบปเบเปเบเปเบเบเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเปเบเบปเปเบฒ, เบกเบฑเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฐเปเบซเบเบ2
-
6,2%เบเบงเบเปเบฎเบปเบฒเปเบเปเบซเบเบถเปเบเปเบเบเบญเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เปเบเปเบเปเบฒเบฅเบฑเบเบเบดเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบ 1
-
18,8%เบเบงเบเปเบฎเบปเบฒเปเบเปเบซเบเบถเปเบเปเบเบเบญเบเบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบต3
-
18,8%เบเบงเบโเปเบฎเบปเบฒโเบเบฑเบโเบเบฒเบโเปเบเบโเบเปเปโเบกเบตโเบเบญเบโเปเบเบ 3
-
25,0%เบเบฝเบโเบเบญเบโเบเปเบฒเบ 4
16 เบเบนเปเปเบเปเบฅเบปเบเบเบฐเปเบเบเบชเบฝเบ. 7 เบเบนเปเปเบเปเบเบปเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com