應(yīng)用程序必須是服務(wù)
下面的段落描述了 W3School 對未來的因特網(wǎng)分布式應(yīng)用程序的展望。
應(yīng)用程序必須是一系列的服務(wù)
應(yīng)用程序不再被允許包含大量已編輯的可執(zhí)行代碼。應(yīng)用程序應(yīng)被分為一系列更小的專門的服務(wù),這樣就更易創(chuàng)建和維護。這些專門的服務(wù)可由更精簡的團隊進行開發(fā)和維護。服務(wù)(Services)與可執(zhí)行文件、組件或者 DLL 文件不同。服務(wù)可對提交的請求進行應(yīng)答,也可返回數(shù)據(jù)。我們的建議是把服務(wù)作為一系列服務(wù)器端的 HTML 以及(或者)XML 頁面來進行開發(fā)。
服務(wù)不能為某個特殊的目的創(chuàng)建
在歷史上,充斥著為完成某個單一的任務(wù)而創(chuàng)建的應(yīng)用程序。這些應(yīng)用程序中的許多在它們被發(fā)布前就已經(jīng)失敗了,這是由于它們無法根據(jù)需求的變化而進行改變。這是對金錢和時間的巨大浪費。我們(以及那些為我們的應(yīng)用程序買單的人們)都希望可以創(chuàng)建更靈活的應(yīng)用程序,這些應(yīng)用程序具有很強的普適性,可以更好地應(yīng)對未來的改變。未來 - 即使(在過去)沒有考慮過 - 應(yīng)用程序應(yīng)當在保持完整性的同時更容易適應(yīng)變化。我們的建議是創(chuàng)建靈活的標準服務(wù)來服務(wù)于大量的不同的請求。
服務(wù)必須易于創(chuàng)建和編輯
只要可以避免,服務(wù)(Services)就不應(yīng)被代碼化。即使需要被代碼化,我們的建議是最好使用腳本。服務(wù)不應(yīng)被編譯為可執(zhí)行文件。這樣做會令服務(wù)難于訪問和編輯。任何在應(yīng)用程序中使用的預(yù)編譯組件都會威脅到創(chuàng)建可移動、可伸縮以及良好支持未來擴展和變化的應(yīng)用程序的可能性。應(yīng)用程序應(yīng)該通過編輯其屬性和方法來創(chuàng)建和修改,而不是改變它們的可執(zhí)行代碼。我們的建議是使用某個 XML 編輯器來創(chuàng)建和編輯服務(wù),并使用標準的服務(wù)引擎通過執(zhí)行服務(wù)描述來提供服務(wù)。服務(wù)描述應(yīng)當存儲于類似數(shù)據(jù)庫的數(shù)據(jù)倉庫中或者某個 XML/HTML 文件中。
服務(wù)和數(shù)據(jù)必須能自我描述
應(yīng)用程序客戶端應(yīng)當有能力為某個服務(wù)查詢服務(wù)器,以及有能力請求當前的服務(wù)器功能?蛻舳撕头⻊(wù)器也應(yīng)當有能力通過某種可理解數(shù)據(jù)中每個元素的方法來交換數(shù)據(jù)。我們的建議是使用帶有 DTD 的信息詞表來交換服務(wù)器函數(shù),并使用 XML 來交換數(shù)據(jù)。