成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

PHP除了做網(wǎng)站服務(wù)器還能做其他應(yīng)用服務(wù)器嗎?

網(wǎng)友解答: PHP做web服務(wù)器端開發(fā)是其重要的應(yīng)用,能不能做其它應(yīng)用的服務(wù)端呢?為了描述這個(gè)問(wèn)題,首先要知道服務(wù)端都有哪些任務(wù),需要提供哪些服務(wù),以及現(xiàn)在的服務(wù)端概念發(fā)生了哪些變化?服

網(wǎng)友解答:

PHP做web服務(wù)器端開發(fā)是其重要的應(yīng)用,能不能做其它應(yīng)用的服務(wù)端呢?為了描述這個(gè)問(wèn)題,首先要知道服務(wù)端都有哪些任務(wù),需要提供哪些服務(wù),以及現(xiàn)在的服務(wù)端概念發(fā)生了哪些變化?

服務(wù)端簡(jiǎn)單的說(shuō)就是業(yè)務(wù)邏輯的處理中心,在任務(wù)上簡(jiǎn)單的說(shuō)就是處理客戶的請(qǐng)求并生成回應(yīng)。從客戶的角度上來(lái)描述一個(gè)客戶端的請(qǐng)求處理過(guò)程大概需要以下幾個(gè)步驟:

用戶提交請(qǐng)求,請(qǐng)求中通常攜帶著數(shù)據(jù),這些數(shù)據(jù)有機(jī)構(gòu)化的也有非結(jié)構(gòu)化的(比如多媒體數(shù)據(jù))。

服務(wù)端接收用戶請(qǐng)求,提取客戶端提交的數(shù)據(jù),接著驗(yàn)證數(shù)據(jù)。

調(diào)用業(yè)務(wù)組件處理用戶的請(qǐng)求并生成回應(yīng)。

客戶端接收到回應(yīng)數(shù)據(jù)并呈現(xiàn)給客戶。

這里面的客戶不一定指的就是人,也有可能是其它參與到業(yè)務(wù)流程中的角色(業(yè)務(wù)模塊、打印機(jī)等等)。

從服務(wù)器的角度上來(lái)描述一個(gè)客戶端的請(qǐng)求處理過(guò)程大概需要以下幾個(gè)步驟:

1.當(dāng)客戶到達(dá)服務(wù)端,服務(wù)端要為其分配一個(gè)會(huì)話對(duì)象來(lái)表示此請(qǐng)求,會(huì)話對(duì)象封裝了客戶的所有信息,這個(gè)會(huì)話就代表了這個(gè)客戶請(qǐng)求,每個(gè)會(huì)話會(huì)分配一個(gè)唯一的ID。

2.服務(wù)端根據(jù)客戶的請(qǐng)求任務(wù)來(lái)觸發(fā)對(duì)應(yīng)的業(yè)務(wù)組件調(diào)用,服務(wù)端要到業(yè)務(wù)模塊目錄服務(wù)器中查找對(duì)應(yīng)的服務(wù)并返回此業(yè)務(wù)模塊對(duì)象,此步驟涉及到分布式調(diào)用過(guò)程。

3.如果業(yè)務(wù)組件服務(wù)器本身是分布式集群方式來(lái)部署,則服務(wù)端需要進(jìn)行一個(gè)負(fù)載判斷,以此來(lái)覺(jué)得調(diào)用哪個(gè)服務(wù)模塊來(lái)為本次請(qǐng)求進(jìn)行服務(wù)。

4.返回業(yè)務(wù)模塊對(duì)象后,調(diào)用其業(yè)務(wù)方法。此時(shí)業(yè)務(wù)模塊可能需要訪問(wèn)分布式數(shù)據(jù)庫(kù)系統(tǒng),步驟與訪問(wèn)業(yè)務(wù)模塊組件類似,通常采用映射層來(lái)通明化處理。

5.返回處理數(shù)據(jù),服務(wù)端把數(shù)據(jù)封裝到比客戶對(duì)應(yīng)的會(huì)話中。此步驟還會(huì)涉及到多服務(wù)器之間的會(huì)話管理。

服務(wù)端的處理過(guò)程是比較復(fù)雜的處理過(guò)程,其中涉及到分布式處理,集群處理,池化容器管理,分布式數(shù)據(jù)庫(kù)、事務(wù)管理、組件同步等等。不同服務(wù)對(duì)應(yīng)的協(xié)議也不盡相同,比如RMI使用IIOP,還有SOAP等對(duì)應(yīng)協(xié)議的使用。

根據(jù)以上服務(wù)內(nèi)容的分析我們可以看出,無(wú)論是PHP還是Python和Java,這些服務(wù)都可以完成,所以不管是web服務(wù)還是其它服務(wù),PHP都可以作為服務(wù)端編寫語(yǔ)言。至于選擇什么語(yǔ)言,需要考慮語(yǔ)言本身的性能、團(tuán)隊(duì)實(shí)際掌握情況以及開發(fā)周期要求等等。

目前在java作為服務(wù)端速度上有較大的優(yōu)勢(shì),目前我的團(tuán)隊(duì)在開發(fā)周期允許的情況下(java開發(fā)周期較長(zhǎng))會(huì)盡量使用java做業(yè)務(wù)處理后臺(tái)的開發(fā)語(yǔ)言,如果開發(fā)周期端,且任務(wù)量小的情況下會(huì)使用PHP或者Python,Python比PHP還有慢一點(diǎn),但是Python開發(fā)速度最快。當(dāng)然還有其它語(yǔ)言也可以作為服務(wù)端開發(fā)語(yǔ)言,這里就不一一列舉了,當(dāng)然如果部署服務(wù)器有多平臺(tái)要求的情況下,就不要使用C#開發(fā)了。

目前服務(wù)器端的任務(wù)越來(lái)越重,分布式服務(wù)越發(fā)普遍,采用云計(jì)算服務(wù)來(lái)部署服務(wù)端已經(jīng)是大勢(shì)所趨,云計(jì)算也能為服務(wù)端提供可擴(kuò)展的性能要求,所以服務(wù)器的云端進(jìn)程會(huì)在大部分領(lǐng)域逐步實(shí)現(xiàn)。

我在后續(xù)的文章中會(huì)陸續(xù)分析服務(wù)端的云端框架結(jié)構(gòu),以及如何進(jìn)行服務(wù)端編程,請(qǐng)大家持續(xù)關(guān)注,謝謝!

時(shí)間倉(cāng)促,難免有所遺漏,IT人劉俊明懇請(qǐng)大家多多指正!

網(wǎng)友解答:

當(dāng)然可以!

你所說(shuō)的app后臺(tái)服務(wù)器,其實(shí)也是網(wǎng)站的一種形式,只不過(guò)只返回?cái)?shù)據(jù),不用管頁(yè)面布局罷了。它還是走h(yuǎn)ttp協(xié)議的,所以,這個(gè)沒(méi)難度。

對(duì)于第二點(diǎn),做桌面應(yīng)用,就比較困難,但不是做不了。方法有兩種:第一種就是做一個(gè)本地網(wǎng)站,前面做一個(gè)exe,但其實(shí)是個(gè)瀏覽器,看起來(lái)是普通桌面應(yīng)用,微信qq就是這種方法,只不過(guò)沒(méi)用php罷了。第二種方式是直接使用gui庫(kù),就像寫普通的程序一樣,這種方式使用的少,而且要使用第三方庫(kù),難度比較大。

對(duì)于編程語(yǔ)言來(lái)說(shuō),沒(méi)有什么做不成的,只是用這個(gè)語(yǔ)言可能會(huì)很麻煩而已。

標(biāo)簽: