AgileEAS.NET SOA 平台5.1开发包介绍

by 魏琼东 2013.4.16 14:16
一、前言      AgileEAS.NET应用开发平台,简称EAS.NET,是基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台。用于帮助中小型软件企业建立一条适合市场快速变化的开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的。      AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行,基于AgileEAS.NET平台的应用系统的各个业务功能子系统,在系统体系结构设计的过程中被设计成各个原子功能模块,各个子功能模块按照业务功能组织成单独的程序集文件,各子系统开发完成后,由AgileEAS.NET资源管理平台进行统一的集成部署。      AgileEAS.NET平台也是为应用开发而提供的一组低层功能集合及开发支撑平台,应用系统的开发建立在此平台之上,采用构件式、可复用开发,节省开发成本,加快开发速度,在软件开发上更好的作到多快省。      AgileEAS.NET平台的核心思想是包含两点,一是基于Microsoft .Net构件技术的插件式开发,二是基于敏捷并行开发方法以的构件并行,即应用系统的构件(模块)同步并行开发,由平台进行总装集成。      gileEAS.NET平台充分把握目前软件行业快速发展的新趋势,基于敏捷并行开发、快速适应市场这样淳朴的软件工程实践,采用业界广泛使用的Microsoft .Net构件(组件)开发技术实践了这种开发思想,帮助软件企业实现“敏捷变化、快速适合”的目标,从而帮助软件企业在激烈的市场竞争中赢得先机并获得更高的回报。 二、中国特色的企业应用开发平台      AgileEAS.NET平台基于一个淳朴的软件工程实践为基础理论依据,这种淳朴的软件工程实践充分吸收了敏捷体系、增量技术、原型化技术的优点,在开发过程中提出有限的并行思路,AgileEAS.NET平台基于这种软件工程实践的支撑,她不仅是一个快速开发平台或者二次开发环境,更是指导软件企业过程改进的一种参考。      AgileEAS.NET平台提供了不仅仅软件工程实践的平台加插件模式的技术实践,更提供了企业级应用开发的ORM、IOC、SL、报表、应用集成、分布式通信等一系统的基础类库和账户、角色、权限、模块(插件)组织与管理等一系统基础业务。      基于AgileEAS.NET的软件系统有着良好的扩展性和可维护性,基于平台加插件的这种无限扩展的特性,能够快速地对现有产品功能进行调整或开发新的产品功能,使软件系统能够充分满足不同用户的个性化需求,同时软件系统能够根据用户业务的发展不断地进行扩展和完善,满足用户不断发展的信息化需求。      AgileEAS.NET提平台除了提供对敏捷并发开发的基础支撑之后,同时提供了一系统的开发支持功能:产品涵盖需求分析、系统设计、编码实现及部署维护大部分软件生命周期,在设计和编码实现的过程中,数据模型设计器能自动生成数据库文档、数据定义语言(DDL)、其他接口驱动的分层的ORM数据代码层,配合平台提供的数据展示基础套件及数据绑定组件,能极大的减少程序员的编码量,避免“代码越多、错误越多”的问题。      AgileEAS.NET平台基于良好的技术架构,能够避免由于软件系统结构方面存在的缺陷导致的产品质量问题。AgileEAS.NET支持多种软件基础架构和应用场景、支持多种数据库的支持等,能够保证基于AgileEAS.NET开发的软件系统有良好的稳定性。      AgileEAS.NET平台为不同技术层次、不同应用需求的软件公司和个体开发者提供不同层次的应用,最简单的应用层次是采用AgileEAS.NET平台的敏捷并行思路只应用AgileEAS.NET平台的平台加插件的这种应用开发模式,用于开发和组织、管理信息化软件。      深入的应用导是基于AgileEAS.NET平台的敏捷并行思路只应用AgileEAS.NET平台的平台加插件的这种应用开发模式的基础上,充分使用AgileEAS.NET平台的基础类库极其应用开发的ORM、SL、IOC、UDA等一系列其他类库,并且应用AgileEAS.NET平台所提供的模型设计器、代码生成器、报报系统等一系列的服务。      更新入的应用层次是采用AgileEAS.NET平台及敏捷并行开发的全部思想、技术和工具,应用即将发布的项目管理工具,并且基于AgilEAS.NET、敏捷并行开发、项目管理工具构筑三位一体的开发管理体系。      AgileEAS.NET平台5.0的整体架构图: 三、敏捷并行思想体系      在传统的瀑布开发模式下,同一软件的多个阶段是顺序地被开发出来的,也就是说第一阶段全部开发结束后才开始第二阶段的开发;同样,等第二阶段全部开发结束后第三阶段的开发工作才会启动。但这种串行开发      模式在当今的市场环境下越来越行不通,因为所有的软件产品都面临越来越大的迅速上市的压力,有效的解决方案就是引入新的开发管理和技术体系,我们引入了增量式并行开发技术。在并行开发模式下,同一软件的多个开发阶段会同时进行开,如第一阶段的工作尚未完成,往往就会启动第二阶段的工作,甚至会同时启动第三阶段的工作,从而有效缩短软件的上市周期。      敏捷并行开发方法,是基于增量式开发思想、利用软件构件复用等技术,以平台+插件化开发为技术实践而整合出的一种快速开发模式;并行是指产品在生命周期内项目研发过程中各个阶段有限度“并行”开展。      敏捷并行开发方法的基础是基于构件技术支持的并行,涉及软件开发的分析、设计、实现和测试等过程, 一个完善的开发方法不单单是一个简单的理论基础,还需要相应的基础平台、项目管理工具、开发辅助工具才能构成一个完整的方法体系。      敏捷并行开发方法以AgileEAS.NET做为构件技术运行、管理平台,应用开发人员根据应用需要及AgileEAS.NET平台构件契约进行分析需要、设计开发应用构件,使用AgileEAS.NET构件管理工具对所开发的构件进行总装集成和管理。 四、完整的体系结构及思想体系      AgileEAS.NET基于敏捷并行开发方法的一种实践,也就是说:AgileEAS.NET平台是基于一种淳朴的软件工程方法论的实践,确立模块独立并行开发和总装集成的一种思路,在应用项目开发过程中,确立系统总体结构之后对采用增量式开发和测试,逐步完成应用系统,在同一个增量中各模块并行开发。      AgileEAS.NET平台是基于平台加插件技术构建,对于一切基于AgileEAS.NET平台的应用系统来说,都是对AgileEAS.NET平台的一系统扩展,这种扩展是一种横行的无限扩展体系。      AgileEAS.NET平台提供了大量的开发辅助类工具,比如ORM定义工具、代码生成器、文档生成器、插件调试环境和工具、界面设计器、工作流平台、SilverLight企业应用开发平台、分布式部署工具、SAAS引擎等,用于帮助开发人员快速开发应用系统。      AgileEAS.NET平台是以SOA架构范式作为架构指导的快速开发平台,平台中提供了强大的中间件基础设施,集成了ESB与业务库及注册中心模块,实现了普通架构与SOA架构的无缝切换,帮助开发人员最大限度的关注业务功能和用户需求,而尽可能的使用平台来解决一些质量和约束性的要求。      AgileEAS.NET平台提供了SAAS引擎中间件,实现了平台多租户的方案,当用户登陆时只需选择自己的要访问的系统或者是选择自己的组织机构,则会自动完成系统功能的切换,这一切都是通过SAAS引擎来实现,通过多种服务的自由切换,来完成服务统一访问方式,该方式也结合目前很流行的云计算方式来最大限度的整合目前现有的平台或者业务系统,来最大限度的节省资源和信息整合。      平台将插件看成服务,通过开发插件即开发服务模块。我们在应用部署时,如果某个业务模块不能满足,那么我们再开发一个,替换掉之前的服务即可,通过配置管理可任意组合,来满足日益变化的需求,我们不提倡将开发人员变成不写代码的人员,而是让其更加专注业务功能与领域的业务流程抽象,通过平台的强大支撑体系,帮助开发人员最快的速度完成功能的开发,并且为项目的管理人员,提供基于平台的项目管理系统,方便的进行项目的任务规划,监控,风险管理,人员及成本的估量与控制。大大提高了项目的成功率与降低了项目的不必要的成本。 五、开发包介绍 5.1 目录结构      开发人员从AgileEAS.NET官方http://www.smarteas.net网站或者敏捷软件工程实验室网站http://www.agilelab.cn下载到的AgileEAS.NET开发包名称为AgileEAS.NET 4.0.rar。      解压后包含以下文件目录结构: 下面我把各目录做个简单的说明: Bin目录 Bin目录中包含着AgileEAS.NET平台中的所有程序集文件,插件定义、WinForm、SmartClient运行容器、基础类库、开发辅助、配置工具都在这里面。 documents目录      Document目录中包含着AgileEAS.NET平台的介绍、开发指南、使用说明书、类库参考手册等一系列的文档。 example目录      AgileEAS.NET平台提供的一组开发例子,我会用专门的文档对里面的例子介绍。 setup目录      包含最终发布时的一系统打包安装vs项目,客户的smartclient安装包可以参考进行打包,并且在这个目录中提供了EAS.ActiveXForm.msi安装包。 Web.ActiveXForm目录      ActiveXForm运行容器的部署站点,包含EAS.SmartClient所有内容并且有所扩展,如果要为客户提供SmartClient和ActiveXForm两种运行支持,建议使用她。 Web.Clent目录      AgileEAS.NET平台提供的Web运行容器和一组例程,以源代码方式发布。 5.2 程序集介绍      在AgileEAS.NET平台开发包的bin目录中提供了70个左右程序集,其涵盖了AgileEAS.NET平台的方方面面,下面我对程序集做一个简单的分类。 基础程序集:      EAS.MicroKernel.dll 微内核程序集,包含接口契约、IOC、SL、及服务容器的定义。      EAS.Data.dll 提供统一的数据访问和ORM。      EAS.Web.dll Web开发扩展(针对应用程序和模块接口)。      EAS.Windows.dll WinForm/WFP开发扩展、及一些预定义控件。 资源管理平台:      EAS.Explorer.dll 资源管理平台基础组件。      EAS.Explorer.Entities.dll 资源管理平台实体定义。      EAS.Explorer.BLL.Contracts.dll 资源管理平台业务/服务接口契约      EAS.Explorer.BLL.Host.dll 资源管理平台业务/服务实现      EAS.Explorer.Res.dll 外科资源(可替换)。      EAS.Explorer.Web.dll 运行容器之Web基础。      EAS.Explorer.WinUI.dll 基于WinForm的平台管理功能实现。      EAS.WinClient.dll WinForm/WPF运行容器。      EAS.WinClient.Start.exe WinForm/WPF运行容器引导程序。 ActiveXForm:      EAS.ActiveXForm.ClientClasp.dll 客户端钩子(包含IE中运行的三个ActiveX控件)。      EAS.ActiveXForm.ClientClasp.AddIn.dll 客户端插件。      EAS.ActiveXForm.Explorer.Biz.dll 服务业务组件。      EAS.ActiveXForm.ClientAPI.dll ActiveXForm客户端API。 智能升级:      EAS.SmartUpdater.exe 智能升级引导程序。      EAS.SmartUpdate.Config.exe 智能升级配置程序。 分布式服务:      EAS.Distributed.Contracts.dll 分布式服务契约。      EAS.Distributed.Host.dll 分布式服务实现。      EAS.Distributed.WebService.dll 分布式服务webservice实现。      EAS.Distributed.Client.dll 分布式访问客户端。      EAS.SOA.Server.exe 分布式SOA服务主程序。 报表系统:      RdlEngine.dll    RDL引擎(开源项目)。      RdlViewer.dll    RDL展示组件(开源项目)。      RdlDesigner.dll RDL设计组件(在开源组件的基础上中文和与ORM结合)。      RdlDesigner.Start.exe 独立的报表设计器主程序。      EAS.Report.Controls.dll 报表打印组件。      EAS.Report.Controls.dll 报表打印组件。 开发辅助:      EAS.OrmDesigner.exe 数据对象(ORM)设计器。      EAS.FormDesigner.exe 快速界面设计器。 工作流平台:      EAS.BPM.Activities.dll 工作流活动定义。      EAS.BPM.WinUI.dll 工作流平台管理UI。 Silverlight平台:      EAS.MicroKernel.dll 微内核。      EAS.Data.dll 数据访问、Linq。      EAS.Controls.dll 基础控件。      EAS.Explorer.dll 资源管理平台基础定义。      EAS.Explorer.Entities.dll 资源管理平台实体定义。      EAS.SLClient.dll 资源管理平台运行环境。      EAS.SLClient.AddIn.dll 管理功能插件UI。      EAS.SLClient.xap.dll 管理平台部署xap包。 其他:      EAS.Data.Provider.dll 数据访问提供者扩展,通过扩展实现ORACLE、MySql、Sqlite数据库的支持。 第三方组件:      System.Workflow.Activities.dll WF3.5基础组件。      System.Workflow.ComponentModel.dll WF3.5基础组件。      System.Workflow.Runtime.dll WF3.5基础组件。      EAS.ThirdParty.Controls.dll 第三方开源控件源代码      NetronGraphLib.dll 图像组件。      Fireball.Core.dll      Fireball.SyntaxDocument.dll      Fireball.Win32.dll      Fireball.Windows.Forms.dll      Fireball.CodeEditor.SyntaxFiles.dll      Fireball.CodeEditor.dll      Microsoft.Data.ConnectionUI.Dialog.dll      Microsoft.Data.ConnectionUI.dll      Microsoft.XmlNotepad.dll 5.3 文档部分      AgileEAS.NET平台是一个快速开发平台,是一组中间件,业主要目录的是提供开发人员的开发效率,要充分了解并且学习AgileEAS.NET平台的快速开发实践和充分的利用AgileEAS.NET平台所提供的快速开发工具。      如何快速去学习和理解AgileEAS.NET平台呢,我们提供了大量的文档和例程,文档是AgileEAS.NET的组成部分,更是程序员熟悉AgileEAS.NET平台的窗户。AgileEAS.NET平台开发包中提供了《AgileEAS.NET平台技术说明书 》、《AgileEAS.NET平台开发指南》、《AgileEAS.NET平台系统管理使用教程》、《AgileEAS.NET平台开发辅助工具使用教程》、《AgileEAS.NET平台安装说明书》、《AgileEAS.Net数据库设计说明书(SQLServer)》、《AgileEAS.Net数据库设计说明书(Oracle)》等文档以及AgileEAS.NET基础类库参考手册。 5.4 示例部分      随AgileEAS.NET平台的开发包带了一组示例((C/S)药店系统、(B/S)的公司网站与B/S的插件管理系统),其涵盖了插件开发、数据访问、ORM、分布式通信、分层结构示例等,权限设计,系统架构等等。 当然了,不排除在开发包之后发布独立的示例程序。 结束语      在市场激烈的今天,软件企业面临着极多多种多样的挑战,如果在市场快速变化的情况下脱颖而出,如果能够对市场变化及时做出反应,以较低成本推出市场所需要的产品并持续改进产品成为成功的必要。      企业之间的竞争很大程度上是成本的竞争,AgileEAS.NET平台以及敏捷并行开发方法实践能大大够缩短软件产品开发周期,降低软件产品的开发、实施和维护成本,能够很大程度上提升软件企业的争力。      敏捷软件工程实验室秉承 “敏捷反应,快速适应”的宗旨,始终如一的对中小软件企业提供AgileEAS.NET平台技术支持、升级服务,为软件企业提供先进的快速开发平台,同时也提供Microsoft .Net开发技术培训、技术管理咨询服务,帮助软件企业在激烈的市场竞争中取得不断的成功。 联系我们      我为完善、改进和推广AgileEAS.NET而成立了敏捷软件工程实验室,是一家研究、推广和发展新技术,并致力于提供具有自主知识产权的业务基础平台软件,以及基于业务基础平台开发的管理软件的专业软件提供商。主要业务是为客户提供软件企业研发管理解决方案、企业管理软件开发,以及相关的技术支持,管理及技术咨询与培训业务。      AgileEAS.NET平台自2004年秋呱呱落地一来,我就一直在逐步完善和改进,也被应用于保险、医疗、电子商务、房地产、铁路、教育等多个应用,但一直都是以我个人在推广,2010年因为我辞职休息,我就想到把AgileEAS.NET推向市场,让更多的人使用。      我的技术团队成员都是合作多年的老朋友,因为这个平台是免费的,所以也没有什么收入,都是由程序员的那种理想与信念坚持,在此我感谢一起奋斗的朋友。 团队网站:http://www.agilelab.cn, AgileEAS.NET网站:http://www.smarteas.net 官方博客:http://eastjade.cnblogs.com QQ:47920381,AgileEAS.NET QQ群:113723486(AgileEAS SOA 平台)/上限1000人 199463175(AgileEAS SOA 交流)/上限1000人 120661978(AgileEAS.NET 平台交流)/上限1000人 212867943(AgileEAS.NET研究)/上限500人 147168308(AgileEAS.NET应用)/上限500人 172060626(深度AgileEAS.NET平台)/上限500人 116773358(AgileEAS.NET 平台)/上限500人 125643764(AgileEAS.NET探讨)/上限500人 193486983(AgileEAS.NET 平台)/上限500人 邮件:james@agilelab.cn,mail.james@qq.com, 电话:18629261335。

Tags:

AgileEAS.NET平台介绍 | 企业应用架构

实例演示如何使用AgileEAS.NET SOA平台工作流进行业务流程自定义

by 魏琼东 2012.2.28 18:51
  在说这个案例之前先向大家转发一个简单的招聘信息,我们团队目前需要招聘两名技术助理人员,跟随我们做一些产品开发和技术咨询工作,欢迎有志同道合的朋友与我们合作:http://job.cnblogs.com/offer/19632/。 一、案例业务流程说明 在前一篇文章AgileEAS.NET SOA 中间件平台工作流系统介绍之中我简单的向大家介绍了AgileEAS.NET SOA平台工作流系统的基本介绍,本文我将向大家以一个真实的案例向大家介绍AgileEAS.NET SOA平台工作流系统的应用。 今天我们的例子来自于医疗信息化之中的一个简单案例,关于医院药库/药房药品报损业务的处理过程,现实业务流程如以定义: 目前的业务流程是这么要求的,由药房管理人员发起一个报损申请,然后由药房负责人审批,早批不通过则由药房管理人员修改后再次提交,通过则由药剂科长审核,审核通过之后由药房管理人员确认报损,否则终止本次报损业务处理。 对于不同地域、不同规模、不同经营性质的医院来说,对于药品的报损处理流程都可能不一样,那么摆在医疗开发商面前的一个很麻烦问题就是业务流程的定制处理,对于此类问题使用传统方法一直是一个非常棘手的问题,可能不同医院的业务流程的变动必须会导致程序代码的变动,进行造成医疗软件开发商产品版本管理混乱、产品实施周期过长进而导致开发商的间接管理成本和项目总体成本急剧提高。 二、应用AgileEAS.NET SOA平台工作流重组流程 对于上述问题,我们可以使用AgileEAS.NET SOA平台所提供的工作流系统进行业务流程自定义,使用工作流平台驱动业务数据达到业务流程再造的目的。 我们来仔细看上述业务流程就会发现,这是一个及其经典的“申请-早批-确认”业务处理流程,对于“申请”和“确认”都是一个比较固定的操作,但是对于“申请-早批-确认”的处理过程,则是一个极不确定的过程,比如一个小型医疗机构可以就需要一个简单的审批即可,但是对于一个大型的医疗机构,其审批可以不止二级审批,可能会有三级或多级审批处理。 如果我们开发两个功能模块“药房报损申请/申批”、“药房报损确认”以及定义一个工作流“药房报损申批流程”,并让“药房报损申批流程”与“药房报损申请/申批”相结合,由工作流驱动“药房报损申请/申批”按照“药房报损申批流程”进行处理,并在处理完成之由“药房报损确认”完成药品报损,那么我们是否就可以实现这种高度灵活的流程自定义呢,回答当然是OK,那么接下来我们来看看怎么办到这样的效果吧。 三、如果做?一步一步来 我们来先开始模块“药房报损申请/申批”,其最终效果如下: 接下来模块“药房报损确”,其最终效果如下: 接下来我们来定义工作流“药房报损申批流程”: 流程权限设定: 流程权限设定中包含流程发起权限及各状态的处理权限,其设置方式都一样,同AgileEAS.NET SOA平台中的模块权限设置保持一致,我们在些为账号xyf设定流程发起权限和“审请状态”的处理权限,给帐号zhx设定“审请状态”的处理权限,给账号Administrator设置“审请状态”的处理权限。 接下来需要绑定工作流与其驱动的业务模块之间的关联关系: 同时也需要在模块代码之中完成与工作流的绑定: 在功能模块中需要做两个地方的绑定,第一个在模块的头部需要标记明确WorkflowAddIn属性,用于声明这是一个受工作流驱动的功能模块,另一个是需要在功能模块中的声音一个类型为Guid的属性,并且标记WorkflowInstanceId属性,用于工作流向功能模块写入当前工作流实例,至此为止,工作流定义及流程自定义工作完成,接下来我们看看运行效果吧。 四、如果做?一步一步来 首先,我们使用帐号xyf登录,我们会看到如下功能: 我们打开“发起流程”: 或者直接打开“药房报损申请”模块发起工作流: 提交完成之后打开“我的申请”会看到刚才我们所发起的实例: 接下来,我们切换到账号“zhx”登录,并且打开我的待办: 完成一级审批“药房报损申请”: 打开已办事宜: 接下来,我们切换到账号“888888”登录,并且打开我的待办: 完成二级审核“药房报损申请”: 打开已办事宜: 最后我们切换到账号“xyf”,并打开 “药房报损确认”模块: 至此,药房药品报损业务处理演示完成,若审批流程发生变更,则只需要项目实施人员根据客户的业务流程修改工作流定义,而不需要修改程序代码,实现流程的自定义。 五、AgileEAS.NET 4.0 下载 有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载页面。 六、如何联系我们 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站: AgileEAS.NET平台:http://www.smarteas.net/ 敏捷软件工程实验室:http://www.agilelab.cn/

