登陆注册
49625400000045

第45章 应用程序(1)

用户用来与内容管理系统交互的应用程序集是系统最外围的可见部分。虽然几乎全部的系统功能都是由后端组件提供的,但是正是这一部分应用程序集才使得用户可以对系统进行访问。因此,内容管理系统提供的应用程序集能最大限度地支持用户的需求以及与内容管理相关的工作流程,这一点是非常重要的。构建一套全面综合的用户应用程序集需要仔细考虑所有不同的过程和步骤。

理想的用户应用程序是为了跟目标用户组进行密切协作而开发的。它们将提供功能需求和操作需求方面的重要数据输入,而这些需求应该引导应用程序的设计。用户的输入也包括例如人机工程学应用这种因专注于技术问题而被轻易忽略的方面。理论上的需求研究不足以使我们能够完全获知用户的实际需求,目前仍停留在非常抽象的阶段,不能为我们提供任何实际可见的系统经验。因此,为了了解用户,我们应该采取一种可以用来提取用户需求的方法,即产生各种不同的原型。最初的原型是通过对当前工作流及用于具体工作环境的工具的研究而产生。

本章中所列的应用程序都是经过这种方法考虑并开发出来的,它们是大量的研究和主要媒体制作及传播公司商业项目运作的结果。然而,这些研究与合作所得到的一个重要的结论是:灵活性和可配置性是关键成功因素。几乎所有组织单元都会有非常专门的需求,例如应用程序的布局格式、操作,甚至部分地考虑到功能。除了考虑用户需求,也要考虑整体的基础设施。许多系统被整合起来,内容管理应用系统可能成为别的系统的一部分。因此,不仅要能单独提供一个基本应用程序集,还要能根据用户和整体系统需求提供一个能够整合和灵活配置的应用程序模块的可选集,这一点是至关重要的。基于组件的方法可以理想地满足这些需求。这样的应用程序组件示例将在本章讨论。

但是仅仅讨论应用程序控件太过抽象,不能够为第2章所讨论的应用程序捕获工作流提供足够的细节。因此,本章还将介绍支持具体工作流的应用程序示例。这些示例一般是从应用于广播和媒体生产环境的应用程序示例中派生出来的。大量不同的工作流,范围从深度存档、新闻加工到检索,都被考虑到了。其他的应用程序领域可能针对不同的客户而有所改变,但是基本的功能都是相同的。在这样的环境下如何配置应用程序模块集合,取决于基于一个接一个项目评估所获得的专门需求。

9.1应用程序设计原则

应用程序的设计和开发这些年一直在不断变化。过去一个系统只有一个用户界面,通过此界面用户与该系统进行交互,实现该系统的功能,其接口与系统功能部分是缠绕在一起的,整个系统的结构就是为了这些功能的应用。在过去的10年中,这种情况发生了改变。最初,客户机-服务器系统的出现消除了用户界面与实际运行环境之间的紧密偶合。分布式系统的出现取代了单独在主机上运行的应用程序。分布式系统的发展与基于窗口的应用程序的发展一起产生了一个交互性更强,对用户更为友善的应用程序环境。下一个改变用户与应用程序交互方式的主要发展是互联网的出现,用户界面以网页浏览器的形式出现。信息交换只需通过标准的脚本语言,而不需要安装除网页浏览器以外的任何其他专门的应用程序。用户界面的外观由网页设计者决定。网页应用程序越来越成熟和完善,目前已经能够支持可以在浏览器环境下运行的可下载应用组件。许多用户都已习惯于这种在网页环境下运行的交互方式。

在内容管理系统的设计过程中,我们必须考虑这些发展。另外,还有一些方面,如与实际用户需求同样重要的技术和功能需求。然而,对于怎样设计和实现应用程序没有什么一成不变的蓝图。但我们需要建立某些原则,这些原则有利于设计应用程序并将应用程序与系统或其他系统组件进行整合。

9.1.1应用程序和用户需求

一直以来,推动应用程序设计和界面发展的2个主要因素是:(1)为实现新的应用程序和交互模式而服务的技术;(2)应用程序要实现的用户需求。还有第3个因素,那就是用户、技术支持和维护,这在大规模应用环境的情况下非常重要。对于一个内容管理系统来说,能够轻松安装、配置和更新应用程序是很重要的。大量潜在的拥有不同角色和权限的用户,他们对内容有不同的认识,考虑到这些方面,内容管理系统必须能够支持个人应用需求。

与其他应用程序组件之间的互用性和整合性也是十分重要的因素,也就是说,在其他应用环境下这些组件也应该能够运行。内容管理系统要能够提供这样的一个宿主环境。为了使这些组件与用户整合后仍具有透明性,内容管理系统的外观应较容易适应各种不同的应用程序布局格式。

在设计应用程序界面的过程中,应考虑用户的需求。这些需求涵盖了所有的操作特性,包括功能方面和非功能方面的特性。工作流分析是一种建立需求的方法。进一步说,在应用和人机工程方面的操作处理是必须建立的一种系统设计参数。能准确获取这些需求,以确保用户能够在一个稳定、持续的基础上高效地操作系统并与系统交互是至关重要的。

就开发应用而言,这些不同的需求可以按照它们的来源和如何确定来进行区分:

·功能需求针对应用程序的特征和特征集合。它们主要是通过考察现有的或潜在的工作流而得到的。功能需求只是用来说明某个特定的应用组件所提供的功能类型,但并不规定如何展示这些功能类型。

·操作需求描述了应用程序的操作和使用。相对于功能需求,操作需求所处理的是应用程序运行中的一些动态需求。操作需求可被进一步分成:

(1)用户-应用程序交互描述了发生于用户和应用程序之间的实际交互。这其中包括在不同的应用环境下完成一个具体任务所涉及的各种不同的动作和步骤,其目的是尽可能高效地实现某个目标。在这种情形下,就要考虑到人机工程学了。

(2)应用程序的支持和维护涵盖关于在大规模多媒体内容组织中对应用程序进行安装、支持、更新和维护的所有需求。

·系统需求从应用程序存在的系统环境中得到。包括用来控制特定系统组件的具体(系统和用户)界面的定义。进一步说,源于某个具体的系统配置的应用程序之上的所有需求都是系统需求的一部分。这也包括与现有系统的整合及与第三方系统的整合。

尽管在产品整个生命周期内,核心功能需求集的进一步发展相对稳定、持续,但组织与组织间的操作需求却不尽相同,有时甚至在同一个组织的不同部门之间的需求也有所不同。因此应用组件可以使基于个人用户需求的应用配置简捷方便。

用户方代表应该从最初的设计过程阶段就参与进来并一直跟随工作,这包括初始应用程序设计,还有更为重要的是项目中的应用程序引入和配置。

总的说来,应用程序应该构筑于灵活的、可配置的组件之上,这些组件适用于项目实施阶段。应用程序的配置允许按照使用限制和用户需求来定制应用。在应用组件的设计过程中要考虑到功能和操作的需求。

9.1.1.1访问权限和用户角色

在内容管理系统这样的大规模分布式系统中,访问权限具有特殊的作用,它限制了特殊用户或用户组的读取、检索以及更改信息的种类和数量。访问权限不是一个二选一的概念(例如一个用户要么可以访问应用程序和数据条目,要么不可以),而是可以详细地规定哪些内容对象可以由谁访问,访问者被授予了何种访问权限(读、写或二者都授权)。与内容对象交互的类型和形式也是由访问权限决定的,例如某个用户或许获准访问某一内容对象的预览版,但是这个权限不足以使他访问该内容对象的详细资料。不仅可以对单个用户分配权限,还可以将权限分配给用户所属的组。在一家新闻工作室内,某个办公室的所有成员都被赋予权限可观看某个系列节目的原始资料,但是其他办公室的成员则无此权限。因此对于每一个内容对象,单个用户的访问权限和用户组的访问权限都要考虑到。访问控制列表(ACL)就是控制访问数据和资源的传统方式。在内容管理系统的应用环境中,访问控制列表能够得到扩展并且以一种灵活的方式来表述系统中不同成员的权限。

用户在组织中的角色不仅决定其访问权限而且决定其应用环境的配置,例如记者或编辑的应用环境不同于编目员的应用环境。通常情况下,应用程序是安装在确定的机器上的,但是将来大多数应用程序和它们的具体设置应该能够被同一组织中的任何一台计算机访问到,除非该应用程序需要特殊的硬件和装置支持。

因此,权限与用户在组织中的角色有关。用户的角色和权限取决于其信息访问和应用的环境。用户登录文件可用于指定在一个应用环境下的用户角色和权限。在这样的一个用户登录文件中,所有关于用户的相关信息都以计算机可处理的形式保存。用户登录文件中的数据控制着应用表现和信息访问。

扮演多重角色(例如管理员和编目员)的用户需要给予特殊对待。在这种情况下,就要决定用户应该以哪一种具体的角色登录,权限和应用环境应该与不同用户的登录文件相对应。

9.1.2基于组件的应用程序设计

运用模块方式,我们所需要的灵活性和整合性可以达到最佳效果。在这样的系统中,每一个模块都代表着一个具体的功能。在一个应用框架中,模块整合能够构建一种应用。模块的大小和功能是由模块所支持的任务及该模块上所建立的某些第三方组件决定的,例如模块可以是一个VCR控件,用于对视音频的回放进行控制。这样的模块可以用于所有需要对视音频回放进行控制的情况下。它在应用程序中的位置是由应用环境、功能和操作需求决定。但通常我们不可能去定义一个独立的VCR控件模块。例如,如果采用了将VCR控件与播放器相集成的第三方产品,那么它的布局和外观就不能够再更改了。基于组件的设计不仅允许有更好的可配置性,也支持在不同应用程序中模块的可重用性。

模块封装设计的好坏依赖于不同模块在其他应用环境下重用所采用的方法及应用程序配置的灵活程度。此外,不同的模块之间必须产生交互进而形成一个应用程序,例如像信息交换这样的交互。因此,需要在灵活性、可配置性和系统整体性能之间考虑平衡。

近年来脱离功能块或模块来建立系统的思想越来越普遍,大量的技术支持这种所谓的组件式软件的方法。

9.1.2.1内容管理系统应用程序和组件式软件

模块应用设计原理与组件思想密切相关。最初的组件思想是通过将预制的一些组件组合起来提供完整的功能来建立软件系统。在此情形下重要的是组件所具有的功能、它的行为和用来与其他组件交互的接口。组件能够提供一个或多个接口(输出接口)给其他组件,也能够使用其他组件提供的接口(所谓的输入接口)。在系统中组件所具有的不同类型接口之间的接合,定义和规定了组件间的交互和系统的功能。通过在兼容的输入和输出接口之间建立的连接,可建立一个系统(或应用程序)。连接类型通常是静态的,它在开发和整合阶段被确定,在运行期间不会改变。

然而,运用组件和基于组件的方法也不是没有问题。例如,整合过程不总是一帆风顺的,有时要经过复杂的装配工作才能创建一个操作系统。因此,如果组件不能与系统环境很好的结合,在这种情况下创建应用程序是有一定危险性的。我们必须维护庞大的库集合,而且对于集合组件整体系统的一般维护也是一个问题。为了实现组件式方法的灵活性,又避免产生出过于庞大的软件,必须严格控制每一组件的开发进程,按照整体系统的创建计划来执行开发。因此,相对于传统的开发方式,在这些组件的开发过程中,按照用户需求来创建的合适的应用程序所具有的灵活性,或许需要进行更为严格的控制。

许多开发工具和基础设施支持组件式软件的开发方式(比如OCX控件和Java类)。支持模块化应用程序开发的技术有CORBA、ActiveX或JavaBeans。4.5所讨论的那些协议(如SOAP和MOS)也可被用于支持基于组件的应用程序开发。利用Web技术或Web服务来进行可重用模块的创建是一种非常好的方式,如HTML或动态HTML。以这种方式创建的模块集成在应用程序和网页中,无需在客户端进行任何安装。

同类推荐
  • 交通与邮政(和谐教育丛书)

    交通与邮政(和谐教育丛书)

    以构建和谐教育为宗旨,以实现素质教育为导向,以提高教师专业化水平为追求,以促进学生按发展为目标的系列教育丛书。
  • 大有文章:直说电视圈里的人和事

    大有文章:直说电视圈里的人和事

    打开电视,一派热闹景象,而电视圈内部也很热闹:各种争风吃醋、各种爆料炒作、各种是是非非,那些有的没的、乱七八糟,让人看得眼花缭乱、云里雾里。作为观众的我们,只能看到荧屏上放映的节目,其实,荧屏背后的故事更加精彩。本书是我国资深电视人费默撰写的,讲述电视圈内那些对圈外人保密的方方面面的怪人与怪事。从风光的主持人讲到电视节目的制作;从普通的电视主持人讲到他们变身为明星;从一个栏目的产生写到其背后有哪些自毁性的故事,以及电视台的内部运作。同时,广大读者将通过这本书,较为全面、真实地了解到,电视荧屏上的名嘴们,在荧屏下的“方方面面”
  • 中华词源(超值金版)

    中华词源(超值金版)

    每一个词的背后郜有一个意想不到的故事,每一个俗语的形成都记录着一段历史生活。在故事中r解词汇的历史、典故、深意,使你成为一个更懂表达和倾听的人。《中华词源(超值金版)》精选汉语中妙趣横生的近千个历史典故,可以让广大读者朋友充分体会词语的奥妙,了解历史的真相。为完成《中华词源(超值金版)》,我们参考研究了大量专业书籍,从人类灿烂的文明中撷取最光辉、最耀眼的词语典故一一辑录在此,希望帮助读者更好地了解词语的来源。
  • 教师公文包-趣味数学

    教师公文包-趣味数学

    本书内容分“故事中天机道破”、“游戏中巧妙绝伦”、“迷题中茅塞顿开”三部分,收录了近百篇数学趣味小故事。
  • [当代]西方教育思潮理论流派与梅逊《西方当代教育理论》选读

    [当代]西方教育思潮理论流派与梅逊《西方当代教育理论》选读

    教师职业化、专业化是当今世界教育改革共同关注的热点和焦点问题之一。教师职业素质素养达到基本要求和提高,是当前教育改革和课程改革的急迫要求。为此,我们组织相关专家重新系统地、较完整地遍选、编译、评注了这套适合中小学教师职业阅读的《中外教育名家名作精读丛书》
