第一章:Office商业应用程序入门
-罗伯·巴克,微软公司
概述
在过去20年里,公司和组织已花费了数十亿美元购买,安装,部署和维护line-of-business(LOB)系统来管理客户资料,库存,帐单,产品的生命周期,和许多其他类型的业务信息和流程。现代企业没有这些应用软件,将缺乏竞争力,从而无法生存。对于业务系统,通常只有少数实力强大的企业能花费昂贵的培训去学习这些应用软件的特别的甚至有些秘密的用户界面和属性。从业务系统生成信息,还需要从其他系统内获取信息,这就需要确保它的完整和可控性。
同时,个人电脑和软件开发催化的一场革命,改变了人们的工作方式,迎来了信息经济。这些技术深刻影响人们的工作方式和公司的组织形式。很多人会觉得,现在缺乏电子邮件,电子表格,word处理文档,以及Web浏览器是不可设想的工作环境。这些工具为亿万人们提供了一个工作环境,并极大的影响个人生产力。不过,虽然这些工具帮助人们深入了解,作出决定,采取行动,以及合作,它们的作用很大程序上局限于本地或者个人信息。
极大影响业务执行趋向不同方向的是那些适合于机械和自动处理的交易和转化工作,就像一条装配线一样的处理数据项。例如:通过交流对多种数据进行收集得来的信息,进行一些处理并作出判断,决定和发展的工作,称为信息工作者。他们包括销售人员,市场经理,产品设计者,律师,工程师等。他们通常是高薪,因为他们为企业作出了重要的贡献。而他们的贡献通常依赖于他们能获取他们需要的信息。这种依赖获取信息和信息的整合带来一种新的应用软件类型,被称为Office Business Application.
什么是Office Business Application?
Office Business Applications(OBAs)是用业务系统中定义的信息与流程配合微软Office 2007中的生产力工具的应用软件中的一种。OBAs表现得两全其美,它们通过世界上最大的软件公司(包括微软用Dynamics Snap;Duet,微软和SAP的合作伙伴;独立软件开发商像Open Text, Epicor, Business Object,以及KnowledgeLake)被使用到具有创新的解决方案开发中。被用于多家公司,包括伦敦证交所,以及精锐模特管理公司。
但是你需要更好的理由去创建一个OBA,而不是简单的在一个确定的功能集上展示漂亮的界面。OBA提供4个最常用的原因:
· 使应用软件的外观让更多人可用。LOB 系统通常是复杂的,需要深入的培训,才能更有效的使用它。这样的系统一般会被大多数用户弃用,因为他们认为相对于学习它付出的努力,能获得的价值不够大。通过提供大多数信息工作者每天都在使用的工具的集成能力,能将这种障碍降到最低。
o 将微软Office Outlook 2007日程表中的一个约会与LOB的帐单系统集成到一起。
o 将Office Outlook 2007预定会议与CRM应用程序中的销售机会记录集成起来。
o 职员通过Office Outlook 2007日程表预留时间,将申请假期提交到LOB人力资源系统
o 将输入Office Outlook 2007中面试准职员的回馈信息自动添加到人力资源系统。
o 使用微软Office SharePoint Server 2007和Excel Services(在微软Office SharePoint Server 2007中)集合一个集中预算表。
o 使用Business Data Catalog(BDC)在SharePoint 站点上显示CRM系统中的客户数据。
· 得到控制和洞察业务系统流程管理活动。今天,在信息工作者之间,有很多活动影响到经营业绩。这些典型的活动来自文档和E-Mail交流。决定最终来自于业务系统中的这些活动的更新信息。这些指向和支持决定的文档常常是特殊,不可控,以及不透明的。通过更正式的集成和跟踪这些活动流,业务上可以获得更可行的见解,扩展目前为止以最优方法特殊处理的元素,并且确保紧密控制和改良的审核层次,帮助满足企业的需要。例如包括建议生成,工作声明,交易谈判方案。
· 在信息工作者使用的工具里提供背景相关信息。例如包括销售人员可通过Outlook脱机存取销售机会,帐号,以及客户数据;用微软Office Word 2007中在文档中收集信息时,可以存取帐号信息,定单,以及突发信息;并且可选择展示一个内嵌在Office Word 2007文档中的特殊信息块,或者展示内嵌在E-mail消息中的内容。
· 围绕LOB活动创建一个协同工作环境。LOB应用程序可以通过协作站点共享信息而增强能力,就像微软Office SharePoint Server 2007团队站点和一个LOB的组合。围绕一个突发事件或销售机会,或者创建一个关联到存储执行的仪表板,都可以创建一个团队站点来进行处理。
为了帮助你理解是什么技术和能力构成了OBAs的基础,下面几个章节将描述平台的能力和支持的服务。
平台能力
图1-1显示构成OBAs架构的平台能力和支持的技术。在这章我将回顾平台能力并在后面描述支持的技术。
图 1-1: OBAs是基于一个混合平台能力和支持的技术建立的.
企业内容管理服务(ECM)
本系统针对Web、文档以及记录管理,向用户提供相同的设计方式和处理过程,这样你的单位就具备了以一致的方式管理多种多样内容的能力。通过使用本系统提供的中继数据、策略和工作流技术,你可以对内容进行分类。本系统拥有一套完整的用于管理内容和发布的子系统,此系统支持你对多个数据信息资源或后台其它业务系统进行搜索;当然,你可以在本系统中直接使用Web内容管理功能来管理和发布企业信息门户中的信息和内容。适合你单位的网站风格、页面和布局,一致性都将由该Web内容管理子系统所管理,其通过内容类型来定义特定的文档或信息集合,然后对内容类型进行处理来保持信息门户内容的一致性;而页面母版功能能帮助你确定整个门户的外观和给访问用户的感觉;另外,页面布局和标志功能则使你可以确定页面的风格和形象。
集成在一起的内容管理和协作应用功能使你不需要另外花时间和精力去研究和评估其它相应的解决方案。在企业信息门户建设方面,你可以使用本系统为单位中的小组和个人创建动态的、可以定制的工作站点(一个特定的工作环境,这里有完成工作所需要的信息、数据和文档,需要的工具,进行协作的平台),而把主要精力放在此站点管理的内容---重要的、需要完成的工作上。
商务智能
为了使用户对数据进行处理和分析,本系统在传统的企业信息门户和数字仪表板解决方案的基础上还提供了商务智能门户,使用户在不需要进行二次开发和编写代码的情况下,利用多个数据源创建满足其特定需要的数字仪表板。用户还可以从不同的数据源定义其关键绩效指标(KPIs),这些数据源可能是:Excel Services、企业信息门户中的列表、以及SQL Server Analysis Services中的多维数据集;另外,本系统其它的服务也可以使用它,如搜索服务和工作流服务。
通过使用商务智能功能,你可以:
· 将ETL(数据抽取、转换和装载)、OLAP(联机分析处理)、数据挖掘、以及报告功能整合在一起;
· 使用XML、Web Service、以及RSS源将大量来自其它业务系统的数据整合到你的数据仓库里;
· 将传统的业务数据和新的数据整合在一起;
· 利用Office Excel 2007 with SQL Server Analysis Services将单位中保存的大量数据变成对你的业务有意义的数据视图;
· 通过使用BDC(业务数据目录),你可以在电子表格和特定的报告中使用外部业务系统中的数据;
统一通讯和协作
在新世纪时代进行工作的特点是,我们关注的是工作本身,而不是工作在什么地方进行。人们集聚在一起以解决问题、制定计划、利用机会。但是集聚不再是意味着在同一个时空。那个定义小组或团队的,物理和逻辑上的边界已经消失了。你可以利用本系统提供的构建工作环境的能力来支持通讯和协作。小组可以使用本系统中工作区来进行协作,该工作区可以很大,并且相对集中,支持整个部门的不同业务小组;或者满足临时需要,满足临时组成的小组协同工作的需要。
核心服务
在本系统中,有6个核心服务支持上面提到的功能:
· 工作流:在系统中集成的Windows Workflow Foundation(WWF)允许开发人员创建工作流并将之同本系统中的文档库集成。在不写代码的情况下,你也可以使用Microsoft Office SharePoint Designer 2007来创建定制的工作流。对于资深用户和开发人员,可以在Visual Studio 2005中得到Workflow的对象模型。
· 搜索:本系统提供的搜索服务是在本系统中的共享服务,它提供广泛和可扩展的内容收集、索引、以及查询,并支持全文搜索和关键词搜索。通过将BDC、Microsoft Office Form Server 2007和搜索结合起来,你的单位可以创建一个可搜索的服务器端应用程序,使用户在信息门户的工作环境中同以前不能访问的隔离数据进行交互。搜索是整个2007 Office系统工作的中心,它还提供多种同其它应用集成的方式,以及对搜索进行扩展的能力,包括:
o 使用XSLT转换和定制的Web Part来控制搜索结果的外观;
o 通过使用BDC,在搜索索引中提供业务系统中的数据;
o 通过使用Protocol handler和IFilters,在搜索索引中提供制定的内容;
o 通过使用Web Service,在远程客户端使用搜索索引;
· 业务数据目录:业务数据目录---BDC会提供给你在Web Part、Office Form Server以及搜索中使用企业业务数据的能力。开发人员可以使用此能力开发使用户在最适合他们工作方式的工作界面中使用和处理企业业务数据的应用程序,而这种用户工作界面是根据基于大量可用性研究的结果设计出来的。
· Microsoft Office Fluent使用者界面:对于开发人员来说,2007 Office系统的一个主要的改进就是提供了一个可扩展的模式从而可以充分利用系统平台所提供的功能。现在,开发人员可以对Ribbon进行定制以将Office 2007和定制开发的应用程序的核心功能以最新的使用者界面样式展现给用户。另外,2007 Office系统现在提供更多的managed code的支持,以及更好的安全性和管理机制,它们都通过一个通用应用程序信任模式来实现的---common application trust model。
· Open XML文件格式:在2007 Office系统中使用Open XML文件格式使我们可以在服务器端实现文件的创建和处理,而不必在服务器上使用该文件对应的客户端应用程序(如Word)。一些服务器功能,如document property promotion,工作流以及搜索和许多OBAs的其它功能,现在都可以处理系统中基于Open XML格式的文档。
· 门户网站和安全平台:本系统提供建设网站和相应安全体系的通用平台,用户可以建设其内部企业信息门户平台、或是对外的网站、连接商务伙伴的电子商务平台,满足其不同的应用。本平台是建设在ASP.NET 2.0之上的,因此,ASP.NET 2.0中的页面模板功能以及其中的Web Parts,用户都可以在建设其特定应用的时候使用。
系统提供的基于角色的安全模式是同活动目录集成在一起的,同时门户网站和安全平台还提供一个经过改进的网站模板模型。使用此模型可以将需要的功能组合到一个网站模板中,这样,让用户自己就可以从一组针对不同应用的网站模板中选择合乎需要的模板来建设其工作环境,只需要其再进行一些配置和定制就可以了。
OBA的属性
OBAs同样也有平台能力和支持技术所允许的属性。当你创建一个OBA时,以下属性可以让你的解决方案更有效,而可以将更多精力放在解决应用程序的业务问题上。
· 容易使用 现在的信息工作者经常需要请LOB应用软件专家帮助从业务系统中导出有用的业务数据到像Excel之类的工具中。这一过程提供了离线数据展示。OBAs通过将业务数据显示在信息工作者熟悉的界面中解决了这个缺陷。现在,信息工作者可以直接在他们已经会使用的工具中分析数据了。因此更容易作出决策和行动。
· 基于角色 OBAs将以人为中心的流程映射为以系统为中心的流程,这让用户执行一个任务从开始到结束只需要输入一次帐号,从不同的数据源获取数据,或从不同的应用软件执行分析。OBAs也是基于通用身份验证和安全系统。
· 协作 发生在企业系统外部的任务需要大量的活动来完成。OBA平台允许开发者去将业务过程的所有方面反映到Office 2007系统应用程序里。这个平台允许人员相互联系和共享,同时支持正式和非正式的流程(如工作流),并可以用到更复杂的应用程序。
· 可配置性 OBAs对开发者和最终用户来说都是具有较高的可定制性和适应性。因为协作和业务规则不是硬编码进展示层的,最终用户可以考虑以自己的需要来配置应用程序。高级用户能用熟悉的工具按需要的方式和业务规则设置门户站点完成指定任务。如果业务发生改变,IT开发人员可以重建和重新部署业务层组件,这样,以最少的编码更容易地维护业务程序。
· 业务背景关联 OBAs主要解决业务活动中的配合,分析,以及采取的行动。这让用户在业务问题范围内作出决定和采取行动。OBAs并不是自己去解决诸如数据存取,数据的整合,工作流,分析,以及报告,而是利用下面的平台的特性和支持的服务。比如,业务程序可以建立在具有这些功能的Office 系统上。
如何扩展到OBAs
上一章以单一平台上的通用服务作为突破点,为开发人员作了介绍。用更少的平台和工具来学习,用通用部署模型,以及用.Net应用程序和Web服务提供更快和成本更低的方式来开发 OBAs。作为一个开发人员,你可以使用多层应用程序开发技术,并将其扩展到OBA平台。
在图1-2,这四个主要区域显示了信息如何显示和传递给用户的,信息的处理过程,协作怎么发生的,以及信息是如何被保存的。信息通过Web Parts组成的页,页组成的门户站点,最后展示出来。Web Parts是构建门户的最基本的块。解决方案提供商可以开发Web Parts,加上本身提供的Web Parts,比如:提供Office Excel 2007的表格和图表,以及其他显示清单和表格的功能。
图1-2:OBA结构
Web Parts 被放置在页面里。用户可以用有效的Web Parts重新布置页面,或者在这些页面上创建仪表板。例如,开发人员可以为销售,库存,或任何其他业务部分,创建标准的仪表板。
开发人员也可以按功能来创建和打包一个站点模板。一个完整的站点,可以作为OBA解决方案的一个部分来部署。用户也可以用有效的Web Parts或简单的拉几个链接来搭建完全个性化的站点。
信息通过Office 2007提供的服务处理后,可以在用户站点上使用。比如:文档放在文档库,表单放在表单库中。文档库中的数据表,可以被Excel服务注册,包含的工作表也能被分解为图表视图和表格的形式展示出来。同样可以通过Office Share Point 2007的BDC以列表和表格形式展示他们。你可以创建一个报告来显示这些信息。首先通过微软Office Busniess 记分管理器或SQL Server 分析服务中的OLAP多维数据集取得数据,再通过设计的报表或Excel服务配合Excel Web Parts显示出来。
你可以用Visual Studio 2005或者微软Office SharePoint Designer 2007创建工作流,并与文档和表单库联系起来。这样可以指定当文档被修改或创建时哪个工作流被调用。这些工作流可能被映射为一个业务流程(例如:文档审批)或文档生命周期管理(例如:记录的有效期)。
最后,你可以通过BDC或工作流存取后端系统中的信息。这个信息可以通过Web服务界面或直接的数据连接展示出来。DBC使在Office SharePoint Server 2007中以列表和表格展示的数据能以选取的不同选项而以相应的组合展示出来。有效选项以下拉列表框的方式显示在表格上,调用指定链接,传送相关数据。这些链接可以是Web 服务,或来自BDC的相关Office 2007系统的经过重新运算的文档。
OBA的主要部件
像其他应用程序平台一样,OBA肯定也是分层的。一般分为三层讨论:用户层,中间层(包含应用程序和生产力子层),以及数据层。
用户层的考虑
很多解决方案需要应用程序提供一种与用户交互的方式。当你开始基于Office 2007系统开发解决方案时,有几个用户界面元素(UI)对你有用。Office 2007系统用户UI已经按更好的用户体验被重新设计,已经被开发人员用于为客户开发解决方案了。你可以将这些用于客户的新的应用程序设计,用这些UI架构能让用户感受到熟悉和容易使用。
基于表单(InfoPath)
InfoPath 2007,作为Office SharePoint Server 2007中的表单设计器,有几个选择用于快速创建表单,包括客户端表单,文档信息面板,工作流表单。
· 客户端表单你可以在传统的Office InfoPath 2007客户端设计表单,也可以用新的Visual Studio 编辑器来控制表单的功能。
· 文档信息面板文档信息面板就是显示在客户端应用程序中的一个含有文档元数据的表单。用户可以利用这些面板来输入关于文件的元数据。通过Office SharePoint Server 2007或Office InfoPath 2007可以创建文档信息面板。
· 工作流表单Office InfoPath 2007中的表单可以和Office SharePoint Server 2007中的工作流一起使用,这允许用户从Office 2007客户端应用程序上使用工作流表单开展工作,从而不再限于通过浏览器来使用。
Outlook自定义表单
自定义表单范围为标准的Office Outlook 2007表单添加了自定义功能。自定义表单为展示用户界面提供了一系列的选择自定义表单范围为标准的Office Outlook 2007表单添加了自定义功能。自定义表单为展示用户界面提供了一系列的选择:
· 自定义任意标准表单的默认页。
· 可为任意标准表单添加多达30个额外页面
· 替换和增加任意标准表单
· 除文档检查器之外,可以阅读面板上显示自定义用户界面
你可以通过Office Outlook 2007自定义表单设计器设计自定义表单,如图1-3。还能导入自定义表单到项目中的应用程序层次的附加项中,并使用可控代码来处理自定义表单的事件。在测试自定义表单之前,需要定义自定义表单的属性并与Office Outlook 2007的消息类相结合。
图 1-3: 一个 Office Outlook 2007 表单的例子.
Web Parts
Web Parts 是由小的标题栏,框架,以及内容组成的一个信息模块。网页包含有一个或更多的Web Parts以及合并的数据。就像列表和图表,以及网页内容,像文字和图片,这些全围绕一个任务被置于门户内。通过链接Web Parts你可以在两个Web Parts中轮流显示数据,在两个Web Parts中作相关运算,以及用一个Web Parts 中的值来过滤另一个Web Parts中的数据—都在一个Web Part页面上。Web Parts是构建Office SharePoint Server 2007解决方案的基本块,也是任何OBA应用程序的重要部分。Web Parts能用于OBA以下两个类中的一类。
· 内建Web Parts 诸如BDC Web Parts, Excel 服务Web Parts,以及商务智能Web Parts
· 自定义Web Parts 自己开发或第三方开发的Web Parts。你可以用自定义Web Parts去扩展内建Web Parts的功能以及提供自定义行为。自定义Web Parts是基于asp.net的,可以通过Visual Studio 2005和微软Visual Studio Extensions for Widows SharePoint Services Version 3开发。
Ribbon可扩展性
以前的Office中操作都是通过菜单或者工具栏来实现,现在微软Office使用Ribbon来实现操作,这新的用户界面元素为很多Office 2007应用程序带来统一的自定义模式。这个控件提供一种组织相关命令的方式,所以他们更容易被找到。命令按钮被显示在窗口的最上面一行。相关的命令被按任务分类显示在一个标签里。用户可以添加和删除标签内的元素,以定制更适合自己的Ribbon。通过跨应用程序的同样Ribbon和任务面板为开发人员提供这种UI模式。
中间层
实际上,你可以将应用层和生产层混在一起,就像图1-2中的中间层一样。中间层有两个职责,处理信息和协作。
应用程序的核心是业务功能。应用程序处理的业务流程通常由一个或更多的任务组成。业务逻辑通常是发展和变化的,高等级的封装逻辑已经存在,在很多情况下,你需要去制作某个功能(例如:工作流)去执行业务逻辑。
选择客户端编码还是服务端编码
尽管应用程序结构依赖于特定的方案需求。较好的作法是将业务逻辑从客户层抽象出来。一个常用的规则是客户层使用中间层提供的服务,并且中间层提供访问下层数据的方法。
这个开放XML标准被Office 2007系统用于服务端文档处理,可以在客户端包含他们的自定义数据进文档中,而这些数据可以通过编程从服务器生成。Office 2007系统现在默认都是以此格式保存文件。此外,更新已经通过微软发布,允许客户端应用程序从老版本的Office读新文件格式。就像前面提到的,以XML格式保存文档可减轻服务端的负担,不再需要在服务器上实例化客户端应用程序。服务器高级功能,像文档属性提升,工作流,以及搜索等很多现在OBAs中有效的功能,其下面的基础文档是通过服务端流程来处理的。这些文档通过中间层生成,或在展示在客户层后再作处理。
业务数据分类
联接到数据的主要方法之一就是使用BDC,这是Office SharePoint Server 2007中的一个业务整合特性。BDC是一个用于Office SharePoint Server 2007从后端服务器应用程序不需编写代码就能取出数据的共享服务。你可以使用BDC通过Web 服务或数据库从SAP,Siebel, 或其他LOB应用程序展示数据。
图1-4展示的是BDC的架构,它是一个元数据仓库,它允许你定义业务实体,像客户,发票,以及定单。一旦定义了,这些实体就能被你的网站和门户按以下方式使用:
· 用在搜索结果
· 用在Web Parts和列表
· 作为仪表板的一个过滤途径
· 用在文档属性
图 1-4: 业务数据分类
这样的业务实体模型有助于保持数据的一致性并减少发生错误和重新输入。
BDC是围绕Office SharePoint Server 2007创建的其他业务数据特性的基础结构中的关键元素。
BDC通过元数据模型提供存取基础数据源的方式,元数据模型是基于一个一致和简单的客户对象模型。一般来说,元数据的作者应有的技能相当于,数据库开发人员用元数据模型来描述业务应用程序API。管理员将业务应用程序注册到BDC,这些数据就能通过其他Office SharePoint Server 2007业务数据特性和SharePoint Server 数据模型立即呈现在门户网站上。
数据连通性
业务规则,数据,以及元数据以典型的应用程序结构保存在服务器上。将这些数据展示在客户工作区,使它更接近信息工作者要输入和要使用的相关工作的信息。这个元数据能被使用在展示层的元素中。这些元数据最终是保存在服务器上,用于内容的分类和搜索。例如,你可以用客户属性为“Contoso”来查找的所有定单。
数据连接库
数据连接库是SharePoint Server 文档库的新类型。文档库通过发布连接文件,可以直接为用户提供共享,管理,以及发现连接到外部数据仓库,而不再需要懂得详细的技术。数据连接文件很容易创建和更新的,并且,解决方案设计器可以在Office 2007系统客户端应用程序中重用他们。
适配器
除了使用数据连接库,还可以使用BizTalk Adapter Pack—一组应用程序适配器――允许客户将LOB数据装入Office 2007 系统客户应用程序或其他支持使用Web 服务的客户端程序。
Excel服务
Excel服务,见概图1-5,是Office SharePoint 2007的一部分。他通过共享数据表以及改良的管理和安全性增强了Office Excel 2007的能力。Excel服务通过可伸缩性,基于服务器的运算和交互性,基于Web的用户界面提供了一种方法来重用电子数据表模式。
图 1-5: Excel 服务是怎样工作的.
Excel服务有三个核心组件:Excel Web存取,Excel Web服务,以及Excel运算服务。Excel服务处理这三个组件间的通讯,并使这些Excel运算服务的请求负载平衡。
Excel Web访问,Excel Web服务,以及Excel运算服务组件能分别用在前端服务器和后端应用程序服务器。前端Web包括Excel Web服务。Excel运算服务组件放在后端应用程序服务器上,与管理员可能添加的用户自定义装配功能放在一起。
Open XML
开放XML文件格式允许开发人员在应用程序外部编制和生成Office 文档。数据在应用程序和OBA中的用户之间的传送是以这个基于标准的格式进行的。这个新格式的关键优势在于文件可以非常的小。
Office XML格式是基于XML和ZIP技术的,因此使它们更易存取。并且他们是可自由和免费使用的。
开放XML是Office XML格式的中心,使数据在Office应用程序和企业业务系统间的交换变得非常简单。无需访问Office应用程序,解决方案就能通过可操作XML和ZIP格式的标准工具来改变Office文档或创建文档。一个简单的例子是在服务器上创建一个Office Excel 2007电子数据表,不再需要Office Excel 2007了。
使用Office XML格式还有以下优势:
· 容易用文档整合业务信息 Office XML格式能够快速的从不同的数据源创建文档,因此加速文档装配,数据挖掘,以及内容重用。
· 健壮性 Office XML 格式被设计得比二进制格式更健壮,因此减少了丢失信息和文件损坏。
· 安全性 开放的Office XML格式能转换为更安全和透明的文件。你可以更安心的共享文档,因为你可以很容易的将个人信息和敏感的商业信息,像用户名,注释,以及文件路径等删除掉。
· 向后兼容 微软Office 2007系统向后兼容Office 2000,Office XP, 以及Office 2003。只需要作一点努力,就可以在已有文件上使用新版本中的功能。
工作流
工作流几乎能控制Office SharePoint Server 2007每个元素的各个方面。一个简单的工作流,如需要几个用户批准一个预算文档。一个更复杂的工作流,如需要从表单收集信息,再分别在这些收集到的信息上执行不同的功能。
图1-6显示一个定单审批流程的简单分析
PO 审批流程 | 工作流 |
检查当前预算状态 | 收集反馈 |
查对库存 | 查对 |
如果超过权限,请管理者审批 | 审批检查 |
审批定购单 | 审批 |
微软为Windows SharePoint Services提供两个创作工作流的工具:Visual Studio 2005工作流设计器,以及Office SharePoint 2007 设计器。一般来说,两个工具的主要不同点在于:
· 用VS2005 WWF(Visual Studio 2005 for Windows Workflow Foundation)来创作工作流的一般是专业的开发人员,他们创建一个工作流模板,可用于多站点,并包括用户自定义代码和活动。开发人员可以将工作流模板发给服务器管理员,来开展布署和装配。
· Office SharePoint 2007设计器的使用者一般是非专业开发人员,像网页设计者或信息工作者,他们只想为一列表或文档库创作一个工作流。在这种情况下,设计者受限于只能将工作流用于安全控件列表上,并且工作流不能包含自定义代码。工作流创作者的创作流程中还有一步就是将工作流直接布署在列表或文档库上。
数据层
几乎所有的应用程序和服务都需要保存和使用一些数据。你的应用程序或者服务也许有一个或多个数据源,并且这些数据源可能是不同类型的。用于存取数据的逻辑需要提供几个方法用于查询和更新数据。应用程序需要的数据是与实体相关联的,而这个实体是业务逻辑中在使用的一部分。接下来的讨论将帮助你用OBAs的数据层工作。
将数据写到业务系统
用于2007中的XML文件格式通过使用文档汇编和分解,以及使用自定义架构来作内容标记,达到一种更好的方式将数据写到业务系统。
文档汇编和分解给予开发人员一种快速拆解任何Office文档并取出元数据中保存的需要填入业务系统的数据的能力。
使用.Net Framework 2.0和3.0的System.IO.Packaging库中的压缩增强技术后,不再需要自定义压缩库或用第三方工具来作这一步了。现在为开发人员提供了更可靠的解决方案。
使用内容标记,文档能保存集成需要的关键数据,这个关键数据位于使用基于业务系统需要的自定义架构的单独的数据文件里。用格式化的元素展示文档时,在数据被装载,读取和按需要移动时,通过标记处理元数据达到减少系统消耗的目的。
维护系统间数据的映射
那些用来对业务系统中数据进行更新的文档中的数据必须处于最新的状态以保证数据的完整性。开发人员可以使用不同的技术来确保数据维持在最新的状态。这些技术对那些使用Office XML文件格式的Office文件来说都适用。在微软现在的Office策略中,所有的Office应用程序都支持Office XML文件格式,此文件格式允许用户通过使用包含一个自定义的XML压缩文件来定义需要的元数据。而这个文件包含了用于画出文档和将数据写回业务系统的数据。此XML文件也可以在遵循特定的Schema规定的规则下编写,以作为编写元数据的指南,但这种工作不是必须要做的。
当一个用户装载一个文件用于编辑时,这时需要在服务器端有一个过程来组装在压缩文件中的元数据,并在组装工作完成后将结果提交给用户。而用户最后看到的文件是由嵌入的元数据画出来的,当用户修改了文件,2007 Office系统会确保关联的元数据同步。当用户在文档上完成了所有的改变,用户会将文档保存到服务器端的应用程序,如MOSS 2007,在这里,一个过程将从压缩文件中提取元数据并将做出的更改写回业务系统或某些服务的接口。在MOSS 2007中,这个过程可以用新的工作流工具来设计。
开发工具
开发人员有几个有效的工具来辅助他们创建OBAs.
Visual Studio 2005 Tools for the 2007 Microsoft Office System Section Edition
VSTO 2005 SE是完全免费并支持自由添加到Visual Studio 2005的插件,它给开发人员一个创建Office 2007系统目标的能力。VSTO2005 SE包含以下功能:
· 为使用广泛的Office应用程序,包括2003和2007版本的Office Word,Excel,Outlook,Visio,PowerPoint,以及2007版本的InfoPath,提供应用程序级别的自定义项和插件。VSTO 2005 SE非常重要的特性之一就是可安全的装载和缷载,以及管理这些可控插件。
· 一个支持Ribbon的编程模型和运行时,自定义任务面板,以及Office Outlook 2007自定义表单。
· 因为设计时运行Office InfoPath 2007 表单,所以,你能使用Visual Studio IDE来创建表单。
· 支持Visual Studio 2005 专业版
Office SharePoint Designer 2007
Office SharePoint 设计器 2007是一个专为帮助你使用WSS和SPS2007创建自定义网站和工作流而设计的。它为IT专家和解决方案开发人员提供用于开发SPS2007的工具—基于组织敏捷和业务处理自动化的应用程序和工作流的解决方案。
使用Office SharePoint Designer 2007,你能设计SharePoint 工作流和应用程序,而不需要使用传统的过程语言编码或技术。取而代之的是,SharePoint Designer 2007提供的如下工具:
· 使用validation创建条件视图和表单。
· 读,写,以及从不同的数据源展示数据。诸如XML文件,SQL 数据库,以及Web服务。
· 从多数据源收集数据以创建灵活的,自定义的视图和报告。
· 创建Web Part页面并通过联接Web Parts创建业务应用程序。
OBA 应用程序模式
在以下章节,我将描述OBA应用程序模式,提供更有效的扩展并融入业务系统和Office 2007系统的方式。这些应用程序模式在很多情况下是基于真实世界来实现的,在其他情况下,它们基于Office 2007系统的特性和功能被创建起来,一般这样的方案来源于用户和合作伙伴的输入。多模式能够并且一般混合用在一个单独的OBA,更多的高级的模式一般出现在特定应用程序和行业。
注意:客户和独立软件开发商通常在Office 2003中实现这些应用程序模式,虽然在几乎所有情况下,Office 2007系统和最新发布的VSTO实现的应用程序模式更简单且更有潜力
将Office Application作为一个更易用的媒介
这个模式是通过将Office应用程序作为媒介来使用,以扩展LOB应用程序功能,达到更多用户使用的目的。另外一个的目的是在很多情况下消除重复工作。一个扩展LOB功能以容纳更多用户的例子是职员自助式的修改和更新职员个人信息。一个减少重复劳动的例子就是Outlook中可以检测输入的会议,将其与已经添加的项目进行比较,以确定这段时间是否已经另有安排。这个模式对总是被重复工作打扰之类的情况很有用。包含申请的E-Mail消息,被某些人批准了,就会重新以新的信息进入业务系统,或因为培训和需要扩展LOB应用程序界面以让更多用户使用未被充分使用的功能所作的努力不够,LOB的一些功能未被使用。开发人员可以捕获Office 2007系统集成应用程序,然后业务系统能直接或间接的着手处理。
直接整合模式
用直接整合模式,访问LOB界面,被设计为直接存取Office客户端或扩展到一个存在的特性,就像前面提到的Office Outlook 2007中日程表的例子一样。后端流程仍然没有变化,只是通过附加逻辑进行尽量小的扩张。整合使用自定义Web Parts来访问业务系统,展示功能和服务,不需要使用同样在这个分类里的特性。一个好的例子是从SAP系统展示一个业务服务页(BSP)作为Web Part放在SharePoint站点上。如图1-7
图 1-7: OBA能以多种方式与LOB配合
间接整合模式
对于快速实现价值和利用基于面向服务架构建设的框架潜力的架构,尽管直接整合模式是一种好的方式。但此方式需要写代码并且不利于一个跨系统的混合解决方案的发现和重用,或者建造和重用。靠元数据驱动的系统,不管怎样,允许松耦合和更容易的重用性,能在以后用更多先进的架构来扩展。微软开创了一种叫信息桥架构(IBF)的方式。
当微软不再为IBF投资时,用Office 2007系统来提供类似的功能来管理实体和他们相关的服务,这些服务通过Office SharePoint Server 2007解决方案的Web 服务和数据源(使用ADO.NET)来实现。间接整合模式加上了元数据存储,就像BDC在直接整合模式上提供的一个额外的抽象层一样。如图1-8。使用这种模式,可以在SharePoint上展示只读视图,而不需要任何开发,也可以与SharePoint Web Parts混合使用。你可以用自定义代码来扩展BDC以支持更多先进的写回操作来提升这些控件的分解和重用。
除了传送数据给Web服务界面,BDC架构提供通用的方法给服务,包括安全,使用基于证书映射的单点登录机制。
图 1-8: 间接整合模式是加入了像BDC这类的元数据存储的模式
生成文档
现在,企业有数量巨大的信息存于文档中。一般企业有1/3的LOB结构化数据。其余的文档保存在用户桌面上,常复制(通过手工方式)包含在业务系统中的信息。Office 2007系统和开放XML文档格式提供一些方式来弥补这种缺陷,以及创建包含能被处理的LOB关联数据的文档。这个应用程序模式集沿着这种方式描述更进一步的方法。从保存在业务系统中的业务数据生成的文档能被简单的记录为诸如:市场竞争书,或从 Office Excel 2007中导出的表格,或者更复杂的:一份建议,一份合同,或一个预算电子表格。应用程序生成文档是整合在Office 2007系统和业务系统中最常用的模式。这种模式如图1-9所示。业务系统用Office 2007系统合并业务数据。这种模式一般是在服务端批量处理,尽管在客户端也是可行的。
图 1-9: 应用程序生成文档模式是一路整合office 2007文档(.docx, .xlsx, .pptx)和业务系统很常用的模式
在Office 2007之前,这种模式还是很有挑战性的,因为Office 客户端需要执行复杂的文档生成。由于使用Office 2007系统和开放XML格式,文档生成变得更简单和更具有伸缩性。
更多信息 开放XML是Ecma标准。关于开放XML的更多信息和示例请访问http://openxmldeveloper.org.
智能文档
很多LOB流程生成业务文档是用于在客户和合作伙伴间交流信息,同时,信息工作者经常基于业务系统创建文档。
很多情况下,Office 2007系统的文档给用户更直观的体验和提供更多有用的功能,比业务系统更形象,更可分析,和更容易维护LOB数据。一些以文档为中心的例子,如:生成建议,合同批准,预算,以及预测。这些文档中的数据是动态的,互相影响的,换句话说,文档内的结构化内容能被用于更新业务系统,调用LOB服务,或启动业务系统内的一个工作流。LOB信息以文档的形式移动的快照,将文档装入能被客户端或服务器端处理逻辑处理的信息容器。搜索能力更加智能化,可以智能解析内嵌的,结构化的信息,并且提供给信息工作者以文档为中心的处理,这种是用智能文档模式创建OBA文档的好的选择。
内嵌LOB信息模式
内嵌LOB信息模式如图1-10所示,LOB数据是内嵌在Office 2007系统应用程序(Word或 Excel),创建的文档中。一个自定义任务面板能提供一个用户界面给LOB数据,这通过前面提到的直接整合模式或间接整合模式来实现。用开放XML文件格式,通过使用支持所有现代架构的标准XML使内嵌结构化信息和处理这些文档更容易。信息工作者可以浏览或搜索LOB数据然后将它合并(内嵌)到一个文档中。例如,用户可以用自定义任务面板中的控件从业务系统中浏览和搜索一个产品目录,并合并产品信息到销售报价文档。LOB数据被内嵌到文档中,或者作为XML文档的一部分。在Office Word 2007的文档中,通过绑定它到内容控件,你可以展示在XML文档部分中的数据。这个能力提供了一个数据和展示之间的抽象,因此是比直接内嵌到文档更好的方式。
图 1-10:在内嵌LOB信息模式,LOB数据是内嵌到Office文档(word, Excel, PowerPoint等创建的)中的
内嵌LOB模板模式
在文档内组织LOB数据的布局将很有益,一个更精妙的处理方法是创建文档模板,就像图1-11所示。模板合并来自业务系统的元数据,这些元数据来自更后一级的文档标记(内容控制,XML schema,书签,以及指定范围)绑定到的LOB信息的指定实例。这样一个模板的创建,使用自定义任务面板嵌入LOB信息,尽管在这种情况下是附加项提供元数据信息而不是来自业务系统的信息实例。元数据被用于标记文档schema以描述文档内的内嵌LOB内容。这个技术允许最终用户(不包含开发人员)去创建能被自动处理的先进的文档模板。
图 1-11: 创建标准文档模板,这个模板与LOB数据结合在一起,使消费和交互数据更容易。
在标记格式文档中,除了Office 开放XML文件格式以外,其他的也可与LOB数据实例合并以创建一个文档。合并能通过一个Office 客户端应用程序内部的附加项来执行,这个应用程序提供一个交互的用户体验以及能提供一个脱机的能力,如图1-12所示。
图 1-12: 你可以通过自定义任务面板使用文档和LOB数据交互的生成文档。
模板也是理想的方法,用于服务端数据合并和批处理多个或复杂的文档,如图1-13所示。
图 1-13: 文档模板是服务器端数据合并和批量处理的推荐模式,因为它允许分享开发和设计。
LOB信息识别器模式
使用这种模式,具有LOB应用程序的环境下的一个文档内容碎片能被识别成有意义的信息。这种识别能通过元数据和文档标记(内容控制,XML schema,书签,指定范围,等)或通过使用Office 2007系统提供的智能标签技术启用。一旦这样的内容被识别,有趣的功能会在那个信息上被执行。在服务端出现的场景是,被识别的信息会被萃取和用于更新LOB数据或启动一个工作流。在客户端出现的场景是,被识别的信息会被通过使用自定义任务面板或Ribbon用户界面展示一个上下文敏感的用户界面。例如,在一个建议文档,一个客户姓名被识别出来,因为它被绑定到一个“客户姓名”内容控件。自定义任务面板因此显示来自LOB应用程序的详细的客户信息和订单历史。另一个例子是,对一个产品规格的识别,产品规格作为一个使用正则表达式的智能标签。用户通过选择适当的智能标签菜单选项能查看产品详细资料和图样。
Complementary Document Workflow
补充文档工作流
由于业务系统外部的文档交流,业务经常增加LOB处理。例如销售渠道预测,预算,建议生成,以及突发事件管理。这些交流通常是通过E-mail发生的。通过使用补充文档工作流,企业能更好的控制和监视文档相关的流程,这些流程需要被发现并确保流程被审核和满足需求的。在这种情况下,信息工作者如何处理不同类型的信息,可能存在很大的不同,最优的处理方法是通过使用工作流创建进文档处理例行程序。你可以混合使用补充文档工作流模式和智能文档模式来增强业务系统包含的基础业务流程。
由LOB发起的文档工作流
由于业务需要经常使用业务系统内的信息来生成于用检阅,审批,以及可能编辑的文档。例如,由于某些原因,需要规律性的生成一些报告。这些报告能够被生成并发布到Office SharePoint 2007的存放处以供查阅。Office SharePoint Server 2007文档工作流将确保检阅发生和当适当的进程和时间线没有跟得上时抛出异常。一种在这些生成的文档上取得更多控制的方法就是配合使用工作流将文档发布到Office SharePoint Server 2007的文档库。例如,一个系统可能需要发布一个财务报表,这需要查帐员通过使用Office SharePoint Server 2007的控件检阅和审批,而Office SharePoint Server 2007能管理审批工作流。流程概览如图1-14。
图 1-14: 发布到SPS 2007的文档库是启动工作流的第一步
一个默认文档类型,如Office InfoPath 2007表单能与文档库联系起来。工作流能够被像添加文档到文档库这样简单的事件触发。如图1-15。
图 1-15:工作流能被简单的事件触发,如添加文档到文档库
协作文档工作流模式
在更复杂的场景里,一系列的活动可能发生在文档和业务系统之间。一个实例如图1-16。当执行销售机会预测时,公司管理层经常需要作不同层次的审视,合并等等。另外,在流程的每一个阶段,某些行为可能不会被许可。例如,在一个预测被提交后,那它就不能被编辑了。销售预测移动到不同阶段,中间层可能将与业务相关的结果提交到业务系统。这样,公司的管理层可以得到公司日常运作状态的一个视图。为了达到这样的描述,Office SharePoint Server 2007将创建一个协作工作流,使用业务系统用以下两种方法之一来整合。第一种方法,可以混合LOB发起的工作流模式和智能文档模式。使用这种混合模式,文档会包含LOB数据,并且一个LOB附加项在Office 2007系统客户端(就像Word 2007或Excel 2007)使用文档中的内嵌数据与后端系统交互。
图 1-16: 协作文档工作流模式
基于当前的状态,工作流提供逻辑,智能文档为业务系统提供交互机制。这个方法的缺点是全局状态不容易被跟踪,因为它是被共享于在客户端上的智能文档活动和在服务端的工作流状态之间的。
第二个方法是为指定问题范围开发工作流,这样业务系统和在Office SharePoint Server 2007上执行的工作流相互配合。如图1-17所示。
图1-17: 开发一个自定义工作流来解决特定的业务场景
不是所有功能都能实现,但是,能够在服务器端提交并达到和智能文档一样丰富的交互能力,可以配合使用这两种方法。例如,一个销售机会预测电子数据表能执行一些基于内嵌到智能文档的LOB信息的规则和操作,一旦销售机会预测被认可,服务端Office SharePoint Server 2007工作流可以从Office Excel 2007文档提取信息,并将结果发回到业务系统。如图1-18展示了Office Excel 2007中的销售机会预测和Office SharePoint Serve 2007工作流及使用LOB流程配合在一起的一个简单的视图。
图 1-18: 销售预测工作流
得到面向任务的数据搜索结果应用
在实际工作中,工作人员查找特定的信息是为了完成其业务任务。在搜索成为业务工作中普遍行为的今天,如果搜索得到的结果有相应的工作流程链接,让工作人员可以直接使用链接启动业务系统的相关操作,从而使工作人员完成任务,这会使完成任务变得简单,工作效率更高。在MOSS中提供的搜索引擎具有集成业务系统中数据索引的能力。和业务数据(在这里是定义为业务实体的形式)关联的工作会以链接的形式提供给用户。当然,这种应用解决方案会在基于充分考虑用户工作习惯的基础上来创建。对于那些用户在完成其业务工作时会经常使用到的业务系统中的数据和信息,在解决方案中会将之设置为在基于MOSS的企业信息门户中可搜索的,并将可能关联的工作以链接的形式同其放在一起,用户直接使用相关的链接就可以启动业务系统中相关的操作。因为这种应用,业务系统使用范围会更大,从而充分利用已投资的业务系统。
在将业务系统的内容放在搜索索引的时候,需要用到BDC,如下图所示。另外,可以使用递增的索引更新方式。
图1-19:你可 使用BDC从业务系统整合内容到搜索和索引
当数据被索引后,搜索能在搜索结果中体现出后端业务系统中的数据和信息,而和数据相关链接也会在搜索结果页面中显示。如下如所示。对搜索中心结果页面中的标签进行定制可以根据业务系统的不同对搜索结果进行分类。
图 1-20: 一旦数据被索引,搜索会导致相关的业务数据显示,同时能从结果页上启动相关的业务应用程序
通过对搜索的属性进行设置,只要实体包含组装业务系统URL参数的充分信息,一个业务实体可以映射到不同的业务系统中去。
协同工作的应用
传统的CRM---客户关系管理、ERP---企业资源规划、PLM---产品生命周期管理系统擅长的是确保业务按确定的流程执行,而它们的短处恰恰是那些在由业务系统处理之前的、非固定的协作工作。在很多情况下,这些协作工作都需要那些并不使用业务系统的人参与。传统的做法是使用电子邮件系统来进行这种协作工作,但是当协作的人员多、信息复杂而庞大、时间框架也很复杂的情况下,这种方式的效率很低,并容易导致错误和延迟。这时,我们就需要协作站点来帮助我们解决问题。
在解决某个特定的商务问题,需要来自多个不同部门的人员进行协同工作的时候,我们可以创建协作站点来满足我们的需要。在MOSS中提供了一个团队站点模板,我们使用这个模板来创建需要的协作站点。这个模板中包括了文档库、论坛、任务列表、团队行事历、以及项目管理工具和一些其它的协作功能。我们可以在该协作站点实施安全系统,保证只有特定的人员才能访问这个站点。
协作站点的应用方式是使用一个专门的协作站点来解决某个特定的商务问题或处理流程,这些商务问题或处理流程可能是销售机会、客户的服务请求、预算的制定、以及销售预测。换句话说,就是一个协作站点对应一个商务实体或者处理流程。商务实体的背景、相关数据和信息可以用来帮助创建协作站点和其内容。系统同时会维护一个业务系统和协作站点之间的链接,这样工作人员可以从业务系统的工作环境中跳转到协作站点的工作环境中。通过将协作站点的用户界面元素嵌入到业务系统的用户界面中,系统可以为工作人员提供更为丰富的应用体验,并在有丰富背景数据的环境中进行协作。在协作小组中,那些不需要访问业务系统的工作人员可以使用浏览器进入协作站点,他们在这里得到有关特定商务实体或流程的背景数据和信息,并据此将他们完成的工作放在协作站点内(这些完成的工作可能是文件、数据和特定的信息),相关的背景数据和信息来自业务系统,通过Web Part来实现。使用Web Part,可以通过直接的连接或间接的方式连接到后端的业务系统,实现数据的共享。
例如,协同站点模式可以用于CRM应用程序来管理销售机会。如果有一个大的销售机会,需要不同部门的人员合作,像销售人员,工程师,法律顾问。Office SharePoint Server 2007团体站点能为这个特定的销售机会创建这样的协作站点。因为CRM系统维护一个团队成员列表,它自动的赋予这些成员访问团队站点的权利。CRM用户界面显示了团队站点的URL,所以,用户在CRM中查看销售机会时,可以能过URL访问到站点。来自技术部门和法律部门的团队成员不能访问CRM系统,但可以通过协作站点贡献自己的力量。因为团队成员需要知道一些关于销售机会的信息,例如,客户信息和机会大小—CRM Web Parts被添加到团队站点为,用以显示来自CRM系统的这些信息。
混合用户界面模式
用户常需要存取和收集来自多个业务系统的信息以组合成一个复杂的业务文档。在其他情况下,信息,像客户数据能关联到多个业务系统。像这种需求的情况下,需要混合多个应用程序的用户界面。混合用户界面模式允许开发人员创建一个独立于其他LOB应用程序的解决方案,以让用户从多个LOB应用程序组合数据放在一个容器中,这个容器可以是Office 2007文档,或在Office SharePoint Server 2007站点上的网页。
根据业务需要组合的用户使用界面应用
工作人员在创建一份业务文件时,经常需要从多个系统提取需要的数据和信息。在其它一些使用场景中,如客户信息可能是来自多个业务系统---客户的档案信息来自CRM、客户的历史购买记录来自ERP的订单系统、客户当前的购买和发货情况来自库存管理系统等等。在这种类型的应用中,需要整合来自多个业务系统的用户界面,这就需要开发人员开发一套独立于不同业务系统的解决方案---此解决方案允许用户在一个工作界面中---例如2007 Office系统的文档编辑界面或MOSS企业信息门户的一个页面---对来自不同业务系统的数据和信息进行处理和组合,以创建满足业务需要的文件。
基于客户的Office混合用户界面
这个模式使用 Office 2007系统客户应用程序外壳作为用户混合界面的容器。Ribbon元素(标签,组,以及控件)和自定义任务面板被实现到每个业务系统。Ribbon组和控件被放置于一个自定义标签或在一个内置的标签中。当用户通过Ribbon元素执行一个业务系统操作时,对应的任务面板被显示并呈现与所执行操作相关LOB数据。例如,当工作在建议文档时,用户可能点击在Siebel CRM标签中的产品目录按钮,这时会显示一个任务面板来显示在Siebel中的产品目录信息。然后,用户可以点击SAP标签上的库存视图按钮从SAP任务面板中查看产品库存。在利用Ribbon元素和自定义任务面板添加功能时,应该遵循一致性原则。比如,自定义任务面板应该在用户点击一个Ribbon挖掘时才显示出来 ,而当任务完成后,它应该被关闭。
如图1-21,应该避免自动显示的自定义任务面板造成的混乱。
图 1-21: 由于用户的动作,一个自定义任务面板将会显示出来,就像点击Ribbon上的按钮一样。
这个模式可以与智能文档模式整合来提供上下文相关的用户界面。这样改变一下后,当用户选择一个LOB相关信息的文档内容时,对应的LOB Ribbon用户界面元素和自定义任务面板会被显示出来。这个模式同样可用于上下文相关标签集和上下文相关菜单为被识别的数据提供LOB相关操作。例如,当用户在一个文档中选择一个产品图表时,Word 2007显示图片工具这个相关标签集。SAP 生命周期管理附加项能识别图片为产品图表并添加一个SAP 生命周期管理自定义标签到标签集。用户可以在位于自定义任务面板上 的这个标签上点击查看产品数据按钮,查看从生命周期管理系统取出的产品数据。Siebel CRM附加项同样能识别同样的图片并添加一个Siebel CRM自定义标签到图片工具标签集。用户可以在Siebel 自定义任务面板上的Siebel CRM标签上点击查看产品宣传按钮来查看宣传数据。
以Web页面作为组合用户界面的基础
这种方式使用企业门户中的一个页面作为组合用户界面的容器。利用MOSS中的Web Part功能,将来自多个业务系统中的数据和信息整合在一个页面中。在MOSS中的Web Part系统是建立在ASP.NET Web Part基础之上的。MOSS还提供一些现存的Web Part,如BDC、Excel Service、filter等等。
ASP.NET可以使用直接整合模式,BDC Web Parts可以使用间接整合模式来存取LOB数据。Office SharePoint Server 2007允许用户通过选择Web Parts并联接他们在一起以组成一个混合UI的网页。当两个Web Parts被联接,一个Web Parts可发送数据到另一个Web Parts,可基于接收的数据来改变内容。一个Web Parts可以发送数据到多个Web Parts。正是这种能力让混合UI成为可行的。
分析
分析模式是一个特殊的混合Web用户界面,主要实现展示数据分析仪表板给用户。它主要利用通过Office SharePoint Server 2007提供的Excel服务和Excel 服务Web Parts。用户群包括,财务分析人员,商业计划人员,以及用Office Excel 2007深入数据分析和可视化的工程师。他们使用公式,表格,图表,以及使用数据连接存放数据到业务系统等方式创建复杂的工作表。这些Excel 2007工作表能被发布到Office SharePoint Server 2007并且他们的输出可以通过Excel服务Web Parts来查看。Excel 服务Web Parts能被联接到其他Web Parts,像数据过滤Web Parts,BDC Web Parts,以及ASP.NET Web Parts,这样就可以创建分析仪表板。另一个重要的Web Parts是通过Office SharePoint Server 2007提供的关键绩效指标(KPI)Web Parts.它允许用户基于任何Office SharePoint Server 2007列表(包括BDC列表)中的数据定义关键绩效指标。BDC列表展示来自业务系统的数据,关键绩效指标Web Part显示基于实时数据的指标。如图1-22所示。
图 1-22:一个BDC列表显示为自业务系统的数据,同时关键绩效指标Web Part显示基于实时数据的指标
有关任务和通知的应用
很多业务系统都会给用户制定任务并发出通知。当用户登录到业务系统后,就会看到相应的任务和通知,并可以对任务的状态进行更新和对通知进行处理从而改变通知的状态。通常的情况是,一个单位会使用一个以上的业务系统,管理不同业务系统中的任务和通知就变成一件很麻烦的事情,这经常会导致不良的任务管理结果,以及响应迟缓。但当我们将不同业务系统的任务和通知集成到Office Outlook 2007中去的话,这个问题就可以得到解决。要实现此能力,有一些不同方式,你可以根据需要的解决方案之复杂程度以及是否提供更丰富的功能来决定采用什么方式。
简单任务和通知发送
在这种方式下,业务系统的任务和通知以Outlook的任务和电子邮件的方式提交给用户。这种方式的信息流向是单向的;就是说,如果用户在outlook中对相应的任务和信息进行了更改,这些更改不会反映在后端的业务系统中。在这种方式下,一个任务或通知的详细信息是嵌套在一个项目的body部分中的。可以使用HTML来对项目的内容格式化,提供到后端业务系统的链接,用户使用该链接可以从业务系统得到更详细的信息并进行采取相应的行动。
这种方式的一个变种是“推”模式,即业务系统将任务和通知提交给Exchange Server,用户使用outlook、OWA或者Pocket Outlook来阅读和管理相关信息。如下图所示。
图 1-23: 简单任务和通知发送的例子
这种方式的另一个变种是“拉”模式,在这种方式中,使用一个Office Outlook 2007的增益模块从业务系统中将任务和通知信息提取出来,创建Office Outlook 2007的任务。另外一种可以选择的方式是,将任务和通知以RSS的方式提供,然后用户在Office Outlook 2007中订阅它们。这种RSS方式对于通知很适合,但对于任务来讲不是很好,因为在这种方式下,用户不能对和任务有关的信息,如优先级、时间以及状态等进行管理,如图1-24。
图 1-24:业务系统可以使用RSS来发送通知
任务同步
使用这种模式,业务系统通过Exchange或 Office Outlook 2007发送任务给用户,并且任务被双向同步。业务系统能在发送到用户收件箱之前更新任务,用户在Outlook 2007也能更新任务,并且这些改变会传到业务系统。例如,业务系统创建一个工作流任务并且将它作为一个Outlook任务发送给一个用户。当这个用户完成这个任务,她在Outlook 2007中标注这个任务为“完成”。这个任务的状态改变被传送到业务系统,然后,业务系统采取相应的操作。
基于同步的选择有两种不同的模式:
· 直接任务同步 这个模式,任务通过Outlook 2007与业务系统相互直接通讯达到同步。一个Outlook 2007附加项负责业务系统和Outlook 2007之间的任务同步。业务系统发送任务,并更新到Exchange服务器。当Outlook 2007接收到任务和更新,它创建新一任务或应用更新到已经存在的任务上。同样的附加项会侦测到当用户在Outlook 2007中改变任务时,会传送到业务系统。Outlook 2007附加项需要处理冲突和脱机场景(例如,用户可能在业务系统不可用的情况下,更新Outlook 2007任务)
· 间接任务同步 在这种模式中,Office SharePoint Server 2007在业务系统和Outlook 2007之间担当中介,来提供任务同步。它用通过Offie SharePoint Server 2007的两个特性来简化同步逻辑:利用Outlook 2007任务和它的事件机制来同步SharePoint 任务列表,当任务内容被修改了,它可以调用自定义代码。使用这种模式,业务系统发布任务到Office SharePoint Server 2007任务列表,能够被团队任务列表共享给全体成员。因为团队任务列表是共享的,通过设置任务的“分配给”属性,业务系统将分派任务给团队成员。此外,业务系统也能发布任务给某一个用户的个人任务列表。Office SharePoint Server 2007任务列表通过Outlook 2007本地同步能力被复制并保存。当用户在Outlook 2007中更新任务时,这个改变被自动发送到Office SharePoint Server 2007,并触发一个事件指示改变已经发生,允许用户自定义代码去更新到业务系统。Office SharePoint Server 2007和Outlook 2007处理任务同步,冲突以及脱机模式。这个解决方案负责将业务系统中的任务推进Offie SharePoint Server 2007任务列表,并处理任务列表改变事件,通过SharePoint更新业务系统。如图1-25所示。
图 1-25: Microsoft Office SharePoint Server 2007 和 Office Outlook 2007 处理任务同步,消除冲突,以及脱机模式,然后解决提供者实现逻辑来完成操作。
智能任务和通知
信息工作者需要采取行动基于通过业务系统的任务和通知发送。要这样作,需要登录业务系统找到需要的信息然后更新它。这种场景可以通过使用Outlook 2007的任务相关背景或一个e-mail项。例如,当一个管理人员在查看由人力资源系统发过来的一个职员的请假申请时,一个Office Outlook 2007自定义任务面板将显示这个职员的可用假期,和公司的请假制度。Outlook Ribbon能提供控件来批准和拒绝这个申请。当管理人员点击批准,人力资源系统会被更新。Duet(由SAP和微软开发的一个产品)中的一些场景就是基于这种模式。这个模式的关键概念是识别内嵌于任务或e-mail中的相关信息。内容识别可以通过几种方法:自定义属性,智能标签,内容解析,以及正则表达式。在相关资料(如,一个请假申请)和内嵌数据(如,职员ID)被识别后,相关的业务数据和操作通过Outlook Ribbon和自定义任务面板显示出来。
基于表单的任务和通知
这个模式是前面介绍的智能任务和通知模式的变形。它使用Office InfoPath 2007表单作为E-mail的附件。业务系统存放这个表单模板,并e-mail表单给用户。 InfoPath 2007为数据校验,自定义运算,以及逻辑等提供支持。另外,InfoPath 2007自定义任务面板能展示业务相关的附加数据。 用户通过Web服务的调用来提交数据给业务系统。例如,一个项目管理系统在周末会e-mail一个项目时间卡表单给用户。表单上肯定已经有职员信息和项目信息。用户打开这个消息中的表单。他能在InfoPath 2007的自定义任务面板中查看项目详细资料,像估计用时,剩余时间,以及前一周的使用时间报告。这位职员输入这周每天的时间安排,InfoPath 2007会自动校验输入,并且表单的数据被提交到项目管理系统。这个模式从Outlook和 InfoPath的整合中获得优势。InfoPath 2007表单可以通过e-mail发送,而不需要单独的表单模板布署,这是因为模板已经内嵌在消息中。附件中的表单在Outlook 2007的阅读面板中可以被预览。同样,表单能被Outlook 2007文件夹组织,并且表单中以被作为表格列显示在文件夹视图中。这种模式的一个变形是使用Office 表单服务器,这是Office SharePoint Server 2007的一部分。表单服务器让用户能够在Web浏览器中填写表单,甚至可在支持html的移动设备上填写。这种模式,表单是被发送到用户的个人站点表单库中,然后将表单的URL e-mail给用户。用户通过浏览器来查看表单,InfoPath在浏览器中显示表单,而不需要用户电脑上装有InfoPath 2007。用户在浏览器中填写表单,并提交给业务系统。这个模式达到了让用户和组织都可以不使用InfoPath 2007的目的。例如,项目时间卡片的例子能被扩展到包含合作伙伴和承包商。这个项目管理系统发送表单到SharePoint Server 2007外部网站的表单库中,然后,承包商能够只使用浏览器填写和提交表单。
OBA实例:从预算文件到预算应用程序
在这一节,我将描述一个OBA例子,并对它进行加工以帮助管理。这个例子是有意写得简单,以说明目的。(你能在下一章发现类似的更完整的OBA)企业内一般的任务是在批准一个工作流生成定单前审核预算情况。销售执行官和经营规划者,通过使用单独的Excel文档保存数据和使用Excel服务操作它来执行这个流程。这样,他们就有一个明确的数据版本,这个预算计划可以从服务器上被共享给公司里需要检阅和使用这些数据的人。Excel工作表文件能被保存SharePoint Serve 2007站点的文档库中。
工作流能与这个文档库关联,当工作表被保存时,自定义业务逻辑就会执行。例如,工作流能在工作表上执行校验规则;将批准策略应用到数据上;剔除,校验,或过滤数据;或更新LOB或其他后端系统。OBA方案能这样实现,只需要一点或者不需要编码就能实现高度复杂的整合进业务系统的项目,或者利用Office系统API来自定义开发。例如,预算数据能通过BDC(将在整个批准流程中一直有效)取出,送往业务系统詻,或整个企业。开放XML文件格式能提供文档标签和检查器,数据整合,以及内容审核。适配器,位于BizTalk服务器或 SharePoint Server 2007上,能用于抽象来自业务系统的详细资料,并允许业务数据和流程间的配合。图1-16展示了OBA实例中的技术和工作流。
图 1-26: 将预算文件转变为预算应用程序的OBA
去设计和实现这样一个OBA,你需要按以下步骤来作:
- 用元数据创建包含预算数据和定单的Excel 2007文件。
- 创建SharePoint Server 2007 门户,并发布这个文件到含有Excel服务的门户中。这个文档被放在文档库中。Excel服务允许多层次的许可被应用到这个文件上。例如,用户可以被允许在浏览器在查看这个文件内容,但不能在Excel客户应用程序上打开。或,用户可以在Excel 2007中查看数字,但不能查看文档中使用的公式。
- 为门户内的管理者和采购者分别创建个性化站点,并为每个站点提供到这个Excel文件的连接。这些用户将只看到他们感兴趣的部分。因为这个文件以Excel服务存放,所有用户都得到这个文件的副本。
- 使用.NET 3.0 和Visual Studio 2005,开发一个工作流,将Excel文件内容存进数据库。使用在.NET 3.0下有效的OpenXML库(在System.IO.Packaging下)去获取Excel数据。因为工作流存放在SharePoint Server 2007,运行时它会访问文件的属性,换句话说,就是诸如此类,文件被修改了;某用户最后修改了这个文件;或这个文件存放在哪个库。工作流也能实现更复杂的功能,如,创建为一批用户创建SharePoint Server 2007任务,发送带有详细任务描述的e-mail消息给用户等。另外,也支持跨伙伴的通讯,工作流也能发送数据给传统的伙伴。最后一步,你能创建一个强命名的装配集,它包含工作流并安装它到本地.NET全局装配件仓库。
- 用InfoPath创建一个联合表单。这个表单将被用于接受用户数据,当工作流与文档库配合时。如果需要创建一个启发表单 。这个表单可用于接受用户数据当工作流开始执行时。在SharePoint Server 2007门户中安装工作流,并使包含这个Excel文件的文档库与工作流配合起来。配置这个工作流,使它能在对于这个文件的任何改变被保存时,就开始执行。
- 在后端,基于匹配数据表的元数据创建一个数据仓库。使用SQL Server 集成服务,用计划任务或直接执行从数据库复制数据到数据仓库。使用数据仓库创建一个 SQL Server分析服务多维数据集。
- 在Excel文件上创建一个PivotChart ,并连接到多维数据集。发布这个文件到Excel服务。最后,使用Excel Web渲染Web Parts来显示图表给门户的用户们。使用BDC元数据,在数据库中定义每一行的实体。使用BDC Web Parts来显示这些实体的列表,允许用户搜索数据库等。也能 用于在实体间创建父-子关系。例如,定单 能包含一行元素。因为元数据是XML,它不需要用户熟悉任何编程语言就能改变。转载请注明出处http://blog.csdn.net/metababy http://meta.cnblogs.com
接下来是什么
本书的剩余章节 提供一个例子来描述OBA,使用了本章所讲的应用程序模式,技术,和平台特性。在下一章,你将看以一个使用了工作流和BDC的预算应用程序。在第三章“用OBA管理销售预测”,你将看到一个自定义任务面板和数据整合的例子。后面的章节演示更复杂的工作流,文档装配件,使用开放XML格式等,包括在OBA平台内的业务智能解决方案体系。