应用程序必须是服务

下面的段落描述了 3wschool 对未来的因特网分布式应用程序的展望。

应用程序必须是一系列的服务

应用程序不再被允许包含大量已编辑的可执行代码。应用程序应被分为一系列更小的专门的服务,这样就更易创建和维护。这些专门的服务可由更精简的团队进行开发和维护。服务(Services)与可执行文件、组件或者 DLL 文件不同。服务可对提交的请求进行应答,也可返回数据。我们的建议是把服务作为一系列服务器端的 HTML 以及(或者)XML 页面来进行开发。

服务不能为某个特殊的目的创建

在历史上,充斥着为完成某个单一的任务而创建的应用程序。这些应用程序中的许多在它们被发布前就已经失败了,这是由于它们无法根据需求的变化而进行改变。这是对金钱和时间的巨大浪费。我们(以及那些为我们的应用程序买单的人们)都希望可以创建更灵活的应用程序,这些应用程序具有很强的普适性,可以更好地应对未来的改变。未来 - 即使(在过去)没有考虑过 - 应用程序应当在保持完整性的同时更容易适应变化。我们的建议是创建灵活的标准服务来服务于大量的不同的请求。

服务必须易于创建和编辑

只要可以避免,服务(Services)就不应被代码化。即使需要被代码化,我们的建议是最好使用脚本。服务不应被编译为可执行文件。这样做会令服务难于访问和编辑。任何在应用程序中使用的预编译组件都会威胁到创建可移动、可伸缩以及良好支持未来扩展和变化的应用程序的可能性。应用程序应该通过编辑其属性和方法来创建和修改,而不是改变它们的可执行代码。我们的建议是使用某个 XML 编辑器来创建和编辑服务,并使用标准的服务引擎通过执行服务描述来提供服务。服务描述应当存储于类似数据库的数据仓库中或者某个 XML/HTML 文件中。

服务和数据必须能自我描述

应用程序客户端应当有能力为某个服务查询服务器,以及有能力请求当前的服务器功能。客户端和服务器也应当有能力通过某种可理解数据中每个元素的方法来交换数据。我们的建议是使用带有 DTD 的信息词表来交换服务器函数,并使用 XML 来交换数据。