基于动态模型的管理工具的制作方法

文档序号:8460714阅读:320来源:国知局
基于动态模型的管理工具的制作方法
【专利说明】基于动态模型的管理工具
[0001] 背景
[0002] 基于图形用户界面(⑶I)的管理工具的设计者设法提供管理使用用例的正确组 合以使得这些工具支持大多数其用户的需求。这导致关于要将工具设计得多复杂的两难困 境。如果支持过少的使用用例,则该工具将不会满足大多数其用户的需求,这会影响对产品 的理解。如果支持过多的使用用例,则该工具往往太过复杂,从而影响用户学习该产品的能 力并使得企业难以确保跨多个用户的一致性。
[0003] 为了减轻该问题,诸如MMC(微软?管理控制台)之类的管理工具具有使得新"插 件"能够被定义的扩展性模型。然而,设计这些插件基本上具有相同的挑战,即如果它们处 理过多的使用用例,则它们会变得太过复杂,而如果它们处理过少的使用用例,则它们不会 满足宽泛的观众需求。从终端用户的角度来看,仅存在有限的能力来自定义满足用户需求 的体验一一通常处于"嵌入式管理单元(snap-in)"粒度一一这是相当粗粒度的。还存在有 限的能力来根据角色/许可等来定义和自定义n的布局。
[0004] 概述
[0005] 提供本概要从而以简要形式引入将在下面具体实施例中进一步描述的概念的选 择。本概要不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要 求保护的主题的范围。
[0006] 简单来说,本文描述的发明主题的各方面涉及用于基于与用户相关的数据来定位 包括程序代码和相关联的元数据的指南包的技术。该元数据是用指南包的基于与用户相关 的数据中的至少一些和元数据中的至少一些来激活的程序代码来处理的。
[0007] 指南包可经由管理工具来运行,该管理工具与被配置成获得与用户相关的数据的 交互式组件相关联。管理工具基于与用户相关的数据来访问一个或多个指南包,处理至少 一个指南包的元数据,并基于该元数据来运行至少一个指南包的的程序代码。
[0008] 在一个方面,描述了运行包括第一程序代码和相关联的第一元数据的第一指南 包,并运行包括第二程序代码和相关联的第二元数据的第二指南包。处理第一元数据和/ 或第二元数据确定第一指南包和第二指南包之间的关系。
[0009] 结合附图阅读以下【具体实施方式】,本发明的其他优点会变得显而易见。
【附图说明】
[0010] 作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或 相似的元素,附图中:
[0011] 图1是根据一个示例实施例的包括被配置成从用于渲染向导并获得程序代码的 输入程序生成模型的各组件的框图。
[0012] 图2是根据一个示例实施例的表示对指南包进行打包、存储和分发的框图。
[0013] 图3是根据一个示例实施例的表示处理和运行指南包的管理工具的流程图。
[0014] 图4是根据一个示例实施例的表示可被采用来处理和运行指南包的示例步骤的 流程图。
[0015] 图5是表示可并入本文中所描述的主题的各方面的示例计算环境的框图。
[0016] 详细描述
[0017] 本文中描述的技术的各个方面一般涉及处理包括以原子细节级别定义的产品管 理扩展的"指南包"。注意,作为一个直接示例,指南包在用户看来看上去像向导,然而如将 理解的,指南包(扩展)与向导相比可明显更复杂,例如为索要输入并执行行为的任何n 控件或控件集。通过这种方式,该工具能够移除通常伴随管理工具(诸如MMC)的典型约束 (例如,没有深入了解执行逻辑的硬编码向导)。
[0018] 对于处理指南包,指南包可被组合并被动态加载到管理工具内部。管理工具(例 如外壳)从合适的源位置(诸如本地存储、内联网储存库)、从原始指南包作者发布位置、和 /或从云等中定位指南分组。管理工具可确定是否存在指南包的经更新版本并可在合适的 情况下提示用户进行更新。管理工具还可将指南分组布置成适合于特定用户的需求,并依 赖于使用上下文将支持多个使用用例的多个包组合成聚合集。更进一步,管理工具可基于 诸如许可或缺少上下文之类的约束来启用或禁用指南包,以及在上下文/许可被授予时激 活指南包。
[0019] 在一个实现中,管理工具的配置是在配置文件中指定的。这些配置可以是嵌套的, 由此允许针对特定域的指南包群被打包在一起(例如以提供与管理单元内部提供的那些 能力类似的能力的集合)。
[0020] 应当理解,本文中的任何示例均是非限制的。因此,本发明不限制于在此描述的任 何具体的实施例、方面、概念、结构、功能或示例。相反,此处所描述的实施例、方面、概念、结 构、功能或示例中的任一个都是非限制性的,并且本发明一般能够以在电话和通信方面提 供好处和优点的各种方式来使用。
[0021] 图1示出了包括用于取得输入程序102(例如,Windows? PowershelKg>cmdlet) 并生成模型104(隐式模型)的三阶段过程的示例实现的框图,模型104随后被用作渲染例 如向导106的基础。模型104可丢弃(不被持久保存),或改为被持久保存以使得允许用户 修改UI、确认逻辑和/或用于生成代码的代码模板。注意,UI模型可以是硬编码的或者是 例如从cmdlet自动推断出的。自动推断出的模型可被编辑以例如用于自定义。
[0022] 在这个示例中,用户执行模型生成器程序108以剖析要针对其生成n的输入程序 102 (例如,Windows?Powershell?> cmdlet)。程序 108 可反映 cmdlet 函数的签名、参数 的数目、这些参数的类型以及它们是可选的还是强制性的。该信息随后被模型生成器程序 108用来生成默认n模型110 (例如,诸如定义文本文件中的一组页面以及它们如何彼此交 互的基于XAML的表格,例如介绍页面、交互页面和错误处理页面)以及合适的输入确认逻 辑。该信息还用于生成默认代码模板112。
[0023] 注意,在可扩展场景中,程序108将生成的模型呈现给用户以对单个cmdlet对照 流水线或工作流作出决定。该用户输入允许组合复杂的应用执行场景。此外,专家可按需 自定义并提供默认参数和流动条件/规则。
[0024] 模型解释器114可取得生成的模型104(包括H模型110和模板112)并执行该 模型104,从而将要将输入参数输入其中的向导116 (例如,单个页面)等提供给终端用户。 用户可扩展该模型以包括例如指南主题、示例和到知识文章的链接。
[0025] 在用户完成了向导116后,变换程序118通过变换取得输入参数并将其插入 到代码模板112中。这导致自定义程序120(例如,Windows?Powershell?脚本或Windows?Powershell?解释器可执行的Windows?Powershell?脚本的流水线)。每 一脚本可在执行之前向用户示出或被透明地执行。通过这些过程生成的制品(诸如n向 导、相关联的模型和上下文)在本文中可被统称为指南包。
[0026] 图2表示指南包(指南资产)的打包模型,该打包模型例如包括标识可执行 向导、任务使用上下文、叙述性的指南和其他资产依赖关系图。图2还表示指南包的 存储模型,并且指南包的分发方面也在题为"PACKAGING, STORING AND DISTRIBUTING ⑶IDANCE PACKAGES (打包、存储和分发指南包)"、美国申请号为13/672542 (代理案卷号为 335261. 01)的共同待审的美国专利申请中描述。
[0027] 对于打包,一组模型以原子级别定义指南包222。例如被实现成一组方法的这些模 型将特定指南资产打包成指南包222,提供关于指南包的可搜索元数据,处理包的相互依赖 关系,进行版本化,枚举用户场景/任务以及可应用的上下文。另一模型提供将多个原子包 组合成聚合集的一组方法等。另一模型可用于压缩资产和/或将资产存储在相互依赖的包 中以供直接同步。
[0028] 在一个实现中,元模型模式224 (例如,XML模式)定义指南包资产模型。元模型 模式224定义一组基本元素,在图2中在指南包的元数据(例如,包含在a. zip文件内的清 单文件)中例示。注意,示例元数据226并不旨在处于图2中的任何特定次序,并且可包括 附加的元数据元素,并且图2中例示出的那些元数据元素不必全部被呈现。
[0029] 一般来说,例示出的元数据226包括关于指南名称、指南类型、版本、依赖关系、许 可数据、作者、所需的服务、平台/操作系统支持、先决条件、使用上下文、相关的产品/技 术、可搜索的元数据等的信息。注意,与许可相关的数据可另选地或替换地由操作系统例如 经由ACL、令牌角色等来施加。过滤和/或排序可被使用,例如搜索包的数据库管理员可能 不会看见与网站作者所看见的相同的包,即使它们使用相同的搜索准则;用户可能不会看 见他或她不具有充分执行许可的包。
[0030] 还示出了该模式的用于基于向导的指南包n的实例。该向导包的属性包括表示 n元素的表示(例如,dii)、标识产品场景/使用用例的图以及使用上下文。每一个这样的 包因
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1