欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

服務器端服務框架的制作方法

文檔序號:7639585閱讀:194來源:國知局

專利名稱::服務器端服務框架的制作方法服務器端服務框架背景在包括客戶機組件("客戶機")和服務器組件("服務器")的系統(tǒng)中,服務器可能想展示客戶機能使用的服務。傳統(tǒng)上,為展示服務,開發(fā)者為該服務編寫具有特殊擴展名的特殊文件。例如,在微軟.NETTM平臺中,Web服務由于服務器上ASMX文件的存在而被展示;該特殊擴展名為ASMX。Web服務通常提供允許客戶機調用來得到特定信息的存在于服務器上的一個或多個方法。Web服務通常通過使用URL來調用。例如,URLhttp:〃www.xyz.com/app/login.asmx引導至用于XYZ.com的服務器上的登錄服務。通常,URL指向物理文件,例如存在于服務器上的ASMX文件??蛻魴C可通過采用引導至服務器上的ASMX文件的URL來調用Web服務。使用傳統(tǒng)的展示服務的方法,服務開發(fā)者需要理解該特殊文件的句法,例如ASMX文件格式。另外,為了將現(xiàn)有的服務器代碼轉變成所展示的Web服務,開發(fā)者需要將現(xiàn)有的服務器代碼轉換成ASMX句法。因此,傳統(tǒng)的展示供客戶機使用的服務的手段需要不小的開發(fā)努力。盡管現(xiàn)有系統(tǒng)的特定弊端已在該背景一節(jié)中闡明和描述,但本領域的技術人員將意識到,此處所請求保護的主題不局限于用來解決任何或所有上述弊端的任何具體實現(xiàn)。概述提供本概述以便以簡化的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述并非意在確定所要求保護的主題的關鍵特征,也并非意在用來幫助確定所要求保護的主題的范圍。本發(fā)明的各方面通過為服務提供一偽虛擬路徑來補充傳統(tǒng)的用于向客戶機展示服務器提供的服務的機制。該偽虛擬路徑允許開發(fā)者展示服務而不用創(chuàng)建具有特殊擴展名的物理文件。這種偽虛擬路徑還可被加密,以使關于該服務6的信息不會被不必要地展示。根據本發(fā)明的一個方面,在包括至少一臺服務器和一個客戶機的分布式計算環(huán)境中,服務器上的服務通過服務器為該服務生成一偽虛擬路徑來展示。該偽虛擬路徑直接映射至該服務,而不是包含該服務的物理文件。較佳地,提供將該服務作為參數并為該服務生成偽虛擬路徑的應用程序編程用戶界面。較佳地,用于所展示的服務的偽虛擬路徑被集成至服務器的代理類(proxyclass)中。該代理類可標識服務器提供的服務以及關于如何調用該服務的信息。代理類可包括所展示的服務的描述和類型信息。代理類可包括有關如何訪問所展示的服務的信息,例如,通過為該服務提供偽虛擬路徑或傳統(tǒng)途徑。一旦客戶機發(fā)送對代理類的請求,該代理類即被發(fā)送到客戶機??蛻魴C可通過檢査代理類來標識要請求哪些服務??蛻魴C可使用代理類中的該服務的路徑來請求服務。根據本發(fā)明的另一方面,當接收到來自客戶機的服務請求時,服務器確定該服務請求是否包括偽虛擬路徑。如果該服務請求的確包括偽虛擬路徑,則服務器直接向客戶機提供請求服務。通常,偽虛擬路徑包括一指示該路徑是偽虛擬路徑的特殊標志。該路徑中在該特殊標志之后的內容是表示該服務的特殊句法。因此,當確定服務請求是否包括偽虛擬路徑時,服務器判定路徑是否包括特殊標志。如果路徑包括標識偽虛擬路徑的存在的特殊標志,則服務器將該特殊標志之后的特殊語法視作表示該服務的信息。較佳地,為了防止服務器服務的不必要的展示,偽虛擬路徑可在被集成至代理類中之前被加密。加密可僅覆蓋該特殊標志,或可覆蓋特殊標志和特殊句法兩者。附圖簡述當結合附圖考慮時,因為通過參考以下詳細描述將更好地理解本發(fā)明的上述方面和許多附帶優(yōu)點,因此這些方面和優(yōu)點將變得更加容易明白,在附圖中-圖1是示出了客戶機與服務器之間的示例性交互的框圖;圖2A是示出了引導至所展示的服務器服務的示例性傳統(tǒng)路徑的框圖;圖2B是引導至所展示的服務器服務的示例性偽虛擬路徑;圖2C是示出了引導至所展示的服務器服務的示例性加密路徑的框圖;圖3是示出了用于展示服務器服務的示例性過程的流程圖;圖4是示出了適合在圖3中使用的用于提供映射至所展示的服務的偽虛擬路徑的示例性例程的流程圖;圖5是示出了適合在圖3中使用的用于確定服務請求是否包括偽虛擬路徑的示例性例程的流程圖;以及圖6是示出了用于生成偽虛擬路徑的示例性應用程序編程接口的框圖。詳細描述下文闡明和描述了本發(fā)明的示例性實施例。然而,本領域的普通技術人員將理解,在此可作出各種變化而不背離本發(fā)明的精神和范圍。本發(fā)明的各實施例可以在諸如程序模塊等由包括至少一個處理器和一個存儲器的計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數據類型的例程、程序、窗口部件、對象、組件、數據結構等等。本發(fā)明的各實施例還可以在其中計算服務由某些實體("服務器")提供給其它實體("客戶機")的分布式計算環(huán)境中實踐。各實體可對同一計算系統(tǒng)是本地的,或通過通信網絡鏈接。在分布式計算環(huán)境中,提供服務的程序模塊可位于本地和/或遠程計算機儲存介質上。圖1示出了包括至少一個客戶機102和至少一個服務器104的示例性分布式計算系統(tǒng)100。服務器104提供客戶機102可以使用的至少一個所展示的服務105,例如Web服務。Web服務通常提供允許客戶機調用來得到特定信息的存在于服務器上的一個或多個方法。下面的代碼闡明了展示于服務器104上的示例性Web服務SimpleService。,力giSy他w.股6.iSm'vce,.iSywew.呢6;為了展示由服務器104提供的服務105,本發(fā)明的示例性實施例使用了代理類108。代理類108可包括關于什么服務可供客戶機102使用的信息。代理類108還可提供服務105的基本描述和關于如何調用服務105的信息。通常,代理類108向客戶機102提供由服務器104提供的服務105的表示。代理類還可包括描述與服務105相關聯(lián)的類型信息的信息。在本發(fā)明的示例性實施例中,服務器104上的每個所展示的服務105與代理類108相關聯(lián)。在本發(fā)明的一示例性實施例中,例如由了解客戶機102可能需要使用服務器104提供的所展示的服務105的客戶機102的開發(fā)者向客戶機102提供到用于服務器104的代理類108的鏈接。因此,一旦客戶機102確定它需要使用代理類108中描述的服務105,客戶機102即采用該鏈接向服務器104發(fā)送對于代理類的請求106。服務器104然后返回代理類108??蛻魴C102通過檢查代理類108來確定什么是服務器104所提供的。通過該檢查,客戶機102了解為了使用所展示的服務105可調用什么方法??蛻魴C102然后采用代理類108中提供的信息來提出對所展示的服務105的請求110。例如,客戶機102可調用由所展示的服務105提供的一特定方法。下文說明了用于所展示的服務SimpleService的代理類108中的示例性內容。<table>tableseeoriginaldocumentpage107</column></row><table>在本發(fā)明的各實施例中,包含于用于諸如服務105等服務的代理類108中的類型信息向服務器104提供標識符來定位該服務。類型信息可以是,例如,服務的類型名稱、引導至該服務的URL、和/或該服務的方法名稱。例如,在用于以上示出的所展示的服務SimpleService的代理類108中的示例性內容中,用于所展示的服務SimpleService的類型信息包括類型名稱Acme.SimpleService、URL7app/AtlasServices/Acme/SimpleService.asmx"、禾口方法名稱"HelloWorld"。同樣顯示于用于示例性SimpleService的代理類108中的以上示例性內容中,代理類108包括引導至服務器104上的諸如示例性SimpleService等所展示的服務105的路徑。在本發(fā)明的各實施例中,引導至所展示的服務105的路徑可以是傳統(tǒng)路徑、偽虛擬路徑、或加密路徑。圖2A—2C為三類路徑中的每一種提供了示例。通常,傳統(tǒng)路徑引導至包含所展示的服務105的服務器104上的物理文件。圖2A示出了示例性4專統(tǒng)路^g200—http:〃server/app/folder/SimpleService.asmx。傳統(tǒng)路徑200指向服務器104上的物理文件—SimpleService.asmx。圖2B示出了示例性偽虛擬路徑240。表面上,偽虛擬路徑240看上去類似于傳統(tǒng)路徑200。然而,偽虛擬路徑240實際上并不像傳統(tǒng)路徑200那樣映射至物理文件。偽虛擬路徑240實際上映射至所展示的服務105。如圖2B所示,偽虛擬路徑240包括特殊標志242和特殊句法244。在本發(fā)明的各實施例中,特殊標志242和特殊句法244可以用服務器104能夠識別的任何句法或格式來編寫。例如,在本發(fā)明的某些實施例中,特殊標志242和特殊句法244作為一個實體出現(xiàn),雖然服務器104能識別出該實體中的特殊標志242部分和特殊句法244部分。用于示例性的所展示的服務SimpleService的示例性代理類的以上代碼闡明了用于該示例性SimpleService的偽虛擬路徑。該路徑為"/app/AtlasServices/Acme/SimpleService.asmx"。該路徑中的"AtlasServices/Acme"用作指示該路徑是偽虛擬路徑的特殊標志242。該路徑中的"SimpleService.asmx"是映射至所展示的SimpleService的示例性特殊句法244。在本發(fā)明的各實施例中,路徑中特殊標志242的存在幫助服務器104確定該路徑用作偽虛擬路徑240,而不是引導至物理文件的位置的傳統(tǒng)路徑200。特殊標志242指示該路徑中的特殊標志242之后的內容是特殊句法244。特殊句法244提供了所展示的服務105是什么的描述。特殊句法244不將偽虛擬路徑240映射至服務器104上的物理文件。該特殊句法雖然看起來很像正常路徑,但其通常包含了與所展示的服務105相關聯(lián)的類型信息。例如,該類型信息可揭示所展示的服務105的類型名稱。當以明文顯示時,特殊句法244中揭示的類型信息可允許客戶機102推測并調用客戶機102應該不能訪問的服務方法。例如,客戶機102可推測http:〃Server/App/Special_Token/Forbidden.asmx所提供的服務可能包含方法"Forbidden()"并構造方法調用"Forbidden()",其中,實際上,該方法"Forbidden()"是由服務提供而客戶機102應該不能訪問。為了避免服務器信息的不必要的揭示,本發(fā)明的各示例性實施例對偽虛擬路徑240加密。圖2C示出了一示例性加密路徑260。加密路徑260可包含傳統(tǒng)路徑200或偽虛擬路徑240。在本發(fā)明的一示例性實施例中,加密偽虛擬路徑中的加密內容262僅包含直接映射至所展示的服務105的特殊句法244。在本發(fā)明的一替換實施例中,加密偽虛擬路徑中的加密內容262包含特殊標志242與特殊句法244兩者。在本發(fā)明的各示例性實施例中,無論在代理類108中使用何種類型的路徑,例如傳統(tǒng)路徑或偽虛擬路徑,來表示所展示的服務105,客戶機102對該路徑全部所察覺到的是所展示的服務105的URL??蛻魴C102將該路徑,即URL發(fā)送給服務器104以請求所展示的服務105。服務器104解釋接收到的路徑來確定接收到的路徑是傳統(tǒng)路徑200、偽虛擬路徑240、還是加密路徑260。當服務器104在路徑中檢測到加密信息時,它首先解密該加密信息。服務器104然后利用所解密的信息來確定該路徑是偽虛擬路徑還是傳統(tǒng)路徑。例如,如果服務器104在接收到的路徑中檢測到特殊標志242,則服務器104確定該接收到的路徑是偽虛擬路徑240,并確定特殊標志242之后的內容是直接映射至所展示的服務105的特殊句法244。如圖6所示,在本發(fā)明的一示例性實施例中,為了展示服務105以便它能被客戶機102調用,服務105首先通過應用程序編程接口("API")600來注冊。API600為服務105創(chuàng)建偽虛擬路徑240。偽虛擬路徑240然后被包括在用于服務器104的代理類108內。如圖1所示,當客戶機102請求代理類108時,服務器104將包含偽虛擬路徑240的代理類108發(fā)送到客戶機102。由此,客戶機102可采用偽虛擬路徑240來訪問所展示的服務105。圖3示出了采用偽虛擬路徑來展示服務器服務的示例性過程300。通常,過程300為服務器上每個展示的服務生成一偽虛擬路徑。當接收到來自客戶機的對于所展示的服務的請求時,服務器確定該請求是包括偽虛擬路徑還是傳統(tǒng)路徑,并相應地提供所展示的服務。在本發(fā)明的一示例性實施例中,如所示出的,過程300始于執(zhí)行為服務器上所展示的服務生成偽虛擬路徑并將其提供給潛在客戶機的例程302。圖4示出了例程302的示例性實現(xiàn)并不久將詳述?;蛘?,對于所展示的服務的潛在客戶機可以接收到該服務的傳統(tǒng)路徑。想訪問所展示的服務的客戶機將向服務器發(fā)送對于該服務的請求。這樣的請求可包含偽虛擬路徑、傳統(tǒng)路徑、或包括偽虛擬路徑或傳統(tǒng)路徑中的任一個的加密路徑。因此,當確定服務器已接收到來自客戶機的服務請求(見判定框304)時,過程300進而執(zhí)行確定接收到的服務請求是否包括偽虛擬路徑的另一例程306。見框306。圖5示出了例程306的示例性實現(xiàn)并不久將詳述。執(zhí)行例程306后,過程300進而確定來自客戶機的服務請求是否包括偽虛擬路徑。見判定框308。如果對判定框308的答案為否,則過程300進而將該服務請求視為包括映射至用于所展示的服務的物理文件的傳統(tǒng)路徑并向客戶機提供該物理文件。見框310。過程300然后終止。如果對判定框308的答案為是,則該服務請求的確包括偽虛擬路徑;過程300進而向客戶機提供偽虛擬路徑的特殊句法中表示的服務。見框312。過程300然后終止。圖4示出了用于向任何打算使用服務器上所展示的服務的客戶機提供偽虛擬路徑的示例性例程302。例程302首先為所展示的服務器服務生成一偽虛擬路徑。見框402。在本發(fā)明的各實施例中,可通過不同手段生成偽虛擬路徑。例如,如上所指出的,所展示的服務可以被送至為該服務創(chuàng)建偽虛擬路徑的API?;蛘?,可手動或通過腳本創(chuàng)建偽虛擬路徑。例程302然后將該服務的偽虛擬路徑包括在描述由服務器提供的服務的代理類中。見框404。如上所指出的,代理類還可包括關于服務器上什么服務可供客戶機使用的信息。代理類還可包括服務的基本描述和關于如何調用服務的信息。代理類還可包括與服務相關聯(lián)的類型信息。在本發(fā)明的一示例性實施例中,當客戶機有可能向服務器調用由服務器提供的服務時,客戶機的開發(fā)者將一到用于該服務器的代理類的鏈接嵌入于客戶機中。當客戶機打算使用服務器提供的服務時,客戶機采用該到代理類的鏈接向服務器發(fā)出對于代理類的請求。因此,當接收到來自客戶機的對于代理類的請求時,例程302向客戶機提供代理類。見框406。然后客戶機可采用代理類中提供的關于該服務的信息向服務器發(fā)送服務請求。本領域的普通技術人員將意識到,示例性例程302僅提供了一個為所展示的服務器服務提供偽虛擬路徑的示例性手段。替換手段可包括,例如,采用腳本為所展示的服務器服務生成偽虛擬路徑,并且當接收到來自客戶機的對于服務器上所展示的服務的請求時,提供該偽虛擬路徑。圖5示出了確定客戶機發(fā)送的服務請求是否包括偽虛擬路徑的示例性例程306。例程306始于解析服務請求。見框502。例程306然后判定該服務請求是否包含任何加密內容。見判定框504。如果服務請求確實包括加密內容,則例程306進而解密該加密內容。見框506。如果對判定框504的答案為否,意味著服務請求包含明文,或者如果例程306已解密了任何加密內容,則例程306進而確定該服務請求是否包括指示偽虛擬路徑的存在的特殊標志。見判定框508。如果對判定框508的答案為是,意味著服務要求確實包括偽虛擬路徑,則例程306返回真并終止。見框512。如果對判定框508的答案為否,意味著服務請求不包括偽虛擬路徑,則例程306返回假并終止。見框510??傊?,本發(fā)明的各實施例為客戶機提供了訪問服務器展示的服務的另一種方法。該偽虛擬路徑方法使得開發(fā)者能夠展示服務器的服務而不用為該服務編寫具有特殊擴展名的特殊文件。因此,開發(fā)者可展示服務器服務而不需要去理解特殊文件的句法或將現(xiàn)有的服務代碼轉換成該特殊文件的句法。因此,該偽虛擬路徑方法減少了展示服務器服務所需要的開發(fā)努力。盡管用對結構性特征和/或方法性動作專用的語言描述了本發(fā)明的各方面,但應該理解,所附權利要求的主題并不必然局限于上述具體特征或動作。相反,上述具體特征和動作是作為實現(xiàn)權利要求的示例性形式而公開的。權利要求1.在包括服務器組件(“服務器”)(104)和客戶機組件(“客戶機”)(102)的分布式計算系統(tǒng)中,一種用于展示由所述服務器(104)提供的服務(105)的計算機實現(xiàn)的方法,包括向所述客戶機提供直接映射至所述服務(105)而不是映射至包含所述服務(105)的物理文件的偽虛擬路徑(240);當接收到來自所述客戶機(102)的對于所述服務(105)的請求(110)時,確定所述請求(110)是否包括所述偽虛擬路徑(240);以及如果所述請求(110)包括所述偽虛擬路徑(240),則根據所述偽虛擬路徑(240)中的信息向所述客戶機(102)提供所述服務(105)。2.如權利要求1所述的方法,其特征在于,所述偽虛擬路徑包括一指示一路徑為直接映射至所述服務的偽虛擬路徑的特殊標志。3.如權利要求2所述的方法,其特征在于,所述偽虛擬路徑還包括表示所述服務的特殊句法。4.如權利要求3所述的方法,其特征在于,所述特殊句法提供所述服務的類型信息。5.如權利要求3所述的方法,其特征在于,所述偽虛擬路徑是被加密的。6.如權利要求5所述的方法,其特征在于,只有所述偽虛擬路徑中的所述特殊句法是被加密的。7.如權利要求5所述的方法,其特征在于,所述偽虛擬路徑中的特殊標志和特殊句法均被加密。8.如權利要求1所述的方法,其特征在于,向所述客戶機提供偽虛擬路徑包括生成所述偽虛擬路徑;將所述偽虛擬路徑包括于一代理類中;以及當接收到來自所述客戶機的對于所述代理類的請求時,向所述客戶機提供所述代理類。9.如權利要求8所述的計算機實現(xiàn)的方法,其特征在于,生成所述服務的所述偽虛擬路徑包括使用所述服務作為參數來調用一應用程序編程接口,其中所述應用程序編程接口生成并返回所述偽虛擬路徑。10.如權利要求8所述的計算機實現(xiàn)的方法,其特征在于,所述代理類標識所述服務器所展示的至少一種服務。11.一種包含于一個或多個計算機可讀介質上的應用程序編程接口,包括涉及為服務器(104)上所展示的服務(105)生成偽虛擬路徑(240)的功能,其中所述偽虛擬路徑(240)直接映射至所述所展示的服務(105),而不是映射至包含所述服務(105)的所述服務器(104)上的物理文件。12.—種提供至少一種服務(105)的計算機系統(tǒng),包括(a)存儲器;以及(b)與所述存儲器相耦合的、執(zhí)行以下計算機可執(zhí)行指令的處理器提供(302)直接映射至所述服務(105)的偽虛擬路徑(240);當接收到來自客戶機(102)的對于所述服務(105)的請求(110)時,確定(306)所述請求(110)是否包括所述偽虛擬路徑(240);以及如果所述請求(110)包括所述偽虛擬路徑(240),則根據所述偽虛擬路徑(240)中的信息向所述客戶機(102)提供(312)所述服務(105)。13.如權利要求12所述的計算機系統(tǒng),其特征在于,所述偽虛擬路徑包括一指示一路徑為直接映射至所述服務的偽虛擬路徑的特殊標志。14.如權利要求13所述的計算機系統(tǒng),其特征在于,所述偽虛擬路徑還包括表示所述服務的特殊句法。15.如權利要求14所述的計算機系統(tǒng),其特征在于,所述特殊句法提供所述服務的類型信息。16.如權利要求14所述的計算機系統(tǒng),其特征在于,所述偽虛擬路徑是被加密的。17.如權利要求16所述的計算機系統(tǒng),其特征在于,只有所述偽虛擬路徑中的所述特殊句法是被加密的。18.如權利要求12所述的計算機系統(tǒng),其特征在于,所述處理器通過以下步驟來執(zhí)行用于提供直接映射至所述服務的偽虛擬路徑的計算機可執(zhí)行指令生成所述偽虛擬路徑;將所述偽虛擬路徑包括于一代理類中;以及當接收到來自所述客戶機的對于所述代理類的請求時,向所述客戶機提供所述代理類。19.如權利要求18所述的計算機系統(tǒng),其特征在于,所述處理器通過以下步驟執(zhí)行用于生成所述服務的偽虛擬路徑的計算機可執(zhí)行指令使用所述服務作為參數來調用一應用程序編程接口,其中所述應用程序編程接口生成并返回所述偽虛擬路徑。20.如權利要求18所述的計算機系統(tǒng),其特征在于,所述代理類標識所述服務器所展示的至少一種服務(全文摘要作為對通過映射至包含服務的具有特殊擴展名的物理文件的URL來展示服務器服務的傳統(tǒng)手段的補充,向請求該服務的客戶機提供了一直接映射至該服務的偽虛擬路徑。該偽虛擬路徑包括標識一路徑為偽虛擬路徑的特殊標志。該特殊標志之后的內容通過標識例如與該服務相關聯(lián)的類型信息來直接映射至該服務。偽虛擬路徑可以通過一應用程序編程接口來生成,并且還可在送至客戶機之前被加密。文檔編號H04L12/28GK101263481SQ200680033202公開日2008年9月10日申請日期2006年8月22日優(yōu)先權日2005年9月12日發(fā)明者D·艾伯,N·科塔里,S·卡爾福特,T-H·楊申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
洞头县| 樟树市| 临泉县| 太原市| 本溪| 阳信县| 西和县| 云林县| 赤水市| 满城县| 应城市| 合江县| 河津市| 平泉县| 集贤县| 廊坊市| 厦门市| 麟游县| 邻水| 集贤县| 商水县| 巩留县| 清水河县| 修水县| 韶关市| 砚山县| 新闻| 潞西市| 鲁甸县| 常宁市| 兴安盟| 晋宁县| 汨罗市| 乌鲁木齐县| 专栏| 永丰县| 闽清县| 冀州市| 资阳市| 邮箱| 鱼台县|