登陆注册
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。以这种方式创建的模块集成在应用程序和网页中,无需在客户端进行任何安装。

同类推荐
  • 警惕职务犯罪

    警惕职务犯罪

    做好预防职务犯罪工作必须从源头上遏制腐败现象的滋生,从思想教育上抓起,做到警钟长鸣。一是根据建筑工程行业特点,应当仔细研究分析可能引发工作人员职务犯罪的领域和环节,重点关注建设工程建设阶段。制定相应的预防措施和方案,建立完善的制约机制。二是加强工作人员的理想信念教育,树立正确的世界观、人生观和价值观,构筑思想政治防线。深入开展“三个代表”的学习教育活动。
  • 国际经济法作业集

    国际经济法作业集

    为更好地配合《国际经济法》课程的教学,方便学生更好地学习国际经济法律、法规的相关知识,结合《国际经济法》教材所涉及的相关理论和实际问题,我们编写了本作业集。在编写过程中,力求在把握国际经济法基本体系的基础上,密切联系国际经济贸易法律事务,将学术性与应用性融为一体,以满足对学生知识结构的要求。
  • “闽学”教育思想与教育论著选读(下)

    “闽学”教育思想与教育论著选读(下)

    教师职业化、专业化是当今世界教育改革共同关注的热点和焦点问题之一。教师职业素质素养达到基本要求和提高,是当前教育改革和课程改革的急迫要求。为此,我们组织相关专家重新系统地、较完整地遍选、编译、评注了这套适合中小学教师职业阅读的《中外教育名家名作精读丛书》。每种含教育家的生平、教育事迹、教育成就、教育思想评析和经典教育论著选读及注解解读导读两部分。这对于全面深刻和原原本本地了解学习、运用教育家的思想和著作是十分有益的。
  • 巨灾时代

    巨灾时代

    全球经济遭遇百年危机,地球异动面临万年一劫。每天都有意外发生,为什么?巨灾时代,世界震动。政治、军事、经济、大自然4大危机同时爆发,全球面临惊天变局,百年一绝!又一次人类命运交响曲!
  • 好学生是这样培养出来的

    好学生是这样培养出来的

    如何“让每一个学生都成为最好的自己”?怎样“成为一名真正的初中生”?什么是“初二现象”?“面对压力,家长该走出哪些误区”?……张凤兰与其教育团队将通过八中初中部十余年的教育探索为您自己作答。本书不仅体现了北京八中初中部的办学特色,更体现了现今初等教育的发展。本书可以视作学生初中三年学习与生活的指南性读物,对于广大校长、教师、学生以及学生家长都有很好的指导与借鉴价值。
热门推荐
  • 转角遇到二

    转角遇到二

    故事发生在那个遥远而浪漫的城市——巴黎。白杉是个学法律的穷留学生,莫名其妙卷入了法国黑帮的恩怨。通篇均以法国的真实生活为背景。全篇充满超现实主义的黑色幽默。
  • 频梦君

    频梦君

    林沫最近常常梦到一个人、在梦里她好像爱上那个人。可这一切都是梦
  • 哭京兆庞尹

    哭京兆庞尹

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 我真没想到修仙这么难

    我真没想到修仙这么难

    陈涵看着手背上的金色小?????,心念一动,小剑出现在自己的手上,发出阵阵轻鸣,像是愉快的回应着陈涵。金色小剑在陈涵手上转了几圈便重新回到左手的手背上。叮,恭喜宿主激活天武系统
  • 九公主之恋2..more

    九公主之恋2..more

    小弦误入甲天下,遇见了清纯的小米,小米渐生情愫。却不知道这个失忆的王子并不属于自己.再次遇见九公主,再次风波涌起。想再次相爱?却困难重重.
  • 天行

    天行

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

    萌宝来袭:傲娇妈咪不好惹

    她,豪门私生女。不受家庭待见,与青梅竹马有婚约。十八岁生日庆生的时候被朋友怂恿和那个男人搭讪喝了交杯酒,事后又被朋友送错进了那个男人的房间,两人发生一夜情。他怀孕,无奈逃婚,并生下孩子丢给他,自己去了国外。五年后,他们再次相遇,他逼娶她。他,五年前被那个小女人搭讪后就对她有些好感,与之发生一夜情后女主却消失,一年后收到她“抛弃”的孩子。五年后再次相遇,誓要将她揽入怀中。“把东西还给我,我们两清!”“两清?”他眼神微冷,“你的东西在我这可不止一样,你全都拿走?”她避开他的目光,生硬道:“你在说什么我听不懂。”
  • 三界传之战歌序曲

    三界传之战歌序曲

    人、仙、妖存在的世界,充满着奇迹与冒险,友情、亲情、爱情;金钱、权利、信仰如何抉择,神的指示,凶兽的威胁,欲望的诱惑。请观看三界传,一个神秘的世界等着你!!!
  • 最强补完计划

    最强补完计划

    天之道,损有余而补不足,人之道,损不足而奉有余。在灵气复苏,幻想降临的时代,看袁立如何完成人类的自我补全,生命升华。
  • 风起灵袖

    风起灵袖

    阿尧作为莫家唯一活下来的佣人,他从小就无父无母身份也颇为神秘,拜李鄂为师,收小白为妹,阿尧又该何去何从,14年前判的案子真的是对的吗?小姐又在哪里?