WF培训课堂笔记
EKING <st1:chsdate month="7" islunardate="False" day="30" year="2007" w:st="on" isrocdate="False">2007-07-30</st1:chsdate>
<o:p> </o:p>
<o:p> 因项目工作流平台的选型需要,近日部门邀请微软培训讲师徐晓卓老师给我们作了2天的微软工作流平台的全面介绍与技术培训。</o:p>
技术选取的准则:
1.成熟的技术
2.主流的技术
3.熟悉的技术
<o:p> </o:p>
<o:p> </o:p>
软件发展的三个阶段:
面向对象 OO
面向组件 Component (事件驱动:事件,代理,委托)
面向服务 SOA (Saas)
<o:p> </o:p>
Application Block
<st1:place w:st="on"><st1:city w:st="on">Enterprise</st1:city></st1:place> Library
Software Factory
<o:p> </o:p>
数据库表主键:推荐用Guid (128位字符),在SQL SERVER 中字段默认值 使用内建函数 newid()
好处:数据整合时主键不会重复
工作流运行环境:
1. .net framework 3.0 (2.0的扩展版本)
前提:必修安装.net framework 2.0
2. VS2005 SP1
3. Workflow foundation
<o:p> </o:p>
序列图:有向无环图
状态图:可以有环
<o:p> </o:p>
工作流开发实例
1. HelloWorldWorkFlow
基本顺序工作流,包括工作流初始化参数
包括2个项目:HelloWorldWorkflow, WindowsApplication1
2. ExpenceWorkFlows
包括5个项目:
Activities :自定义活动
Services: 外部服务
Host: 宿主程序,服务端
Application:客户端调用程序 (.net remoting调用)
Workflows:工作流
3. Custom Activity
1) 自定义属性
2) 自组合活动
4. Host Workflow
1) WorkflowRuntime的生命周期
Start
Load, Unload, Persiste<o:p></o:p>
Stop, Complete, Teminate<o:p></o:p>
Suspend, Resume<o:p></o:p>
Idle
<o:p> </o:p>
2) GetInstanceTrackingEvents(Guid instanceId)在何时被调用?
<o:p> </o:p>
5. State Machine Activity
有环的情况
6. WebService
7.改变工作流的结构
static void modifyWorkflowFromHost(WorkflowInstance workflowInstance)<o:p></o:p>
{<o:p></o:p>
if (!workflowUpdated)<o:p></o:p>
{<o:p></o:p>
workflowUpdated = true;<o:p></o:p>
<o:p> </o:p>
Activity workflowInstanceDefinition = workflowInstance.GetWorkflowDefinition();<o:p></o:p>
WorkflowChanges workflowChangesToMake = new WorkflowChanges(workflowInstanceDefinition); //WorkflowChanges用来改变工作流结构<o:p></o:p>
<o:p> </o:p>
// remove ifelse<o:p></o:p>
Console.WriteLine("\tHost change to always require approval for");<o:p></o:p>
Console.WriteLine("\tInstanceId: " + workflowInstance.InstanceId);<o:p></o:p>
<o:p> </o:p>
CompositeActivity ifelse = workflowChangesToMake.TransientWorkflow.Activities["ifElse1Activity"] as CompositeActivity;<o:p></o:p>
workflowChangesToMake.TransientWorkflow.Activities.Remove(ifelse);<o:p></o:p>
<o:p> </o:p>
// setup to invoke NewStepWorkflow type<o:p></o:p>
InvokeWorkflowActivity invokeNewStepWorkflow = new InvokeWorkflowActivity();<o:p></o:p>
invokeNewStepWorkflow.Name = "AddNewStepWorkflow";<o:p></o:p>
invokeNewStepWorkflow.TargetWorkflow = typeof(DynamicUpdateInWorkflow.Workflow2);<o:p></o:p>
<o:p> </o:p>
// insert approval workflow<o:p></o:p>
workflowChangesToMake.TransientWorkflow.Activities.Insert(1, invokeNewStepWorkflow);<o:p></o:p>
<o:p> </o:p>
// apply transient changes to instance<o:p></o:p>
workflowInstance.ApplyWorkflowChanges(workflowChangesToMake);<o:p></o:p>
}<o:p></o:p>
else<o:p></o:p>
{<o:p></o:p>
Console.WriteLine("\tWorkflow has already been updated by the Host");<o:p></o:p>
}<o:p></o:p>
}
www.dinnernew.net : 大型分布式应用的例子,食品方面,里面有很多新技术(工作流,mmc)
CD C:\WINDOWS\assembly
CD assembly
Dir 可以看到所有共享的程序集目录
<o:p> </o:p>
<o:p> </o:p>
网络安全 多重身份认证(一般三选二)
1) 我知道什么:用户名,密码
2) 我有什么:身份卡 (如微软使用 SmartClient)
3) 我是什么: 生物技术(指纹技术)
<o:p> </o:p>
微软外部员工登陆内部系统:用户名/密码 + SmartClient
VPN + SSL
<o:p> </o:p>
<o:p> </o:p>
日志
1. 四个级别:Error, Warning, Info, Verbose
2. 一定要有日志开关,并且各个级别都要做开关
<o:p> </o:p>
分布式系统架构设计
VS2005 : 新建-〉项目-〉分布式系统架构
<v:shapetype o:spt="75" coordsize="21600,21600" stroked="f" id="_x0000_t75" filled="f" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path gradientshapeok="t" o:extrusionok="f" o:connecttype="rect"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape type="#_x0000_t75" id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 220.5pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.png" o:title=""></v:imagedata></v:shape>
<o:p> </o:p>
<o:p> </o:p>
<v:shape type="#_x0000_t75" id="_x0000_i1026" style="WIDTH: 414.75pt; HEIGHT: 210.75pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image003.png" o:title=""></v:imagedata></v:shape>
<o:p> </o:p>
<o:p> </o:p>
<v:shape type="#_x0000_t75" id="_x0000_i1027" style="WIDTH: 414.75pt; HEIGHT: 215.25pt"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image005.png" o:title=""></v:imagedata></v:shape>
课堂问题
1. 经常出现 “Error loading workflow”,是什么问题? (查看xoml文件?)
2. 工作流页面定向的URL在哪里可以设置?
3. 使用DataSet进行批量数据处理:插入,更新,删除。减少数据库的往返层次和打开关闭的次数。
4. 安全问题考虑:最小权限原则,连接字符串的加密原则。
5. SQL SERVER 2005 内建对 .net2.0 clr的支持
将dll安装到SQL SERVER ,触发器里可以直接调用dll中的方法。 <o:p></o:p>
分享到:
相关推荐
微软的工作流技术,特别是Windows Workflow Foundation (WF),为开发者提供了强大的工具来创建和管理这些工作流。以下是对"微软工作流WF资料"中可能包含的知识点的详细解释: 1. **Windows Workflow Foundation (WF...
WF工作流笔记是一个压缩包,其中包含了18个doc文档,专门探讨了工作流这一重要IT概念。工作流,简而言之,是业务流程的自动化管理,它涉及到任务的分配、执行、监控以及优化,旨在提升组织效率和协同工作能力。在本...
微软工作流(WF)提供了一个平台,使得开发人员能够方便地创建、执行和管理这些流程。 WF的核心概念包括活动(Activity)、工作流(Workflow)和运行时(Runtime)。活动是工作流的基本构建块,代表了流程中的一个...
WF的全称是Windows Workflow Foundation,是微软在.NET 3.0之后推出的一套工作流开发框架。WF是微软在.NET 3.0上推出的三大框架(WPF和WCF及WF)之一,其主要目的在于为现有的.NET应用程序嵌入工作流应用,目前最新...
WF(Windows Workflow Foundation)是微软.NET Framework的一部分,它提供了一种在.NET应用程序中定义、执行和管理工作流的框架。WF工作流例子旨在通过实际的示例帮助开发者理解和掌握WF技术,实现流程自动化。 WF...
微软通过其.NET Framework中的Windows Workflow Foundation(WF)组件提供了对工作流的强大支持。WF允许开发者创建、管理和执行工作流,同时提供了一套完整的工具和API,以便与应用程序集成。 在微软工作流Demo中,...
微软工作流图形设计器是微软公司开发的一款用于创建和编辑工作流的应用工具,它与微软的.NET Framework和Windows Workflow Foundation(WF)紧密集成。工作流在IT领域中是一种用于描述、建模和执行业务流程的技术,...
WF(Windows Workflow Foundation)是微软.NET Framework的一部分,用于构建业务流程和工作流应用程序。这个"WF工作流的一个完整例子"提供了实现WF工作流的详细步骤和示例代码,旨在帮助开发者更好地理解和应用WF...
ASP.NET工作流(WF,Windows Workflow Foundation)是微软.NET Framework的一部分,它提供了一种用于构建业务流程和工作流应用程序的强大框架。在ASP.NET环境中结合WF,可以创建动态、灵活且可扩展的Web应用程序,...
这个例子以一个报销流程为例,从员工(staff)发起报销流程开始,提交给经理...是学习微软WF工作流的一个好例子! 数据库在文件夹里,直接还原即可,不用附加。 ps:有同样喜欢研究工作流的朋友可以+10007354共同进步!
在.NET框架中,Microsoft提供了Windows Workflow Foundation (WF) 这一强大的工作流引擎,使得开发者能够轻松创建、管理和执行工作流应用程序。 WF Workflow Foundation是微软为企业级应用提供的一种工作流服务,它...
WF工作流(Windows Workflow Foundation,简称WF)是微软.NET Framework的一部分,它提供了一种用于构建应用程序的模型,这种应用程序能够根据预定义的规则和步骤自动执行业务流程。WF结合了业务流程管理(BPM)和...
Windows Workflow Foundation (WF) 是微软提供的一种框架,用于构建和执行工作流驱动的应用程序。在这个培训材料中,我们将深入探讨如何利用Visual Studio 2008进行WF应用的开发。 一、Windows Workflow Foundation...
Windows工作流(WF)是微软.NET Framework 3.5中的一个关键组件,它为企业级应用程序提供了灵活的工作流服务。WF工作流技术允许开发者创建、执行和管理基于规则和流程的应用程序,这些应用程序能够模仿现实世界的...
WF(Workflow)是工作流的缩写,通常指的是.NET框架下Microsoft提供的工作流服务,它是Windows Workflow Foundation的一部分。 **工作流概念** 工作流是指一组有序的任务,这些任务按照一定的规则和步骤执行,以...
WF(Windows Workflow Foundation)是微软.NET Framework的一部分,用于构建业务流程和工作流应用程序。这个"WF工作流的第二个完整例子.rar"是一个针对初学者的示例项目,它可以帮助你理解和应用WF工作流技术。让...
WF4.0(Windows Workflow Foundation 4.0)是微软.NET Framework 4.0中引入的一个强大工作流框架,用于构建业务流程应用。这个“简单的WF4.0工作流设计器”是一个个人练习项目,创建于Visual Studio 2010 RC环境中,...
总结来说,"微软Workflow Foundation工作流企业级应用代码"涵盖了从设计到实施的全过程,帮助开发者理解如何在实际企业环境中运用WF构建高效的工作流系统。通过对提供的文档和安装包进行学习,你不仅可以掌握WF的...
【标题】"基于WF工作流引擎的高效OA源码"是指一种使用Windows Workflow Foundation (WF) 工作流引擎开发的高效在线办公自动化系统。WF是微软.NET框架的一部分,为开发者提供了一种强大的方式来创建、执行和管理业务...
WF,全称为Windows Workflow Foundation,是微软.NET Framework的一部分,为开发者提供了强大的工作流服务和工具,使得创建、执行和管理工作流变得更为简单。本教程“WF从入门到精通”旨在帮助读者全面理解WF的基本...