Kei te pirangi koe ki te hono i to taupānga ki Facebook kia whakaputa aunoa i nga panui, ki Instagram ranei kia taea e koe te tuku whakaahua me etahi hashtags?
Ka hiahia pea koe ki te whakauru i nga ataata YouTube ki to paetukutuku. Ma nga atanga papatono tono ka taea e koe te mahi i enei mahi katoa me etahi atu (API).
Ka taea e nga tono rereke te "korero" tetahi ki tetahi i runga i te haumaru me te whakataurite me te mihi ki nga API penei i te Instagram API, Facebook API, me te YouTube API.
Arā, ka taea e te papatono te tango i nga ahuatanga, i nga raraunga ranei mai i tetahi atu waahanga rorohiko me te whakamahi hei whakapai ake i ona ake ahuatanga, wheako kaiwhakamahi ranei. Engari me pehea e taea ai e nga taupānga enei tono te tuku, te tukatuka, me te whakautu ki a raatau i runga i te ahua ka maarama etahi atu?
Ka whakawhirinaki ki te ahua o te API i hangaia. I te wa e korero ana mo nga hoahoa API (atanga papatono tono), ko te tikanga ka whakatauritea te SOAP me te REST, e rua o nga tauira API tino rongonui.
I te wa i riro ai nga API SOAP (Kawa Whakaaetanga Ahanoa Maamaa) hei paerewa koura mo nga umanga penei i a Oracle, Sun, me PayPal, he rite, he rereke te whakautu i te tau i muri mai ki nga REST API mai i Google, Amazon, me eBay.
I tenei pou, ka whakatauritea, ka whakatauritea nga API SOAP me nga API REST kia taea ai e koe te whakatau ko wai te mea pai mo o kaupapa.
Ka timata ma te tautuhi i te API.
He aha te API?
Ko te Atanga Papatono Tono ka kiia ko te API. Ko nga API he kohinga tikanga me nga mahi e taea ai te whakawhanaketanga o nga taupānga. Ka whai waahi ratou ki nga korero me nga mahi o nga kaupapa rereke, ratonga, punaha whakahaere ranei.
Ka mahi ratou hei momo kaiwawao i waenga i nga momo punaha rorohiko. Ka taea e ratou te "korero" i waenga i nga kaupapa e rua kore hono.
Me tango te tauira o te kaihokohoko kararehe e kaha ana ki te mahi hokohoko me nga maakete putea. He kohinga aunoa tauhokohoko algorithms Ka taea te hono atu ki te papaaho hokohoko tino pai a te kaihokohoko ma te API. Ma tenei ka taea e koe, te kaihokohoko, te whakahaere i nga tauwhitinga hiko, te kite ranei i nga korero korero me nga raraunga utu.
He aha te REST?
Ko nga API "ratonga tukutuku" pono kei roto ko REST (Whakawhiti Whakawhiti Whenua). Ko nga REST API ka hangaia ki runga i nga URI (Uniform Resource Identifiers, he momo motuhake te URL), te kawa HTTP, me te whakatakotoranga raraunga JSON tino hototahi ki te tirotiro.
Ka whakamahia pea te kawa SOAP, pera i ta matou i korero ake nei. He ngawari te hanga me te tipu o nga API REST, engari he nui, he uaua hoki—kei te ahua o te hanga, te whakawhanui, me te aha e mahia ana.
Ko nga herenga rauemi, te whakaiti i nga whakaritenga haumarutanga, te hototahi o nga kaitirotiro tirotiro, te kitea, te hauora o te raraunga, me te tauineine etahi take e hiahia ana koe ki te hanga i tetahi API kia ONO—ko nga mea e pa ana ki nga ratonga tukutuku.
Ko te REST e tuku ana i te whiringa ngawari ake. He uaua ki te whakamahi i te SOAP me te taumaha ki nga kaihanga maha. Hei tauira, ma te whakamahi i te SOAP me te JavaScript me tuhi te maha o nga waehere hei whakaoti i nga mahi ngawari mai i te mea me hanga te hanganga XML e tika ana ia wa.
REST (te nuinga) ka whakamahi i te URL tika hei whakakapi i te tono XML. Ahakoa he onge nga ahuatanga me tuku e koe etahi atu taipitopito, ko te nuinga o nga ratonga tukutuku RESTful e whakamahi ana i te tikanga URL.
Ko nga kupumahi HTTP 1.1 e wha GET, POST, PUT, and DELETE ka taea te whakamahi e REST ki te whakahaere i nga mahi. Kaore i rite ki te SOAP, kaore e hiahiatia e te REST te whakautu ki te XML.
Ko nga ratonga tukutuku e ahu mai ana i te REST e whakaputa ana i nga raraunga i roto i te Uara Wehewehea Whakahaua (CSV), JavaScript Object Notation (JSON), me nga whakatakotoranga Tino Simple Syndication (RSS) e waatea ana (RSS).
Ko te whainga kia whiwhi koe i nga hua e hiahia ana koe i roto i te whakatakotoranga ngawari ki te poroporoaki i roto i te reo e whakamahia ana e koe mo to tono.
āhuatanga
- Ko te REST e whakanui ana i te ngawari ki runga ake i nga mea katoa, na nga tikanga HTTP.
- He pai rawa atu te paetukutuku mo te REST. He hototahi ki nga kaitirotiro na te mea ka whakamahia a JSON hei whakatakotoranga raraunga.
- E rongonui ana a REST mo tana whakahiato me te tere.
- Ko nga hononga a nga kaihoko-tūmau me nga hoahoanga ka taea e nga REST API te uru atu. Mena he RESTful, ka hangaia ma te whakamahi i tenei tauira kaihoko-tūmau, me nga haerenga a tawhio noa i waenga i nga taha e rua e tuku ana i nga utu raraunga.
- Ko nga REST API e whakamahi ana i tetahi atanga paerewa takitahi. Ma te whakarite kia hono rite nga taupānga katoa me te huarahi kotahi, ka whakamaarama i te huarahi korero a nga tono ki te API.
He aha te SOAP?
Ko tana ake kawa, e kiia nei ko SOAP (Simple Object Access Protocol), he uaua ake i te REST mai i te mea he maha ake nga paerewa, tae atu ki nga mea e pa ana ki te haumarutanga me te tuku karere.
Ko enei tikanga taketake ka tae mai me te utu iti ake. Heoi, ka taea e raatau te whakatau mo nga umanga e hiahia ana kia nui ake te haumarutanga, tauwhitinga, me te ACID (Atomicity, Consistency, Isolation, Durability).
Mo tenei whakataurite, he mea nui kia mahara ko te nuinga o nga painga o te SOAP kaore e pa ana ki nga tono ratonga tukutuku, na reira ka pai ake mo nga ahuatanga hinonga.
Ko nga taumata teitei ake o te haumarutanga (penei i te wa a taupānga pūkoro te taunekeneke me te peeke), nga tono karere e hiahia ana ki te whakawhitiwhiti korero pono, te taunekeneke me nga punaha tuku iho, te tutukitanga ACID ranei etahi take e hiahia ana koe ki te hoahoa i tetahi tono ma te whakamahi i te API SOAP.
Ko nga kaha o te tuku karere e SOAP he mea hangai katoa ki te XML. Ko nga hangarau hototahi-ipurangi tawhito penei i te Tauira Waahanga Tohatoha (DCOM) me te Hoahoanga Kaihokohoko Tono Ahanoa i whakakapihia e SOAP i te wa tuatahi i hangaia e Microsoft (CORBA).
Ko te ti'aturi ki runga i nga whakawhitiwhiti korero-rua ka kore enei punaha. I runga i te ipurangi, he pai ake te mahi o nga karere XML penei i whakamahia e SOAP.
āhuatanga
- Ko te haumarutanga o SOAP he tino kaha ake. Ko te WS-Security he paerewa hanga-i roto e tuku ana i te SOAP etahi atu mana haumaru taumata hinonga mena ka hiahiatia hei taapiri mo te tautoko SSL.
- Angitu/ngana ano te whakaaro mo te mahi karere pono. Na te mea karekau a REST i te tikanga karere paerewa, ka taea te ngana ano ina rahua te korero. Ahakoa te whakamahi i nga takawaenga SOAP, ka tukuna e SOAP te ti'aturi mutunga-ki-mutunga na runga i tana arorau angitu/whakamatau ano.
- Ko te SOAP kua tutuki ki nga paerewa ACID. Ma te tohu me pehea e taea ai e nga tauwhitinga te taunekeneke me te paataka raraunga, ka whakaitihia e te hanganga ture ACID nga koretake me te tiaki i te riterite o te papaunga raraunga. Na te mea he nui ake te tupato o te ACID i era atu tauira rite raraunga, ka whakamahia i nga wa e whakahaere ana i nga whakawhitinga tairongo, ahakoa he putea, he aha ranei.
- He maamaa te maarama mo nga kaihātaka i te mea ko te SOAP he whakawhitiwhiti korero e pa ana ki te XML.
- Ko te kawa karere XML he taapiri ki te kawa HTTP.
- Ko nga korero mai i tetahi rorohiko ki tetahi atu rorohiko ka taea te hora ma te karere SOAP.
- Ka taea hoki te whakatinana i te hoahoanga kiritaki-tūmau. Ka taea e te kiritaki te whakamahi i te karere kawa SOAP ki te waea i tetahi waea tikanga mamao kei te taha-tumau.
REST vs SOAP Rerekētanga
1. hoahoanga
Ko te API ko te whakaatu tuatahi i nga waahanga motuhake o te arorau pakihi o tetahi tono i runga i te tūmau. Ahakoa ka whakamahia e REST nga URI mo te kaupapa kotahi, ka whakamahia e SOAP tetahi Atanga Ratonga mo tenei.
Ko nga REST API ka hangaia i muri i nga raraunga, engari ko nga SOAP API ka whakawhanakehia i muri i nga mahi e whakaatuhia ana e te API. Ka whakatauritea ki te SOAP, he nui ake te mahi-mahi, ko te REST he hoahoa taapiri-raraunga.
2. Te hopu
Ko nga raraunga kua tohua hei keteroki ka taea te whakamahi ano e nga kaitirotiro me te kore e tono tono hou ki te tūmau. Ko te penapena wa me te whakapau kaha he painga o tenei.
Ko nga whakautu e kore e keteroki ki te taumata HTTP mai i te mea ka tukuna nga patai SOAP ma nga tono POST, e kiia ana e te paerewa HTTP he koretake. Mena kei te hiahia koe ki te mahi keteroki, me hanga tonu e koe nga tikanga e tika ana na te mea kaore nga REST API e whakauru i tenei whakatinanatanga.
3. Rauemi me te Aratuku
Na te ahua o te kopaki utu utu e whakamahia ana e SOAP, he iti noa te pikinga o runga ake, e tika ana kia taapiri atu te bandwidth. Ko te ahua mama o REST he painga i enei ahuatanga na te mea ka whakamahia mo nga ratonga tukutuku.
4. Haumarutanga
Ko te WS-haumarutanga, e tautoko ana a SOAP me te tino pai ake i te SSL i te taumata kawe waka, e hiahiatia ana. Ko te whakauru i nga mehua haumarutanga taumata-hinonga ki a ia ano he tino pai.
Ko te whakamunatanga mutunga-ki-mutunga ma te SSL e tautokohia ana e te SOAP me te REST, ka taea e REST te whakamahi i te HTTPS, te momo rereke o te kawa HTTP.
5. Te Whakahaere Utu
Ko nga raraunga ka tukuna ma te Ipurangi ka kiia he utu. Ko te utu e kiia ana he "taimaha" me whai rauemi taapiri. Ka whakatauritea ki te SOAP, e whakamahi ana i te XML, he maha nga wa ka whakamahia e REST a JSON me HTTP hei awhina i te whakaheke i te utu.
Ko te whare pukapuka Kiritaki motuhake me te waehere kua hangaia me whakamahi e te Kiritaki kia uru atu ki nga API SOAP na te mea he tino uaua o raatau kirimana korero.
Ko te mutunga, he iti ake te taumata tangohanga a SOAP i te REST me te hono tata atu ki te tūmau.
Ahea te whakamahi REST?
- Te hanga API tūmatanui: He pai ake nga REST API mo te hanga i nga ratonga paetukutuku a-iwi na te mea he ngawari ake te whakamahi me te tango i nga API SOAP. I tua atu, ko te SOAP he maha nga waahanga haumaru kua whakauruhia kaore i te REST, ahakoa kaore e hiahiatia enei ahuatanga ina mahi ana me nga raraunga tuwhera me nga ratonga.
- Te hanga taupānga pūkoro: He tino pai te REST mo te hanga tono pūkoro na te mea he iti, he whai hua, he kore whenua, he keteroki.
- Te whakamahi iti rawa o nga rauemi tūmau me te hōkaiipurangi: Ko nga tono katoa ki te REST API me noho kore whenua, ko te tikanga he wehe ke ia tauwhitinga, kei ia tono me te whakautu nga raraunga katoa e tika ana hei whakaoti i taua taunekeneke. Kaore e tiakina e te tūmau nga rekoata o nga tono o mua mai i te mea he tono hou mo ia tono. Ko te mutunga, he iti rawa te mahara o te tūmau me te tere ake te mahi na te mea karekau he tono kia mahi atu, kia tangohia mai ranei nga raraunga o mua.
Ahea te whakamahi SOAP?
- Te hanga API motuhake, ina koa mo nga pakihi nui: He tino pai te SOAP mo nga tono umanga mai i te mea ka taea e ia te rere raraunga i roto i te taiao kua wehea, kua tohatohahia me te maha o nga waahanga haumaru ipurangi.
- Te whakamahi i te kawa kawe i tua atu i te HTTP hei paparanga o raro: Ko te SOAP kaore i te whakawhirinaki ki te HTTP hei paparanga o raro. I runga i to tono, ka taea e koe te whakamahi SMTP (Kawa Whakawhiti Mēra Mamao), JMS (Ratonga Karere Java), tetahi atu kawa kawe ranei.
- Te mahi me nga mahi whaimana: He rereke ki nga tono ki nga API REST, he ahua ahua nga tono ki nga API SOAP, ko te tikanga ka tiakina e te tūmau nga korero mo te kaihoko me te whakamahi puta noa i nga mekameka tono, mahi ranei. Ahakoa he nui ake te whakamahi i te bandwidth tūmau me nga rauemi, he mea nui ki te kawe i nga mahi o ia ra, i nga mahi hono ranei, penei i nga whakawhitinga putea.
Opaniraa
Ko te whakataurite i waenga i te REST me te SOAP API ka tino kitea he pai ake te REST ki te SOAP. Ahakoa ano, he waahi ka hiahiatia te SOAP API. I etahi wa, ka hangaia nga ratonga tukutuku ma te whakakotahi i nga API REST me SOAP.
Na reira, ka whakatauhia e te keehi whakamahi ko tehea momo API ka pai te mahi.
Waiho i te Reply