AgileEAS.NET SOA 中间件平台工作流系统介绍

by 魏琼东 2012.2.28 18:49
一、AgileEAS.NET SOA平台简介 AgileEAS.NET SOA平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。 AgileEAS.NET SOA平台基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“敏捷并行开发方法”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。 在快速开发方面,AgileEAS.NET SOA平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。 AgileEAS.NET SOA平台是一套基于微软dotNET技术体系的企业级快速开发平台/中间件/框架,我们一直一来努力为国内中心软件开发商、创业团队、独立开发者提供最好的企业应用快速开发工具帮助大家成长,在最新的AgileEAS.NET‘ 5 .0版本中对Winform/WPF/Silverlight/WebForm都提供运行支撑平台,我们努力提供一套Winform/WPF/Silverlight/WebForm不同展现与统一的后端支撑的多层分布式架构体系。 二、AgileEAS.NET SOA平台工作流系统 AgileEAS.NET SOA平台的早期版本不包含业务流程平台,2010年以来,很多客户提出了有必要让我们提供工作流系统的想法,也就有了今天的产品,AgileEAS.NET SOA平台的工作流系统自2010年5月份开始至今,经历过一次失败及一次构建思想重大的变更之后变成趋于成熟,并且目前已应用于客户的几个项目之中。 在早期的时候,我们的开发人员借鉴了微软WF3.5的工作流技术但并没有使用WF3.5的工作流引擎,并且自己写了一套工作流引擎,采用与顺序工作流相类似的业务风格,但这次尝试失败了,失败的原因第一是自己写工作流引擎需要考虑很多的技术和业务细节,并且所引发的未知问题不可控制,第二是开发人员在思维理解及对于练习技术与为客户做需要需要的产品之间的巨大的差异没有仔细考虑,这里也说到一个关于技术人员值得思考的问题,那就是“你倒底是需要做出客户需要的产品还是你为了某项技术而淬炼技术,做出一个客户并不需要的产品或者说一个无法产品化的产品”我想这将会是技术人员应该深思的问题,我们很多的开发人员都在为了淬炼自己的技术在那做客户并不需要的产品或者说做出的产品Bug满地,更像是一个学习做品,远远达不到产品化的目标。 因为诸多原因,我放弃了原来的版本,转换采用了微软 WF3.5做为其工作流引擎,并对其做了高层封装,用于满足绝大数工作流应用中的“审批业务流程”,也就是说AgileEAS.NET SOA平台所提供的工作流将主要是为了满足企业申请-审批业务流程的后期灵活而服务。 在经过长期的需求及技术调研之后,最终我们决定以微软的WF3.5为基础实现AgileEAS.NET SOA平台业务流程平台,引擎直接采用微软的WF3.5工作流引擎,工作流设计器参考微软给出的例子使用DesignSurface技术自行完成,自行实现了工作流的运行监控、持久化服务,并结合AgileEAS.NET SOA平台的权限模型实现了工作流发起及各个状态运行的权限控制,并结合AgileEAS.NET SOA平台构件开发的底子实现了工作流与业务构件的完美结合。 AgileEAS.NET SOA平台工作流系统主要涵盖工作流的设计与定义、流程实例的发起与运行、业务流程的监控与管理、工作流系统与业务系统的集成与协作等内容。 AgileEAS.NET SOA平台工作流: 工作流定义: 流程实例监控: 流程实例处理记录: 流程实例对应的业务表单: AgileEAS.NET SOA平台工作流的功能就简单介绍到这儿,接下来的文章我将会以一个具体的例子为大家演示一下AgileEAS.NET SOA平台工作流的使用。 三、关于AgileEAS.NET SOA 5.0 去年8月我就曾向大家预示过要发布AgileEAS.NET SOA平台5.0版本,但是截至到目前为止5.0版本还没有公开提供过,在此我向一直关注和支持AgileEAS.NET SOA平台发布的各位同行和朋友们说声抱歉,也向大家解释一下延迟发布的原因,这里面有两个原因,第一个是因为我对产品的成熟和发展过于乐观,第二个原因是我对于开发团队的引导和监控不力,因为去年现在不只是我一个人在完善这个平台,计划5.0发布中涉及的两个极其重要的部分工作流系统和界面设计器这两个工具在发布之间发现其根本没有达到我的计划目的,包含大量的Bug甚至在某个产品方向上有重大的错误,第三个原因呢主要是项目太多,我们一方面要完善AgileEAS.NET SOA平台,另一方面还需要为客户提供大量的技术咨询和项目指导服务,所以AgileEAS.NET SOA平台5.0版本的发布一直无限的延迟,一方面是继续完善产品,使其达到可用的程度,另一方面是AgileEAS.NET SOA平台5.0在我们向客户提供技术咨询与指导服务的同时,优先向客户提供,以便更早的被应用于生产环境,更早的发现产品中存在的问题,因为我们都在客户现场,产品中的bug或者说设计上的缺陷我们都可以及时的处理和修正,但是对于公开发布而言,当发现产品的缺陷的时候,其处理和修正的成本将会是极其巨大的,我们目前也没有太多的技术人员为大家提供此类服务,新产品的发布所以才会一直被延期,我们希望向客户提供的产品不是一个满地bug的产品,而是一个极其严谨可以的商业产品,虽然AgileEAS.NET SOA平台平台是免费向大家提供,但是我们还是希望提供商业化的品质。 目前想了解和学习AgileEAS.NET SOA平台的朋友请大家还是先下载4.0版本及其相关的例子,对4.0有充分的了解和认识,学习5.0将会更加的简单,5.0和4.0在技术上并没有太多的改变,只是增加了工作流平台、数据表单/界面设计工具、SAAS引擎和支持了Oracle、Mysql、SQLite三种新的数据库系统。 四、AgileEAS.NET 4.0 下载 有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载页面。 五、如何联系我们 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站: AgileEAS.NET平台:http://www.smarteas.net/ 敏捷软件工程实验室:http://www.agilelab.cn/

