从头开始:开放标准和移动性
http://www.intel.com/cd/ids/developer/apac/zho/290152.htm?page=1
coursework.stanford.edu 网站始建于 1990 年代后期,当时还是相当简陋。
Scott Stocker 当时只是一个硕士研究生,如今已成为斯坦福大学 Web 通信部门主任,他说到:“这个网站最初仅作为一个研究项目,而这个项目的开发人员当时就我一人。”
每季度约有 600 位教授使用在线课程管理工具分配任务、开展在线讨论,以及管理测验。Stocker 也早已跻身至斯坦福大学的 IT 权威,手下还有四名全职员工管理他白手构建的应用。
不论是在单个大学服务器上,还是在面向大众的分布式电子商务应用上,进行扩展都是每个程序员在职业生涯中无法避免的挑战。由于新型电话和个人数字助理(PDA)的用户开始青睐面向台式机和笔记本浏览器设计的 Web 应用,移动性便更是令扩展问题雪上加霜。
从学术界到业界,一线程序员们采用了大量最佳做法来解决与日俱增的架构扩展问题。许多程序员仍采用“苦口良药”的试验性方式编写代码。而各种工具、应用与资料的增长潮流势必为 Web 应用向各种新用户的移植起到推波助澜的作用。
Stocker 构建的应用主要面向斯坦福大学的教授们,这些教授虽在这个技术顶尖的校园内拥有骄人的履历和职务,但他们在 Web 方面的能力却参差不齐。因此应用必须要灵活(可帮助校内教职人员中的 Web 高手和新手)、稳定(没有人会使用经常崩溃或故障百出的应用)而且便宜(Andrew W. Mellon 基金会为 Stocker 新型学习管理工具的开发项目提供小额赞助)。
和学术界普遍使用的方法一样,Stocker 从开放标准和开放源代码开始了其开发之旅。
Stocker 在 Linux* 操作系统和 mySQL* 数据库上构建的应用低级别内容均为开放源代码。尽管当时还不是 J2EE* 的天下,Stocker 还是选择了 Java*,并重用了servlet(服务器端小程序)和 JSP*。
与通用网关接口(CGI)程序不同,Java servlet 具有持久性,一旦启动便会驻留在内存中,以便响应许多个请求。除了可将网页的逻辑与其静态组件分离开外,JSP 还不受特定平台或服务器的限制。
随着 coursework.stanford.edu 提供的应用从“可能有帮助”的配角转变为对任务起到关键作用的主角,斯坦福大学的主要 IT 机构也最终向 Stocker 伸出了支持之手。斯坦福大学 IT 机构虽为 Sun/Solaris*/Oracle* 数据库环境,但开放源代码 Java API 很容易插入其后端。
Stocker 说到,“正是 Java Web 应用的本质使得它们易于扩展。[Java] 平台基于 TCP/IP。是否专门用一台计算机来放置数据库都无关紧要,因为 JDBC* 协议可以使应用通过 TCP/IP 与数据库轻松通信。”
Stocker 已开始构建和管理斯坦福大学的 Web“事件日历*” 。全校各团体都利用这个应用宣布大大小小的事件,包括驻校作家 Bharati Mukherjee 的演讲和斯坦福大学一年一度的舞会竞赛邀请。
怎样能使这个应用吸引越来越多的移动用户呢?目前,Stocker 并未采用新的编码,部分是因为斯坦福校园内网络遍布的环境。
由大学发起的一次调查显示,校园内超过 90% 的学生拥有自己的电脑,其中大部分为笔记本。越来越多的笔记本电脑通过校内 1,800 多个 Wi-Fi 热点访问互联网。
在这种网络连接近乎无处不在的环境下,Stocker 认为没有必要以特别的方式来满足移动用户。下半年他将把简易供稿机制(RSS)添加到日历中,预计至少有部分校内外移动用户会为他们支持 Web 的电话订阅 RSS Feed 服务。
至于另一部分人群,移动性已大大改变了他们对 Web 编程的观念。拿美国联邦政府为例,它绝不会是技术革新者。通过与英特尔合作,联邦政府实现了 grants.gov 网站移动化,为 26 家联邦资助计划制定机构提议的 900 多项资助计划提供了单一接入点 。
该站点并未采用 Web 表单,现将资助应用作为独立文件提供。除捐赠应用程序的实际下载和提交阶段外,无需网络连接。
这对于希望在工作闲暇时查看一下相关资助应用的科学家们而言不失为一个好消息,其设计也为台式机用户和室内办公者们带来了福音。
以往的 Web 表单问题百出,用户通常无法在多对话过程中填写表单。这让有的用户感到很头疼,因为他们在操作资助应用时需要与同事合作,有时,他们还发现自己丢失了所需的信息。
新的智能文件支持脱机使用,使同事间的沟通相当方便,同时借助使用 SOAP 和其他 Web 服务协议的轻量 XML 模式(lightweight XML schema)还可最大限度减少主要应用到期时的流量高峰。
Stocker 说到:“目前我们尚未考虑到异步服务,但今后可能会增加这项服务”。
那些在家选择浏览在线书店的人常常会找到 Powells.com*。(在 Google 中键入“在线购书(buy books online)”,页面显示的 Amazon 网址大全(mega-sites Amazon)和 Barnes & Noble 之后便是 Powells.com。)这家自称“著名独立书店”的主页被描述为井然有序是再恰当不过了,这与其在波特兰(Portland)市郊的四层楼店面有着异曲同工之妙。
主页上有各种字号和颜色的字体,有掺杂适当卡通图形的书籍封面照,一个纪念品商店,售卖区,以及为方便虚拟浏览,从 A 到 Z 排列的书架列表。Powell Web事务总监 Darin Sennett 专负责营造书店的创新氛围,他指出,主页显然不是 Google 偏爱的用户界面(UI),但这也恰恰就是 Powel 的设计本意。
Sennett 说到:“我们不能用最低层次的设计蒙混过关;网站必须设计得丰富多彩,使访客在进入我们网站时犹如走进了我们现实中的书店。”
Powell 可能是最大的独立在线书店,但其网站比起年营业额达数百万美元的 Amazon 还相对较小。
Sennett 表示:“我们从来没有巨额现金投资,因此我们必须量入为出。所以从最开始我们就始终选择实质内容而非特效。”
和 Stocker 一样,Sennett 也非常依赖开放标准和开放源代码来进行精益预算。他列举了网站籍以建立的一长串我们熟悉的设备和工具——Sun 机器、Solaris* 操作系统、Apache* Web 服务器软件、mySQL 数据库以及许多 Perl* 和 PHP* 脚本。
对 Sennett 来讲,相对最新最好的应用架构,扩展更关乎最终用户和实验。他表示他并不担心自身技术跟不上时代,而是想方设法让每天能更有效地在线卖出更多的书。
这并不代表 Powell 是在“反传统冒进”。Sennett 深感自豪的是,Powells.com 比Amazon 更早提供在线服务,并在 Web 词典中出现“shopping cart(购物车)”之前就提供了这个特性。
Sennett 当前的扩展挑战是在站点上实施 Web 标准,这将摆脱老式的 HTML 模式,可适于多种输出类型。网站的重新设计正在紧锣密鼓地进行,Sennett 的一个程序员正利用级联样式表(CSS)模拟当今的网站结构。
这是一项大工程,Web 小组进展缓慢,而大堆的贸易杂志文章也在敦促着开发人员们采用 Web 标准。Sennett 最喜欢的一篇文章是《用 Web 标准重组 Slashdot(Retooling Slashdot with Web Standards*)》 ,本文发表于 Web 贸易杂志《A List Apart*》2003年11月刊。
Sennett表示:“很明显,我们并未盲目地急于采用[Web标准]CSS模式出版,因为我们当时没感觉到有太大的必要性”。
阅读各种宣传移动性的公司所发布的新闻稿,似乎时下市场对移动内容和各种移动服务的需求迫在眉睫。Sennett 对网站运营商面临的移动化和相关的扩展问题进行了细致权衡。
Powells.com 出售 Microsoft、Adobe* 和 Palm* 格式的电子书籍。从注定不幸的(ill-fated*)Gemstar eBook* 设备时代起,这个网站就开始提供电子书籍。
Sennett 简单地提到,虽然电子书籍的价格(许多价格为 5 美元至 7 美元)比纸质书籍便宜得多,但它的需求增长得比较缓慢。
电子书籍的主题并非仅仅面向大众市场。越来越多的公司在寻求以低成本发布篇幅较长的文件和白皮书时,都选择了这种电子格式,他们因 PDF 文件获得的优势甚至要比纽约大出版商多。
以由 freeMARKET 出版社出版的《移动化软件解决方案的商业价值蓝图*》 为例。该书的 PDF 版本以一项搜集读者信息的调查结尾,其中涉及内容对读者的重要性以及读者从何处得知此书等反馈信息。调查还让读者提交自己和同事的联系方式以便出版商日后与其联系。
Sennett 表示:“如果加密问题能解决的话,这将是电子书籍的宝贵收获。”与技术公司提供的免费文件不同,商业书籍出版商将加密他们的电子书籍作为版权保护工作的一部分。
Powells.com 程序员尚未完成有关移动服务的实验。音频书籍日益风靡* ,Sennett 指出,今年 Powell 可能会提供从网站下载音频书籍的服务。