Smart Document开发

2004-12-28 by 开心就好

.

介绍智能文档

[Office XP]{lang="EN-US"}当中引入了一个新的概念,即智能标签,如果大家经常使用[Word]{lang="EN-US"}的话,可以发现,从[Word XP]{lang="EN-US"}开始,如果你输入一个日期或者人名的话,会发现下面多了一些红色的虚线,而当你在上面点击时,会自动出现一个下拉菜单,这就是[Smart Tag]{lang="EN-US"},也就是智能标签。在[Office 2003]{lang="EN-US"}当中,智能标签得到了增强。另外,在[Office 2003]{lang="EN-US"}当中,对于[XML]{lang="EN-US"}的支持得到了极高的增强,例如,我们可以为一个文档增加[XML]{lang="EN-US"}架构,从而对其进行更好的数据管理。在此基础上,我们提出了一个智能文档的概念,让我们的[Word]{lang="EN-US"}及[Excel]{lang="EN-US"}在友好界面的基础上,增加了一些聪明特性,直接在文档当中与后台的业务处理系统打交道。

[<font face="Arial"> </font>]{lang="EN-US"}智能文档的优点

在很多时候,我们需要使用[Word]{lang="EN-US"}或者[Excel]{lang="EN-US"}作为宿主程序,比如我们的业务使用人员更加熟悉[Word]{lang="EN-US"}或者[Excel]{lang="EN-US"},或者我们的业务类型主要以[Word]{lang="EN-US"}或者[Excel]{lang="EN-US"}文档作为载体,此时,我们可以让[Word]{lang="EN-US"}和[Excel]{lang="EN-US"}变得更加聪明,能够直接与业务系统打交道,而不是另外编写一套应用,让它具备排版、打印、数据表计算等的功能。

[]{lang="EN-US"}

在[Word/Excel 2003]{lang="EN-US"}以前的版本当中,我们所做的业务逻辑必须是在文档当中,比如在文档当中添加各种控件,从而影响该文档最终展现在用户面前的样式,不适合进行排版,影响了最终的用户体验,而在智能文档当中,我们引入了一个“任务窗格”,所有的智能操作均在此处完成,从而将业务逻辑与文档版式互不影响,只是在业务层建立起联系。

[]{lang="EN-US"}

这种联系通过[XML Schema]{lang="EN-US"},即给文档增加一个[XML]{lang="EN-US"}架构,根据鼠标所在不同的[XML Element]{lang="EN-US"},使任务窗格产生相应的操作及显示,而且这种改变是联动的。

[]{lang="EN-US"}

在安全性方面,依托于[.NET]{lang="EN-US"}内建的安全性策略,智能文档也得到了很大的增强,所有的智能文档在执行操作前,均会通过[.NET]{lang="EN-US"}策略进行设置,从而杜绝了安全隐患。

[]{lang="EN-US"}

在部署和更新方面,智能文档是基于文档来进行部署的,在内网中部署,我们可以把智能文档的架构及处理程序放置在一个网络共享位置、[Web Server]{lang="EN-US"}或者其它内网成员均可以访问的地方。如果是外网,我们可以制作成[MSI]{lang="EN-US"}安装包,让客户直接下载安装。

应用场景

任何一种技术,都不可能成为万能的。在智能文档推出后,也不能想当然的,把自己手头上的所有项目,不分需求的使用智能文档来搭建。如果您的项目符合以下特点,可以考虑使用智能文档,或者智能文档来搭建某一部分需求:

  1. 该应用的使用人员计算机操作水平不是特别高,但对于[Word]{lang="EN-US"}以及[Excel]{lang="EN-US"}文件操作经验特别丰富[;]{lang="EN-US"}
  2. 该应用是以[Word/Excel]{lang="EN-US"}文档为中心的,大部分的应用视图均可以以[Word/Excel]{lang="EN-US"}作为展示[;]{lang="EN-US"}
  3. 该应用对于一些[Word/Excel]{lang="EN-US"}本身的特性非常依赖,比如排版、打印、复杂的[Excel]{lang="EN-US"}的公式计算等。

举例来说,我们的[OA]{lang="EN-US"}工作流非常适合于使用智能文档来进行搭建,办公系统本身处理的文档大部分都是[Word]{lang="EN-US"}及[Excel]{lang="EN-US"}文档,而且其操作人员对于其它系统都有一种本性上的抵触情绪。再者,这种应用一般对文档格式要求特别高,比如,甚至会增加一些模拟的公章,或者手写签名,这些在[Word]{lang="EN-US"}、[Excel]{lang="EN-US"}当中很好实现,但自己编程非常困难。

[]{lang="EN-US"}

再者,进销存管理以及[HR]{lang="EN-US"}(人事)系统也可以部分采用智能文档来搭建,本年度的架构师峰会上,我们演示了用友[U9]{lang="EN-US"}平台上的一个医药进销存管理系统,其中就使用了智能文档来处理订单。

2004-12-28日下午15:00,开心将在http://www.microsoft.com/china/msdn的网络讲座中讲解Smart Document开发体验点击此处可以下载本次讲座的示例代码。


Comments