π§Ό SOAP. ΠΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ
SOAP (Simple Object Access Protocol) β ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° XML ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ REST, SOAP Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΠΌΠΈΠΌΠΎ HTTP, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SMTP ΠΈ FTP. Π Π΅ΡΡ SOAP Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΡΠΎΠΌΠ΅ XML. ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π΄Π΅ Π½ΡΠΆΠ½Π° ΠΆΡΡΡΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π² legacy.
ΠΡΠΎΡΠΎΠΊΠΎΠ» SOAP ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HTTP Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° (SOAP over HTTP). ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTP, Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ HTTP, Π° Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΊ Ρ ΠΏΠΈΡΡΠΌΠΎΠΌ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SOAP. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ POST-Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° XML-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
>
>
>
>
ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² SOAP-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ <ΡΠ΅Π³Π°ΠΌΠΈ>. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΡΡΠΎ Π»Π΅ΠΆΠΈΡ Π²Π½ΡΡΡΠΈ. Π’Π΅Π³ΠΈ Π±ΡΠ²Π°ΡΡ <ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅> (ΠΏΠ΅ΡΠ΅Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ) ΠΈ </Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅>.
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? Π ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π² ΡΠ°ΠΉΠ»Π΅ WSDL.
WSDL (Web Services Description Language) β ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ XML. Π SOAP Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° WSDL. Π ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ: ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ Π΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ° SOAP Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° (endpoint). ΠΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΊΠΈΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² WSDL-ΡΠ°ΠΉΠ»Π΅.
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° SOAP
1. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°
2. ΠΠ°Π»ΠΈΡΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ SOAP
1. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΈΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»
2. ΠΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·-Π·Π° ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SOAP
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ SOAP ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΆΡΡΡΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ³ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΡΡΡΡΡΠΊΡΡΡΡ, Π±Π°Π½ΠΊΠΈΠ½Π³, ΡΠΈΠ½Π°Π½ΡΡ, Π·Π΄ΡΠ°Π²ΠΎΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ SOAP ΡΠ΅ΡΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² legacy-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
πΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
1. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SOAP ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ: ΡΡΠ°ΡΡΡ ΠΈ Π²Π΅Π±ΠΈΠ½Π°Ρ
2. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ SOAP Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΠΎΡ w3.org
3. ΠΡΠΈΠΌΠ΅Ρ API: ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ API Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ SOAP
4. REST vs SOAP, gRPC ΠΈ GraphQL: ΡΡΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎ API
5. SOAP API β ΠΎΠ±Π·ΠΎΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈ-ΡΡΠ°ΡΡΡ
6. ΠΠ΅Π±ΠΈΠ½Π°Ρ: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SOAP, WSDL, XSD / Π£ΡΠΎΠΊ 28 / Π’Π΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ Ρ Π½ΡΠ»Ρ
#ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ #api
SOAP (Simple Object Access Protocol) β ΠΏΡΠΎΡΠΎΠΊΠΎΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° XML ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ REST, SOAP Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠΎΠΌΠΈΠΌΠΎ HTTP, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, SMTP ΠΈ FTP. Π Π΅ΡΡ SOAP Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΡΠΎΠΌΠ΅ XML. ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π΄Π΅ Π½ΡΠΆΠ½Π° ΠΆΡΡΡΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π² legacy.
ΠΡΠΎΡΠΎΠΊΠΎΠ» SOAP ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ HTTP Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ° (SOAP over HTTP). ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΠ±ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ HTTP, Π½ΠΎ ΠΏΠΎ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π½Π΅ ΠΏΡΠΎΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ HTTP, Π° Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΠΊ Ρ ΠΏΠΈΡΡΠΌΠΎΠΌ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ ΠΏΠΈΡΡΠΌΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° SOAP. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ POST-Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° XML-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ
>
Envelope
β ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅.>
Header
β ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ.>
Body
β ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.>
Fault
β Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.ΠΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² SOAP-ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ <ΡΠ΅Π³Π°ΠΌΠΈ>. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΡΡΠΎ Π»Π΅ΠΆΠΈΡ Π²Π½ΡΡΡΠΈ. Π’Π΅Π³ΠΈ Π±ΡΠ²Π°ΡΡ <ΠΎΡΠΊΡΡΠ²Π°ΡΡΠΈΠ΅> (ΠΏΠ΅ΡΠ΅Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ) ΠΈ </Π·Π°ΠΊΡΡΠ²Π°ΡΡΠΈΠ΅>.
ΠΠ°ΠΊ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ΅Π³ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ? Π ΡΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ β Π² ΡΠ°ΠΉΠ»Π΅ WSDL.
WSDL (Web Services Description Language) β ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½ΠΈΠΌ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ XML. Π SOAP Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠ³ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΉΠ»Π° WSDL. Π ΠΊΠ»ΠΈΠ΅Π½Ρ, ΠΈ ΡΠ΅ΡΠ²Π΅Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΡΡΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ ΡΡΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ: ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΈ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡΡΠ°Π²ΠΈΡΡ Π·Π°ΠΏΡΠΎΡ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ ΡΠ½Π΄ΠΏΠΎΠΈΠ½Ρ Π΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΎΡΠ²Π΅Ρ.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡΠ° SOAP Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° (endpoint). ΠΡΠ° ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΊΠΈΠ΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠ° Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² WSDL-ΡΠ°ΠΉΠ»Π΅.
β ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° SOAP
1. ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°
2. ΠΠ°Π»ΠΈΡΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ
β ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ SOAP
1. Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π²ΠΈΠ΄Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΡΡΠΎΠ³ΠΎΠ³ΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ° ΠΈ ΠΏΡΠ°Π²ΠΈΠ»
2. ΠΠΈΠ·ΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ·-Π·Π° ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SOAP
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ SOAP ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π΄Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΆΡΡΡΠΊΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ³ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π³ΠΎΡΡΡΡΡΠΊΡΡΡΡ, Π±Π°Π½ΠΊΠΈΠ½Π³, ΡΠΈΠ½Π°Π½ΡΡ, Π·Π΄ΡΠ°Π²ΠΎΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅.
Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ SOAP ΡΠ΅ΡΡΠ΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² legacy-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
πΠΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
1. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SOAP ΠΏΡΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌ: ΡΡΠ°ΡΡΡ ΠΈ Π²Π΅Π±ΠΈΠ½Π°Ρ
2. ΠΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π±Π½ΠΈΠΊ ΠΏΠΎ SOAP Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΠΎΡ w3.org
3. ΠΡΠΈΠΌΠ΅Ρ API: ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ API Π―Π½Π΄Π΅ΠΊΡ ΠΠΈΡΠ΅ΠΊΡΠ° ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ SOAP
4. REST vs SOAP, gRPC ΠΈ GraphQL: ΡΡΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΏΠΎ API
5. SOAP API β ΠΎΠ±Π·ΠΎΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈ-ΡΡΠ°ΡΡΡ
6. ΠΠ΅Π±ΠΈΠ½Π°Ρ: Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ SOAP, WSDL, XSD / Π£ΡΠΎΠΊ 28 / Π’Π΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊ Ρ Π½ΡΠ»Ρ
#ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ #api