2022 年 5 月 9 日,星期一 ·5分钟阅读

Tyler Technologies 如何使用 JSON Schema 缩短客户反馈循环

挑战

Tyler Technologies 拥有多个政府客户,他们面临着持续的挑战,即满足法律定义的严格的差异化要求。为每个客户构建自定义规则非常耗时,Tyler Technologies 正在寻求创建一个多租户应用程序解决方案,该解决方案可以为每个客户定制,而无需自定义代码。

Tyler 的多租户应用程序解决方案需要一种简单的方法来定义自定义数据和验证规则,赋予客户权力,而不是必须在自定义开发工作上投入大量资金。

"这样我们就可以把时间花在提供商业价值和创新应用上,而不是手动处理所有自定义工作。" - Tyler Technologies 的首席软件工程师 Andres Moreno。

解决方案

JSON Schema 使 Tyler Technologies 能够以简单易懂的格式为每个客户创建和维护不同的模型定义。

JSON Schema 被选为定义数据结构的可行解决方案。Tyler 发现该标准在行业中得到了广泛采用,从使用 OpenAPI 中获得了一定的熟悉程度,以及提供了丰富功能的开源工具的广泛性。

"借助 JSON Schema、Formly 和 AJV,我们能够获得所需的功能,以便为每个租户动态呈现和验证字段,而无需开发人员进行操作!" - Andres Moreno

Formly 允许根据 JSON Schema 动态生成表单,使每个客户都可以根据其独特的定义拥有唯一的表单。AJV 允许在服务器端验证来自这些相同表单的数据。

"我们专注于 API First 开发,因此我们需要一种方法来允许在服务器端进行验证,以防我们的 API 直接使用而不是通过生成的表单使用," Andres 继续说道。

此外,AJV 还有选项可以利用注释,例如 default 关键字,填充缺失的属性,并可选地过滤掉模式中未定义的数据。这些选项使 Tyler Technologies 能够为客户提供更多价值,以满足更广泛的要求。

影响

为客户特定要求开发和交付自定义工作所需的工作量已减少。现在可以使用 API 轻松更新现有模式,而无需等待完整的部署周期。

新自定义字段需要完全识别并获得批准,发送给开发团队,由 QA 验证,最后部署到生产环境。"这个过程可能跨越数天甚至数周," Andres 解释道。

与完整的开发周期和发布过程相比,更新 JSON Schema 只需要懂 JSON Schema 的人花费几分钟即可完成,从而大大缩短了与自定义数据结构相关的错误的解决时间。

主要影响结果

"在几分钟内为客户提供增值服务,而不是几天或几周。"

"从以前需要几天或几周才能完成的事情,到现在能够在几分钟内将一些东西放在客户面前," Andres 说。

Tyler Technologies

Tyler Technologies 是领先的本地政府端到端信息管理解决方案和服务提供商。近年来,他们在公共部门的数字化转型中发挥着关键作用。

"我们赋予公共部门权力,让他们打造更智能、更安全、更强大的社区。我们的团队为每个客户的流程提供最具创新性的解决方案,而无需重新发明轮子;我们选择组装而不是自己构建所有东西。"

为每个客户进行自定义开发工作是一项巨大的投资,需要一种更具成本效益和性能更高的方法。

开发中的优势

"我们非常有信心 JSON Schema 解决了我们在开始这些项目时遇到的挑战" - Andres Moreno

最初使用 Formly 的专有配置格式来动态生成表单,Tyler 需要在服务器端验证生成的数据。为客户端和服务器端创建不同的配置,这些配置需要匹配,这将无法为 Tyler 提供所需的扩展性。

在调查过程中,他们发现 Formly 也支持使用 JSON Schema 进行配置。相同的 JSON Schema 可用于客户端和服务器端的验证。经过少量的研究和原型设计,很明显使用 JSON Schema 将会很有用。

在演示了如何轻松使用 JSON Schema 构建可扩展的应用程序之后,Tyler 的其他团队看到了使用单一配置来动态生成表单并在提交的数据上执行验证的吸引力。

JSON Schema 现在是开发现有和新应用程序时的核心关注点。

"我们非常有信心 JSON Schema 解决了我们在开始这些项目时遇到的挑战。我们可以肯定地说,我们将继续使用 JSON Schema 作为应用程序的核心,用于任何未来使用我们已部署的云基础设施构建的应用程序," Andres 解释道。

感谢 Andres Moreno(首席软件工程师)和 Tyler Technologies 允许并使我们能够与您分享此案例研究。