“医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标

by 魏琼东 2011.11.5 14:20
我们为医疗软件企业提供一套包含基础中间件、应用整合平台、一套快速开发平台及一套包含基本功能(满足2甲及其之下级别医院)的HIS系统及电子病历系统的“AgileEAS.NET数据化医院基础支撑与整合平台”快速HIS研发、成长解决方案。

我们向开发商移交本基础解决方案相关的基础中间件、应用整合平台、快速开发平台,以及HIS系统及电子病历系统的源代码及相关的技术资料(方案、数据库设计、结构设计、流程整合等技术细节资料),并向开发商提供技术与业务培训,帮助开发商快速向市场推出自己的产品,开发商可以只修改一些与本地特色的东西,比如票据、报表、医保接口、农合接口即可满足市场需要,最快可以在一个月之内向客户提供HIS产品,开发商也可以在这个方案之上,加入更多的业务功能,以满足更多的业务需要,比如向移动医疗整合、与区域公共卫生整合、增加更多的功能以满足三级医院需求等待。

[更多...]

给大家分享一个培训的PPT:面向构件的组织级开发模式探讨

by 魏琼东 2011.11.5 14:17
构件化软件开发模式快速响应客户需要的一个非常重要的方式,通过构件对功能的隔离,从而把需要的变更对系统整合的影响降低到最底限度,通过构件的不同版本管理不同客户对同一需要的不同个性化差异,进行降低系统的快速市场适应能力,通过实施企业级构件的开发实践达到提高软件企业有效生产效率的目的,进市提高企业的综合实力。

