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