ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π±ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Ρ SOAP ΠΈ RMI. ΠΠ°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ: RMI ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SOAP Ρ.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ SOAP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ XML Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΈΠΊΠ°. ΠΠ΄Π½Π°ΠΊΠΎ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠΎΠ΄Π²Π΅Π΄Ρ ΠΈΡΠΎΠ³ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π³Π»Π°Π², ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ:
- Β· Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠ»Π° Π½Π°ΡΡΡΠΎΠ΅ΠΊ
- Β· ΠΡΠΎΠΈΠ³ΡΡΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ:
Π€Π°ΠΉΠ»Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ JPEG, PNG, BMP.
Π€Π°ΠΉΠ»Ρ Π²ΠΈΠ΄Π΅ΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ MPEG-4, AVI.
ΠΠ΄ΡΠ΅ΡΠ° Π²Π΅Π± ΡΡΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.
- Β· ΠΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ
- Β· ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
- Β· ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΡΠ΄ΡΠΈΠ½ΠΎ
- Β· Π‘Π±ΠΎΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ
- Β· ΠΠΈΡΡΠ°Π½ΡΠΈΠΎΠ½Π½ΡΠΉ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Β· ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΡΠ·ΡΠΊ Java. ΠΠ°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΈΠ»ΡΠ½ΡΠΌΠΈ ΡΡΠΎΡΠΎΠ½Π°ΠΌΠΈ ΡΠ·ΡΠΊΠ°:
- 1. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΠΏΠΎΠΊΠ°Π· ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ.
- 2. ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π° Java ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠΎΠ΄Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ», ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ[8]
- 3. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠ±ΠΎΡΡΠΈΠΊ ΠΌΡΡΠΎΡΠ° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΠΈΡΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΎΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π±Π΅Π· Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΠΊΠ°ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΡΡΠ΅ΡΠΊΡ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π΄ΠΎΠ»Π³ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ[8]
- 4. ΠΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ Π½Π° Java, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Jbittorrent, RMI, Java architecture for XML building (JAXB), Guice. Π Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°Π½ΠΎ Π΄Π°Π»Π΅Π΅.
- 5. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π΄ΡΡΠ³ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡΡΡ ΠΎΡ windows.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ Windows ΠΏΠΎ ΠΏΡΠΈΡΠΈΠ½Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠΎΠ΄Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠΌ ΡΡΠ½ΠΊΠ΅ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΠΈΠ΅ ΡΠ΅ΠΊΠ»Π°ΠΌΡ Π½Π° ΡΠ²ΠΎΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ QIWI, Π‘Π±Π΅ΡΠ±Π°Π½ΠΊ, ΠΠΠΠ’, ΠΠ ΠΠ ΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Ρ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Windows ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π²Π΅ΡΡΠΈΠΉ. ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ Π΄Π»Ρ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΎΡΡΠΈΠΉΡΠΊΠΈΠΉ ΡΡΠ½ΠΎΠΊ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΡΡΠ»ΡΠ³ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΠΎΠΊΠ°Π· ΠΌΠ΅Π΄ΠΈΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Qt Π²Π΅ΡΡΠΈΠΈ 4.8 ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ²ΡΠ·ΠΊΠΈ Ρ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Java Native Interface (JNI). JNI ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΡΠ·ΡΠΊΠ΅ Java ΠΈΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π‘, Π‘++, Visual basic. Π Java ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π²Π΅Π± ΡΠ°ΠΉΡΠΎΠ² ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Java FX ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Java FX ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. ΠΠ΅ΡΠ²ΠΎΠ½Π°ΡΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ, Π½ΠΎ, ΠΏΡΠΈ Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ, Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΎΡ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ ΡΠΎΡΠ»Π° Π½Π° 200 MB Π² ΡΠ°Ρ, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠΌΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· 5−6 ΡΠ°ΡΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ΅ 4ΠΠ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Java FX Media Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΎΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Qt. Qt ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΡΠΎΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ C++ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π²Π΅ΡΡΠΈΡ 4.8, ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ 5.3. ΠΠ°Π½Π½ΡΠΉ ΡΠ°ΠΊΡ Π²ΡΠ·Π²Π°Π½ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π²Π΅Π± ΡΠ°ΠΉΡΠΎΠ² Π² ΡΠ²ΡΠ·ΠΊΠ΅ Ρ JNI, Ρ ΠΎΡΡ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π² Π½Π°ΠΈΡΠΈΠ²Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π»ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Qt ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ Π»ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Java FX ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠΌ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ 1920*1080 Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°: Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ΅ intel core i7 ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠ·ΠΈΠ»ΠΎΡΡ Ρ 34−30% Π΄ΠΎ 5−7%, ΡΡΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π² 4 ΡΠ°Π·Π°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ²ΡΠ·ΠΊΠΈ JNI+QT ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 200 MB. ΠΠ°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ» ΡΠ΄Π΅Π»Π°Π½ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Java Visual VM, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΡΠΉ Java ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π· ΡΡΠ΅ΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Java Runtime Environment (ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½ΠΎΠΉ java). ΠΡΡΠΈΠ½Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°Π΄Π°Π²Π°Π»ΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Ρ java. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Qt ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΎ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ:
- Β· ΠΠ»Ρ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Java, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Java RMI, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Qt. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π‘++ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎ Π±Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠ°ΠΌΠΊΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Β· ΠΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ, ΡΡΡΠ΄Π½ΠΎΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Qt C++ ΡΡΠ»ΠΎΠΆΠ½ΠΈΠ»ΠΎ Π±Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π½Π½ΡΠ΅ ΠΏΠ»ΡΡΡ Java ΡΠ·ΡΠΊΠ° ΠΏΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΠΏΠ»ΡΡΡ Qt C++ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ²Π΅Π»ΠΈ ΠΊ Π²ΡΠ±ΠΎΡΡ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Java ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ C++ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ°Π²ΡΠ΅Π³ΠΎΡΡ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠ΅Π΄ΠΈΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ Π±ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Ρ SOAP ΠΈ RMI. ΠΠ°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ: RMI ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ SOAP Ρ.ΠΊ. ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ SOAP, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ XML Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΡΡΠ°ΡΡΠΈΠΊΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π·Π½ΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠ² Π²ΡΡΡΠ½ΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΠΏΠΎΡΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ RMI Π΄Π΅Π»Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡΡ Π·Π°ΡΡΡΠ΄Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ±ΡΠ°Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π²Π΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΡΠ°Π·Ρ, ΠΎΡΡΠ°Π²ΠΈΠ² Π²ΡΠ±ΠΎΡ Π½Π° ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: Π΅ΡΠ»ΠΈ ΠΎΠ½ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ Π±ΡΡΡΡΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² RMI ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ remote method invocation Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΡΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ, ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ SOAP ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π·Π°ΡΠΈΡΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄ΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π±ΡΠ» Π²ΡΠ±ΡΠ°Π½ Hypertext transfer protocol secure (HTTPS) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ΅ΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ . HTTPS — ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Secure socket layer (SSL — ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄)) Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π ΡΠ·ΡΠΊΠ΅ Java ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· HTTPS, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ ΠΈ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ SOAP Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π»Π°ΡΡ XML web services security (XWSS — Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄Π»Ρ Π²Π΅Π± ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ XML (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄)) Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ. ΠΡΠΈ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ°. ΠΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ ΠΏΠΎΠΊΠ°Π·Π°Π», ΡΡΠΎ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈ Π΄Π΅ΡΠ°Π»ΡΡ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΈΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΡΠΌ ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΡΡΠΈΠΎΠ½Π½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ SQLite. ΠΠ°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΡΡΡΡΠΎΡΡ ΠΎΡΠΊΠ»ΠΈΠΊΠ° (ΡΠ±ΠΎΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΠ»ΠΊΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 15 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ ΠΏΡΠΈ 2000 ΡΡΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ ; ΠΠ°ΠΏΠΈΡΡ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΎ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 7 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄ ΠΏΡΠΈ 2000 ΡΡΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ ), ΡΠ΄ΠΎΠ±Π½ΠΎΡΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ java, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΡΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ SQL Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎΠ³Π΄Π° ΠΏΡΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ Π±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΡΡΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π·Π°ΠΏΠΈΡΠΈ Π² Π½Π΅Π³ΠΎ.
ΠΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΌΠ΅Π΄ΠΈΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠ΅ΡΠ΅Π½ΠΎ Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ JBittorrent Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Bittorrent ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ, ΠΏΡΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°Ρ , ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ , Π³Π΄Π΅ ΠΏΠΎΡΠΎΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΊΠΎΡΠΎΡΡΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠ°ΠΉΠ»Π° Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° [9]. Π’Π°ΠΊΠΆΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΈ ΡΠ°Π·ΡΡΠ²Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΠΏΡΠΎΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅Π΄ΠΈΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°.
ΠΠ»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Guice ΠΈ JUnit. Guice ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ Π΄Π»Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Java ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠ°ΡΡΠ΅ΡΠ½ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (Dependency injection pattern). ΠΠ°Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΠΎ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΏΡΠΎΡΡΠΈΠ»ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° JUnit. Junit — ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Ρ Junit ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π° ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ. Π¦Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, Π±ΡΡΡΡΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅Π΄ΠΈΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.