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