рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рд╣реЕрд▓реЛ, рд╣рдмреНрд░!

рдЖрдордЪреА рдХрдВрдкрдиреА рдИрдЖрд░рдкреА-рдХреНрд▓рд╛рд╕ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорд╛рд╣рд┐рд░ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдЖрдгрд┐ рд╡рд░реНрдХрдлреНрд▓реЛ a la EDMS рд╕рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рдгрд╛рд▓реАрдВрдЪрд╛ рдореЛрдард╛ рд╡рд╛рдЯрд╛ рдЖрд╣реЗ. рдЖрдордЪреНрдпрд╛ рдЙрддреНрдкрд╛рджрдирд╛рдВрдЪреНрдпрд╛ рдЖрдзреБрдирд┐рдХ рдЖрд╡реГрддреНрддреНрдпрд╛ JavaEE рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╣ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдд рдЖрд╣реЛрдд. рдЕрд╢рд╛ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдХреНрд╖реЗрддреНрд░рд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рд╕рдореАрдк рдбреЛрдореЗрдирд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╡рд┐рдз рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг. рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕реНрдерд╛рдкрддреНрдп рд╢реИрд▓реА, рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕реНрдЯреЕрдХ рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХрдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░реВрди, рдПрдХрддреНрд░реАрдХрд░рдг рдХрд╛рд░реНрдпрд╛рдВрдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдиреЗрд╣рдореАрдЪ рдореЛрдареА рдбреЛрдХреЗрджреБрдЦреА рдЭрд╛рд▓реА рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЕрд▓реАрдХрдбреЗ рдЕрд╢рд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдкреНрд░рдЧрддреА рдЭрд╛рд▓реА рдЖрд╣реЗ.

рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрдгреВрди рджрд┐рд▓реЗрд▓реНрдпрд╛ рд▓реЗрдЦрд╛рдд, рдореА рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд╖реЗрддреНрд░рд╛рддреАрд▓ рдПрдирдкреАрдУ рдХреНрд░рд┐рд╕реНрдЯрд╛ рдЪреНрдпрд╛ рдЕрдиреБрднрд╡ рдЖрдгрд┐ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╕рдВрд╢реЛрдзрдирд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрди. рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдПрдХрддреНрд░реАрдХрд░рдг рд╕рдорд╕реНрдпреЗрд╡рд░ рд╕реЛрдкреНрдпрд╛ рдЙрдкрд╛рдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреАрд▓ рдЖрдореНрд╣реА рдкрд╛рд╣реВ рдЖрдгрд┐ рдпрд╛ рд╕рд╛рдзреЗрдкрдгрд╛рдорд╛рдЧреЗ рдХрд╛рдп рджрдбрд▓реЗрд▓реЗ рдЖрд╣реЗ рддреЗ рд╢реЛрдзреВ.

рдЕрд╕реНрд╡реАрдХрд░рдг

рд▓реЗрдЦрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдЖрдгрд┐ рддрд╛рдВрддреНрд░рд┐рдХ рдЙрдкрд╛рдп рдорд╛рдЭреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╡реИрдпрдХреНрддрд┐рдХ рдЕрдиреБрднрд╡рд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗрдд. рд╣реЗ рдЙрдкрд╛рдп рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЕрд╕рд▓реНрдпрд╛рдЪрд╛ рджрд╛рд╡рд╛ рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЗрддрд░ рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдиреБрд╕рд╛рд░ рддреЗ рдЗрд╖реНрдЯрддрдо рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реАрдд.

BPM рдЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз?

рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рджреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреНрдпрд╛ рдЙрдкрд╛рдпрд╛рдВрдЪреНрдпрд╛ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреНрдпрд╛ рддрдкрд╢реАрд▓рд╛рдВрдордзреНрдпреЗ рдереЛрдбреЗрд╕реЗ рд╢реЛрдзрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ. рдЖрдордЪреНрдпрд╛ рдард░рд╛рд╡рд┐рдХ рдЯреНрд░рд╛рдиреНрдЭреЕрдХреНрд╢рдирд▓ рд╕рд┐рд╕реНрдЯреАрдордордзреАрд▓ рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХрдЪрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдореНрд╣рдгрдЬреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рдгреЗ, рд╣рд╛ рдбреЗрдЯрд╛ рд╡реНрдпрдХреНрддрд┐рдЪрд▓рд┐рддрдкрдгреЗ рдЖрдгрд┐ рдЖрдкреЛрдЖрдк рддрдкрд╛рд╕рдгреЗ, рдХрд╛рд╣реА рд╡рд░реНрдХрдлреНрд▓реЛрдордзреВрди рдкрд╛рд╕ рдХрд░рдгреЗ, рджреБрд╕рд░реНрдпрд╛ рд╕рд┐рд╕реНрдЯрдо / рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдбреЗрдЯрд╛рдмреЗрд╕ / рд╕рдВрдЧреНрд░рд╣рдгрд╛рд╡рд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреЗ, рдЕрд╣рд╡рд╛рд▓ рддрдпрд╛рд░ рдХрд░рдгреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдЧреНрд░рд╛рд╣рдХрд╛рдВрд╕рд╛рдареА рд╕рд┐рд╕реНрдЯрдордЪреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдСрдЯреЛрдореЗрд╢рди рдЖрд╣реЗ.

рд╕реЛрдпреАрд╕рд╛рдареА, рдЖрдореНрд╣реА рд╕рдВрдкреНрд░реЗрд╖рдгрд╛рдордзреНрдпреЗ "рджрд╕реНрддрдРрд╡рдЬ" рд╣рд╛ рд╢рдмреНрдж рд╡рд╛рдкрд░рддреЛ, рдбреЗрдЯрд╛ рд╕реЗрдЯрдЪреЗ рдХрд╛рд╣реА рдЕрдореВрд░реНрддреАрдХрд░рдг, рдПрдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рдХреАрджреНрд╡рд╛рд░реЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ "рд╕рдВрд▓рдЧреНрди" рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.
рдкрдг рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рд▓реЙрдЬрд┐рдХрдЪреЗ рдХрд╛рдп? рд╢реЗрд╡рдЯреА, рдПрдХреАрдХрд░рдгрд╛рдЪреЗ рдХрд╛рд░реНрдп рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рджреНрд╡рд╛рд░реЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреЗ рдЧреНрд░рд╛рд╣рдХрд╛рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрдиреБрд╕рд╛рд░ рдирд╕реВрди рдкреВрд░реНрдгрдкрдгреЗ рднрд┐рдиреНрди рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд╛рдЦрд╛рд▓реА рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ "рд╕рд╛рд╡рд▓реЗ" рдЬрд╛рддреЗ:

  • рдХреЙрдирд╡реЗрдЪреНрдпрд╛ рдХрд╛рдпрджреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд╛рдЦрд╛рд▓реА;
  • рдЗрддрд░ рдЙрддреНрдкрд╛рджрдирд╛рдВрд╕рд╛рдареА рдкреВрд░реНрд╡реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдЪреНрдпрд╛ рдкреБрдирд░реНрд╡рд╛рдкрд░рд╛рдЪрд╛ рдкрд░рд┐рдгрд╛рдо рдореНрд╣рдгреВрди;
  • рд╡рд╛рд╕реНрддреБрд╡рд┐рд╢рд╛рд░рджрд╛рдиреЗ рдард░рд╡рд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЧреИрд░-рдХрд╛рд░реНрдпрдХреНрд╖рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд.

рдореБрдЦреНрдп рд╡рд░реНрдХрдлреНрд▓реЛрдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдкрд╛рд╕реВрди рдПрдХрддреНрд░реАрдХрд░рдг рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рдореЛрдард╛ рдкреНрд░рд▓реЛрднрди рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рдПрдХреАрдХрд░рдг рдХрд▓рд╛рдХреГрддреАрдВрд╕рд╣ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рджреВрд╖рд┐рдд рд╣реЛрдК рдирдпреЗ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕рдХрд╛рд▓рд╛ рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд▓рдБрдбрд╕реНрдХреЗрдкрдЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдЪрд╛ рд╢реЛрдз рдШреЗрдгреНрдпрд╛рдкрд╛рд╕реВрди рд╡рд╛рдЪрд╡рддрд╛ рдпреЗрдИрд▓. рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪреЗ рдмрд░реЗрдЪ рдлрд╛рдпрджреЗ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рд╕рд░рд╛рд╡ рддреНрдпрд╛рдЪреА рдЕрдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рджрд░реНрд╢рд╡рддреЗ:

  • рдореБрдЦреНрдп рд╡рд░реНрдХрдлреНрд▓реЛрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдордзреНрдпреЗ рдорд░реНрдпрд╛рджрд┐рдд рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреВрдВрдореБрд│реЗ рдПрдХреАрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ рд╕рд╣рд╕рд╛ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓рдЪреНрдпрд╛ рд░реВрдкрд╛рдд рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреНрдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рдВрдХрдбреЗ рд╕рд░рдХрддреЗ (рдЦрд╛рд▓реА рд╕рдордХрд╛рд▓рд┐рдХ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪреНрдпрд╛ рдХрдорддрд░рддрд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ);
  • рдЬреЗрд╡реНрд╣рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХрдбреВрди рдЕрднрд┐рдкреНрд░рд╛рдп рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЛ рддреЗрд╡реНрд╣рд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд▓рд╛рдХреГрддреА рдореБрдЦреНрдп рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдд;
  • рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рдирдХрдбреЗ рджреБрд░реНрд▓рдХреНрд╖ рдХрд░рддреЛ рдЖрдгрд┐ рд╡рд░реНрдХрдлреНрд▓реЛ рдмрджрд▓реВрди рддреЗ рд╕рд╣рдЬрдкрдгреЗ рдЦрдВрдбрд┐рдд рдХрд░реВ рд╢рдХрддреЛ;
  • рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рджреГрд╖реНрдЯреАрдХреЛрдирд╛рддреВрди рд╕рд┐рд╕реНрдЯрдо рдПрдХрд▓ рд╣реЛрдгреЗ рдерд╛рдВрдмрд╡рддреЗ, рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдордзреАрд▓ "рд╕реАрдореНрд╕" рд▓рдХреНрд╖рд╛рдд рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рд╣реЛрддрд╛рдд, рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рджрд┐рд╕рддрд╛рдд рдЬреЗ рдПрдХрд╛ рд╕рдмрд╕рд┐рд╕реНрдЯрдордордзреВрди рджреБрд╕рд░реНтАНрдпрд╛ рд╕рдмрд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдбреЗрдЯрд╛рдЪреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╕реБрд░реВ рдХрд░рддрд╛рдд.

рдореБрдЦреНрдп рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣рд╛рдЪрд╛ рдЕрд╡рд┐рднрд╛рдЬреНрдп рднрд╛рдЧ рдореНрд╣рдгреВрди рдПрдХрддреНрд░реАрдХрд░рдг рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреЗ рд╣рд╛ рджреБрд╕рд░рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рдЖрд╣реЗ. рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдЪреНрдпрд╛ рдХреМрд╢рд▓реНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЧрдЧрдирд╛рд▓рд╛ рднрд┐рдбрдгреНрдпрд╛рдкрд╛рд╕реВрди рджреВрд░ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдирд╡реАрди рдПрдХрддреНрд░реАрдХрд░рдг рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рддрдпрд╛рд░ рдХрд░рдгреЗ рд╕реЛрдкреЗ рдЖрдгрд┐ рдиреИрд╕рд░реНрдЧрд┐рдХрд░рд┐рддреНрдпрд╛ рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рд╕рдорд╛рдзрд╛рди рдирд┐рд╡рдбрдгреНрдпрд╛рд╕рд╛рдареА рдХрдореАрдд рдХрдореА рдкрд░реНрдпрд╛рдпрд╛рдВрд╕рд╣. рд╣реЗ рджрд┐рд╕рддреЗ рддреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрд╣реЗ: рд╕рд╛рдзрди рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╡рд┐рдз рдкрд░реНрдпрд╛рдп рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреБрд░реЗрд╕реЗ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рд╕реНрд╡рддрдГрд▓рд╛ рдкрд╛рдпрд╛рдд рдЧреЛрд│реА рдорд╛рд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрдК рдирдпреЗ. рдЕрд╕реЗ рдЕрдиреЗрдХ рдкреНрд░рд╢реНрди рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рдПрдХрд╛ рдЕрднрд┐рдпрдВрддреНрдпрд╛рдиреЗ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рджрд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗрдд, рдкрд░рдВрддреБ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕рдХрд╛рдиреЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рджреИрдирдВрджрд┐рди рдХрд╛рдорд╛рдд рдЬреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реВ рдирдпреЗ: рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреНрдпрд╛ рд╕реАрдорд╛, рд╕рд╛рддрддреНрдп, рдЕрдгреБ, рд╕реБрд░рдХреНрд╖рд╛, рд╕реНрдХреЗрд▓рд┐рдВрдЧ, рд▓реЛрдб рдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрди рд╡рд┐рддрд░рдг, рд░рд╛рдЙрдЯрд┐рдВрдЧ, рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ, рдкреНрд░рд╕рд╛рд░ рдЖрдгрд┐ рд╕рдВрджрд░реНрдн рдмрджрд▓рдгреЗ рдЗ. рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░рдирд╛ рдЕрдЧрджреА рд╕реЛрдкреЗ рдирд┐рд░реНрдгрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдСрдлрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЕрд╢рд╛ рд╕рд░реНрд╡ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рдЖрдзреАрдЪ рд▓рдкрд▓реЗрд▓реА рдЖрд╣реЗрдд. рд╣реЗ рдирдореБрдиреЗ рдкреБрд░реЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд: рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреЗ рддрд░реНрдХ рдЦреВрдк рд╡реЗрд│рд╛ рдмрджрд▓рддрд╛рдд, рдЬреНрдпрд╛рдореБрд│реЗ рддреНрд░реБрдЯреАрдВрдЪрд╛ рдкрд░рд┐рдЪрдп рд╣реЛрдгреНрдпрд╛рдЪрд╛ рдзреЛрдХрд╛ рд╡рд╛рдврддреЛ, рддреНрд░реБрдЯреАрдВрдЪреА рдХрд┐рдВрдордд рдЕрдЧрджреА рдХрдореА рдкрд╛рддрд│реАрд╡рд░ рд░рд╛рд╣рд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗ.