[更多...]

Tags: , , , , , , , , , , , , ,

SOA | 分布式 | 企业应用架构 | 云计算

Silverlight企业应用开发实践-AgileEAS.NET平台5.0 Silverlight支撑预览

by 魏琼东 2011.11.5 14:02
AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。

[更多...]

如何使用AgileEAS.NET快速开发平台构建大型分布式应用-山东省寿光市区域公共卫生平台

by 魏琼东 2011.7.2 20:15
一、AgileEAS.NET平台简介 AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本、缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库、资源管理平台、运行容器、开发辅助工具等四大部分,资源管理平台为敏捷并行开发提供了设计、实现、测试等开发过程的并行。 AgileEAS.NET平台基于软件过程改进以及构件化快速开发两方面达到这方面的目标,在软件过程改进实践方面,提出了独有的“敏捷并行开发方法”开发方法,其目的是在软件的管理之中提出符合国内中小软件企业实际情况并且可操作的软件工程实践、软件过程改进思想、及相配套的项目管理系统。     在快速开发方面,AgileEAS.NET平台平台提供了企业应用开发所需的诸如ORM、IOC、分布式通信、插件与平台基础结构以及一系统的快速生成工具,涵盖开发过程中的设计、编码、集成、部署、运维等各个环节。   二、寿光市区域公共卫生平台 寿光区域公共卫生平台全称为“寿光市区域卫生一体化信息平台”,是由寿光市卫生局负责建议的寿光医疗信息化重大工程,项目由山东中印环球软件公司承担研发,其旨在解决城乡居民的看病贵、看病难的问题,合理统筹医疗资料,建立基于居民健康档案为区域公共卫生平台,整合城乡居民健康档案管理、新农村合作医疗信息系统、医院管理信息系统、社区公共卫生服务系统、医疗卫生行政办公系统等。 参考相关新闻:寿光市区域卫生一体化信息平台投入试运行,中印环球软件公司助力寿光医疗卫生改革信息。 三、如何基于AgileEAS.NET平台构建 寿光区域公共卫生平台由山东中印环球软件公司承担研发,山东中印环球软件公司公司是一家中印合资的软件企业,其主要涉及政府、公安、消防、电子政务与办公自动化、企业ERP等相关的行业与应用研发、实施业务,对于医疗卫生行业有一定的陌生,其后与国内提供医疗信息化的很多企业各组织考虑合作,经过多方考察,最后确定与我所带领的敏捷软件工程实验室合作,合作思路和解决方案如下: 由我们提供AgileEAS.NET 敏捷软件开发平台以及配套的开发技术咨询服务、同时也向他们提供医疗行业信息化方面的行业咨询,由山东中印环球软件公司开发公共平台的相关软件的一部分(健康档案平台及新型农村合作医疗平台)、由我们提供一套基于AgileEAS.NET平台的医院信息系统、电子病历系统,最后由山东中印环球软件公司进行整合和实施。 下面是寿光区域公共卫生平台的网络结构图:   下面是寿光区域公共卫生平台的应用组成结构:   从上面两个图我们可以看出寿光区域公共卫生平台是一个非常复杂的、涉及多个业务系统、多个机构的行业应用系统,其中包含关键的三个系统:健康档案管理系统、新型农村合作医疗、医院信息系统/社区公共卫生服务系统,以及这三个系统之间无缝集成将会是一个很麻烦的问题。 四、项目研发过程及进展、现状 我们山东中印环球软件公司的合作始于2010年12月底,在此之前,山东中印环球软件公司已经组织了一个需求调研小组也做了一部分需要调研工作,合作开始之后我们一边对开发人员进行技术培训(半个月),即基于AgileEAS.NET平台的企业应用开发技术演练,另一方面与整个开小组进行业务分析与架构设计。 得益于AgileEAS.NET平台良好的架构及其提供的大量开发辅助工作以及依赖于山东中印环球软件公司为项目配置了优秀而尽职的开发人员,在正式开发一个半月之后,就拿出了公卫平台中的第一部分:城先居民健康档案管理系统,并于4月初正式上线运行,项目开始2个月之后,完成了公卫平台平台的第二部分:新型农村合作医疗系统,之后我们向开发小组移交了医院信息系统系统电子病历系统,开始了健康档案、新型农村合作医疗、医院信息系统三大系统之间的整合。 可以说,整个寿光公共卫生平台在差不多半年时间之内,从无到有就诞生了,项目截至目前,公共卫生平台的三大系统:健康档案、新家合、医院信息系统都已经上线运行,整合和实施正在进行中,下面给大家给几个应用截图: 健康档案管理系统:   新型农村合作医疗系统:   医院管理信息系统:   五、寿光区卫的感想 寿光区域公共卫生平台这个项目可以说是非常成功的,对于本次合作的多方也都是非常的满意,本项目中应用了AgileEAS.NET平台所提供的诸多思想、技术与工具,也更加印证了AgileEAS.NET是非常可靠的用于构建企业级应用的快速开发中间件,通过本项目,也使山东中印环球软件公司在构建大型分布式企业应用的经验有长足的提高。 六、平台相关下载      有关于平台最新版本的最新发布版本的程序集、类库手册、相关资料,请大家从AgileEAS.NET平台的官网http://www.smarteas.net/进行下载,官网设有独立的下载页面,从这里下载:官网下载。 CallHot 写过一个系列的基于AgileEAS.NET平台的开发案例,请大家通过AgileEAS.NET平台开发Step By Step系列-药店系统-索引及AgileEAS.NET敏捷开发平台及案例下载(持续更新)-索引、AgileEAS.NET平台开发实例-药店系统-视频教程系列-索引一系列文章进行下载。 七、如何联系      如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、官方网站:      AgileEAS.NET平台:http://www.smarteas.net/      敏捷软件工程实验室:http://www.agilelab.cn/ 2、AgileEAS.NET平台交流群: AgileEAS.NET平台交流群:120661978(超级群)[新建]      AgileEAS.NET平台交流群:125643764(高级群)[新建]      AgileEAS.NET平台交流群:147168308(高级群)[新建]     3、系统架构交流群: 系统架构交流群:9105332(高级群)(已满)      系统架构交流群1:124825459(高级群)(已满)      系统架构交流群2:49124441(高级群)(已满)      系统架构交流群3:47025564(高级群)(已满) 链接 AgileEAS.NET平台开发指南-文章索引 AgileEAS.NET应用开发平台介绍-文章索引 AgileEAS.NET平台应用开发教程-案例计划 AgileEAS.NET平台开发Step By Step系列-药店系统-索引

