Programmēšana

Pareizās tehnoloģijas izvēle pakalpojumu slāņa izveidei .NET

Projektējot pakalpojumu slāni jūsu lietojumprogrammās, pakalpojuma slānī izmantojamās tehnoloģijas izvēle ir atkarīga no daudziem faktoriem. Šajā rakstā es iepazīstināšu ar diskusiju par to, kad un kā jūs varat izlemt izvēlēties pareizo tehnoloģiju, lai ieviestu pakalpojumu slāni, izstrādājot lietojumprogrammas .Net.

Divi nozīmīgi sāncenši, kas jums ir, veidojot .Net pakalpojumu slāni, ir WCF un Web API. WCF ir SOA izstrādes platforma - tā nodrošina daudzas funkcijas un atbalsta daudz un dažādus transporta protokolus. Kaut arī WCF ir vienota sistēma uz pakalpojumiem orientētu lietojumprogrammu veidošanai, Web API ir viegla alternatīva RESTful pakalpojumu izveidei, kurus var patērēt daudzi dažādi klienti. RESTful pakalpojumi izmanto pamata HTTP un ir vienkārši ar daudz mazāku lietderīgo slodzi, salīdzinot ar SOAP pakalpojumiem. Varat izmantot WebHttpBinding WCF, lai izveidotu ar SOAP RESTful nesaistītus pakalpojumus, izmantojot HTTP. WCF ir daudz universālāks tādā ziņā, ka tas var atbalstīt daudzus transporta protokolus - HTTP, TCP utt. Jūs varat izmantot WCF, lai izveidotu drošus, uzticamus un darījumu pakalpojumus, kas var atbalstīt ziņojumapmaiņu, duplekso komunikāciju un ātrus transporta kanālus, piemēram, TCP. , Nosauktās caurules vai UDP.

Ja jums ir jāveido viegli, uz resursiem orientēti pakalpojumi, izmantojot HTTP, kas var izmantot visas HTTP protokola funkcijas, izmantot versijas, pārlūkprogrammu kešatmiņas kontroli un vienlaicīgumu, izmantojot Etags, Web API ir laba izvēle. Pakalpojuma slānī jums jāizvēlas Web API, nevis WCF, ja vēlaties pakļaut savus pakalpojumus plašam klientu lokam, piemēram, tīmekļa pārlūkprogrammām, mobilajiem tālruņiem, planšetdatoriem utt. Web API ir viegls un labi piemērots ierīcēs, kurām ir ierobežots piekļuves līmenis joslas platums, piemēram, viedtālruņi. Viens no galvenajiem ierobežojumiem, ar ko saskāros, lietojot WCF, ir tā plašā konfigurācija - Web API ir daudz vienkāršāka un viegli lietojama. Es atzīstu, ka WCF ir daudz universālāks, salīdzinot ar Web API, taču, ja jums nav nepieciešamas WCF piedāvātās funkcijas un viss, kas jums nepieciešams, ir tikai RESTful pakalpojumi, nevis HTTP, es vienmēr gribētu dot priekšroku Web API, jo tas ir viegls un vienkārši lietojams .

Es arī vēlētos iepazīstināt ar diskusiju par atšķirībām starp Web API un ASP.Net MVC, jo pastāv daži nepareizi uzskati par to, kad izvēlēties vienu, nevis otru. Izvēle starp ASP.Net MVC un Web API ir atkarīga no daudziem faktoriem. Pirms izlemjat izmantot kādu no tiem, jums jāpatur prātā daži apsvērumi.

Ņemiet vērā, ka tīmekļa API kartēšanas metodēm attiecīgajiem maršrutiem izmanto HTTP darbības vārdus un līdz ar to arī uz HTTP darbības kartēšanu. Tam pašam HTTP darbības vārdam noteiktā maršrutā nevar būt pārslogotas metodes. Jums vajadzētu būt informētam par šo dizaina ierobežojumu (lai gan ir pieejami risinājumi), izvēloties starp ASP.Net MVC un Web API. Atšķirībā no ASP.Net MVC, Web API izmanto maršrutēšanu, kuras pamatā ir HTTP darbības vārdi, nevis URI, kas satur darbības. Tātad, jūs varat izmantot Web API, lai rakstītu RESTful pakalpojumus, kas var izmantot HTTP protokolu - jūs varat izstrādāt pakalpojumus, kurus ir vieglāk pārbaudīt un uzturēt. Maršrutēšana Web API ir daudz vienkāršāka, un jūs varat vienmērīgi izmantot sarunas par saturu. Maršrutēšanas modelis ASP.Net MVC ietver darbības URI.

Vēl viens jautājums, kuru vēlaties apsvērt, ir tas, vai vēlaties, lai jūsu funkcionalitāte tiktu pakļauta konkrētai lietojumprogrammai, vai arī tai vajadzētu būt vispārīgai. Ja vēlaties pakļaut savus pakalpojumus tikai vienai lietojumprogrammai, vēlaties izmantot ASP.Net MVC - ASP.Net MVC lietojumprogrammas kontrolieris ir specifisks lietojumprogrammai. Gluži pretēji, jūs vēlētos Web API pieeju, ja jūsu biznesa vajadzības prasa vispārīgi atklāt šo funkcionalitāti. Es gribētu izmantot Web API pieeju, ja funkcionalitāte ir vairāk orientēta uz datiem, un ASP.Net MVC pieeju, ja funkcionalitāte ir vairāk orientēta uz UI.

Jums vajadzētu izmantot Web API, izmantojot ASP.Net MVC, ja vēlaties, lai jūsu kontrolieris atgrieztu datus vairākos formātos, piemēram, JSON, XML utt. Arī datu formāta norādīšana Web API ir vienkārša un viegli konfigurējama. Tīmekļa API arī iegūst vairāk nekā ASP.Net MVC spējā būt paš mitinātam (līdzīgi kā WCF). Jums vajadzēs, lai ASP.Net MVC kontrolieri tiktu mitināti tajā pašā tīmekļa serverī, kurā ir mitināta lietojumprogramma, jo ASP.Net MVC kontrolieri ir vienas un tās pašas lietojumprogrammas daļa. Gluži pretēji, jūs varat mitināt savus Web API kontrolierus arī ārpus IIS - varat tos mitināt vieglā pielāgotā resursdatorā un ļaut pakalpojumu patērēt daudziem dažādiem klientiem.

$config[zx-auto] not found$config[zx-overlay] not found