рдкрдг рддрд░реАрд╣реА, рдмреАрдкреАрдПрдордЪрд╛ рддреНрдпрд╛рдЪреНрдпрд╛рд╢реА рдХрд╛рдп рд╕рдВрдмрдВрдз рдЖрд╣реЗ? рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд░реЗрдЪ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд ...
рдЦрд░рдВрдЪ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдЖрдгрдЦреА рдПрдХ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдЖрдордЪреНрдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдордзреНрдпреЗ рдЦреВрдк рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрд╣реЗ - рд░рд╛рдЬреНрдп рд╕рдВрдХреНрд░рдордг рдЖрдХреГрддреАрдЪреНрдпрд╛ рдШреЛрд╖рдгрд╛рддреНрдордХ рд╕реЗрдЯрд┐рдВрдЧрджреНрд╡рд╛рд░реЗ рдЖрдгрд┐ рд╕рдВрдХреНрд░рдордгрд╛рд╢реА рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рд╕рд╣ рд╣рдБрдбрд▓рд░реНрд╕ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдд "рджрд╕реНрддрдРрд╡рдЬ" рдЪреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддреА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгрд╛рд░реА рд╕реНрдерд┐рддреА рд╣реА "рджрд╕реНрддрдРрд╡рдЬ" рдЪреЗ рдЧреБрдгрдзрд░реНрдо рдЖрд╣реЗ.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг
рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╢реА рджрд┐рд╕рддреЗ

рдЕрд╢рд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд░реЗрдЦреАрдп рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╛рдкреЗрдХреНрд╖ рд╕рд╛рдзреЗрдкрдгрд╛ рдЖрдгрд┐ рдЧрддреАрдореБрд│реЗ рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдЬрд╕реЗ рдХреА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреНрд░рдгрд╛рд▓реА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрдд рдЬрд╛рддреЗ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рднрд╛рдЧ рд╡рд╛рдврддреЛ рдЖрдгрд┐ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирддреЛ. рд╡рд┐рдШрдЯрди, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд╣реА рднрд╛рдЧрд╛рдВрдЪрд╛ рдкреБрдирд░реНрд╡рд╛рдкрд░, рддрд╕реЗрдЪ рдлреЛрд░реНрдХрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рд╕рдорд╛рдВрддрд░рдкрдгреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрдИрд▓. рдЕрд╢рд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рд╕рд╛рдзрди рдЧреИрд░рд╕реЛрдпреАрдЪреЗ рдмрдирддреЗ рдЖрдгрд┐ рд░рд╛рдЬреНрдп рд╕рдВрдХреНрд░рдордг рдЖрдХреГрддреА рддреНрдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рд╕рд╛рдордЧреНрд░реА рдЧрдорд╛рд╡рддреЗ (рдПрдХреАрдХрд░рдг рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рдЖрдХреГрддреАрдордзреНрдпреЗ рдЕрдЬрд┐рдмрд╛рдд рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рд╣реЛрдд рдирд╛рд╣реАрдд).

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг
рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреЗрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрдирдВрддрд░ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╢реА рджрд┐рд╕рддреЗ

рдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрддреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪрд╛ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рдЗрдВрдЬрд┐рдирдЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг jBPM рд╕рд░реНрд╡рд╛рдд рдЬрдЯрд┐рд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдЙрддреНрдкрд╛рджрдирд╛рдВрдордзреНрдпреЗ. рдЕрд▓реНрдкрд╛рд╡рдзреАрдд, рдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдирд▓рд╛ рдХрд╛рд╣реА рдпрд╢ рдорд┐рд│рд╛рд▓реЗ: рдиреЛрдЯреЗрд╢рдирдордзреНрдпреЗ рдмрд░реНтАНрдпрд╛рдкреИрдХреА рдорд╛рд╣рд┐рддреАрдкреВрд░реНрдг рдЖрдгрд┐ рдЕрджреНрдпрдпрд╛рд╡рдд рдЖрдХреГрддреА рд░рд╛рдЦреВрди рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ. BPMN2.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг
рдЬрдЯрд┐рд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рдПрдХ рдЫреЛрдЯрд╛рд╕рд╛ рднрд╛рдЧ

рджреАрд░реНрдШрдХрд╛рд│рд╛рдд, рд╕рдорд╛рдзрд╛рди рдЕрдкреЗрдХреНрд╖реЗрдиреБрд╕рд╛рд░ рдЬрдЧреВ рд╢рдХрд▓реЗ рдирд╛рд╣реА: рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓ рд╕рд╛рдзрдирд╛рдВрджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЙрдЪреНрдЪ рд╢реНрд░рдо рддреАрд╡реНрд░рддреЗрдореБрд│реЗ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЙрддреНрдкрд╛рджрдХрддрд╛ рдирд┐рд░реНрджреЗрд╢рдХ рд╕рд╛рдзреНрдп рд╣реЛрдК рд╢рдХрд▓реЗ рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╣реЗ рд╕рд╛рдзрди рд╕реНрд╡рддрдГрдЪ рд╡рд┐рдХрд╕рдХрд╛рдВрдордзреНрдпреЗ рд╕рд░реНрд╡рд╛рдд рдирд╛рдкрд╕рдВрдд рдмрдирд▓реЗ. рдЗрдВрдЬрд┐рдирдЪреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд рд╕рдВрд░рдЪрдиреЗрдмрджреНрджрд▓ рджреЗрдЦреАрд▓ рддрдХреНрд░рд╛рд░реА рд╣реЛрддреНрдпрд╛, рдЬреНрдпрд╛рдореБрд│реЗ рдмрд░реЗрдЪ тАЬрдкреЕрдЪтАЭ рдЖрдгрд┐ тАЬрдХреНрд░рдЪреЗрд╕тАЭ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ.

jBPM рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдореБрдЦреНрдп рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреИрд▓реВ рдореНрд╣рдгрдЬреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╛рдареА рд╕реНрд╡рддрдГрдЪреА рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддреА рдЕрд╕рдгреНрдпрд╛рдЪреЗ рдлрд╛рдпрджреЗ рдЖрдгрд┐ рд╣рд╛рдиреА рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ. рдЖрдореНрд╣реА рд╕рд┐рдЧреНрдирд▓ рдЖрдгрд┐ рд╕рдВрджреЗрд╢рд╛рдВрджреНрд╡рд╛рд░реЗ рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рд╡рд╛рдкрд░реВрди рд╡рд┐рд╡рд┐рдз рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдордзреАрд▓ рдЬрдЯрд┐рд▓ рдПрдХреАрдХрд░рдг рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджреЗрдЦреАрд▓ рдкрд╛рд╣рд┐рд▓реА. рд╕рддрддрдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдпрд╛рдордзреНрдпреЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдмрдЬрд╛рд╡рддреЗ.

рд╡рд░реАрд▓ рдЖрдзрд╛рд░реЗ, рдЖрдореНрд╣реА рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдвреВ рд╢рдХрддреЛ: BPM рд╢реИрд▓реАрддреАрд▓ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдЖрдореНрд╣рд╛рд▓рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдордзреНрдпреЗ рд╕рд╛рдордВрдЬрд╕реНрдпрд╛рдиреЗ рдПрдХреАрдХрд░рдг рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдмрд╕рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд▓рд╛ рдпреЛрдЧреНрдп рдиреЛрдЯреЗрд╢рдирдордзреНрдпреЗ рджреГрд╢реНрдпрдорд╛рдирдкрдгреЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рд░рд╛рдЦреВрди рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд┐рд╕реНрддреГрдд рдХрд╛рд░реНрдпреЗ рд╕реЛрдбрд╡рд┐рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЛ.

рдПрдХреАрдХрд░рдг рдирдореБрдирд╛ рдореНрд╣рдгреВрди рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреЙрд▓рдЪреЗ рддреЛрдЯреЗ

рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЙрд▓рдЪрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ. рдПрдХ рдЙрдкрдкреНрд░рдгрд╛рд▓реА рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рдЗрдб рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдЗрдЪреНрдЫрд┐рдд рдкрджреНрдзрддреАрд╕рд╣ API рдЙрдШрдб рдХрд░рддреЗ. рджреБрд╕рд░реА рдЙрдкрдкреНрд░рдгрд╛рд▓реА рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рдмрд╛рдЬреВ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреЗ рдЖрдгрд┐ рдпреЛрдЧреНрдп рд╡реЗрд│реА, рдирд┐рдХрд╛рд▓рд╛рдЪреНрдпрд╛ рдЕрдкреЗрдХреНрд╖реЗрдиреЗ рдХреЙрд▓ рдХрд░рддреЗ. рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдЖрдзрд╛рд░рд╛рд╡рд░, рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдмрд╛рдЬреВ рдПрдХрд╛рдЪ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпреЗрдордзреНрдпреЗ рдХрд┐рдВрд╡рд╛ рднрд┐рдиреНрди рдордзреНрдпреЗ рд╣реЛрд╕реНрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рджреБрд╕рд▒реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рддреБрдореНрд╣рд╛рд▓рд╛ RPC рдЪреА рдХрд╛рд╣реА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд▓рд╛рдЧреВ рдХрд░рдгреЗ рдЖрдгрд┐ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреЗ рдорд╛рд░реНрд╢рд▓рд┐рдВрдЧ рдЖрдгрд┐ рдХреЙрд▓рдЪреЗ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рдЕрд╢рд╛ рдПрдХрддреНрд░реАрдХрд░рдг рдкреЕрдЯрд░реНрдирдордзреНрдпреЗ рдмрд░реНтАНрдпрд╛рдЪ рдкреНрд░рдорд╛рдгрд╛рдд рдХрдорддрд░рддрд╛ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╛рдзреЗрдкрдгрд╛рдореБрд│реЗ рддреЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ. рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреА рдЧрддреА рдореЛрд╣рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ "рдмрд░реНрдирд┐рдВрдЧ" рдбреЗрдбрд▓рд╛рдЗрдирдЪреНрдпрд╛ рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рддрд╛рдВрддреНрд░рд┐рдХ рдХрд░реНрдЬрд╛рдордзреНрдпреЗ рд╕рдорд╛рдзрд╛рди рд▓рд┐рд╣реВрди рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреЗ рдкреБрдиреНрд╣рд╛ рдкреБрдиреНрд╣рд╛ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╡реГрддреНрдд рдХрд░рддреЗ. рдкрд░рдВрддреБ рдЕрд╕реЗ рджреЗрдЦреАрд▓ рдШрдбрддреЗ рдХреА рдЕрдирдиреБрднрд╡реА рд╡рд┐рдХрд╛рд╕рдХ рд╣реЗ рдирдХрд│рддрдкрдгреЗ рд╡рд╛рдкрд░рддрд╛рдд, рдлрдХреНрдд рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдорд╛рдВрдЪреА рдЬрд╛рдгреАрд╡ рд╣реЛрдд рдирд╛рд╣реА.

рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдЪреНрдпрд╛ рдХрдиреЗрдХреНрдЯрд┐рд╡реНрд╣рд┐рдЯреАрдордзреНрдпреЗ рд╕рд░реНрд╡рд╛рдд рд╕реНрдкрд╖реНрдЯ рд╡рд╛рдвреАрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, "рд╕реНрдкреНрд░реЗрдбрд┐рдВрдЧ" рдЖрдгрд┐ "рд╕реНрдЯреНрд░реЗрдЪрд┐рдВрдЧ" рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдордзреНрдпреЗ рдХрдореА рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗрдд. рдЦрд░рдВрдЪ, рдЬрд░ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдиреЗ рдХрд╛рд╣реА рдмрджрд▓ рдХреЗрд▓реЗ, рддрд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рдЖрд╣реЗрдд рдЖрдгрд┐ рд╡реНрдпрд╡рд╣рд╛рд░, рдпрд╛ рдмрджрд▓рд╛рдВрдореБрд│реЗ рдХрд╛рд╣реА рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрд╕рд╛рдзрдиреЗ рд▓реЙрдХ рдХрд░рддрд╛рдд. рдореНрд╣рдгрдЬреЗрдЪ, рдЬреЛрдкрд░реНрдпрдВрдд рдПрдХ рдЙрдкрдкреНрд░рдгрд╛рд▓реА рджреБрд╕рд░реНтАНрдпрд╛рдХрдбреВрди рдкреНрд░рддрд┐рд╕рд╛рджрд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдд рдирд╛рд╣реА рддреЛрдкрд░реНрдпрдВрдд рддреА рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рд▓реЙрдХ рд╕реЛрдбреВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА. рд╣реЗ рд╡рд┐рд╡рд┐рдз рдкреНрд░рднрд╛рд╡рд╛рдВрдЪрд╛ рдзреЛрдХрд╛ рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдврд╡рддреЗ:

  • рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рддрд┐рд╕рд╛рдж рдЧрдорд╛рд╡рд▓рд╛ рдЖрд╣реЗ, рд╡рд╛рдкрд░рдХрд░реНрддреЗ рд╡рд┐рдирдВрддреНрдпрд╛рдВрдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рдВрд╕рд╛рдареА рдмрд░рд╛рдЪ рд╡реЗрд│ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддрд╛рдд;
  • рдереНрд░реЗрдб рдкреВрд▓ рдУрд╡реНрд╣рд░рдлреНрд▓реЛ рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреЗ рдерд╛рдВрдмрд╡рддреЛ: рдмрд╣реБрддреЗрдХ рдереНрд░реЗрдбреНрд╕ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рджреНрд╡рд╛рд░реЗ рд╡реНрдпрд╛рдкрд▓реЗрд▓реНрдпрд╛ рд╕рдВрд╕рд╛рдзрдирд╛рдЪреНрдпрд╛ рд▓реЙрдХрд╡рд░ "рд╕реНрдЯрдБрдб" рдЕрд╕рддрд╛рдд;
  • рдбреЗрдбрд▓реЙрдХреНрд╕ рджрд┐рд╕реВ рд▓рд╛рдЧрддрд╛рдд: рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдШрдЯрдиреЗрдЪреА рд╕рдВрднрд╛рд╡реНрдпрддрд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреНрдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрд╡рд░, рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдЧреБрдВрддрд▓реЗрд▓реНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рддреАрд▓ рддрд░реНрдХ рдЖрдгрд┐ рд▓реЙрдХрдЪреЗ рдкреНрд░рдорд╛рдг рдпрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ;
  • рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддреНрд░реБрдЯреА рджрд┐рд╕рддрд╛рдд;
  • рдЬрд░ рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рдбреЗрдЯрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреЗ рдЖрдгрд┐ рдмрджрд▓рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╕рд░реНрд╡реНрд╣рд░ OutOfMemory рд╡рд░ "рдкрдбрддреЛ".

рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди, рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рджрд░рдореНрдпрд╛рди рдмреНрд▓реЙрдХрд┐рдВрдЧ рдХреЙрд▓рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓реНрдпрд╛рдиреЗ рд╡реИрдпрдХреНрддрд┐рдХ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдЧрдорд╛рд╡рд▓реЗ рдЬрд╛рддреЗ: рдПрдХрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреЗ рдЧреБрдгрд╡рддреНрддрд╛ рд▓рдХреНрд╖реНрдп рджреБрд╕рд░реНтАНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддрд╛ рд▓рдХреНрд╖реНрдпрд╛рдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рдЬрд░ рдЙрдкрдкреНрд░рдгрд╛рд▓реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕рдВрдШрд╛рдВрдиреА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЕрд╕рддреАрд▓ рддрд░ рд╣реА рдПрдХ рдореЛрдареА рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ.

рд╕рдорд╛рдХрд▓рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЖрдгрд┐ рджреЛрдиреНрд╣реА рдмрд╛рдЬреВрдВрдиреА рд╕рдордХрд╛рд▓рд┐рдХ рдмрджрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЧреЛрд╖реНрдЯреА рдЕрдзрд┐рдХ рдордиреЛрд░рдВрдЬрдХ рд╣реЛрддрд╛рдд. рд╣реЗ рдмрджрд▓ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ?

рдЬрд░ рд╕реНрд╡рддрдВрддреНрд░ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдордзреНрдпреЗ рдмрджрд▓ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ, рддрд░ рдордЬрдмреВрдд рдЕрдкрд╡рд╛рдж рд╣рд╛рддрд╛рд│рдгреА рдЖрдгрд┐ рднрд░рдкрд╛рдИ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рд╕рдордХрд╛рд▓рд┐рдХ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪрд╛ рдореБрдЦреНрдп рдлрд╛рдпрджрд╛ рдкреВрд░реНрдгрдкрдгреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓рд╛ рдЬрд╛рддреЛ - рд╕рд╛рдзреЗрдкрдгрд╛.

рд╡рд┐рддрд░рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рджреЗрдЦреАрд▓ рд▓рдХреНрд╖рд╛рдд рдпреЗрддрд╛рдд, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рддреЗ рдЖрдордЪреНрдпрд╛ рдЙрдкрд╛рдпрд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА: рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдХрдареАрдг рдЖрд╣реЗ.

рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрд╡рд░ рдЙрдкрд╛рдп рдореНрд╣рдгреВрди "рд╕рд╛рдЧрд╛".

рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪреНрдпрд╛ рд╡рд╛рдврддреНрдпрд╛ рд▓реЛрдХрдкреНрд░рд┐рдпрддреЗрд╕рд╣, рдорд╛рдЧрдгреА рд╡рд╛рдврдд рдЖрд╣реЗ рдЧрд╛рдерд╛ рдкреЕрдЯрд░реНрди.

рд╣рд╛ рдкреЕрдЯрд░реНрди рджреАрд░реНрдШ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдЪреНрдпрд╛ рд╡рд░реАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдЙрддреНрддрдо рдкреНрд░рдХрд╛рд░реЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рддреЛ рдЖрдгрд┐ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рд╕рд┐рд╕реНрдЯрдордЪреА рд╕реНрдерд┐рддреА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рджреЗрдЦреАрд▓ рд╡рд╛рдврд╡рддреЛ: рдЕрдпрд╢рд╕реНрд╡реА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдирдВрддрд░рдЪреА рднрд░рдкрд╛рдИ рд╕рд┐рд╕реНрдЯрдорд▓рд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдореВрд│ рд╕реНрдерд┐рддреАрдд рдкрд░рдд рдЖрдгреВ рд╢рдХрдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдкрд░реНрдпрд╛рдп рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдбреЗрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдорд╛рд░реНрдЧ. рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣реА рдкреНрд░рдХреНрд░рд┐рдпреЗрд▓рд╛ "рдЪрд╛рдВрдЧрд▓реНрдпрд╛" рд╢реЗрд╡рдЯрдкрд░реНрдпрдВрдд рдЖрдгрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рддрд╛ рддреЗрд╡реНрд╣рд╛ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдкреВрд░реНрдг рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЪрд░рдгрд╛рдВрдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рди рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ.

рд╡рд┐рд╢реЗрд╖ рдореНрд╣рдгрдЬреЗ, рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕рд┐рд╕реНрдЯреАрдордордзреНрдпреЗ, рд╣рд╛ рдкреЕрдЯрд░реНрди рджреЗрдЦреАрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддреЛ рдЬреЗрд╡реНрд╣рд╛ рддреЛ рд╕реИрд▓рдкрдгреЗ рдЬреЛрдбрд▓реЗрд▓реНрдпрд╛ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдВрдЪреНрдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рд╕рд╛рдареА рдпреЗрддреЛ рдЖрдгрд┐ рджреАрд░реНрдШ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдВрдореБрд│реЗ рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рд▓реЙрдХрдореБрд│реЗ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдкрдбрддреЛ.

рдмреАрдкреАрдПрдо рд╢реИрд▓реАрддреАрд▓ рдЖрдордЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рд╕рд╛рдЧрд╛рдВрдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдХрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ: рд╕рд╛рдЧрд╛рдВрдЪреНрдпрд╛ рд╡реИрдпрдХреНрддрд┐рдХ рдкрд╛рдпрд▒реНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдореНрд╣рдгреВрди рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддреА рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ, рддреНрдпрд╛рдкреИрдХреА рдЗрддрд░ рдЧреЛрд╖реНрдЯреА, рд╕рд╛рдЧрд╛рдВрдЪреА рдЕрдВрддрд░реНрдЧрдд рд╕реНрдерд┐рддреА. рдореНрд╣рдгрдЬреЗрдЪ, рдЖрдореНрд╣рд╛рд▓рд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдордиреНрд╡рдп рдпрдВрддреНрд░рдгреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рддреБрдореНрд╣рд╛рд▓рд╛ рдлрдХреНрдд рдЯреНрд░рд╛рдиреНрд╕рдкреЛрд░реНрдЯ рдореНрд╣рдгреВрди "рдХрд┐рдорд╛рди рдПрдХрджрд╛" рдЧреЕрд░рдВрдЯреА рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░рдЪреА рдЧрд░рдЬ рдЖрд╣реЗ.

рдкрд░рдВрддреБ рдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдирдЪреА рд╕реНрд╡рддрдГрдЪреА "рдХрд┐рдВрдордд" рджреЗрдЦреАрд▓ рдЖрд╣реЗ:

  • рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛрддреЗ: рддреБрдореНрд╣рд╛рд▓рд╛ рдиреБрдХрд╕рд╛рди рднрд░рдкрд╛рдИрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ;
  • рдкреВрд░реНрдг рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реЛрдбреВрди рджреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЬреЗ рд╡рд┐рд╢реЗрд╖рддрдГ рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЕрд╕реВ рд╢рдХрддреЗ;
  • рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдереЛрдбреЗ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рд╣реЛрддреЗ, рд╕рдВрджреЗрд╢ рдмреНрд░реЛрдХрд░рдЪреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ;
  • рдЕрддрд┐рд░рд┐рдХреНрдд рджреЗрдЦрд░реЗрдЦ рдЖрдгрд┐ рдкреНрд░рд╢рд╛рд╕рди рд╕рд╛рдзрдиреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреАрд▓ (рдЬрд░реА рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ рд╣реЗ рдЕрдЧрджреА рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ: рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡реЗрдЪреА рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рдвреЗрд▓).

рдореЛрдиреЛрд▓рд┐рдерд┐рдХ рд╕рд┐рд╕реНрдЯрдорд╕рд╛рдареА, "рд╕реЕрдЧреНрд╕" рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдФрдЪрд┐рддреНрдп рдЗрддрдХреЗ рд╕реНрдкрд╖реНрдЯ рдирд╛рд╣реА. рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕ рдЖрдгрд┐ рдЗрддрд░ SOA рд╕рд╛рдареА, рдЬреЗрдереЗ, рдмрд╣реБрдзрд╛, рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдПрдХ рджрд▓рд╛рд▓ рдЖрд╣реЗ, рдЖрдгрд┐ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рддрддреНрдпрд╛рдЪрд╛ рддреНрдпрд╛рдЧ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдЖрд╣реЗ, рдпрд╛ рдкреЕрдЯрд░реНрдирдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдлрд╛рдпрджреЗ рддреЛрдЯреНрдпрд╛рдВрдкреЗрдХреНрд╖рд╛ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдЬрд╛рд╕реНрдд рдЕрд╕реВ рд╢рдХрддрд╛рдд, рд╡рд┐рд╢реЗрд╖рдд: рдпреЗрдереЗ рд╕реЛрдпреАрд╕реНрдХрд░ API рдЕрд╕рд▓реНрдпрд╛рд╕. рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдкрд╛рддрд│реА.

рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдордзреНрдпреЗ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдПрдиреНрдХреЕрдкреНрдпреБрд▓реЗрд╢рди

рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рд╕рд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░реБрд╡рд╛рдд рдХреЗрд▓реА, рддреЗрд╡реНрд╣рд╛ рдПрдХ рд╡рд╛рдЬрд╡реА рдкреНрд░рд╢реНрди рдЙрджреНрднрд╡рд▓рд╛: рдбреЛрдореЗрди рдбреЗрдЯрд╛ рд╕реНрдерд┐рд░рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгрд╛рд░реНрдпрд╛ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рд╕рдВрдмрдВрдзрд╛рдд рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдХреБрдареЗ рдареЗрд╡рд╛рдпрдЪрд╛?