WorkFlow入门Step.3—Adding Procedural Elements-For-WF4.0

by hot 2011.6.9 12:45
开篇 上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单,复杂度可见非常的不一般,学好了工作流无论对自身的对业务流程的理解和改进,都是非常有帮助的,由于不同的企业应用的具体的业务流程不同,因此也就造成了无法构建通用的业务流程模型,就和企业的管理一样,无法生搬硬套,要符合企业内部的情况才可以。 关于工作流的认识的相关文章,也是已经有了很多了,不少院子里面的大牛都已经提到过工作流的认识,小弟不敢说对工作流理解的很深。 摘要 WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号:120661978。 目前,我们已经在AgileEAS.平台中陆续集成了,界面设计器+工作流的内容,当然工作流目前还不算太成熟,还不方便放出来,本文只是抛砖引玉,还希望大家多多重视工作流的内容。 大纲 一、开篇 二、摘要 三、WF4.0的控制流 WF4.0中的控制流         上一篇《WorkFlow入门Step.2—Building a Simple WorkFlow-For-WF4.0》我们讲述了基本的关于WF4.0构建简单的控制台程序。本节我们就来看看WF4.0中的控制流 中的基础用法及说明,当然有一些诚恳的朋友说,我写的系列与大多数的WF系列一样,都是没有实际的东西,可能我这里想解释下,我先写入门吧,然后在结合实例 写应用篇吧,希望大家继续支持。   1、使用变量                 a、先拖拽一个顺序活动控制流到设计视图中。                      b、定义变量:                     c、变量是支持继承的,该顺序控制流内部的活动,默认会可以访问到外部父活动定义的变量。                   d、输出结果,来测试下我们说明的内容吧:             2、IF控制流         a、拖拽一个IF控制流节点到顺序控制流之上。                b、拖拽then与else的活动。                c、下面我们来运行下上面的情况,来查看下具体的结果吧:                d、我们来修改下if中的表达式条件。                e、我们修改了上面的“Condition的匹配条件” condition=“test” 那么这时候执行的肯定是then。如果condition的值是test的话。                f、我们修改上面的Assign活动中的设置变量的值,修改为condition=“test”;                g、再次运行,查看结果:         3、While控制流      a、新建一个活动:           b、添加如下信息:          c、运行该节点,查看输出信息:          d、我们来修改下while条件中的condition的条件或者是在上方的为变量设置值的活动中设置condition的值为1:          e、再次运行,查看输出结果:          f、下面我们来修改下这个条件,当condition<10的时候,我们执行输出,否则跳出循环:         g、我们再来执行下,查看运行的结果。     下篇预告 本篇我们讲述了“WF4.0”的控制流中的IF与While,下篇我们将会继续讲解控制流的其他用法,如果您有更好的意见或建议,还请提出: 控制流中的很多内容,在我们具体的业务流程的应用中是最常用的内容,所以我们先把基础的内容进行梳理和说明。 源码下载     更多交流 官方博客:http://www.smarteas.net/ 官方网站:http://www.agilelab.cn/ 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、邮箱方式: 魏琼东: mail.james@qq.com 手机:18629261335 博客:http://eastjade.cnblogs.com/ 殷长波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/ 何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/ 2、QQ交流群: AgileEAS.NET平台交流群:120661978(超级群)[新建] AgileEAS.NET平台交流群:125643764(高级群)[已满] AgileEAS.NET平台交流群:147168308(高级群)[已满]

Tags: , , , ,

企业应用架构

WorkFlow入门Step.2—Building a Simple WorkFlow-For-WF4.0

by hot 2011.6.9 12:43
开篇         上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单,复杂度可见非常的不一般,学好了工作流无论对自身的对业务流程的理解和改进,都是非常有帮助的,由于不同的企业应用的具体的业务流程不同,因此也就造成了无法构建通用的业务流程模型,就和企业的管理一样,无法生搬硬套,要符合企业内部的情况才可以。         关于工作流的认识的相关文章,也是已经有了很多了,不少院子里面的大牛都已经提到过工作流的认识,小弟不敢说对工作流理解的很深。 摘要         WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号:120661978。         目前,我们已经在AgileEAS.平台中陆续集成了,界面设计器+工作流的内容,当然工作流目前还不算太成熟,还不方便放出来,本文只是抛砖引玉,还希望大家多多重视工作流的内容。 大纲         一、开篇         二、摘要         三、WF4.0的第一个实例 WF4.0构建简单实例         上一篇《WorkFlow入门Step.1—My Frist WorkFlow Trip!》我们讲述了基本的关于工作流的介绍和认识,这次我们直接进入WF4.0,关于3.5之前的版本,我们在后续的篇幅中就不介绍了,以4.0为主,4.0的具体的关于更新和说明,我这里也不特别的复述了,大家可以参考如下文章 Windows Workflow Foundation 中的新增功能          4.0相比之前的版本可以说是颠覆性的变化,无法从之前的版本无缝的迁移到4.0版本之上。          下面我们就来开始新建一个WF4.0的简单项目,我们先从Hello World!开始吧:           1、新建一个控制台应用程序                      2、新建完毕后,出现如下的界面,与原来的3.5之前的页面的方式是不同的:                      3、打开工具箱,我们看到系统提供的默认设计活动分组:                      4、我们选择“控制流”分组中的“Sequence ” 顺序控制流:                      5、上面我们就完成了工作流的拖放,下面我们在添加“基元”分组中的如下活动:                      6、我这里设置时间长度假设为“15”秒钟,那么将上面的duration设置为“00:00:15” 即可。我们再添加一个活动节点“WriteLine”来输出“Hello World!”;                      6、这样就好了,我们再来看看宿主“Program”中的写法吧,看看4.0相比3.5之前的版本的变化吧。                                 7、我们来运行下程序看看效果吧:                      8、你可能会认为,我怎么知道是否是等待了15秒钟呢,下面我们在执行该节点的前后,加入执行时间的输出信息吧:                      9、再次运行看看效果:                       看起来非常的简单吧,很容易上手,等你一旦找到了感觉,会发现其实本身并不难,而是难在如何解决实际的问题。 下篇预告            本篇我们讲述了“WF4.0”的第一个程序,下篇,我们也是参考C#语言的学习之路,开始讲述循环结构,先掌握WF4.0中的控制流:                        控制流中的很多内容,在我们具体的业务流程的应用中是最常用的内容,所以我们先把基础的内容进行梳理和说明。 更多交流 官方博客:http://www.smarteas.net/ 官方网站:http://www.agilelab.cn/ 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、邮箱方式: 魏琼东: mail.james@qq.com 手机:18629261335 博客:http://eastjade.cnblogs.com/ 殷长波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/ 何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/ 2、QQ交流群: AgileEAS.NET平台交流群:120661978(超级群)[新建] AgileEAS.NET平台交流群:125643764(高级群)[已满] AgileEAS.NET平台交流群:147168308(高级群)[已满]

Tags: , , , ,

企业应用架构

WorkFlow入门Step.1—My Frist WorkFlow Trip!

by hot 2011.6.9 12:41
    开篇         自从上次书写的关于《AgileEAS.NET平台开发Step By Step系列-药店系统-索引》使用AgileEAS.NET 敏捷软件开发平台之后,封笔了一段时间,一是最近比较忙,给客户指导培训,通过近20多天的时间,也是开发了一个建议的ERP系统,对我来说已经是比较满意的成绩了,我们会再接再厉,继续前行。         首先、我不是WF的老手,只是将我学习的过程记录下来,当然由于小弟不才,可能存在理解错误或者印象中有问题的地方,还望大家批评指正才是。         本文也是先写个简单的示例来说明WF的使用。 摘要           WorkFlow是最近比较流行的一门技术,其实WF起源于20世纪70年代中期的办公化自动领域,自1993年8月,WFMC(工作流管理联盟)成立,1994年制定了一系列的关于工作流的标准。进入21世纪工作流被越来越多的学者关注,该项技术越发走向成熟。当然我也是必须跟上时代的步伐,所以也加入工作流的大军,希望能够跟上前人的脚步。当然也希望感兴趣的朋友,加入工作流的讨论群中来。具体群号:120661978。 大纲            一、工作流简介            二、工作流的参考模型            三、工作流管理系统            四、工作流管理系统架构            五、工作流目前的现状            六、第一个工作流实例 工作流简介          工作流的英文单词是workflow,犹如大多数计算机领域的术语一样,也是个合成词,是英文单词work和英文单词flow的组合。Work翻译为任务、工作等,flow则 翻译为流程、流动等。Flow反映的是一种事物的动态属性或变化过程,例如水的流动被称为水流,空气的流动被称为气流,还有物料流、资金流等,在抽象领域还有信息流、控制流等,因此,使用任务、活动以及活动之间的变化过程表示业务流程就被称为工作流。 工作流尚没有一个统一的、明确的定义,不同的组织和研究人员对工作流给出了各自的定义: 定义1:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行。 定义2:工作流是将一组任务组织起来完成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任务可以由一个或多个软件系统完成,也可以由一个或一组人完成,还可以是由一个或多个人与软件系统协作完成。任务的触发顺序和触发条件用来定义并实现任务的触发、任务的同步和信息流(数据流)的传递。 定义3:工作流是一个用来实施经营过程实践的机制。 定义4:工作流是经营过程的一种计算机化的表示模型,定义了完成整个过程所需要的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需要的应用程序。         以上这些工作流的定义,虽然在表述方式上有所不同,但是基本上说明了这样一个问题,即工作流是经营过程的一个计算机实现。使用工作流作为经营过程的实现技术首先要求工作流系统能够反映经营过程的如下几个方面问题: 1. 经营过程是什么,即由哪些活动、任务组成,也就是结构上的定义; 2. 怎么做,即活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义; 3. 由谁来做,即人或者计算机应用程序,也就是组织角色的定义; 4. 做得怎样,即通过工作流管理系统对执行过程进行监控。 工作流参考模型          WFMC在工作流的相关规范和标准方面做出的主要贡献之一就是提出了一个工作流参考模型(Workflow Reference Model)。工作流参考模型来源于对普通工作流程序结构的分析,确定结构中的接口,这些接口可以使不同产品在不同的结构层次上协同工作。所有工作流系统都包含一系列的公共组件,组件间采用一套被定义好的方法进行协作;不同的产品在这些公共的组件中,会表现出不同的处理能力。为了实现不同工作流产品间的协同工作,需要在这些组件间制定一套标准的接口和数据交换格式。通过实现这些标准接口,可以达到产品间的协同工作。         我们先来看看下图,看看WFMC的参考模型:                     下面我们来挨个解释下每个接口的具体作用吧:           1、接口1:           在建模或定义工具与运行时期工作流管理软件间的接口。          2、接口2:           该接口,提供客户端应用程序与工作流引擎之间的通信API 。           3、接口3:           该接口是工作流引擎与其他应用程序之间通信的API。           4、接口4:           通过工作流与工作流之间的通信API,是实现分布式工作流管理系统的核心API。           5、接口5:           该工具提供了对工作流引擎的当前状态及运行在该引擎下的实例的监管和管理的接口。           我们再来看看上面相关工具的作用吧:          流程定义工具 :           就是提供一种方便的使用的,并且能够被计算机识别的过程定义,目前我们使用较广泛的是通过图形化的工具来完成WF的过程定义。最后输出一个XPDL文件。XPDL(XML Process Definition Language)是由Workflow Management Coalition所提出的一个标准化规格,使用XML文件让不同的工作流程软件能够交换商业流程定义。           管理监控工具:           对工作流在整个组织内的流程情况进行监控,并提供一系列管理功能,实现安全性、过程控制、授权等操作。典型的功能范围包括用户管理、角色管理、监控管理、资源管理、过程监控管理。具体如:过程模型的实例化,启动、挂起、恢复、终止过程实例;管理正在执行的过程实例等。           工作流执行服务:           由一个或多个工作流引擎组成,提供过程实例的执行,为活动进行导航,与外界资源交互完成各项活动,维护控制数据和相关数据等功能。                     下图是工作流服务的整个流程:                      工作流管理系统          工作流管理系统——Workflow Management System(简称WFMS),在工作流定义基础上,具有如下定义。             定义1:工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。             定义2:工作流管理系统是支持企业经营过程高效执行并监控其执行过程的计算机软件系统。         根据工作流管理系统的定义,一个工作流管理系统应该提供如下的功能:             1. 定义、实现和管理工作流的运行;             2. 与工作流执行者,即人或应用系统,进行交互;             3. 推进工作流实例的执行;             4.监控工作流的运行状态。         需要指出的是,工作流管理系统不是企业的业务系统。在很大程度上,工作流管理系统为企业的业务系统运行提供了一个软件支撑环境,非常类似于在单个计算机上的操作系统。只不过工作流管理系统支撑的范围比较大、环境比较复杂而以,所以也有人称工作流管理系统是业务操作系统。 工作流管理系统架构          WFMC提出的工作流管理系统产品架构。这个架构给出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系统和产品应该具有的主要功能,可为实现工作流产品之间的互操作提供公共的基础。从图中可以看出,工作流管理系统主要由三部分组成:                      上图也是WFMC提出的工作流管理系统的架构设计图。我们这里来解释下几个重要组件的作用吧:          软件构件:完成工作流管理系统不同组成部分功能的实现,包括过程建模工具,工作流引擎,任务表管理器和用户界面;          系统控制数据:工作流管理系统中的一个或多个软件构件使用的数据,包括过程定义,组织/角色模型数据,工作流控制数据,工作流相关数据,任务表;          应用与应用数据:对于工作流管理系统来说,它们不是工作流管理系统的组成部分,而是属于外部系统和数据,它们被工作流管理系统调用来完成整个或部分工作流管理的功能,如被工作流管理系统调用的外部应用以及这些应用操作的数据。   工作流的目前现状           我们先来看看目前很多的自动化办公的流程:                     通过上面的图片,可能看不太清楚,我也没有从新画一张清晰的,所以大家先凑合着看下,然后后面我再补上,上面可以看到不同角色的人,负责在工作流中的状态及行为是不同的。上面中强调说明了工作职责的分配性问题。         工作流的概念起源于生产组织和办公自动化领域,提出的目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高工作效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。         众多的企业应用系统按照功能从大的范围来划分,无非两种,一种是以公文流转、日常办公为主体的办公自动化系统,另一种则是以企业经营过程的业务流程为主要辅助对象的具体业务系统。无论是办公自动化系统还是具体业务系统,都是为企业提供软件服务的,都是本着服务于企业需求为目标的,然而,现实世界中的各个企业的经营过程是无时无刻不在变化和调整中的,以便适应瞬息万变的市场。这种变更带给信息化系统软件的最大的问题在于企业经营过程的调整往往使得原有的信息化系统软件要推倒重新设计开发,使开发成本非常的高,寻找到一种能够相对灵活的架构和管理方式以使得信息化系统能够快速的适应企业经营过程的变更成为了为企业构造信息化系统的软件设计人员的头等课题。工作流及工作流管理系统之所以能为企业信息化系统所使用究其原因也在于此。虽然工作流技术已经开始在企业应用中拥有了一片天空,然而,同已经应用于企业的其他技术相比,工作流技术仍然处于其技术发展的初期。          下图显示了,工作流与RDBMS系统之间的发展曲线对比图:                      当然从上图中,我们看到WF处于提出并初始发展阶段,而数据库管理系统已经非常的成熟并产品化。 My WorkFlow Trip         下面我们开始进入WF的开发之旅吧,好像废话的篇幅比较多,希望大家不要不喜欢看呵呵,下面我们就来开始开发吧来完成我们的WF开发之旅的第一个程序demo。          1、新建一个状态机工作流或者顺序工作流控制台应用程序:                     2、输入项目名称后:                    3、设计WorkFlow中的相关状态节点。主设计页面如下:                    4、新建State节点,在左侧的工具栏中找到如下节点,然后拖拽到设计器中:          选择State节点,拖拽到设计器中,出现如下效果图:                       5、设计状态流程中的起始状态节点以及完成状态节点,毕竟工作流的状态必须有开始和结束的,对于状态机来说是必须的。                          6、当我们添加了State之后,我们现在来设置状态的跳转及路程。拖拽一个新的节点到设计器中:             选中该节点后,打开属性编辑对话框。                            7、设置该状态节点的跳转及其他行为等:                             8、依照上图中的顺序,给第一个初始化开始状态也添加同样的事件,来完成跳转。后台的代码如下:                            9、运行后的效果如下:                更多交流 官方博客:http://www.smarteas.net/ 官方网站:http://www.agilelab.cn/ 如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。 1、邮箱方式: 魏琼东: mail.james@qq.com 手机:18629261335 博客:http://eastjade.cnblogs.com/ 殷长波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/ 何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/ 2、QQ交流群: AgileEAS.NET平台交流群:120661978(超级群)[新建] AgileEAS.NET平台交流群:125643764(高级群)[已满] AgileEAS.NET平台交流群:147168308(高级群)[已满]  

Tags: , , ,

企业应用架构

最新评论

声明

本博所有网友评论不代表本博立场,版权归其作者所有。

© Copyright 2011