Ua kope ʻo Oracle i ka API mai Amazon S3, a he mea maʻamau kēia

Ua kope ʻo Oracle i ka API mai Amazon S3, a he mea maʻamau kēia
Hoʻohālikelike nā loio Oracle i ka hoʻokō hou ʻana o ka Java API ma Android me ke kope ʻana i nā ʻike o "Harry Potter", PDF

E hoʻolohe ka ʻAha Kiekie o ʻAmelika i kekahi hihia koʻikoʻi i ka hoʻomaka ʻana o kēia makahiki. ʻO Oracle vs Google, nāna e hoʻoholo i ke kūlana kānāwai o ka API ma lalo o ke kānāwai waiwai naʻauao. Inā ʻaoʻao ka ʻaha me Oracle i kāna hoʻopiʻi multibillion-dollar, hiki iā ia ke hoʻopaʻa i ka hoʻokūkū a hoʻopaʻa i ka noho aliʻi ʻana o nā ʻenehana loea, ʻo ia paha me Google ponoʻī.

I ka manawa like, ua kūkulu mua ʻia ka ʻoihana ʻo Oracle ma ka hoʻokō ʻana i ka ʻōlelo hoʻolālā SQL i hoʻomohala ʻia e IBM, a hiki i kēia manawa ke hāʻawi nei ka hui i kahi lawelawe kapuaʻi me kahi API mai Amazon S3, a he mea maʻamau loa kēia. ʻO ka hoʻokō hou ʻana o API he ʻāpana kūlohelohe o ka hoʻomohala ʻana i ka ʻepekema kamepiula mai ka hoʻomaka ʻana o ka ʻoihana.

Hoʻopiʻi ʻo Oracle iā Google no ke kope hewa ʻole ʻana i ka Java API, me kahi papa inoa o nā kauoha i hoʻopaʻa ʻia i nā hale grammatical. Hoʻopili pono ʻia ka ʻōnaehana hana Android me ka Java API i mea e maʻalahi ai nā polokalamu Java e hoʻoili i nā polokalamu a me ka ʻike i ke kahua hou. No ka hana ʻana i kēia, ua kope pololei ʻo Android i nā kauoha Java API e pili ana a me nā hana grammatical. Hoopaapaa ʻO Oracle ka mea hiki ke hoʻohālikelike ʻia kahi "hoʻokō hou" o ka Java API me ke kope ʻana i ka hana a kahi mea kākau, e like me ka moʻolelo moʻokalaleo "Harry Potter" (kēia he laʻana maoli i hāʻawi ʻia e nā loio Oracle), aii Ua uhaki ʻo Google i ke kuleana kope o Oracle ma nā inoa kauoha a me nā hale kauoha Java API.

Akā ʻaʻole ʻo Java API wale nō nā API, a ʻaʻole ʻo Android ka hoʻokō hou. I loko o ka ʻoihana IT o kēia mau lā, he nui nā API, a he mea nui ka hoʻokomo hou ʻana i ka mālama ʻana i ka hoʻokūkū e pale aku ai i nā ʻoihana nui mai ka monopolizing. manao ʻO Charles Duane ka luna o ka ʻenehana a me nā kulekele hou ma ka R Street Institute.

Hāʻawi ʻo Duane i ka laʻana o ka waihona mālama mālama Amazon S3 kaulana. I mea e hiki ai ke kākau a hoʻihoʻi i nā faila mai S3, ua hoʻomohala ʻo Amazon i kahi kikoʻī, API kiko'ī e launa pū me ka lawelawe. No ka laʻana, e kiʻi i kahi papa inoa o nā faila i mālama ʻia (ListObjects) hoʻouna mākou i kahi kauoha GET e kuhikuhi ana i ka host a me nā ʻano ʻano ʻano hoʻopāpā, hoʻomau-hōʻailona и x-amz-lā. No ka hana pū me Amazon S3, pono e hoʻohana pono ka polokalamu i kēia a me nā inoa kikoʻī kikoʻī ʻē aʻe.

GET /?Delimiter=Delimiter&EncodingType=EncodingType&Marker=Marker&MaxKeys=MaxKeys&Prefix=Prefix HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-request-payer: RequestPayer

