Linux 在州和地方政府中的应用,第八部分
在最近的调查中,我们发现政府机构花费数万美元让人构建相对稀疏的公共网站。“罗德岛州去年将自己置于热门技术应用的尖端,当时它成为最早超越传统政府保守主义并实施开源技术的州政府之一”,Lisa Vaas 在 eWeek 中写道。“这场赌博正在获得回报:该州的规章制度数据库的账单为 40,000 美元——其中只有 6,000 美元是硬件成本,并且一位顾问每周只工作两天,花了四个月才完成。” 但是,正如 JAMM Consulting 的 Neil Aggarwal 回应的那样,“这似乎非常高”。
在今天的经济形势下,州和地方政府机构应该考虑在使用外部承包商的情况下将成本削减 50% 以上。在许多情况下,拥有 Linux 开发人员的地方机构可以在不到一个月的时间内以工资成本完成此类项目。
一位作者最近发表评论说
我曾在各种平台上从事系统和网络管理,最近一直在各种论坛上推广 FLOSS 和 Linux。我认为可以帮助加州州立 IT 部门的一件事是一个用于协作和共享的中心站点。政府实体最需要的是建立或维护核心竞争力,而这是他们未能有效解决的领域之一。
较小的政府机构(地方委员会和地区、小城市和人口稀少的县)可以使用较大实体开发的系统、程序和工具。这种形式的共享可以产生令人难以置信的节省。
政府部门的技术人员很少考虑广泛的公共部门问题,这些问题最好留给政治家来处理。尽管如此,请考虑在州和地方政府中使用标准化开源应用程序的影响。例如,美国每个县和行政区都需要一个不动产登记数据库应用程序。在美国 50 个州 87,525 个地方政府中的 3,142 个县中,为什么每个县都必须编写单独的应用程序?这项任务的专有应用程序,按全国平均价格 50,000 美元计算,总计 1.571 亿美元。请记住,这个数字仅代表一个数据库应用程序。
当我们查看不同的应用程序时,我们可以开始收集系统需求。大多数政府应用程序都需要数据库。它们管理具有相似信息的记录,例如出生证明、驾驶执照、犯罪记录、陪审团传票、审判日期、财产税记录等等。让我们看看一些对于普通观察者来说可能不太明显的应用程序
事故报告
建筑许可证
营业执照
办事员逮捕证
拖欠税款
调度
DMV 车辆税流程
证据跟踪系统
监狱登记
垃圾填埋场系统
市政法院
典当票
住宅豁免
道路清单
公用事业账单
车辆维护
从这个缩略图中,我们可以看到管理记录是政府流程的共同要素。它们很容易归入瘦客户端或三层架构的范畴。Linux 在这种环境中运行良好。
随着州和地方政府开始自动化和/或支持 Web 的业务流程,我们可以开始将小数点向右移动到上面列出的 1.571 亿美元金额的右侧。突然间,成本开始达到数十亿美元。纳税人不应该了解并理解通过使用 Linux 和开源软件可以节省的资金吗?
LAMP 可以使用开源 MySQL 关系数据库,该数据库在开源社区内外都非常流行。MySQL 促进了 LAMP 在政府开发圈子中的接受度,因为 MySQL 可以在多个平台上运行,包括 Linux、OS X 和来自 Redmond 的平台。
在政府应用程序的开发中,服务器端脚本语言 Perl、PHP 和 Python 的使用通常取决于部门资源。例如,许多 Web 开发人员多年来一直将 Perl 与 Apache 一起使用。人力资源招聘人员可以找到大量具有 Perl 经验的程序员。
PHP 非常适合创建动态网页,类似于 Active Server Pages (ASP)。开发人员还发现 PHP 和 Macromedia 的 Cold Fusion 之间存在相似之处。Win32 培训的开发人员可以轻松地跳到 PHP,因为它向网页添加标签以控制应用程序如何执行功能以及内容如何显示。
即使美国人口普查局使用了 LAMP,大多数开发人员也不会将基于 LAMP 的系统称为可以跨多个位置交付大规模服务的企业应用程序服务器。尽管如此,LAMP 的美妙之处在于它能够让开发人员利用众所周知的 Web 应用程序技术。
LAMP 允许我们忘记重新发明轮子。它的普遍存在意味着开源 Web 应用程序可以以最少的配置安装和运行。此类应用程序通常只需要几个步骤,例如创建数据库表和密码。LAMP 应用程序还允许通过 Web 浏览器进行配置和管理。
大多数人认为电子政务是从桌面和封闭系统转向瘦客户端和 Web 服务技术。我们认为电子政务是在 Web 上向公民提供信息。可以在人口普查局找到此类网站的示例。人口普查局的州和县快速 Facts Web 站点运行着装有 Apache 1.3.27、Red Hat Linux、mod_ssl/2.8.12、OpenSSL 0.9.6b、PHP 4.1.2 和 mod_perl/1.26 的服务器。Netcraft 报告该站点有七台服务器。记者进一步报道称,该系统使用 MySQL 运行。
在州和地方层面,像 汉密尔顿县不动产登记处 这样的电子政务网站提供了一个如何数字化和管理复杂财产记录数据库的示例。不动产登记系统可能管理 200 到 300 个数据字段,而人口普查局管理的数据字段较少,但数据量巨大。这两个系统都必须为许多同时连接提供即时文档检索,同时以最简单的方式与用户交互。
通过使用三层架构模型,所有业务逻辑处理都保留在服务器级别。这允许强大的 PC 服务器处理逻辑,而较慢的桌面显示输出。繁重的处理发生在更强大的机器上,而客户端机器显示输出。这可能看起来像是完全回归到大型机和终端机的时代。幸运的是,桌面机器仍然具有独立的电源来处理本地应用程序和人机界面,以及连接到互联网上的各种服务器。
以下是一些在政府部门工作的实时 LAMP 服务器
汉密尔顿县不动产登记处,使用 Linux、Apache/1.3.12 和 PHP/4.0.4pl1 构建。
罗德岛州和普罗维登斯种植园州规章制度数据库,运行 Linux Apache 1.3.27、Red-Hat/Linux、mod_ssl/2.8.12、OpenSSL0.9.6、DAV/1.0.2、PHP4.3.1 和 mod_perl 1.24_01。
都柏林县不动产登记处,使用 Apache/1.3.20、Sun Cobalt、PHP/4.0.4 和 mod_auth_pam_external。
州和县快速 Facts 美国人口普查局,运行七台服务器,配备 Apache/1.3.27、Red Hat Linux、mod_ssl/2.8.12、OpenSSL 0.9.6b、PHP 4.1.2 和 mod_perl/1.26。
因为我们参与开源社区,所以在开发电子政务应用程序时,在互联网上查找信息变得非常宝贵。塔兰特县税务评估区为其用户提供了大量关于其数据库的信息,这些信息对于构建 LAMP 应用程序非常有用。
拥有来自德克萨斯州沃斯堡和阿灵顿县政府所在地的数据模式和信息,为我们提供了一个大型且经过专业设计的数据库进行研究。您可以快速可视化您可能构建的类似数据库。这些页面让您感受到开源软件和社区运作的真实性。
塔兰特县税务评估区的网站为其选民提供了一个区域,他们可以在其中加载包含 Web 上可用信息的本地数据库。这允许用户加快他们的处理速度,并有助于降低 Web 服务系统的负载。塔兰特评估区 提供了文件,我们可以从中看到县级电子政务数据库的数据模型。
MySQL 提供了许多编程接口,包括 Perl、PHP、Python、C、C++、JSP 和 ODBC。接口或 API 允许构建与 MySQL 通信的应用程序。为了我们关于 LAMP 电子政务应用程序的讨论,我们选择 PHP 作为我们的接口。
PHP 开发人员编写了一系列复杂的函数,用于与 MySQL 交互。您可以通过单击链接找到并查看这些函数。PHP 的通用文档位于 PHP 文档站点,其中包含指向其他 PHP 协议的链接。
要快速了解 PHP 与 MySQL 和 Apache 的协同工作效果,请从阿巴拉契亚州立大学获取 phpWebSite 内容管理系统。phpWebSite 提供了一个完整的网站内容管理系统。您将找到一个基于 Web 的管理系统,该系统允许对交互式和社区驱动的网站进行直观的维护。
像大多数基于社区的开发项目一样,phpWebSite 拥有越来越多的模块,这些模块允许用户友好的站点自定义。该项目允许开发网站,而无需不需要或未使用的功能。此外,开发组使用有效的 XHTML 1.0 输出并符合 W3C 的 Web 可访问性倡议要求。
PHP 网站的文档团队编写了高质量的教程。任何对 Web 服务和编程感兴趣的人都应该花几分钟时间编写一个简单的 PHP 网页。
您可以在 Linux 文档项目中找到设置 LAMP 环境的优秀资源。Sascha Blum 的安装 LAMP 系统指南 采用了一种现代方法,并结合使用了 RPM 和源代码。Sascha 说德语,原始指南更新仍然是德语。我们链接到英文翻译版本。
Tom Adelstein 在德克萨斯州达拉斯担任 Linux 顾问。他目前的兴趣在于 Web 服务、安全性和支持 Linux 部署领域。Tom 参与了 Government Forge 的启动,这是一个致力于州和地方政府对 Linux 和开源感兴趣的网站。
电子邮件:tadelste@ipal.org