ΠΠ΄Π²ΠΎΠΊΠ°ΡΠΈΡΠ΅ Π½Π° Oracle ΡΠ° ΡΠΏΠΎΡΠ΅Π΄ΡΠ²Π°Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½Π°ΡΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° Java API Π²ΠΎ Android ΡΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° βΠ₯Π°ΡΠΈ ΠΠΎΡΠ΅Ρβ.
ΠΡΡ
ΠΎΠ²Π½ΠΈΠΎΡ ΡΡΠ΄ Π½Π° Π‘ΠΠ ΡΠ΅ ΡΠ°ΡΠΏΡΠ°Π²Π° Π·Π° Π²Π°ΠΆΠ΅Π½ ΡΠ»ΡΡΠ°Ρ Π½Π° ΠΏΠΎΡΠ΅ΡΠΎΠΊΠΎΡ Π½Π° ΠΎΠ²Π°Π° Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠΎ ΠΈΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅, Π±ΠΈΠ·Π½ΠΈΡΠΎΡ Π½Π° Oracle ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ SQL ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ IBM, Π° Π΄ΡΡΠΈ ΡΠ΅Π³Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°ΡΠ° Π½ΡΠ΄ΠΈ ΠΎΠ±Π»Π°ΠΊ ΡΡΠ»ΡΠ³Π° ΡΠΎ API ΠΎΠ΄ Amazon S3, ΠΈ ΡΠΎΠ° Π΅ ΡΠΎΡΠ΅ΠΌΠ° Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ. Π Π΅ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° API Π΅ ΠΏΡΠΈΡΠΎΠ΄Π΅Π½ Π΄Π΅Π» ΠΎΠ΄ ΡΠ°Π·Π²ΠΎΡΠΎΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠ°ΡΠ° Π½Π°ΡΠΊΠ° ΡΡΡΠ΅ ΠΎΠ΄ ΡΠ°ΠΌΠΈΠΎΡ ΠΏΠΎΡΠ΅ΡΠΎΠΊ Π½Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°ΡΠ°.
Oracle Π³ΠΎ ΠΎΠ±Π²ΠΈΠ½ΡΠ²Π° Google Π·Π° Π½Π΅Π»Π΅Π³Π°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π½Π° Java API, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π»ΠΈΡΡΠ° Π½Π° ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΏΠΎΠ²ΡΠ·Π°Π½ΠΈ ΡΠΎ Π³ΡΠ°ΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ ΠΠ½Π΄ΡΠΎΠΈΠ΄ Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π΅Π½ ΡΠΎ Java API Π·Π° Π΄Π° ΠΈΠΌ ΠΎΠ»Π΅ΡΠ½ΠΈ Π½Π° Java ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π΅ΡΡΠ²Π°Π°Ρ ΡΠΎΡΡΠ²Π΅Ρ ΠΈ Π·Π½Π°Π΅ΡΠ΅ Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°. ΠΠ° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΎΠ²Π°, Android ΡΠΎΡΠ½ΠΎ Π³ΠΈ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΡΠΎΠΎΠ΄Π²Π΅ΡΠ½ΠΈΡΠ΅ Java API ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΈ Π³ΡΠ°ΠΌΠ°ΡΠΈΡΠΊΠΈ ΡΡΡΡΠΊΡΡΡΠΈ.
ΠΠΎ, Java API Π½Π΅ ΡΠ΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΈΡΠ΅ API, Π° Android Π½Π΅ Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΡΠ΅ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΎ Π΄Π΅Π½Π΅ΡΠ½Π°ΡΠ° ΠΠ’ ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°, API-ΠΈΡΠ΅ ΡΠ΅ ΡΠ΅ΠΏΡΠΈΡΡΡΠ½ΠΈ, Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ Π²ΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π΅ ΠΎΠ΄ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ Π·Π½Π°ΡΠ΅ΡΠ΅ Π·Π° ΠΎΠ΄ΡΠΆΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡΠ°ΡΠ° Π·Π° Π΄Π° ΡΠ΅ ΡΠΏΡΠ΅ΡΠ°Ρ Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠΈΡΠΌΠΈ Π΄Π° ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΠΈΠ·ΠΈΡΠ°Π°Ρ
Duane Π³ΠΎ Π΄Π°Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠΎΡ Π½Π° ΠΏΠΎΠΏΡΠ»Π°ΡΠ½Π°ΡΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΠ°ΡΠ΅ Amazon S3. ΠΠ° Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ ΠΏΠΈΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΏΡΠ΅Π·Π΅ΠΌΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΠΎΠ΄ S3, Amazon ΡΠ°Π·Π²ΠΈ ΡΠ΅ΠΎΠΏΡΠ°ΡΠ½Π°,
GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer
ΠΠΌΠ°Π·ΠΎΠ½ Π΅ ΡΠ°ΡΠ΅Π½ Π»ΠΈΠ΄Π΅Ρ Π½Π° ΠΏΠ°Π·Π°ΡΠΎΡ Π½Π° ΠΎΠ±Π»Π°ΠΊ ΡΡΠ»ΡΠ³ΠΈ, Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈ Π½ΡΠ΄Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° S3 API, Π΄ΠΎΠ΄Π΅ΠΊΠ° ΡΠΈΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΈΠΌΠΈΡΠΈΡΠ°Π°Ρ ΠΈΠΌΠΈΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΠΎΠ·Π½Π°ΠΊΠΈ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ, ΠΏΡΠ΅ΡΠΈΠΊΡΠΈ Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ x-amz, Π³ΡΠ°ΠΌΠ°ΡΠΈΡΠΊΠ° ΡΡΡΡΠΊΡΡΡΠ° ΠΈ ΠΎΠΏΡΡΠ° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΠ° Π½Π° S3 API. Π‘ΠΎ Π΄ΡΡΠ³ΠΈ Π·Π±ΠΎΡΠΎΠ²ΠΈ, ΡΓ¨ ΡΡΠΎ ΡΠ²ΡΠ΄ΠΈ Oracle Π΅ Π·Π°ΡΡΠΈΡΠ΅Π½ΠΎ ΡΠΎ Π°Π²ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π°.
ΠΠ΅ΡΡ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈΡΠ΅ ΠΊΠΎΠΈ Π½ΡΠ΄Π°Ρ ΠΊΠΎΠΏΠΈΡΠ° Π½Π° Amazon S3 API ΡΠ΅
Oracle ΡΠ²ΡΠ΄ΠΈ Π΄Π΅ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΠΈΡΠΎΡΡΠ° Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΡΠ°ΠΏΠΊΠΈ ΡΠ΅ Π·Π°ΡΠ½ΠΎΠ²Π° Π½Π° Π»ΠΈΡΠ΅Π½ΡΠ°ΡΠ° ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ Apache 2.0, ΠΊΠΎΡΠ° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡΠ²Π° Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ ΠΈ ΠΌΠ΅Π½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΠΎ, ΠΏΡΠ°ΡΠ°ΡΠ΅ΡΠΎ Π΅ Π΄Π°Π»ΠΈ Π·Π°ΠΊΠΎΠ½ΠΎΡ Π·Π° ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡΡΠ°Π»Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡ ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π° Π΄ΡΡΠΈ ΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΠΊΠΎ API-ΠΈ. ΠΠ²Π° ΠΌΠΎΡΠ° Π΄Π° Π³ΠΎ ΡΡΠ²ΡΠ΄ΠΈ ΠΡΡ ΠΎΠ²Π½ΠΈΠΎΡ ΡΡΠ΄.
ΠΠΎΡ Π³ΠΎ ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΠ» API?
Π’Π΅ΡΠΌΠΈΠ½ΠΎΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° βΠ±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° ΠΏΠΎΡΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°β ΠΏΡΠ²ΠΏΠ°Ρ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° Π²ΠΎ ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ ΠΈ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ - ΠΠ΅Π» II, Π’ΠΎΠΌ III (ΠΠ½ΡΡΠΈΡΡΡ Π·Π° Π½Π°ΠΏΡΠ΅Π΄Π½ΠΈ ΡΡΡΠ΄ΠΈΠΈ Π½Π° Π£Π½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΎΡ ΠΡΠΈΠ½ΡΡΠΎΠ½, 1948) ΠΎΠ΄ Π₯Π΅ΡΠΌΠ°Π½ ΠΠΎΠ»Π΄ΡΡΠ°ΡΠ½ ΠΈ ΠΠΎΠ½ ΡΠΎΠ½ ΠΠΎΡΠΌΠ°Π½.
ΠΠ²Π° Π΅ ΠΏΡΠ²ΠΈΠΎΡ ΠΎΠΏΠΈΡ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π·Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ ΡΡΠΎ Π³ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ΅ Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° (ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ ΠΎΠ²Π° Π½Π΅ ΠΏΠΎΡΡΠΎΠ΅ΡΠ΅). Π’ΠΎΡ Π±Π΅ΡΠ΅ ΡΠΈΡΠΎΠΊΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΠΈΡΠ°Π½ Π΄ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΠ·ΠΈΡΠ΅ΡΠΈΡΠ΅, ΠΊΠΎΠΈ Π²ΠΎ ΡΠΎΠ° Π²ΡΠ΅ΠΌΠ΅ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΡΠ²Π°Π° Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΈ. Π ΡΡΠΎ Π΅ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΎ, ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈ ΠΊΠ»ΡΡΠ½Π° ΠΈΠ΄Π΅ΡΠ°: ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠ°Ρ Π·Π°Π΅Π΄Π½ΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ ΡΠΎ ΡΡΡΠΈΠ½ΠΈ ΡΠ΅ ΡΠ° Π½Π°ΠΌΠ°Π»Π°Ρ ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π°ΡΠ° Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄ ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ²Π°Π° ΠΈΠ΄Π΅ΡΠ° Π±Π΅ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΎΠ²ΡΡΠ΅Π½Π° ΠΎΠ΄ ΠΠΎΡΠΈΡ ΠΠΈΠ»ΠΊΡ ΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° Π²ΠΎ ΠΏΡΠ°ΠΊΡΠ° Π²ΠΎ ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° EDSAC, Π·Π° ΠΊΠΎΡΠ° ΡΠ° Π΄ΠΎΠ±ΠΈ Π’ΡΡΠΈΠ½Π³ΠΎΠ²Π°ΡΠ° Π½Π°Π³ΡΠ°Π΄Π° Π²ΠΎ 1967 Π³ΠΎΠ΄ΠΈΠ½Π°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΡΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° EDSAC Π΅ Π»Π΅Π²ΠΎ
Π‘Π»Π΅Π΄Π½ΠΈΠΎΡ ΡΠ΅ΠΊΠΎΡ Π±Π΅ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ΄ ΠΏΠΎΠ²ΠΈΡΠΎΠΊ ΡΠ΅Π΄ ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΏΡΠ°Π²Π½ΠΈ ΡΠΎΡΡΠ²Π΅ΡΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ° ΠΠΎΡΠΈΡ ΠΠΈΠ»ΠΊΡ ΠΈ ΠΠ΅ΡΠ²ΠΈΠ΄ ΠΠΈΠ»Π΅Ρ Π²ΠΎ ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½ΡΠΊΠΈ Π΄ΠΈΠ³ΠΈΡΠ°Π»Π΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ (1951).
Π‘Π°ΠΌΠΈΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½ ΠΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° (API) ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈ Π½Π΅ΠΊΠ°Π΄Π΅ Π²ΠΎ Π΄ΠΎΡΠ½ΠΈΡΠ΅ 60-ΡΠΈ.
ΠΠ²ΡΠΎΡ Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡΠ°ΡΠ°
API
Π‘ΠΎΠ·Π΄Π°ΡΠ΅Π»
ΠΠΎΠ΄ΠΈΠ½Π°
Π Π΅ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°
ΠΠΎΠ΄ΠΈΠ½Π°
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° FORTRAN
IBM,
1958
Π£Π½ΠΈΠ²Π°ΠΊ
1961
IBM S/360 ISA
IBM,
1964
Amdahl Corp.
1970
Π‘ΡΠ°Π½Π΄Π°ΡΠ΄Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° C
AT&T/Bell Labs
1976
ΠΠ°ΡΠΊ ΠΠΈΠ»ΠΈΡΠ°ΠΌΡ ΠΠΎ.
1980
Unix ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ²ΠΈΡΠΈ
AT&T/Bell Labs
1976
ΠΠ°ΡΠΊ ΠΠΈΠ»ΠΈΡΠ°ΠΌΡ ΠΠΎ.
1980
VT100 Esc Seqs
ΠΠ΅ΠΊΠ΅ΠΌΠ²ΡΠΈ
1978
Π₯ΠΈΡΠΊΠΈΡ
1980
IBM PC BIOS
IBM,
1981
Π’Π΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° Π€Π΅Π½ΠΈΠΊΡ
1984
MS-DOS CLI
ΠΠ°ΡΠΊΡΠΎΡΠΎΡΡ
1981
ΠΡΠΎΠ΅ΠΊΡ FreeDOS
1998
ΠΠΎΠΌΠΏΠ»Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° Π₯Π΅ΡΡ AT
Π₯Π΅ΡΡ ΠΌΠΈΠΊΡΠΎ
1982
Π‘ΠΈΠ΄ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΠ°
1985
PostScript
Adobe
1985
GNU/GhostScript
1988
SMB
ΠΠ°ΡΠΊΡΠΎΡΠΎΡΡ
1992
Π‘Π°ΠΌΠ±Π° ΠΏΡΠΎΠ΅ΠΊΡ
1993
Win32
ΠΠ°ΡΠΊΡΠΎΡΠΎΡΡ
1993
ΠΡΠΎΠ΅ΠΊΡ Π·Π° Π²ΠΈΠ½ΠΎ
1996
ΠΠ°Π²Π° 2 ΠΊΠ»Π°ΡΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
Π‘ΠΎΠ½ΡΠ΅ΡΠΎ
1998
Google/Android
2008
ΠΠ΅Π± API Delicious
Π²ΠΊΡΡΠ½ΠΈ
2003
ΠΡΠ»Π°ΡΠ½
2009
ΠΠ·Π²ΠΎΡ:
ΠΠΎΠΏΠΈΡΠ°ΡΠ΅ΡΠΎ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΡΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ API (Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΊΠΎΠΌΠΏΠ»Π΅ΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ) Π½Π΅ ΡΠ°ΠΌΠΎ ΡΡΠΎ Π΅ ΡΠΎΡΠ½ΠΎ, ΡΡΠΊΡ ΠΎΠ²Π°Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π²ΠΎ ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΊΠ°ΡΠ° Π½Π°ΡΠΊΠ°. ΠΡΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ Π΄Π° Π³ΠΈ ΠΊΠΎΠΏΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ Π½Π° S3, ΡΠ°ΠΌΠΈΠΎΡ Oracle Π³ΠΎ ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΠΎΠ° ΠΌΠ½ΠΎΠ³Ρ ΠΏΠ°ΡΠΈ. ΠΠΎΠΊΡΠ°Ρ ΡΠΎΠ°, Π±ΠΈΠ·Π½ΠΈΡΠΎΡ Π½Π° Oracle ΠΏΡΠ²ΠΈΡΠ½ΠΎ Π±Π΅ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠΈΠΎΡ ΡΠ°Π·ΠΈΠΊ SQL ΡΠ°Π·Π²ΠΈΠ΅Π½ ΠΎΠ΄ IBM. ΠΡΠ²ΠΈΠΎΡ Π²ΠΎΠ΄Π΅ΡΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ Π½Π° Oracle Π±Π΅ΡΠ΅ DBMS, Π³Π»Π°Π²Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°Π½ ΠΎΠ΄ IBM System R. ΠΠΎ ΠΎΠ²ΠΎΡ ΡΠ»ΡΡΠ°Ρ, Π·Π±ΠΎΡΡΠ²Π°ΠΌΠ΅ Π·Π° ΠΏΠΎΠ²ΡΠΎΡΠ½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° Π½Π° SQL ΠΊΠ°ΠΊΠΎ βΡΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ APIβ Π·Π° DBMS.
ΠΠ°ΠΌΠ΅ΡΠ½ΡΠ²Π°ΡΠ΅ΡΠΎ ΠΏΡΠ°Π²Π° Π½Π° ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡΡΠ°Π»Π½Π° ΡΠΎΠΏΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° API ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΎΠ·Π΄Π°Π΄Π΅ Π»Π΅Π³Π°Π»Π½ΠΎ ΠΌΠΈΠ½ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ ΠΊΠΎΠ΅ Π²Π»ΠΈΡΠ°Π΅ Π½Π° ΡΠΈΡΠ΅. API ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π°Ρ ΠΈ
ΠΠ° Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π°Ρ ΠΎΠ²ΠΈΠ΅ Π΄Π°Π»Π΅ΠΊΡΡΠ΅ΠΆΠ½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠΈ, Oracle ΠΈ Π°ΠΏΠ΅Π»Π°ΡΠΈΠΎΠ½ΠΈΠΎΡ ΡΡΠ΄ ΡΡΠΎ Π³ΠΈ ΠΏΠΎΡΠ²ΡΠ΄ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ ΡΠ΅ ΠΎΠ±ΠΈΠ΄ΠΎΠ° Π΄Π° Π³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Ρ ΠΏΡΠ΅ΠΊΡΡΡΠ²Π°ΡΠ΅ΡΠΎ Π½Π° Π°Π²ΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠ΅ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½Π° API ΠΊΠΎΠΈ ΡΠ΅ βΠ½Π΅ΡΠΏΠΎΠΈΠ²ΠΈβ ΡΠΎ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΠΎΡ. ΠΠΎ, ΠΈ Π΄Π΅Π»ΡΠΌΠ½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠ»Π°Π²Π½Π°ΡΠ° ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΠΎΠ΄ ΡΡΠΆΠ±Π°ΡΠ° Π½Π° Oracle Π΅ ΡΠΎΠ° ΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΈ ΡΠΏΡΠ΅ΡΠΈ ΠΏΠΎΠΌΠ°Π»ΠΈΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Π΄Π° ΡΠΎΠ·Π΄Π°Π²Π°Π°Ρ Π²Π΅ΡΠ·ΠΈΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠΎΠΈ ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΈ ΡΠΎ Π΄ΠΎΠΌΠΈΠ½Π°Π½ΡΠ½ΠΈΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΊΠ°ΠΊΠΎ ΡΡΠΎ Π΅ S3. ΠΠ΅Π· ΡΠ°ΠΊΠ²Π° ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅ Π±ΠΈΠ΄Π°Ρ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΠΎΠ΄ ΠΏΠΎΠ½ΡΠ΄ΠΈΡΠ΅ Π½Π° ΠΎΠ²Π°Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠ°.
ΠΡΠ΅ΡΡΡΠ°Π²Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΠΈΠ½Π΄ΡΡΡΡΠΈΡΠ°ΡΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ΅ΡΠΈΡΠ΅ ΠΌΠΎΠΆΠ°Ρ ΡΠ°ΠΌΠΎ Π΄Π° ΡΠ΅ Π½Π°Π΄Π΅Π²Π°Π°Ρ Π΄Π΅ΠΊΠ° ΡΠ°Π·ΡΠΌΠΎΡ ΡΠ΅ Π½Π°Π΄Π²Π»Π°Π΄Π΅Π΅ ΠΎΠ²Π΄Π΅, ΠΈ
ΠΠ·Π²ΠΎΡ: www.habr.com