рд╡рд┐рд╡рд┐рдз BPMS рдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдХрдбреЗ рдкрд╛рд╣рддрд╛рдирд╛, рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЙрдЬрд┐рдХрд▓рд╛ рдЪрд┐рдХрд╛рдЯреАрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ рд╡рд╛рдЬрд╡реА рд╡рд╛рдЯреВ рд╢рдХрддреЗ: рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдЖрдгрд┐ рдбреЛрдореЗрди-рд╕реНрд╡рддрдВрддреНрд░ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪрд╛ рдПрдХ рд╕реНрддрд░ рддрдпрд╛рд░ рдХрд░рд╛ рдЬреЛ рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЙрдЬрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рд╡рд░рдг рдЖрдгрд┐ рдХрдВрдЯреЗрдирд░ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рдбреЛрдореЗрди рдбреЗрдЯрд╛ рдЯрд┐рдХреВрди рд░рд╛рд╣рдгреНрдпрд╛рдЪреА рд╡реНрдпрд╡рд╕реНрдерд╛ рд╕реНрд╡рддрдВрддреНрд░рдкрдгреЗ рдХрд░рддреЛ. рдЕрддрд┐рд╢рдп рд╕реЛрдкреНрдпрд╛ рдЖрдгрд┐ рд╣рд▓рдХреНрдпрд╛ рд╡рдЬрдирд╛рдЪреНрдпрд╛ рдорд╛рдпрдХреНрд░реЛ рд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪрд╛ рдерд░. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯрдиреНрд╕ рд▓реЗрдпрд░рдЪреНрдпрд╛ рд╕реЗрд╡рд╛рдВрдЪреЗ рдЖрдпреЛрдЬрди рдХрд░рддрд╛рдд.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рдЪрд╛ рдЦреВрдк рдореЛрдард╛ рдлрд╛рдпрджрд╛ рдЖрд╣реЗ: рдЖрдкрдг рдЖрдкрд▓реНрдпрд╛ рдЖрд╡рдбреАрдиреБрд╕рд╛рд░ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд╛рдврд╡реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪрд╛ рдХреЗрд╡рд│ рд╕рдВрдмрдВрдзрд┐рдд рд╕реНрддрд░ рдпрд╛рддреВрди "рдЪрд░рдмреА" рдорд┐рд│рд╡реЗрд▓. рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордЪреА рдирд╡реАрди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЕрджреНрдпрдпрд╛рд╡рдд рд╣реЛрддрд╛рдЪ рддреА рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдХреЛрдгрддреНрдпрд╛рд╣реА рдбреЛрдореЗрдирдордзреАрд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдирд╛ рд▓рдЧреЗрдЪ рдорд┐рд│рддреЗ.

рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЕрднреНрдпрд╛рд╕рд╛рдиреЗ рдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреАрд▓ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрдорддрд░рддрд╛ рдЙрдШрдб рдХреЗрд▓реНрдпрд╛:

  • рдПрдХ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛ рдЬреА рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рдбреЛрдореЗрдиреНрд╕рдЪреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ, рдЕрдкрдпрд╢рд╛рдЪрд╛ рдПрдХрдЪ рдореБрджреНрджрд╛ рдореНрд╣рдгреВрди рдореЛрдареА рдЬреЛрдЦреАрдо рдкрддреНрдХрд░рддреЗ. рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреНрдпрд╛ рддрд░реНрдХрд╛рдордзреНрдпреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рдиреЗ рдмрдЧрдЪрд╛ рдзреЛрдХрд╛ рд╡рд╛рдврддреЛ рдЬреНрдпрд╛рдореБрд│реЗ рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА рдЕрдкрдпрд╢реА рд╣реЛрддрд╛рдд;
  • рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛: рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рддреНрдпрд╛рдЪреНрдпрд╛ рдбреЗрдЯрд╛рд╕рд╣ рдЕрд░реБрдВрдж рдЖрдгрд┐ рд╣рд│реВ рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ:
    • рдбреЗрдЯрд╛ рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛ рдорд╛рд░реНрд╢рд▓ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╕реНрдЯреЕрдХрджреНрд╡рд╛рд░реЗ рдкрдВрдк рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓;
    • рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдмрд╛рд╣реНрдп API рдЪреНрдпрд╛ рд╕реНрддрд░рд╛рд╡рд░ рдЕрдкреБрд░реНтАНрдпрд╛ рдХреНрд╡реЗрд░реА рдкреЕрд░рд╛рдореАрдЯрд░рд╛рдпрдЭреЗрд╢рди рдХреНрд╖рдорддрд╛рдВрдореБрд│реЗ, рдбреЛрдореЗрди рд╕реЗрд╡рд╛ рд╕рд╣рд╕рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рдиреБрд╕рд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдбреЗрдЯрд╛ рдкрд░рдд рдХрд░реЗрд▓;
    • рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХрдЪреЗ рдЕрдиреЗрдХ рд╕реНрд╡рддрдВрддреНрд░ рддреБрдХрдбреЗ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рд╕рдорд╛рди рдбреЗрдЯрд╛рдЪреА рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд┐рдирдВрддреА рдХрд░реВ рд╢рдХрддрд╛рдд (рдЖрдкрдг рдбреЗрдЯрд╛ рдХреЕрд╢ рдХрд░рдгрд╛рд░реЗ рд╕рддреНрд░ рдмреАрдиреНрд╕ рдЬреЛрдбреВрди рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрдореА рдХрд░реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рдпрд╛рдореБрд│реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдгрдЦреА рдЧреБрдВрддрд╛рдЧреБрдВрдд рд╣реЛрддреЗ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдлреНрд░реЗрд╢рдиреЗрд╕ рдЖрдгрд┐ рдХреЕрд╢реЗ рдЕрд╡реИрдзрддреЗрдЪреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛рдд);
  • рд╡реНрдпрд╡рд╣рд╛рд░рд╛рддреАрд▓ рд╕рдорд╕реНрдпрд╛:
    • рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡реЗрджреНрд╡рд╛рд░реЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддреАрд╕рд╣ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдбреЛрдореЗрди рдбреЗрдЯрд╛рд╢реА рд╡рд┐рд╕рдВрдЧрдд рдЖрд╣реЗрдд рдЖрдгрд┐ рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдЪреЗ рдХреЛрдгрддреЗрд╣реА рд╕реЛрдкреЗ рдорд╛рд░реНрдЧ рдирд╛рд╣реАрдд;
    • рд╡реНрдпрд╡рд╣рд╛рд░рд╛рддреВрди рдбреЛрдореЗрди рдбреЗрдЯрд╛рдЪреЗ рд▓реЙрдХ рд╣рд▓рд╡рд┐рдгреЗ: рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреНрдпрд╛ рддрд░реНрдХрд╛рдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рдкреНрд░рдердо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛рдЪреА рд╢реБрджреНрдзрддрд╛ рддрдкрд╛рд╕рд▓реНрдпрд╛рдирдВрддрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛рдордзреНрдпреЗ рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдмрджрд▓рд╛рдЪреА рд╢рдХреНрдпрддрд╛ рд╡рдЧрд│рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдбреЗрдЯрд╛рдЪреЗ рдмрд╛рд╣реНрдп рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреЗ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░реВ рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдЕрд╢рд╛ рд╕рдорд╛рдзрд╛рдирд╛рдордзреНрдпреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдЦреАрдо рдЕрд╕рддреЗ рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдордЪреА рдПрдХреВрдг рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдХрдореА рд╣реЛрддреЗ;
  • рдЕрджреНрдпрдпрд╛рд╡рдд рдХрд░рддрд╛рдирд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЧреБрдВрддрд╛рдЧреБрдВрдд: рдХрд╛рд╣реА рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рддреБрдореНрд╣рд╛рд▓рд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯрдиреНрд╕ рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХрд┐рдВрд╡рд╛ рдХрдбрдХ рдХреНрд░рдорд╛рдиреЗ рдЕрдкрдбреЗрдЯ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╕рд░рддреЗрд╢реЗрд╡рдЯреА, рдорд▓рд╛ рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрд╡рд░ рдкрд░рдд рдЬрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ: рдбреЛрдореЗрди рдбреЗрдЯрд╛ рдЖрдгрд┐ рдбреЛрдореЗрди рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдПрдХрд╛ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рдордзреНрдпреЗ рдПрдиреНрдХреЕрдкреНрд╕реНрдпреБрд▓реЗрдЯ рдХрд░рд╛. рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рдкреНрд░рдгрд╛рд▓реАрдордзреАрд▓ рдЕрд╡рд┐рднрд╛рдЬреНрдп рдШрдЯрдХ рдореНрд╣рдгреВрди рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕рдЪреА рдзрд╛рд░рдгрд╛ рд╕реБрд▓рдн рдХрд░рддреЗ рдЖрдгрд┐ рд╡рд░реАрд▓ рд╕рдорд╕реНрдпрд╛рдВрдирд╛ рдЬрдиреНрдо рджреЗрдд рдирд╛рд╣реА. рд╣реЗ рджреЗрдЦреАрд▓ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдирд╛рд╣реА:

  • рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ (рд╡рд┐рд╢реЗрд╖рддрдГ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдкреНрд░рджрд╛рди рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА) рдЖрдгрд┐ API рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛рдВрд╕рд╣ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рд╕рд╛рдареА API рдорд╛рдирдХреАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ; API рдмрджрд▓рд╛рдВрдХрдбреЗ рдЕрдзрд┐рдХ рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рд▓рдХреНрд╖ рджреЗрдгреЗ, рдлреЙрд░рд╡рд░реНрдб рдЖрдгрд┐ рдмреЕрдХрд╡рд░реНрдб рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  • рдЕрд╢рд╛ рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдпрдХреНрд░реЛрд╕реЗрд╡реЗрдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгреВрди рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХрдЪреЗ рдХрд╛рд░реНрдп рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдпрдмреНрд░рд░реА рдЬреЛрдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рдЕрд╢рд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдирд╡реАрди рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛рдд: рд╣рд▓рдХреАрдкрдгрд╛ рдЖрдгрд┐ рдХрдореАрддрдХрдореА рд╕рдВрдХреНрд░рдордгрд╛рддреНрдордХ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡;
  • рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдбреЗрд╡реНрд╣рд▓рдкрд░реНрд╕рдирд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдЪрд╛ рдорд╛рдЧреЛрд╡рд╛ рдареЗрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рдЬрд░ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдЕрдВрддрд┐рдо рдХреЗрд▓реА рдЧреЗрд▓реА рдирд╕реЗрд▓ рддрд░ рдмрд╣реБрдзрд╛ рддреНрдпрд╛рдд рд▓рд╛рдпрдмреНрд░рд░реАрдЪреА рдЬреБрдиреА рдЖрд╡реГрддреНрддреА рдЕрд╕реЗрд▓. рдирд╡реАрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЬреЛрдбрдгреНрдпрд╛рдд рд╣рд╛ рдПрдХ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдЕрдбрдерд│рд╛ рдЕрд╕реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рд╡рд┐рд╕рдВрдЧрдд рдмрджрд▓ рдЕрд╕рд▓реНрдпрд╛рд╕ рдЕрд╢рд╛ рд╕реЗрд╡реЗрдЪреЗ рдЬреБрдиреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреНрдпрд╛ рдирд╡реАрди рдЖрд╡реГрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реВ рд╢рдХрддреЗ.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рдЕрд╢рд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛рдВрдЪрд╛ рдПрдХ рд╕реНрддрд░ рджреЗрдЦреАрд▓ рдЕрд╕рддреЛ, рдкрд░рдВрддреБ рд╣рд╛ рд╕реНрддрд░ рдпрд╛рдкреБрдвреЗ рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЙрдЬрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрдВрдЯреЗрдирд░ рдмрдирд╡рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдХреЗрд╡рд│ рддреНрдпрд╛рдЪреЗ рд╡рд╛рддрд╛рд╡рд░рдг, рд╕рд╣рд╛рдпрдХ "рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо" рдХрд╛рд░реНрдпреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдЕрд╢рд╛ рд▓реЗрдпрд░рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗрд╡рд│ рдбреЛрдореЗрди рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдЪреА рд╣рд▓рдХреАрдкрдгрд╛ рд░рд╛рдЦрдгреНрдпрд╛рд╕рд╛рдареАрдЪ рдирд╛рд╣реА рддрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдЪреЗ рдХреЗрдВрджреНрд░реАрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдЖрд╣реЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдХрд╛рд░реНрдпреЗ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд░рддрд╛рдд. рддрдерд╛рдкрд┐, рдХрд╛рд░реНрдпрд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдирд╛, рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдиреЗ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рд╕реВрдЪреАрдордзреАрд▓ рд╕рд░реНрд╡ рдбреЛрдореЗрдирдордзреАрд▓ рдХрд╛рд░реНрдпреЗ рдкрд╛рд╣рд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗрдд, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдХреА рдбреЛрдореЗрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдкрд╛рд╕реВрди рдореБрдХреНрдд рдЕрд╕рд▓реЗрд▓реА рдпреЛрдЧреНрдп рдХрд╛рд░реНрдп рдиреЛрдВрджрдгреА рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рд╕реЗрд╡рд╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рд╡реНрдпрд╡рд╕рд╛рдп рд▓реЙрдЬрд┐рдХрдЪреЗ рдПрдиреНрдХреЗрдкреНрд╕реБрд▓реЗрд╢рди рдареЗрд╡рдгреЗ рдЦреВрдк рд╕рдорд╕реНрдпрд╛рдкреНрд░рдзрд╛рди рдЖрд╣реЗ рдЖрдгрд┐ рд╣реА рдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреА рдЖрдгрдЦреА рдПрдХ рддрдбрдЬреЛрдб рдЖрд╣реЗ.

рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░рдЪреНрдпрд╛ рдирдЬрд░реЗрддреВрди рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреЗ рдПрдХрддреНрд░реАрдХрд░рдг

рдЖрдзреАрдЪ рд╡рд░ рдирдореВрдж рдХреЗрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░рдиреЗ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рд╡рд┐рдХрд╛рд╕ рдЙрддреНрдкрд╛рджрдХрддреЗрд╡рд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рджрд╛рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪреНрдпрд╛ рддрд╛рдВрддреНрд░рд┐рдХ рдЖрдгрд┐ рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкрд╛рд╕реВрди рдЕрдореВрд░реНрдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЪрд▓рд╛ рдПрдХ рдРрд╡рдЬреА рдХрдареАрдг рдПрдХрддреНрд░реАрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛, рд╡рд┐рд╢реЗрд╖рдд: рд▓реЗрдЦрд╛рд╕рд╛рдареА рд╢реЛрдзрд▓реЗрд▓рд╛. рд╣реЗ рдПрдХ "рдЧреЗрдо" рдХрд╛рд░реНрдп рдЕрд╕реЗрд▓ рдЬреНрдпрд╛рдордзреНрдпреЗ рддреАрди рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕реЗрд▓, рдЬрд┐рдереЗ рдкреНрд░рддреНрдпреЗрдХрд╛рдиреЗ рдХрд╛рд╣реА рдбреЛрдореЗрди рдирд╛рд╡ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ: "app1", "app2", "app3".

рдкреНрд░рддреНрдпреЗрдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рдЖрдд, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реВ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЬреНрдпрд╛ рдПрдХреАрдХрд░рдг рдмрд╕рджреНрд╡рд╛рд░реЗ "рдкреНрд▓реЗ рдмреЙрд▓" рд╕реБрд░реВ рдХрд░рддрд╛рдд. "рдмреЙрд▓" рдирд╛рд╡рд╛рдЪреЗ рд╕рдВрджреЗрд╢ рдмреЙрд▓ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░рддреАрд▓.

рдЦреЗрд│рд╛рдЪреЗ рдирд┐рдпрдо:

  • рдкрд╣рд┐рд▓рд╛ рдЦреЗрд│рд╛рдбреВ рдЖрд░рдВрднрдХрд░реНрддрд╛ рдЖрд╣реЗ. рддреЛ рдЗрддрд░ рдЦреЗрд│рд╛рдбреВрдВрдирд╛ рдЦреЗрд│рд╛рд╕рд╛рдареА рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЛ, рдЦреЗрд│ рд╕реБрд░реВ рдХрд░рддреЛ рдЖрдгрд┐ рддреЛ рдХрдзреАрд╣реА рд╕рдВрдкрд╡реВ рд╢рдХрддреЛ;
  • рдЗрддрд░ рдЦреЗрд│рд╛рдбреВ рдЧреЗрдордордзреНрдпреЗ рддреНрдпрд╛рдВрдЪрд╛ рд╕рд╣рднрд╛рдЧ рдШреЛрд╖рд┐рдд рдХрд░рддрд╛рдд, рдПрдХрдореЗрдХрд╛рдВрд╢реА рдЖрдгрд┐ рдкрд╣рд┐рд▓реНрдпрд╛ рдЦреЗрд│рд╛рдбреВрд╢реА "рдкрд░рд┐рдЪрд┐рдд рд╡реНрд╣рд╛";
  • рдЪреЗрдВрдбреВ рдорд┐рд│рд╛рд▓реНрдпрд╛рдирдВрддрд░, рдЦреЗрд│рд╛рдбреВ рджреБрд╕рд░рд╛ рд╕рд╣рднрд╛рдЧреА рдЦреЗрд│рд╛рдбреВ рдирд┐рд╡рдбрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдЪреЗрдВрдбреВ рджреЗрддреЛ. рдкрд╛рд╕рдЪреА рдПрдХреВрдг рд╕рдВрдЦреНрдпрд╛ рдореЛрдЬрд▓реА рдЬрд╛рддреЗ;
  • рдкреНрд░рддреНрдпреЗрдХ рдЦреЗрд│рд╛рдбреВрдордзреНрдпреЗ "рдКрд░реНрдЬрд╛" рдЕрд╕рддреЗ, рдЬреА рддреНрдпрд╛ рдЦреЗрд│рд╛рдбреВрдЪреНрдпрд╛ рдЪреЗрдВрдбреВрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд╕рдиреЗ рдХрдореА рд╣реЛрддреЗ. рдЬреЗрд╡реНрд╣рд╛ рдКрд░реНрдЬрд╛ рд╕рдВрдкрддреЗ, рддреЗрд╡реНрд╣рд╛ рдЦреЗрд│рд╛рдбреВрд▓рд╛ рдЦреЗрд│рд╛рддреВрди рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рддреЗ, рддреНрдпрд╛рдВрдЪреА рдирд┐рд╡реГрддреНрддреА рдЬрд╛рд╣реАрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ;
  • рдЬрд░ рдЦреЗрд│рд╛рдбреВ рдПрдХрдЯрд╛ рд╕реЛрдбрд▓рд╛ рдЕрд╕реЗрд▓ рддрд░ рддреЛ рддрд╛рдмрдбрддреЛрдм рддреНрдпрд╛рдЪреЗ рдирд┐рд░реНрдЧрдорди рдШреЛрд╖рд┐рдд рдХрд░рддреЛ;
  • рдЬреЗрд╡реНрд╣рд╛ рд╕рд░реНрд╡ рдЦреЗрд│рд╛рдбреВ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЬрд╛рддрд╛рдд, рддреЗрд╡реНрд╣рд╛ рдкрд╣рд┐рд▓рд╛ рдЦреЗрд│рд╛рдбреВ рдЧреЗрдо рд╕рдВрдкрд▓реНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЛ. рдЬрд░ рддреНрдпрд╛рдиреЗ рдЖрдзреА рдЧреЗрдо рд╕реЛрдбрд▓рд╛ рдЕрд╕реЗрд▓ рддрд░ рддреЛ рдкреВрд░реНрдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреЗрдордЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ.

рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдЖрдордЪреНрдпрд╛ рдбреАрдПрд╕рдПрд▓рдЪрд╛ рд╡рд╛рдкрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдХрд░реЗрди, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдореАрдд рдХрдореА рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯрд╕рд╣ рдХреЙрдЯрд▓рд┐рдирдордзреАрд▓ рддрд░реНрдХрд╛рдЪреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдНрдк1 рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ, рдкрд╣рд┐рд▓реНрдпрд╛ рдЦреЗрд│рд╛рдбреВрдЪреА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рддреЛ рдЧреЗрдордЪрд╛ рдЖрд░рдВрднрдХрд░реНрддрд╛ рджреЗрдЦреАрд▓ рдЖрд╣реЗ) рдХрд╛рд░реНрдп рдХрд░реЗрд▓:

рд╡рд░реНрдЧ рдЖрд░рдВрднрд┐рдХ рдЦреЗрд│рд╛рдбреВ

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}")
}

рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╡рд░реАрд▓ рдХреЛрдб рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреЗрд▓ рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддреЛ рдЬреЗ рдЖрдХреГрддреА рдореНрд╣рдгреВрди рджреГрд╢реНрдпрдорд╛рди рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдЖрдореНрд╣реА рдЕрджреНрдпрд╛рдк рд╡реНрд╣рд┐рдЬреНрдпреБрдЕрд▓рд╛рдпрдЭрд░ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА, рдореНрд╣рдгреВрди рдЖрдореНрд╣рд╛рд▓рд╛ рдЪрд┐рддреНрд░ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рдереЛрдбрд╛ рд╡реЗрд│ рдШрд╛рд▓рд╡рд╛рд╡рд╛ рд▓рд╛рдЧрд▓рд╛ (рдпреЗрдереЗ рдореА рд╡рд░реАрд▓ рдХреЛрдбрд╕рд╣ рдЖрдХреГрддреАрдЪреА рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдЧреЗрдЯреНрд╕рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рдВрдмрдВрдзреА 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}")
}

рдЖрдХреГрддреА:

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рдНрдк3 рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ, рдЖрдореНрд╣реА рдЦреЗрд│рд╛рдбреВрд▓рд╛ рдереЛрдбреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд░реНрддрдирд╛рд╕рд╣ рдмрдирд╡реВ: рдпрд╛рджреГрдЪреНрдЫрд┐рдХрдкрдгреЗ рдкреБрдвреАрд▓ рдЦреЗрд│рд╛рдбреВ рдирд┐рд╡рдбрдгреНрдпрд╛рдРрд╡рдЬреА, рддреЛ рд░рд╛рдЙрдВрдб-рд░реЙрдмрд┐рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдордиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░реЗрд▓:

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}")
}

рдЕрдиреНрдпрдерд╛, рдЦреЗрд│рд╛рдбреВрдЪреЗ рд╡рд░реНрддрди рдорд╛рдЧреАрд▓рдкреЗрдХреНрд╖рд╛ рд╡реЗрдЧрд│реЗ рдирд╕рддреЗ, рддреНрдпрд╛рдореБрд│реЗ рдЖрдХреГрддреА рдмрджрд▓рдд рдирд╛рд╣реА.

рдЖрддрд╛ рд╣реЗ рд╕рд░реНрд╡ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕рд╛рдареА рдЪрд╛рдЪрдгреАрдЪреА рдЧрд░рдЬ рдЖрд╣реЗ. рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯрд╕рд╣ рд▓реЗрдЦрд╛рдд рдЧреЛрдВрдзрд│ рд╣реЛрдК рдирдпреЗ рдореНрд╣рдгреВрди рдореА рдлрдХреНрдд рдЪрд╛рдЪрдгреАрдЪрд╛рдЪ рдХреЛрдб рджреЗрдИрди (рдЦрд░рдВ рддрд░, рдЗрддрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА рдореА рдкреВрд░реНрд╡реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЪрд╛рдЪрдгреА рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ):

рдЪрд╛рдЪрдгреА рдЦреЗрд│()

@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;
}

рдЪрд╛рдЪрдгреА рдЪрд╛рд▓рд╡рд╛, рд▓реЙрдЧ рдкрд╣рд╛:

рдХрдиреНрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ

╨Т╨╖╤П╤В╨░ ╨▒╨╗╨╛╨║╨╕╤А╨╛╨▓╨║╨░ ╨║╨╗╤О╤З╨░ 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!

рдпрд╛ рд╕рд░реНрд╡рд╛рдВрд╡рд░реВрди рдЕрдиреЗрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдХрд╛рдврд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

  • рдЬрд░ рдЖрд╡рд╢реНрдпрдХ рд╕рд╛рдзрдиреЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рддреАрд▓, рддрд░ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХрд╛рдкрд╛рд╕реВрди рджреВрд░ рди рдЬрд╛рддрд╛ рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдПрдХреАрдХрд░рдг рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рддрдпрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛рдд;
  • рдЕрднрд┐рдпрд╛рдВрддреНрд░рд┐рдХреА рдХреНрд╖рдорддрд╛ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдПрдХрд╛рддреНрдорд┐рдХ рдХрд╛рд░реНрдпрд╛рдЪреА рдЬрдЯрд┐рд▓рддрд╛ (рдЬрдЯрд┐рд▓рддрд╛) рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдордзреНрдпреЗ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдШрд╛рддрд▓реА рдЕрд╕рд▓реНрдпрд╛рд╕ рддреА рдлреНрд░реЗрдорд╡рд░реНрдХрдордзреНрдпреЗ рд▓рдкрд╡рд┐рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдХрд╛рдорд╛рдЪреА рдЕрдбрдЪрдг (рдЕрдбрдЪрдг) рд▓рдкрд╡рддрд╛ рдпреЗрдд рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рдХреЛрдбрдордзреНрдпреЗ рдЕрд╡рдШрдб рдХрд╛рдорд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рддреНрдпрд╛рдиреБрд╕рд╛рд░ рджрд┐рд╕реЗрд▓;
  • рдПрдХреАрдХрд░рдг рддрд░реНрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛рдирд╛, рд╢реЗрд╡рдЯреА рд╕реБрд╕рдВрдЧрддрддрд╛ рдЖрдгрд┐ рд╕рд░реНрд╡ рдПрдХрддреНрд░реАрдХрд░рдг рд╕рд╣рднрд╛рдЧреАрдВрдЪреНрдпрд╛ рд░рд╛рдЬреНрдп рдмрджрд▓рд╛рдЪреНрдпрд╛ рд░реЗрдЦреАрдпрддреЗрдЪрд╛ рдЕрднрд╛рд╡ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдмрд╛рд╣реНрдп рдШрдЯрдирд╛ рдЬреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдШрдбрддрд╛рдд рддреНрдпрд╛ рдХреНрд░рдорд╛рдиреЗ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдХрд░рдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрддреЗ. рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, рдЦреЗрд│рд╛рдбреВрдиреЗ рдЧреЗрдордордзреВрди рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪреА рдШреЛрд╖рдгрд╛ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рддреНрдпрд╛рд▓рд╛ рдЧреЗрдордордзреНрдпреЗ рднрд╛рдЧ рдШреЗрдгреНрдпрд╛рд╕ рднрд╛рдЧ рдкрд╛рдбрд▓реЗ рдЬрд╛рддреЗ: рддреНрдпрд╛рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдкрдбрдгреНрдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рдкреЛрд╣реЛрдЪреЗрдкрд░реНрдпрдВрдд рдЖрдгрд┐ рд╕рд░реНрд╡ рд╕рд╣рднрд╛рдЧреАрдВрджреНрд╡рд╛рд░реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реЛрдИрдкрд░реНрдпрдВрдд рдЗрддрд░ рдЦреЗрд│рд╛рдбреВ рддреНрдпрд╛рдЪреНрдпрд╛рдХрдбреЗ рдЪреЗрдВрдбреВ рджреЗрдгреЗ рд╕реБрд░реВ рдареЗрд╡рддреАрд▓. рд╣реЗ рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдЦреЗрд│рд╛рдЪреНрдпрд╛ рдирд┐рдпрдорд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХрд░рдд рдирд╛рд╣реА рдЖрдгрд┐ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреНрдпрд╛ рдЪреМрдХрдЯреАрдд рдПрдХ рддрдбрдЬреЛрдб рдЙрдкрд╛рдп рдЖрд╣реЗ.

рдкреБрдвреЗ, рдЖрдкрд▓реНрдпрд╛ рдирд┐рд░рд╛рдХрд░рдгрд╛рдЪреНрдпрд╛ рд╡рд┐рд╡рд┐рдз рд╕реВрдХреНрд╖реНрдорддрд╛, рддрдбрдЬреЛрдб рдЖрдгрд┐ рдЗрддрд░ рдореБрджреНрджреНрдпрд╛рдВрдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛.

рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдПрдХрд╛ рд░рд╛рдВрдЧреЗрдд

рд╕рд░реНрд╡ рдЗрдВрдЯрд┐рдЧреНрд░реЗрдЯреЗрдб рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕ рдПрдХрд╛ рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдмрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд, рдЬреА рдмрд╛рд╣реНрдп рдмреНрд░реЛрдХрд░, рд╕рдВрджреЗрд╢рд╛рдВрд╕рд╛рдареА рдПрдХ BPMQueue рдЖрдгрд┐ рд╕рд┐рдЧреНрдирд▓реНрд╕рд╕рд╛рдареА рдПрдХ BPMTopic рд╡рд┐рд╖рдп (рдЗрд╡реНрд╣реЗрдВрдЯ) рдореНрд╣рдгреВрди рд╕рд╛рджрд░ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдПрдХрд╛рдЪ рд░рд╛рдВрдЧреЗрддреВрди рд╕рд░реНрд╡ рд╕рдВрджреЗрд╢ рдкрд╛рдард╡рдгреЗ рд╣реА рдПрдХ рддрдбрдЬреЛрдб рдЖрд╣реЗ. рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░, рддреБрдореНрд╣реА рдЖрддрд╛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреНрдпреЗ рдмрджрд▓ рди рдХрд░рддрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рддрд┐рддрдХреЗ рдирд╡реАрди рдкреНрд░рдХрд╛рд░рдЪреЗ рдореЗрд╕реЗрдЬ рд╕рд╛рджрд░ рдХрд░реВ рд╢рдХрддрд╛. рд╣реЗ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕рд░рд▓реАрдХрд░рдг рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдХрд╛рд╣реА рдЬреЛрдЦреАрдо рдЖрд╣реЗрдд, рдЬреЗ рдЖрдордЪреНрдпрд╛ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд, рдЖрдореНрд╣рд╛рд▓рд╛ рдЗрддрдХреЗ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд╛рдЯрдд рдирд╛рд╣реАрдд.

рдмреАрдкреАрдПрдо рд╢реИрд▓реА рдПрдХрддреНрд░реАрдХрд░рдг

рддрдерд╛рдкрд┐, рдпреЗрдереЗ рдПрдХ рд╕реВрдХреНрд╖реНрдорддрд╛ рдЖрд╣реЗ: рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╡реЗрд╢рджреНрд╡рд╛рд░рд╛рд╡рд░реАрд▓ рд░рд╛рдВрдЧреЗрддреАрд▓ "рддреНрдпрд╛рдЪреЗ" рд╕рдВрджреЗрд╢ рддреНрдпрд╛рдЪреНрдпрд╛ рдбреЛрдореЗрдирдЪреНрдпрд╛ рдирд╛рд╡рд╛рдиреЗ рдлрд┐рд▓реНрдЯрд░ рдХрд░рддреЛ. рддрд╕реЗрдЪ, рд╕рд┐рдЧреНрдирд▓рдордзреНрдпреЗ рдбреЛрдореЗрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд┐рдЧреНрдирд▓рдЪрд╛ "рд╕реНрдХреЛрдк" рдПрдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА рдорд░реНрдпрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓. рдпрд╛рдореБрд│реЗ рдмрд╕рдЪреА рдмрдБрдбрд╡рд┐рдбреНрде рд╡рд╛рдврд▓реА рдкрд╛рд╣рд┐рдЬреЗ, рдкрд░рдВрддреБ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдЖрддрд╛ рдбреЛрдореЗрди рдирд╛рд╡рд╛рдВрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рд╕рдВрджреЗрд╢рд╛рдВрдирд╛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдирд┐рд╡рд╛рд░реНрдп, рд╕рд┐рдЧреНрдирд▓рд╕рд╛рдареА рдЗрд╖реНрдЯ.

рдПрдХрддреНрд░реАрдХрд░рдг рдмрд╕рдЪреА рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ

рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдЕрдиреЗрдХ рдЧреЛрд╖реНрдЯреАрдВрдиреА рдмрдирд▓реЗрд▓реА рдЖрд╣реЗ:

  • рдирд┐рд╡рдбрд▓реЗрд▓рд╛ рд╕рдВрджреЗрд╢ рджрд▓рд╛рд▓ рд╣рд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪрд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдШрдЯрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдкрдпрд╢рд╛рдЪрд╛ рдПрдХрдЪ рдореБрджреНрджрд╛ рдЖрд╣реЗ: рддреЛ рдкреБрд░реЗрд╕рд╛ рджреЛрд╖-рд╕рд╣рд┐рд╖реНрдгреБ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддреБрдореНрд╣реА рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рд╕рдорд░реНрдердирд╛рд╕рд╣ рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рд╕рдореБрджрд╛рдпрд╛рд╕рд╣ рдХреЗрд╡рд│ рд╡реЗрд│-рдЪрд╛рдЪрдгреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛рд╡рд╛;
  • рдореЗрд╕реЗрдЬ рдмреНрд░реЛрдХрд░рдЪреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдЬреНрдпрд╛рд╕рд╛рдареА рддреЗ рдПрдХрд╛рддреНрдорд┐рдХ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдкрд╛рд╕реВрди рднреМрддрд┐рдХрд░рд┐рддреНрдпрд╛ рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХрд╛рд╕рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдВрдЪреА рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЕрдзрд┐рдХ рдХрдареАрдг рдЖрдгрд┐ рдорд╣рд╛рдЧ рдЖрд╣реЗ);
  • рджрд▓рд╛рд▓ "рдХрд┐рдорд╛рди рдПрдХрджрд╛" рд╡рд┐рддрд░рдг рд╣рдореА рджреЗрдгреНрдпрд╛рд╕ рдмрд╛рдВрдзреАрд▓ рдЖрд╣реЗ. рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдмрд╕рдЪреНрдпрд╛ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдСрдкрд░реЗрд╢рдирд╕рд╛рдареА рд╣реА рдЕрдирд┐рд╡рд╛рд░реНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. "рдирдХреНрдХреА рдПрдХрджрд╛рдЪ" рд▓реЗрд╡реНрд╣рд▓ рдЧреЕрд░рдВрдЯреАрдЪреА рдЧрд░рдЬ рдирд╛рд╣реА: рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдорд╛рдиреНрдпрдд: рд╕рдВрджреЗрд╢ рдХрд┐рдВрд╡рд╛ рдЗрд╡реНрд╣реЗрдВрдЯрдЪреНрдпрд╛ рдкреБрдирд░рд╛рд╡реГрддреНрддреАрд╕рд╛рдареА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдирд╕рддрд╛рдд рдЖрдгрд┐ рдЬреНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрд╛рдВрдордзреНрдпреЗ рд╣реЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ, рд╕рддрдд рд╡рд╛рдкрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рдЪреНрдпрд╛ рддрд░реНрдХрд╛рдордзреНрдпреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреЗрдХ рдЬреЛрдбрдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рддреНрдпрд╛рдРрд╡рдЬреА "рдорд╣рд╛рдЧ" " рд╣рдореА;
  • рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рд╕рд┐рдЧреНрдирд▓ рдкрд╛рдард╡рдгреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрдгрд┐ рдбреЛрдореЗрди рдбреЗрдЯрд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрддреАрд▓ рдмрджрд▓рд╛рд╕рд╣ рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рд╕рд╛рдореАрд▓ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдкрд╕рдВрддреАрдЪрд╛ рдкрд░реНрдпрд╛рдп рдирдореБрдирд╛ рд╡рд╛рдкрд░рдгреЗ рдЕрд╕реЗрд▓ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрдЙрдЯрдмреЙрдХреНрд╕, рдкрд░рдВрддреБ рддреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреЗрдмрд▓ рдЖрдгрд┐ рд░рд┐рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕реЗрд▓. рдЬреЗрдИрдИ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ, рд╕реНрдерд╛рдирд┐рдХ рдЬреЗрдЯреАрдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд╛рдкрд░реВрди рд╣реЗ рд╕реЛрдкреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдмреНрд░реЛрдХрд░рд╢реА рдХрдиреЗрдХреНрд╢рди рдореЛрдбрдордзреНрдпреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. XA;
  • рдЗрдирдХрдорд┐рдВрдЧ рдореЗрд╕реЗрдЬ рдЖрдгрд┐ рдЗрд╡реНрд╣реЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рд╣рдБрдбрд▓рд░рдиреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рддреА рдмрджрд▓рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╣ рджреЗрдЦреАрд▓ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рдЬрд░ рдЕрд╕рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рддрд░ рд╕рдВрджреЗрд╢рд╛рдЪреА рдкрд╛рд╡рддреА рджреЗрдЦреАрд▓ рд░рджреНрдж рдХреЗрд▓реА рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ;
  • рддреНрд░реБрдЯреАрдВрдореБрд│реЗ рд╡рд┐рддрд░рд┐рдд рд╣реЛрдК рди рд╢рдХрд▓реЗрд▓реЗ рд╕рдВрджреЗрд╢ рд╡реЗрдЧрд│реНрдпрд╛ рд╕реНрдЯреЛрдЕрд░рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рд╡реЗрдд D.L.Q. (рдбреЗрдб рд▓реЗрдЯрд░ рд░рд╛рдВрдЧ). рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХ рд╡реЗрдЧрд│рд╛ рдкреНрд▓реЕрдЯрдлреЙрд░реНрдо рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЬреЛ рдЕрд╢рд╛ рд╕рдВрджреЗрд╢рд╛рдВрдирд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЛ, рддреНрдпрд╛рдВрдирд╛ рдЧреБрдгрдзрд░реНрдорд╛рдВрдиреБрд╕рд╛рд░ (рддреНрд╡рд░реАрдд рдЧрдЯрдмрджреНрдз рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╢реЛрдзрдгреНрдпрд╛рд╕рд╛рдареА) рдЕрдиреБрдХреНрд░рдорд┐рдд рдХрд░рддреЛ рдЖрдгрд┐ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рдЧрдВрддрд╡реНрдп рдкрддреНрддреНрдпрд╛рд╡рд░ рдкреБрдиреНрд╣рд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рдВрджреЗрд╢ рд╣рдЯрд╡рдгреНрдпрд╛рд╕рд╛рдареА API рдЙрдШрдб рдХрд░рддреЛ. рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕рджреНрд╡рд╛рд░реЗ рдпрд╛ рд╕реЗрд╡реЗрд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛рдд;
  • рдмреНрд░реЛрдХрд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ, рдбреАрдПрд▓рдХреНрдпреВрдордзреНрдпреЗ рд╕рдВрджреЗрд╢ рдпреЗрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдбрд┐рд▓рд┐рд╡реНрд╣рд░реАрдЪреНрдпрд╛ рдкреБрдиреНрд╣рд╛ рдкреНрд░рдпрддреНрдирд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдЖрдгрд┐ рдбрд┐рд▓рд┐рд╡реНрд╣рд░реА рджрд░рдореНрдпрд╛рди рд╡рд┐рд▓рдВрдм рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЗрд╖реНрдЯрддрдо рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдЪреА рдЧрдгрдирд╛ рдХрд░рдгреЗ рдЬрд╡рд│рдЬрд╡рд│ рдЕрд╢рдХреНрдп рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреБрдореНрд╣реА рдЕрдиреБрднрд╡рд╛рдиреБрд╕рд╛рд░ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рддреЗ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВ рд╢рдХрддрд╛. рдСрдкрд░реЗрд╢рди);
  • DLQ рд╕реНрдЯреЛрдЕрд░рдЪреЗ рд╕рддрдд рдирд┐рд░реАрдХреНрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рд╡реЗ, рдЖрдгрд┐ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХрд╛рдВрдирд╛ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдЬреЗрдгреЗрдХрд░реБрди рдЬреЗрд╡реНрд╣рд╛ рд╡рд┐рддрд░рд┐рдд рди рдХреЗрд▓реЗрд▓реЗ рд╕рдВрджреЗрд╢ рдпреЗрддрд╛рдд рддреЗрд╡реНрд╣рд╛ рддреЗ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд▓рд╡рдХрд░ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдК рд╢рдХрддреАрд▓. рд╣реЗ рдЕрдпрд╢рд╕реНрд╡реА рдХрд┐рдВрд╡рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рддреНрд░реБрдЯреАрдЪреЗ "рдиреБрдХрд╕рд╛рди рдХреНрд╖реЗрддреНрд░" рдХрдореА рдХрд░реЗрд▓;
  • рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдмрд╕ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдЪреНрдпрд╛ рддрд╛рддреНрдкреБрд░рддреНрдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддреАрдмрджреНрджрд▓ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рд╡рд┐рд╖рдп рд╕рджрд╕реНрдпрддрд╛ рдЯрд┐рдХрд╛рдК рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреЗ рдбреЛрдореЗрди рдирд╛рд╡ рдЕрджреНрд╡рд┐рддреАрдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдХреЛрдгреАрддрд░реА рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддреАрдд рд░рд╛рдВрдЧреЗрддреВрди рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВ рдирдпреЗ.

рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рдЪреНрдпрд╛ рдзрд╛рдЧреНрдпрд╛рдЪреА рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреЗ

рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рд╕рдорд╛рди рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░ рдПрдХрд╛рдЪ рд╡реЗрд│реА рдЕрдиреЗрдХ рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рд╣реЛрдК рд╢рдХрддрд╛рдд, рдЬреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдВрддрд░рдкрдгреЗ рд╕реБрд░реВ рд╣реЛрдИрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЕреЕрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡реНрд╣рд▓рдкрд░рд╕рд╛рдареА, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реЛрдкреЗ рдЖрдгрд┐ рдереНрд░реЗрдб-рд╕реЗрдл рдЕрд╕рд╛рд╡реЗ.

рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд╣реНрдп рдЗрд╡реНрд╣реЗрдВрдЯрд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рддреЗ рдЬреА рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕ рд╡реИрдпрдХреНрддрд┐рдХрд░рд┐рддреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ. рдпрд╛ рдШрдЯрдирд╛ рдЕрд╕реВ рд╢рдХрддрд╛рдд:

  • рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕реБрд░реВ рдХрд░рдгреЗ;
  • рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрддреАрд▓ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдкрд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдХреНрд░рд┐рдпрд╛;
  • рд╕рдВрджреЗрд╢ рдХрд┐рдВрд╡рд╛ рд╕рд┐рдЧреНрдирд▓рдЪреА рдкрд╛рд╡рддреА рдЬреНрдпрд╛рд╕рд╛рдареА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рд╕рджрд╕реНрдпрддрд╛ рдШреЗрддрд▓реА рдЖрд╣реЗ;
  • рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рджреНрд╡рд╛рд░реЗ рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЯрд╛рдЗрдорд░рдЪреА рд╕рдорд╛рдкреНрддреА;
  • API рджреНрд╡рд╛рд░реЗ рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рд╛ (рдЙрджрд╛. рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рджреНрдж рдХрд░рд╛).

рдЕрд╢реА рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдирд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рддреА рдмрджрд▓реВ рд╢рдХрддреЗ: рдХрд╛рд╣реА рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рд╕рдВрдкреВ рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдЗрддрд░ рд╕реБрд░реВ рд╣реЛрдК рд╢рдХрддрд╛рдд, рд╕реНрдерд┐рд░ рдЧреБрдгрдзрд░реНрдорд╛рдВрдЪреА рдореВрд▓реНрдпреЗ рдмрджрд▓реВ рд╢рдХрддрд╛рдд. рдХреЛрдгрддрд╛рд╣реА рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рдмрдВрдж рдХреЗрд▓реНрдпрд╛рдиреЗ рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдПрдХ рдХрд┐рдВрд╡рд╛ рдЕрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рдХрд▓рд╛рдк рд╕рдХреНрд░рд┐рдп рд╣реЛрдК рд╢рдХрддрд╛рдд. рддреЗ, рдпрд╛ рдмрджрд▓реНрдпрд╛рдд, рдЗрддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдВрдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреЗ рдерд╛рдВрдмрд╡реВ рд╢рдХрддрд╛рдд рдХрд┐рдВрд╡рд╛, рддреНрдпрд╛рдВрдирд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рдбреЗрдЯрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рд▓реНрдпрд╛рд╕, рддреЗ рддреНрдпрд╛рдЪ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдкреВрд░реНрдг рдХрд░реВ рд╢рдХрддрд╛рдд. рд╡реНрдпрд╡рд╣рд╛рд░ рдмрдВрдж рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рдирд╡реАрди рд╕реНрдерд┐рддреА рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ, рдЬрд┐рдереЗ рддреЗ рдкреБрдвреАрд▓ рдмрд╛рд╣реНрдп рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрд▓.

рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рд╕рд╛рдард╡рд▓реЗрд▓рд╛ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рдмрд┐рдЭрдиреЗрд╕ рдкреНрд░реЛрд╕реЗрд╕ рдбреЗрдЯрд╛ рд╣рд╛ рд╕рд┐рд▓реЗрдХреНрдЯ рдлреЙрд░ рдЕрдкрдбреЗрдЯ рд╡рд╛рдкрд░рддрд╛рдирд╛ рдПрдХ рдЕрддрд┐рд╢рдп рд╕реЛрдпреАрд╕реНрдХрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдкреЙрдЗрдВрдЯ рдЖрд╣реЗ. рдЬрд░ рдПрдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рддреА рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реА рдЕрд╕реЗрд▓, рддрд░ рд╕рдорд╛рдВрддрд░ рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдмрджрд▓рд╛рд╕рд╛рдареА рд╕рдорд╛рди рд╕реНрдерд┐рддреА рдорд┐рд│реВ рд╢рдХрдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рдкрд╣рд┐рд▓рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, рджреБрд╕рд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЖрдзреАрдЪ рдмрджрд▓рд▓реЗрд▓реА рд╕реНрдерд┐рддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рд╣рдореА.

DBMS рдмрд╛рдЬреВрд▓рд╛ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд▓реЙрдХ рд╡рд╛рдкрд░реВрди, рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдЖрд╡рд╢реНрдпрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкреВрд░реНрдг рдХрд░рддреЛ рдЖрдореНрд▓, рдЖрдгрд┐ рдЪрд╛рд▓реВ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд╡реВрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рд╕рд╣ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЛрдЬрдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджреЗрдЦреАрд▓ рд░рд╛рдЦреВрди рдареЗрд╡рддреЗ.

рддрдерд╛рдкрд┐, рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд▓реЙрдХреНрд╕рдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдбреЗрдбрд▓реЙрдХрдЪрд╛ рдзреЛрдХрд╛ рдЕрд╕рддреЛ, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рддреАрд▓ рдХрд╛рд╣реА рдЧрдВрднреАрд░ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдбреЗрдбрд▓реЙрдХрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд рд╕рд┐рд▓реЗрдХреНрдЯ рдлреЙрд░ рдЕрдкрдбреЗрдЯ рдЕрдЬреВрдирд╣реА рдХрд╛рд╣реА рд╡рд╛рдЬрд╡реА рдХрд╛рд▓рдмрд╛рд╣реНрдпрддреЗрдкрд░реНрдпрдВрдд рдорд░реНрдпрд╛рджрд┐рдд рдЕрд╕рд╛рд╡реЗ.

рджреБрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдореНрд╣рдгрдЬреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдкреНрд░рд╛рд░рдВрднрд╛рдЪреЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди. рдХреЛрдгрддреАрд╣реА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╕рддрд╛рдирд╛, рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдХреЛрдгрддреАрд╣реА рд╕реНрдерд┐рддреА рдирд╛рд╣реА, рдореНрд╣рдгреВрди рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реА рдкрджреНрдзрдд рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╛рдкреНрддреАрдордзреНрдпреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдЪреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рд╛рдпрдЪреА рдЕрд╕реЗрд▓, рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡рд░реНрдЧ рдЖрдгрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╡реНрдпрд╛рдкреНрддреАрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЭреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рдПрдХ рд╡реЗрдЧрд│реА рд▓реЙрдХрд┐рдВрдЧ рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░рддреЛ рдЬреА рдЖрдореНрд╣рд╛рд▓рд╛ рдмрд╛рд╣реНрдп рд╕реЗрд╡реЗрджреНрд╡рд╛рд░реЗ URI рдлреЙрд░рдореЕрдЯрдордзреНрдпреЗ рдХреА рджреНрд╡рд╛рд░реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рд╕рдВрд╕рд╛рдзрдирд╛рд╡рд░ рд▓реЙрдХ рдШреЗрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЖрдордЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрдордзреНрдпреЗ, InitialPlayer рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдПрдХ рдШреЛрд╖рдгрд╛ рдЖрд╣реЗ

uniqueConstraint = UniqueConstraints.singleton

рдореНрд╣рдгреВрди, рд▓реЙрдЧрдордзреНрдпреЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреА рд▓реЙрдХ рдШреЗрдгреНрдпрд╛рдмрджреНрджрд▓ рдЖрдгрд┐ рд╕реЛрдбрдгреНрдпрд╛рдмрджреНрджрд▓ рд╕рдВрджреЗрд╢ рдЖрд╣реЗрдд. рдЗрддрд░ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рдЕрд╕реЗ рдХреЛрдгрддреЗрд╣реА рд╕рдВрджреЗрд╢ рдирд╛рд╣реАрдд: рдЕрджреНрд╡рд┐рддреАрдп рдмрдВрдзрди рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА.

рд╕рддрдд рд╕реНрдерд┐рддреАрд╕рд╣ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╕реНрдпрд╛

рдХрд╛рд╣реАрд╡реЗрд│рд╛ рд╕рддрдд рд╕реНрдерд┐рддреА рд░рд╛рд╣рдгреЗ рдХреЗрд╡рд│ рдорджрдд рдХрд░рдд рдирд╛рд╣реА рддрд░ рдЦрд░реЛрдЦрд░ рд╡рд┐рдХрд╛рд╕рд╛рд╕ рдЕрдбрдерд│рд╛ рдЖрдгрддреЗ.
рдЬреЗрд╡реНрд╣рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдмрджрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ рддреЗрд╡реНрд╣рд╛ рд╕рдорд╕реНрдпрд╛ рд╕реБрд░реВ рд╣реЛрддрд╛рдд. рдЕрд╕рд╛ рдХреЛрдгрддрд╛рд╣реА рдмрджрд▓ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреНрдпрд╛ рдЬреБрдиреНрдпрд╛ рд╕реНрдерд┐рддреАрд╢реА рд╕реБрд╕рдВрдЧрдд рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдЖрдврд│рдд рдирд╛рд╣реА. рдЬрд░ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ рдЕрдиреЗрдХ "рд▓рд╛рдЗрд╡реНрд╣" рдЙрджрд╛рд╣рд░рдгреЗ рдЕрд╕рддреАрд▓, рддрд░ рд╡рд┐рд╕рдВрдЧрдд рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рдиреЗ рдЦреВрдк рддреНрд░рд╛рд╕ рд╣реЛрдК рд╢рдХрддреЛ, рдЬреНрдпрд╛рдЪрд╛ рдЖрдореНрд╣рд╛рд▓рд╛ jBPM рд╡рд╛рдкрд░рддрд╛рдирд╛ рдЕрдиреЗрдХрджрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрддреЛ.

рдмрджрд▓рд╛рдЪреНрдпрд╛ рдЦреЛрд▓реАрд╡рд░ рдЕрд╡рд▓рдВрдмреВрди, рдЖрдкрдг рджреЛрди рдкреНрд░рдХрд╛рд░реЗ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛:

  1. рдЬреБрдиреНрдпрд╛рдордзреНрдпреЗ рд╡рд┐рд╕рдВрдЧрдд рдмрджрд▓ рдХрд░реВ рдирдпреЗрдд рдореНрд╣рдгреВрди рдирд╡реАрди рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкреНрд░рдХрд╛рд░ рддрдпрд╛рд░ рдХрд░рд╛ рдЖрдгрд┐ рдирд╡реАрди рдЙрджрд╛рд╣рд░рдгреЗ рд╕реБрд░реВ рдХрд░рддрд╛рдирд╛ рдЬреБрдиреНрдпрд╛рдРрд╡рдЬреА рддреНрдпрд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рд╛. рдЬреБрдиреА рдЙрджрд╛рд╣рд░рдгреЗ "рдЬреБрдиреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ" рдХрд╛рд░реНрдп рдХрд░рдд рд░рд╛рд╣рддреАрд▓;
  2. рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛рдирд╛ рдмрд┐рдЭрдиреЗрд╕ рдкреНрд░реЛрд╕реЗрд╕реНрд╕рдЪреА рд╕рдХреНрддреАрдЪреА рд╕реНрдерд┐рддреА рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рд╛.

рдкрд╣рд┐рд▓рд╛ рдорд╛рд░реНрдЧ рд╕реЛрдкрд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдЪреНрдпрд╛ рдорд░реНрдпрд╛рджрд╛ рдЖрдгрд┐ рддреЛрдЯреЗ рдЖрд╣реЗрдд, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:

  • рдЕрдиреЗрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбреЗрд▓реНрд╕рдордзреНрдпреЗ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдЪреЗ рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди, рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░рд╛рдЪреНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рдд рд╡рд╛рдв;
  • рдмрд░реНтАНрдпрд╛рдЪрджрд╛ рдирд╡реАрди рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рдордзреНрдпреЗ рддреНрд╡рд░рд┐рдд рд╕рдВрдХреНрд░рдордг рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ (рдЬрд╡рд│рдЬрд╡рд│ рдиреЗрд╣рдореАрдЪ рдПрдХрддреНрд░реАрдХрд░рдг рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рдмрд╛рдмрддреАрдд);
  • рд╡рд┐рдХрд╕рдХрд╛рд▓рд╛ рдорд╛рд╣рд┐рдд рдирд╛рд╣реА рдХреА рдЕрдкреНрд░рдЪрд▓рд┐рдд рдореЙрдбреЗрд▓ рд╣рдЯрд╡рдгреЗ рдХреЛрдгрддреНрдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░ рд╢рдХреНрдп рдЖрд╣реЗ.

рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд, рдЖрдореНрд╣реА рджреЛрдиреНрд╣реА рдкрджреНрдзрддреА рд╡рд╛рдкрд░рддреЛ, рдкрд░рдВрддреБ рдЖрдордЪреЗ рдЬреАрд╡рди рд╕реЛрдкреЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓реЗ рдЖрд╣реЗрдд:

  • рдбреЗрдЯрд╛рдмреЗрд╕рдордзреНрдпреЗ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕реНрдерд┐рд░ рд╕реНрдерд┐рддреА рд╕рд╣рдЬрдкрдгреЗ рд╡рд╛рдЪрддрд╛ рдпреЗрдгреНрдпрд╛рдЬреЛрдЧреНрдпрд╛ рдЖрдгрд┐ рд╕рд╣рдЬрдкрдгреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ: JSON рдлреЙрд░рдореЕрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧрдордзреНрдпреЗ. рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЖрдд рдЖрдгрд┐ рдмрд╛рд╣реЗрд░ рджреЛрдиреНрд╣реА рдард┐рдХрд╛рдгреА рд╕реНрдерд▓рд╛рдВрддрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдЕрддреНрдпрдВрдд рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ, рдЖрдкрдг рд╣рдБрдбрд▓рд╕рд╣ (рд╡рд┐рд╢реЗрд╖рдд: рдбреАрдмрдЧрд┐рдВрдЧ рджрд░рдореНрдпрд╛рди рд╡рд┐рдХрд╛рд╕рд╛рдд рдЙрдкрдпреБрдХреНрдд) рджреЗрдЦреАрд▓ рдмрджрд▓реВ рд╢рдХрддрд╛;
  • рдЗрдВрдЯрд┐рдЧреНрд░реЗрд╢рди рдмрд┐рдЭрдиреЗрд╕ рд▓реЙрдЬрд┐рдХ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрдЪреА рдирд╛рд╡реЗ рд╡рд╛рдкрд░рдд рдирд╛рд╣реА, рдЬреЗрдгреЗрдХрд░реБрди рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡реЗрд│реА рд╕рд╣рднрд╛рдЧреА рдкреНрд░рдХреНрд░рд┐рдпреЗрдкреИрдХреА рдПрдХрд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдирд╡реАрди рдирд╛рд╡рд╛рдиреЗ рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, "InitialPlayerV2"). рдмрдВрдзрди рд╕рдВрджреЗрд╢ рдЖрдгрд┐ рд╕рд┐рдЧреНрдирд▓рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдВрджреНрд╡рд╛рд░реЗ рд╣реЛрддреЗ;
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рдПрдХ рдЖрд╡реГрддреНрддреА рдХреНрд░рдорд╛рдВрдХ рдЕрд╕рддреЛ, рдЬреЛ рдЖрдореНрд╣реА рдпрд╛ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╡рд┐рд╕рдВрдЧрдд рдмрджрд▓ рдХреЗрд▓реНрдпрд╛рд╕ рдЖрдореНрд╣реА рд╡рд╛рдврд╡рддреЛ рдЖрдгрд┐ рд╣рд╛ рдХреНрд░рдорд╛рдВрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрд╕рд╣ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ;
  • рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рд╕рдХреНрддреАрдЪреА рд╕реНрдерд┐рддреА рдкреНрд░рдердо рдмреЗрд╕рдкрд╛рд╕реВрди рд╕реЛрдпреАрд╕реНрдХрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбреЗрд▓рдордзреНрдпреЗ рд╡рд╛рдЪрд▓реА рдЬрд╛рддреЗ рдЬреНрдпрд╛рд╡рд░ рдореЙрдбреЗрд▓рдЪрд╛ рдЖрд╡реГрддреНрддреА рдХреНрд░рдорд╛рдВрдХ рдмрджрд▓рд▓реНрдпрд╛рд╕ рд╕реНрдерд▓рд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддреЗ;
  • рд╕реНрдерд▓рд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╛рдЪреНрдпрд╛ рдкреБрдвреЗ рдареЗрд╡рд▓реА рдЬрд╛рддреЗ рдЖрдгрд┐ рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╡реЗрд│реА рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╛рдареА "рдЖрд│рд╢реА" рдореНрд╣рдЯрд▓реЗ рдЬрд╛рддреЗ;
  • рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд░реНрд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдШрдЯрдирд╛рдВрдЪреА рд╕реНрдерд┐рддреА рдЬрд▓рдж рдЖрдгрд┐ рд╕рдордХрд╛рд▓рд┐рдХрдкрдгреЗ рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рд╛рдпрдЪреА рдЕрд╕реЗрд▓, рддрд░ рдЕрдзрд┐рдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдпрдЧреНрд░реЗрд╢рди рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд, рдкрд░рдВрддреБ рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗрдереЗ JSON рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.

рдорд▓рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЖрдгрдЦреА рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд╛?

рд▓реЗрдЦрд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдореБрд│реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдордЪреЗ рдЬреАрд╡рди рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рд╕реЛрдкреЗ рдХреЗрд▓реЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рд╕реНрддрд░рд╛рд╡рд░ рд╕реЛрдбрд╡рд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреА рд╢реНрд░реЗрдгреА рд╡рд┐рд╕реНрддреГрдд рдХреЗрд▓реА рдЖрдгрд┐ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕реЗрд╕рдордзреНрдпреЗ рд╡реНрдпрд╡рд╕рд╛рдп рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рдЕрдзрд┐рдХ рдЖрдХрд░реНрд╖рдХ рдмрдирд╡рд┐рд▓реА. рдпрд╛рд╕рд╛рдареА, рдмрд░реЗрдЪ рдХрд╛рдо рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдВрд╕рд╛рдареА рдПрдХ рдЕрддрд┐рд╢рдп "рд╣рд▓рдХреЗ" рдлреНрд░реЗрдорд╡рд░реНрдХ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ, рддрд╕реЗрдЪ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реЗрдгреАрдЪреНрдпрд╛ рд╕рдВрджрд░реНрднрд╛рдд рдУрд│рдЦрд▓реЗрд▓реНрдпрд╛ рд╕рдорд╕реНрдпрд╛рдВрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрд╡рд╛ рдШрдЯрдХ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдЖрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдкрд░рд┐рдгрд╛рдо рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рдгреНрдпрд╛рдЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ, рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХрд╛рдВрдЪрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдкрд░рд╡рд╛рдиреНрдпрд╛рдЕрдВрддрд░реНрдЧрдд рдЦреБрд▓реНрдпрд╛ рдкреНрд░рд╡реЗрд╢рд╛рдордзреНрдпреЗ рдЖрдгрдгреНрдпрд╛рд╕рд╛рдареА. рдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реА рдкреНрд░рдпрддреНрди рдЖрдгрд┐ рд╡реЗрд│ рд▓рд╛рдЧреЗрд▓. рдЕрд╢рд╛ рдЙрдкрд╛рдпрд╛рдВрдЪреА рдорд╛рдЧрдгреА рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрдордЪреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░реЛрддреНрд╕рд╛рд╣рди рдЕрд╕реВ рд╢рдХрддреЗ. рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд▓реЗрдЦрд╛рдд, рдлреНрд░реЗрдорд╡рд░реНрдХрдЪреНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрдХрдбреЗ рдлрд╛рд░рдЪ рдХрдореА рд▓рдХреНрд╖ рджрд┐рд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдкреИрдХреА рдХрд╛рд╣реА рд╕рд╛рджрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдВрд╡рд░реВрди рджреГрд╢реНрдпрдорд╛рди рдЖрд╣реЗрдд. рддрд░реАрд╣реА рдЖрдореНрд╣реА рдЖрдордЪреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗрд▓реНрдпрд╛рд╕, рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рд▓реЗрдЦ рддреНрдпрд╛рд╕ рд╕рдорд░реНрдкрд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓. рдпрд╛рджрд░рдореНрдпрд╛рди, рддреБрдореНрд╣реА рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рджреЗрдКрди рдереЛрдбрд╛рд╕рд╛ рдЕрднрд┐рдкреНрд░рд╛рдп рджрд┐рд▓реНрдпрд╛рд╕ рдЖрдореНрд╣реА рдЖрднрд╛рд░реА рд░рд╛рд╣реВ:

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рдорд▓рд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЖрдгрдЦреА рдПрдХ рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд╛?

  • 18,8%рд╣реЛрдп, рдореА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд╢реЛрдзрдд рдЖрд╣реЗ.

  • 12,5%рдЖрдкрд▓реНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреЗрдгреЗ рдордиреЛрд░рдВрдЬрдХ рдЖрд╣реЗ, рддреЗ рдЙрдкрдпреБрдХреНрдд рдЕрд╕реВ рд╢рдХрддреЗ2

  • 6,2%рдЖрдореНрд╣реА рд╡рд┐рджреНрдпрдорд╛рди рдлреНрд░реЗрдорд╡рд░реНрдХрдкреИрдХреА рдПрдХ рд╡рд╛рдкрд░рддреЛ, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рддреЗ рдмрджрд▓рдгреНрдпрд╛рдЪрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░рдд рдЖрд╣реЛрдд

  • 18,8%рдЖрдореНрд╣реА рд╡рд┐рджреНрдпрдорд╛рди рдлреНрд░реЗрдорд╡рд░реНрдХрдкреИрдХреА рдПрдХ рд╡рд╛рдкрд░рддреЛ, рд╕рд░реНрд╡рдХрд╛рд╣реА рд╕реВрдЯ3

  • 18,8%рдлреНрд░реЗрдорд╡рд░реНрдХрд╢рд┐рд╡рд╛рдп рд╕рд╛рдордирд╛ рдХрд░рдгреЗ3

  • 25,0%рддреБрдордЪреЗ рд╕реНрд╡рддрдГрдЪреЗ рд▓рд┐рд╣рд╛

16 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 7 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