应用程序开发:给它一个REST

在“少花钱多办事”的时代,您可能需要实现由数据库、一组用户界面屏幕和报告组成的制造应用程序。强烈推荐并广泛使用适用于这些环境的软件体系结构样式。它被称为REST,是具像状态传输(Representational State Transfer)的缩写,描述了一组用于构建可伸缩和健壮的分布式应用程序的网络体系结构原则。

通过丹尼斯Brandl 二九年二月一日

在“少花钱多办事”的时代,您可能需要实现由数据库、一组用户界面屏幕和报告组成的制造应用程序。对于这些环境,有一种软件体系结构风格是被强烈推荐和广泛使用的。它被称为REST,是具像状态传输(Representational State Transfer)的缩写,描述了一组用于构建可伸缩和健壮的分布式应用程序的网络体系结构原则。

REST是用于分布式应用程序的旧的远程过程调用(RPC)模型的替代方案。当可以使用轻量级且易于维护的接口时,它也是SOAP(简单对象访问协议)模型的替代方案。REST模型在Roy Fielding 2000年的博士论文(https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm), HTTP规范的主要作者之一,并且已经成为用于新的基于Web的应用程序的通用模型。

强大的快速应用程序

REST模型允许您快速构建功能强大的应用程序。在现代大学编程课程中,一个典型的为期一周的项目可能是使用MySQL数据库和CGI(公共网关接口)兼容脚本语言重新创建一个FaceBook或类似亚马逊的应用程序。该模型的简单性使其成为轻量级制造应用程序的良好选择,例如设备和人员跟踪、维护日志、时间和材料使用日志、订单跟踪和测试结果跟踪。

REST模型基于唯一可识别资源的概念,通常通过URI进行标识。例如,一个制造应用程序中的URI可以像这样标识一个特定的设备:https://example.com/equipment/ProductionLine12/WidgetCounter.php。对于资源上的操作,还有一个统一的接口,以及用于交换与操作相关的信息的标准方法。最常用的实现操作是HTTP POST和GET方法。HTML链接提供GET方法;HTML表单提供GET和POST方法,允许用户界面基于标准Web浏览器。资源的特定命令使用标准HTTP语法作为URI上的参数传递。

这种通信方法意味着Web浏览器或应用程序都不可见中间代理、缓存、网关或防火墙,从而极大地简化了应用程序代码。应用程序代码驻留在Web服务器上,客户端不可见,因此相对安全,不需要安装客户端软件。

首选的应用程序语言是与CGI兼容的以web为中心的脚本语言,例如PHP (www.php.net), Python (www.python.org), Perl (www.perl.org),或Ruby (www.ruby-lang.org).CGI是用于将外部应用程序与Web服务器连接的标准,以便在对URI发出页面请求(GET或POST)时运行应用程序脚本。所有脚本语言都内置了从URI获取参数的方法。然后这些脚本执行所请求的函数,通常使用SQL数据库中的信息,并返回一个包含新信息和用于进一步命令的新链接的新Web页面。

这种方法中最难的部分通常是生成新的Web页面,这就是为什么要使用以Web为中心的脚本语言。这些语言设计用于快速解析URI参数、访问数据库、构建DOM(文档对象模型)表示和生成Web页面。

您可以解决广泛的制造应用程序问题,而无需求助于昂贵的新硬件和软件许可证,只需花费少量的开发时间。REST应用程序模型、回收硬件、UBUNTU操作系统、MySQL数据库以及PHP、Python或Perl软件为“事半功倍”提供了低成本、高生产力的工具包。

作者信息
丹尼斯·布兰德尔是北卡罗来纳州卡里BR&L咨询公司的总裁,dbrandl@brlconsulting.com