热门推荐
  • 那场晚宴

    那场晚宴

    什么?杀手?我可不是杀手!我是世间最正义的化身!
  • 梦三生·永劫之花

    梦三生·永劫之花

    东陆大赵帝国末年,皇室与权臣宁家产生权力之争。受宁家胁迫的少女家主燕莲见,在远行中偶遇金发少年沉羽。他动人的情话、诚挚的爱慕,让背负着家族荣辱的燕莲见享受到一段欢愉时光……两军对垒,青丝隐于盔甲,倾世容颜无人可辨。烽烟烈烈中,是谁先催动战马踏破青梅之约?又是谁先挥剑斩断海誓山盟?最后的最后,是谁失去了钟爱之人,却君临天下……
  • 遇见他一生不幸

    遇见他一生不幸

    青扬的一生本以为会‘顺风顺水’,可却在她接手爷爷的公司后一切都变得‘莫名奇妙’,还因此遇见他一生不幸……
  • 庶色撩人:冷王的弃妃

    庶色撩人:冷王的弃妃

    “你当本王是傻子么?”王爷邪魅的冷笑,眼神冰冷!“从现在开始凛妃娘娘这个人已经不存在了,至于你肚子中的孽种,和你这个背叛者……都将消失!”铁门紧闭!黑暗如同梦魇压来!!穿越遇难,能怨老天瞎眼,处事不公吗?遇人不淑,能怨月老昏庸,识人不清吗?做为莫名穿越而来的小庶女,王妃月清表示,管你是最睿智毒辣的王爷,还是敌国无畏决绝的太子,你们的权倾一方,都是为我颠覆这如画江山而存在!帷帘之外,因为这个女子,大陆风起云涌,狼烟四起!【情节虚构,请勿模仿】
  • 神也惧我袁华

    神也惧我袁华

    后人只知道,衰神申公豹的一句道友请留步,却不知道后世的衰神,仅仅只是洪荒第一传奇男子的一个转世分身罢了。
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 我死之后到未来所见的景象

    我死之后到未来所见的景象

    文明加速发展的未来,全人类开始玩起了游戏。文明加速发展的未来,全人类被自己所囚禁。如果机器产生了思考系统,那么人类,你就成为神吧,而我们将成为人。
  • 律殇

    律殇

    千年之前,律音、神威、袭灵三种超自然的力量几乎在同一时间降临到这个世间。原本和睦的局面因各自不断扩大的版图而产生了矛盾。荒迷森林首领魔尊率先挑起这场旷世大战,一时之间,整片大地充斥着鲜血与杀戮。随后King之国人皇与中华联邦神权相联合,与之决战于现今的皇城内天。谁也不知道当年的大战发生了何种变数,后人只知,魔尊败,人皇伤,神权卒。而就在大战结束不久,魔尊与人皇相继离世,整个世界的版图又发生了翻天覆地的变化。千年之后,King之国做大,中华联邦圈国自封,荒迷森林一蹶不振,而一直游离于三大国界之间,大战之后两百年才悄然出现的神秘国度——欧洲联盟,亦是在版图之上揭开了它的神秘面纱。这是一个名为秦洛歌的少年,为了找寻遗失的记忆,为了遵守自己的承诺,为了守护真挚的朋友,不断与命运抗争的故事。
  • 另类红楼之薛蟠外传

    另类红楼之薛蟠外传

    一觉醒来,我一个在今生不得志的年轻女子变成了《红楼梦》中的呆霸王。看来人要是倒霉喝凉水也会塞牙。穿越一回,贾府中几百号女人男人,变成谁不好?
  • 无良小皇帝

    无良小皇帝

    一个年轻少年,无意穿越到古代。他既是秦朝的终结者,华夏的创建者......从遇上秦晓,到皇帝,后宫三千......一条神龙,一本异于正常版本的《金枪不倒》,平凡少年夏雨的热血修行路就此开始!期待着他创造的神话......