ʻO Amazon ke alakaʻi maʻalahi i ka mākeke lawelawe kapua, a hāʻawi nā mea hoʻokūkū i ka hoʻokō hou ʻana o ka S3 API, ʻoiai lākou e hoʻohālike i nā inoa kauoha, nā hōʻailona parameter, nā prefixes type. x-amz, hoʻolālā grammatical a me ka hui nui o ka S3 API. I nā huaʻōlelo ʻē aʻe, ʻo nā mea a pau a Oracle i koi ai he kuleana kope.

Ma waena o nā hui e hāʻawi ana i kahi kope o ka Amazon S3 API aia kekahi Oracle ponoi. No ka hoʻohālikelike ʻana, kope ka Amazon S3 Compatibility API i nā mea he nui o ka Amazon API, a hiki i nā hōʻailona x-amz.

Ua kope ʻo Oracle i ka API mai Amazon S3, a he mea maʻamau kēia

Ua ʻōlelo ʻo Oracle e pili ana ke kānāwai o kāna mau hana ma ka laikini Apache 2.0 open source, e ʻae ai i ke kope manuahi a me ka hoʻololi ʻana i ke code. ʻo kahi laʻana, Amazon SDK no Java hele pū me kahi laikini Apache 2.0.

Akā ʻo ka nīnau inā pili ke kānāwai waiwai naʻauao i nā mea e like me nā API. ʻO kēia ka mea e hoʻoholo ai ka ʻAha Kiʻekiʻe.

Na wai i haku i ka API?

Ua ʻike mua ʻia ka huaʻōlelo a me ka manaʻo o kahi "subroutine library" ma ka puke Planning and Coding Problems for an Electronic Computing Instrument - Part II, Volume III (Princeton University Institute of Advanced Study, 1948) na Herman Goldstein lāua ʻo John von Neumann. kope ma archive.org. Nā mea i loko o ka puke ʻekolu:

Ua kope ʻo Oracle i ka API mai Amazon S3, a he mea maʻamau kēia

ʻO kēia ka wehewehe mua o kahi ʻano papahana no nā kamepiula e mālama i nā polokalamu i ka hoʻomanaʻo (ma mua ʻaʻole i loaʻa kēia). Ua hoʻolaha nui ʻia i nā kulanui, i kēlā manawa e hoʻāʻo nei e hana i kā lākou kamepiula ponoʻī. A ʻo ka mea nui loa, aia i loko o ka puke kahi manaʻo koʻikoʻi: ʻO ka hapa nui o nā polokalamu e hoʻohana i nā hana maʻamau, a ʻo nā hale waihona puke me nā hana maʻamau e hōʻemi i ka nui o nā code hou a me nā hewa. Ua hoʻomaʻemaʻe hou ʻia kēia manaʻo e Maurice Wilkes a hoʻokō ʻia i ka mīkini EDSAC, nona ka makana Turing 1967.

Ua kope ʻo Oracle i ka API mai Amazon S3, a he mea maʻamau kēia
Aia ma ka ʻaoʻao hema ka waihona subroutine EDSAC

ʻO ka hana hou aʻe, ʻo ia ka hana ʻana i nā hana kiʻekiʻe aʻe a me nā kikowaena lako polokalamu piha, e like me kā Maurice Wilkes lāua ʻo David Wheeler i hana ai ma Preparing Programs for the Electronic Digital Computer (1951).

ʻO ka huaʻōlelo iho Palapala Polokalamu Palapala noi (API) i ʻike ʻia ma kahi o nā makahiki he 60.

Ka mea kākau o ka hōʻike "He moʻolelo kumu no ka API" Hāʻawi ʻo Joshua Block i kekahi mau hiʻohiʻona o ka hoʻonohonoho hoʻonohonoho ʻana, nā ʻōkuhi aʻo, a me nā hale waihona puke subroutine: pehea i hana ʻia ai a hoʻohana ʻia. ʻO ka manaʻo ʻo ka hoʻohana hou ʻana ke kiko o kahi API. ʻO kēia ka mea i hana ʻia ai lākou ma kahi mua. A ua loaʻa mau i nā mea hoʻomohala ka manawa e kope a hana hou i nā API o nā poʻe ʻē aʻe:

API
maker
Makahiki
Hoʻokō hou
Makahiki

hale waihona puke FORTRAN
IBM
1958
Univac
1961

IBM S/360 ISA
IBM
1964
Amdahl Corp.
1970

Hale Waihona Puke C maʻamau
AT&T/Bell Labs
1976
ʻO Mark Williams Co.
1980

Kāhea pūnaewele Unix
AT&T/Bell Labs
1976
ʻO Mark Williams Co.
1980

VT100 Esc Seqs
Kek.
1978
Heathkit
1980

IBM PC BIOS
IBM
1981
ʻenehana Phoenix
1984

MS-DOS CLI
Microsoft
1981
Pāhana FreeDOS
1998

ʻO ke kauoha ʻo Hayes AT
Hayes Micro
1982
Heleuma Automation
1985

Papalina
Adobe
1985
GNU/GhostScript
1988

SMB
Microsoft
1992
Pāhana Samba
1993

Win32
Microsoft
1993
Papahana Waina
1996

Nā waihona papa Java 2
Sun
1998
Google/Android
2008

Mea ʻono API Web
My
2003
Pākuʻi
2009

Source: "He moʻolelo kumu no ka API"

ʻAʻole pololei wale ke kope ʻana a me ka hoʻohana hou ʻana i nā API (nā hale waihona puke, nā ʻōkuhi aʻo), akā ʻōlelo pololei ʻia kēia ʻano hoʻonohonoho papahana ma nā canons o ka ʻepekema kamepiula. ʻOiai ma mua o ke kope ʻana i nā polokalamu hoʻonohonoho S3, ua hana ʻo Oracle i kēia i nā manawa he nui. Eia kekahi, ua kūkulu mua ʻia ka ʻoihana ʻo Oracle ma ka hoʻokō ʻana i ka ʻōlelo hoʻolālā SQL i hoʻomohala ʻia e IBM. ʻO ka huahana hae mua o Oracle he DBMS, i kope nui ʻia mai IBM System R. Ma kēia hihia, ke kamaʻilio nei mākou e pili ana i ka hoʻokō hou ʻana o SQL ma ke ʻano he "API maʻamau" no kahi DBMS.

ʻO ka hoʻokau ʻana i nā kuleana waiwai naʻauao ma nā API hiki ke hana i kahi minefield kānāwai e pili ana i nā mea a pau. Hoʻokō nā API a nā lawelawe ao ʻē aʻe. Nui nā kūlana ʻenehana, e like me ka Wi-Fi a me nā protocol Internet, me nā API. Pono e hoʻokō hou ʻia nā interface polokalamu ma kekahi ʻano ma kēlā me kēia kamepiula a me ke kikowaena ma ka Pūnaewele. Hiki i ka manaʻo kope kope o Oracle ke hana hewa i nā mea a pau āu e hana ai me kāu kamepiula.

No ka pale ʻana i kēia mau hopena koʻikoʻi, ua hoʻāʻo ʻo Oracle a me ka ʻaha hoʻopiʻi nāna i kākoʻo i kāna mau manaʻo hoʻopaʻapaʻa e kaupalena i ka hōʻino kope ʻana i kekahi mau hoʻokō API i "kūpono ʻole" me ke kumu. Akā ʻo ka hoʻokō hapa ʻana pū kekahi he mau mea maʻamau. ʻOiai i kāna kope o ka S3 API, ʻike ʻo Oracle i nā "ʻokoʻa" a me nā mea like ʻole me nā API Amazon kumu.

ʻO ka pōʻino nui o ka hoʻopiʻi a Oracle, ʻo ia ka hiki ke pale aku i nā ʻoihana ʻenehana liʻiliʻi mai ka hana ʻana i nā mana o nā ʻōnaehana i kūpono me nā paepae mana e like me S3. Me ka ʻole o ia ʻano like ʻole, e hoʻopaʻa pono ʻia nā polokalamu polokalamu mai nā makana a kēia hui.

Hiki i nā ʻelele ʻoihana a me nā mea hoʻomohala ke manaʻolana e lanakila ke kumu ma aneʻi, a ʻike nā luna kānāwai i ke kumu o ka papahana.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka