π °οΈ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° Π±Π°Π·Π΅ low-code Π΄Π²ΠΈΠΆΠΊΠ° Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ.
Π’Π΅ΡΠΌΠΈΠ½ "Low-Code" ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΡΠ΅ΠΌΠΈΡΡΡ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΡΡΡΠ½ΡΡ ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΈ Π±ΠΈΠ·Π½Π΅Ρ-ΠΏΡΠΎΡΠ΅ΡΡΠ°Ρ , Π° Π½Π΅ Π½Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄Π΅ΡΠ°Π»ΠΈ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ "Π½Π΅ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ", ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠ°ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°, ΡΡΠ°ΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΡΠΏΡΠΎΡΠ°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ½ΠΈΠΆΠ°Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΠΎΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ²Π°Π»ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π‘ΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΊΠ°ΠΊ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΠ»ΠΎΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊ ΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ C# scripts.
Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈβ
ΠΠΎΠ΄ΡΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 2-Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΡΡΠ½ΠΎΡΡΠ΅ΠΉ:
- ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ (Runner)
- ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² (Runners dispatcher)
Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SignalR. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Ρ API ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΎΠ½Π° ΠΈ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΎΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠ°, ΠΎΠ½ ΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ°ΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΎΠ² ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΏ ΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π΄Π°ΡΠΈ ΠΈΠΌ Π·Π°Π΄Π°Π½ΠΈΠΉ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π° ΠΌΠ°ΡΡΡΡΡΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΊΡΠΊΠ»ΡΠ·ΠΈΠ²Π½ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΡΠ΅ΡΠ΅Π· Π±ΡΠΎΠΊΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ RabbitMQ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π½ΡΡ ΠΊΠ°ΡΡΡ ΠΌΠ°ΡΡΡΡΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ.
ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΈ ΡΡΠ°ΡΡΠ΅ ΠΏΡΡΠ°Π΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΡΡΡ Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΠΎΠΌ. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΏΡΠ» Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Π΄Π»Ρ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π²ΡΠ΄Π°Π΅Ρ Π·Π°Π΄Π°ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π±Π°Π»Π°Π½ΡΠΈΡΡΠ΅Ρ Π½Π°Π³ΡΡΠ·ΠΊΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌ Π² ΠΌΠΎΠ΄ΡΠ»Π΅. ΠΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ - Π²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΎΡΡ Π±Ρ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ.