Oracle ááŸá±á·áá±áá»á¬ážááẠAndroid ááœáẠJava API áááŒááºáááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠ"Harry Potter" áá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááá¯áá°ážáá°ááŒááºážááŸáá·áºááŸáá¯ááºážááŸááºááŒááºážá
á¡áá±áááááºááá¬ážáá¯á¶ážáá»á¯ááºááẠááá¯ááŸá
áºá¡á
á±á¬ááá¯ááºážááœáẠá¡áá±ážááŒá®ážáá±á¬á¡ááŸá¯ááᯠááŒá¬ážáá¬áááºááŒá
áºáááºá
áá
áºáá»áááºáááºážááŸá¬áááºá Oracle á áá¯ááºáááºážááẠIBM á០áá®ááœááºáá¬ážáá±á¬ SQL áááá¯ááááºážáááºážáá¬áá¬á
áá¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡áá±á«áºááœáẠáááŠážáááºáá±á¬ááºáá²á·ááŒá®áž ááá¯á¡áá« áá¯áá¹ááá®ááẠAmazon S3 á០API ááŒáá·áº cloud áááºáá±á¬ááºááŸá¯ááᯠáá±ážáá±á¬ááºáá»ááºááŸáááŒá®áž áááºážááẠáá¯á¶ážááá¯á¶ááŸááºááŒá
áºáááºá API ááŒááºáááºááŒááºáááºááŒááºážááẠá
ááºááŸá¯áá¯ááºáááºážá¡á
ááááºážá ááœááºáá»á°áá¬áááá¹áá¶ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯á ááá¬áá¡á
áááºá¡ááá¯ááºážáá
áºáá¯ááŒá
áºáááºá
Oracle ááẠááá¹áá«áá¯á¶ááá¹áá¬ááºáááºáá±á¬ááºáá¯á¶áá»á¬ážááŸáá·áº áááºá
ááºáá±á¬ á¡áááºáá±ážáá¬ážáá±á¬ ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážá
á¬áááºážá¡áá«á¡ááẠJava API ááᯠááá¬ážááááºáá°ážáá°áá±áááºáᯠGoogle ááŸá
áœááºá
áœá²áá¬ážáááºá Android áááºáááºááŸá¯á
áá
áºááẠJava áááá¯ááááºáá¬áá»á¬ážá¡ááœáẠáá±á¬á·ááºáá²ááºááŸáá·áº á¡ááááá¬áá»á¬ážááᯠááááºáá±á¬ááºážá¡áá
áºááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠááá¯ááá¯ááœááºáá°á
á±ááẠJava API ááŸáá·áº á¡áá°ážáááá¬áááŒá
áºáááºá ááá¯ááá¯á·áá¯ááºáá±á¬ááºáááºá 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
Amazon ááẠcloud áááºáá±á¬ááºááŸá¯á á»á±ážááœááºááœáẠááŸááºážáááºážáá±á¬ áŠážáá±á¬ááºáá°ááŒá áºááŒá®áž áááºážáááŒáá¯ááºáááºáá»á¬ážááẠS3 API ááᯠááŒááºáááºá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáááºážááŸááºážáá¬ážáá±á¬áºáááºáž áááºážááá¯á·ááẠá¡áááá·áºáá±ážáá±á¬á¡áááºáá»á¬ážá ááá·áºáááºáá»ááºááºáá»á¬ážá á¡áá»áá¯ážá¡á á¬ážááŸá±á·áááºáá»á¬ážááᯠáá¯áááááºááŒá áºáááºá x-amzS3 API á ááá¹áá«ááœá²á·á ááºážáá¯á¶ááŸáá·áº á¡ááœá±ááœá±á¡ááœá²á·á¡á ááºážá áá áºáááºážááá¯ááá±á¬áº Oracle á áá±á¬ááºážááá¯ááá»áŸááẠáá°ááá¯ááºááœáá·áºááŒá áºáááºá
Amazon S3 API áá±á¬áºáá®ááᯠáááºážááŸááºážáá²á· áá¯áá¹ááá®ááœá±áá²ááŸá¬ áá«áá«áááºá
Oracle á áááºážááá¯ááºáá±á¬ááºáá»ááºáá»á¬ážáááá¬ážáááºááŸá¯ááẠáá¯ááºááá¯á¡ááá²á·áá°ážáá°ááŒááºážááŸáá·áº ááŒá¯ááŒááºááœááºážáá¶ááŒááºážáá»á¬ážááá¯ááœáá·áºááŒá¯ááá·áº open source Apache 2.0 ááá¯ááºá
ááºá¡áá±á«áºá¡ááŒá±áá¶áá¬ážááŒá±á¬ááºáž á¡ááá¯ááºá¡áá¬ááá¯áááºá á¥ááá¬á¡á¬ážááŒááºá·,
ááá¯á·áá±á¬áº áá¬ááá á¹á ááºážáá°ááá¯ááºááœáá·áºá¥ááá±ááẠAPIs áá²á·ááá¯á·áá±á¬ á¡áá¬áá»á¬ážááŸáá·áºááẠáááºáá±á¬ááºááŸá¯ááŸááááŸá áá±ážááœááºážáá¯ááºá áá¬ááŒá áºáááºá áá«ááᯠááá¬ážáá¯á¶ážáá»á¯ááºá áá¯á¶ážááŒááºááááºá
API ááᯠáááºáá°á áá®ááœááºáá²á·áá¬áá²á
Herman Goldstein ááŸáá·áº John von Neumann ááá¯á·á "áááá·áºá
áááºááá¹áááá¯ááºá¡ááá·áºááŒáá·áºáá±á·áá¬ááŸá¯á 1948) á á¡á®áááºáááœááºáá
áºááœááºááŒá°áá¬áá°áááá¬á¡ááœáẠá
á®áá¶ááááºážááŸáá·áº áá¯ááºáá±ážááŒááºážááŒá¿áᬠ- á¡ááá¯ááºáž XNUMXá á¡ááœá² III (ááááºá
áááºááá¹áááá¯ááºá¡ááá·áºááŒáá·áºáá±á·áá¬ááŸá¯á XNUMX) á
á¬á¡á¯ááºááœáẠ"áá¯ááºáááºážááœá²á
á¬ááŒáá·áºááá¯ááº" á áá±á«áá¬áááŸáá·áº á¡áá°á¡áááᯠá
áááºáá±á¬áºááŒáá²á·áááºá
áááºááá¯áá®ááœáẠáááá¯ááááºáá»á¬ážááᯠááááºážáááºážááá·áº ááœááºáá»á°áá¬áá»á¬ážá¡ááœáẠáááá¯ááááºážáááºáž áááºážá
áá
áºá ááááá¯á¶áž áá±á¬áºááŒáá»ááºááŒá
áºááẠ(ááááºá áááŸááá²á·)á áááºážááᯠááá¯á¡áá»áááºá ááá¯ááºááá¯ááºááœááºáá»á°áá¬áá»á¬áž áááºáá®ážááẠááŒáá¯ážá
á¬ážáá±ááá·áº ááá¹áááá¯ááºáá»á¬ážááá¯á· áá»ááºáá»ááºááŒáá·áºááŒáá·áº ááŒáá·áºáá±áá²á·áááºá á¡áá±ážá¡ááŒá®ážáá¯á¶ážááá±á¬á· á
á¬á¡á¯ááºáá²ááŸá¬ á¡ááá á¡ááŒá¶á¥á¬ááºáá
áºáá¯áá«ááŸááá«áááºá áááá¯ááááºá¡áá»á¬ážá
á¯ááẠáá¯á¶áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááºááŒá
áºááŒá®ážá áá¯ááºááá¯ážáá¯ááºá
ááºáá»á¬ážáá«ááŸááá±á¬ á
á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠáá¯ááºá¡áá
áºáá»á¬ážááŸáá·áº á¡ááŸá¬ážá¡ááœááºážáá»á¬áž ááá¬áááᯠáá»áŸá±á¬á·áá»áá±ážáááºááŒá
áºáááºá. á€á¡ááŒá¶á¡á
ááºááᯠMaurice Wilkes á០áááºáá¶ááá·áºá
ááºááŒá®áž 1967 Turing Award ááᯠáááŸááá²á·áá±á¬ EDSAC á
ááºááœáẠáááºááœá±á·áá¯ááºáá±á¬ááºáá²á·áááºá
EDSAC áá¯ááºááá¯ážáá¯ááºá
ááºá¡ááœá²á
á¬ááŒáá·áºááá¯ááºááẠáááºáááºááœááºááŸááááºá
áá±á¬ááºáá áºááá·áºááŸá¬ Maurice Wilkes ááŸáá·áº David Wheeler ááá¯á· Electronic Digital Computer (1951) á¡ááœáẠPreparing Programs (XNUMX) ááœáẠááŒá¯áá¯ááºáá²á·ááá·áºá¡ááá¯ááºáž ááá¯ááá¯ááŒáá·áºáá¬ážáá±á¬ áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááŸáá·áº ááŒáá·áºá á¯á¶áá±á¬ software interface áá»á¬ážááᯠáááºáá®ážáááºááŒá áºáááºá
á¡ááá¯áá«á¡áá¯á¶ážá¡ááŸá¯ááºáž áá»áŸá±á¬ááºááœáŸá¬á¡á á®á¡á áẠInterface (API) ááẠ60 ááŸá±á¬ááºážááá¯ááºážááœáẠáá áºáá±áá¬á áá±á«áºáá¬áááºá
áááºáááºáá±ážáá¬ážáá°
API ááá¯
áááºáááºážááŸááº
ÐПЎ
ááŒááºáááºááŒááºáááºááŒááºážá
ÐПЎ
FORTRAN á
á¬ááŒáá·áºááá¯ááº
IBM á
1958
Univac
1961
IBM S/360 ISA
IBM á
1964
Amdahl áá±á¬áºááá¯áá±ážááŸááºáž
1970
Standard C á
á¬ááŒáá·áºááá¯ááº
AT&T/Bell Labs
1976
Mark Williams Co.
1980
Unix á
áá
áºáá±á«áºááá¯ááŸá¯áá»á¬áž
AT&T/Bell Labs
1976
Mark Williams Co.
1980
VT100 Esc Seqs
DEC
1978
Heathkit
1980
IBM PC BIOS
IBM á
1981
Phoenix áááºážááá¬
1984
MS-DOS CLI
Microsoft á
1981
FreeDOS ááá±á¬áá»ááº
1998
Hayes AT á¡áááá·áºáá±ážáá¬ážáááºá
Hayes Micro
1982
Anchor Automation
1985
Postscript
Adobe á
1985
GNU/GhostScript
1988
SMB
Microsoft á
1992
Samba ááá±á¬áá»ááº
1993
áááºáž áá
Microsoft á
1993
ááá¯ááºááá±á¬áá»ááº
1996
Java 2 class á
á¬ááŒáá·áºááá¯ááºáá»á¬áž
áá±
1998
Google/Android
2008
ááẠAPI á¡ááá¬
á¡ááá¬ááŸááá±á¬
2003
áááºáá¯ááº
2009
source:
API áá»á¬ážááᯠáá°ážáá°ááŒááºážááŸáá·áº ááŒááºáááºá¡áá¯á¶ážááŒá¯ááŒááºáž (á á¬ááŒáá·áºááá¯ááºáá»á¬ážá ááœáŸááºááŒá¬ážáá»ááºá¡á á¯á¶áá»á¬áž) ááẠááŸááºáááºáá¯á¶áá¬ááá á€áááá¯ááááºážáááºážáááºážá áá áºááᯠááœááºáá»á°áá¬áááá¹áá¶á canons áá»á¬ážááœáẠááá¯ááºááá¯ááºá¡ááŒá¶ááŒá¯áá¬ážáááºá S3 áááá¯ááááºážáááºáž á¡ááºáá¬áá±á·á áºáá»á¬ážááᯠáá°ážáá°ááŒááºážáááŒá¯áá®ááœááºááẠOracle ááá¯ááºááá¯ááºá áááºážááᯠá¡ááŒáááºáá»á¬ážá áœá¬ ááŒá¯áá¯ááºáá²á·áááºá ááá¯á·á¡ááŒááºá Oracle á áá¯ááºáááºážááẠIBM á០áá®ááœááºáá¬ážááá·áº SQL áááá¯ááááºážáááºážáá¬áá¬á áá¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááœáẠáááŠážáááºáá±á¬ááºáá²á·áááºá Oracle á ááááá¯á¶ážáá±á¬ á¡áááºáá áá¯ááºáá¯ááºááẠIBM System R á០á¡áá»á¬ážá¡ááŒá¬áž áá°ážáá°áá¬ážáá±á¬ DBMS ááŒá áºáááºá á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááẠDBMS áá áºáá¯á¡ááœáẠâá ᶠAPIâ á¡ááŒá ẠSQL ááᯠááŒááºáááºá¡áá±á¬ááºá¡áááºáá±á¬áºááŒááºážá¡ááŒá±á¬ááºáž ááŒá±á¬áá±áá«áááºá
APIs áá»á¬ážáá±á«áºááœáẠáá¬ááá
á¹á
ááºážáá°ááá¯ááºááœáá·áºáá»á¬ážááᯠá¡áá¯á¶ážáá»ááŒááºážááẠáá°ááá¯ááºážá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááŸááá±á¬ ááá¬ážáááºááá¯ááºážááœááºážáá
áºáᯠáááºáá®ážááá¯ááºáááºá APIs áá»á¬ážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºááŒá®áž
á€áá»ááºááŒáá·áºáá±á¬ á¡áá»áá¯ážáááºáá»á¬ážááᯠááŸá±á¬ááºááŸá¬ážáááºá áááºážá ááŒááºážáá¯á¶áá»ááºáá»á¬ážááᯠáá±á¬ááºáá¶ááá·áº Oracle ááŸáá·áº á¡áá°áá¶ááá¬ážáá¯á¶ážááá¯á·ááẠáá°áááºážááŸáá·áº "áááá¬ááááŒá
áºáá±á¬" á¡áá»áá¯á· API ááŒááºáááºááŒááºáááºááŸá¯áá»á¬ážááᯠáá°ááá¯ááºááœáá·áºáá»áá¯ážáá±á¬ááºááŸá¯áá»á¬ážááᯠááá·áºáááºááẠááŒáá¯ážáááºážáá²á·áááºá áá«áá±ááá·áº áá
áºá
áááºáá
áºááá¯ááºáž ááŒááºááŒá®áž á¡áá±á¬ááºá¡áááºáá±á¬áºááá¬
Oracle áááá¬ážá áœá²ááá¯ááŸá¯á á¡áááá¡áá¹ááá¬ááºááŸá¬ S3 áá²á·ááá¯á·áá±á¬ ááŒá®ážááŒá®ážáá¬ážáá¬ážááááºáá±á¬ááºážáá»á¬ážááŸáá·áº ááœá²áááºá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á¡áá±ážá á¬ážáááºážááá¬áá¯áá¹ááá®áá»á¬ážá០áá¬ážááŸááºážáá»á¬ážáááºáá®ážááŒááºážá០áá¬ážáá®ážááá¯ááºááŒááºážááŒá±á¬áá·áºááŒá áºáááºá ááá¯ááá¯á·áá±á¬ ááá¯ááºáááºáá®ááŸá¯áááŸááá«áá áááá¯ááááºáá¬áá»á¬ážááẠá€áá¯áá¹ááá®ááááºážááŸááºážááŸá¯áá»á¬ážá០áááááá±á¬ááºáá±á¬áẠáá±á¬á·áááºááœá¬ážáááºááŒá áºáááºá
á
ááºááŸá¯áá¯ááºáááºážááá¯ááºá
á¬ážááŸááºáá»á¬ážááŸáá·áº áá¯ááºáááºážááŸááºáá»á¬ážááẠááá¯á¡ááŒá±á¬ááºážááŒáá»ááºááŒáá·áº á€áá±áá¬ááœááºáᬠááŒá®ážá
áá¯ážááá¯ááºáááºáᯠáá»áŸá±á¬áºááá·áºááá¯ááºáááºá
source: www.habr.com