Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍
前言:.NET Core 是.NET Framework的新一代版本,是微软开发的第一个跨平台 (Windows、Mac OSX、Linux) 的应用程序开发框架(Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台。.Net Core也是微软在一开始发展时就开源的软件平台,其开发目标是跨平台的 .NET 平台。
.NET Core 平台的开发优势 :
支持或可以移转 (port) 到更多的操作系统平台与芯片架构 (也就是未来项目会跨出 x86 平台)。
具有引人注目的性能与高可靠度。
开发人员能快速与直觉的获取 .NET Core 开发环境。
在直觉与具生产力的情况下建造应用程序,使用文件,示例与 NuGet 组件。
以上文字引用来源:https://zh.wikipedia.org/wiki/.NET_Core
1. .NET Core 2.0 迁移指南
由于.NET Core跨平台开发和性能方面的优势,再加上.NET Core2.0版本的推出,越来越多的客户逐渐迁移到.NET Core框架进行软件系统的开发。Slickflow引擎组件的.NET Core版本的推出,也是为了解决跨平台引擎产品的实现。本文大致描述了创建.NET Core2.0 为目标版本类库,数据访问项目和Asp.NET Mvc Core等类型项目的搭建过程,方便用户快速上手。
1.1 数据访问项目
1) IRepository模式实现
Repository模式实现通用数据访问接口,其好处是首先定义出标准的增删改查接口,其次可以满足对接后端不同的数据处理框架,如Dapper,EF和NHibernate等框架。
2) UnitOfWork 解决事务
引擎内部逻辑处理通常是多表的插入编辑操作,为保持数据事务完整性,需要实现会话事务的参数传递,提供提交和回滚的处理方式。Slickflow.Data.IDbSession用来实现UnitOfWork模式。
代码示例:Session作为参数,传入具体接口方法,最终实现事务的一致提交或回滚。
1.2 Asp.NET Mvc Core项目
1) Mvc和WebAPI路由统一配置
通常在.NET项目开发中,Mvc项目用于前端页面展现,WebAPI用于后端接口实现。在项目实践过程中,可以将两个项目整合为一,便于环境配置。
2) 数据库连接串配置
数据库链接串在appsettings.json文件中进行定义,读取方法如下:
3) DbContext 数据库类型匹配
由于不同类型数据库的数据访问组件不同,所以特意做了接口对应匹配,传入数据库连接串值。
2. EF Core对多数据库生成的支持
EF Code First是由实体来生成数据库模型,简要过程描述为:首先定义好实体对象,对应数据库字段类型,然后执行EF Migrations的操作命令来生成数据库对象。其中经常用到的命令有:
1) dotnet ef migrations add MyFirstMigraton
2) dotnet ef migrations update database
下面就以WfProcess表的创建来说明大致的创建过程。
2.1 MS SQLSERVER数据库
采用的数据访问组件默认为:Microsoft.EntityFrameworkCore。
1) 实体属性标识
2) 默认值赋值
3) 生成命令执行
dotnet ef migrations add MyFirstMigration
2.2 MySQL数据库
采用的数据访问组件默认为:Polemo.EntityFrameworkCore.MySQL。
1) 实体属性标识
2) 默认值赋值
3) 生成命令执行
dotnet ef migrations add MyFirstMigration
3. Slickflow.WebAPI 快速测试
3.1 路由模式选定:
仍然选定传统路由模式,便于接口快速识别和匹配。
3.2 数据库链接串读取:
3.3 测试接口方法
3.4 RestClient 测试工具
引擎接口测试采用RestClient工具,比较方便快捷。通常采用统一的接口方法,将不同类型的流程JSON数据格式作为测试用例来提交测试。
4. 总结
Slickflow 引擎产品的.NET Core版本实现,用于跨平台应用的项目开发和业务集成。而且在数据库的支持上,采用EF Core的Code First数据库迁移创建,方便用户开发环境的快速搭建和配置。
原文地址:http://www.cnblogs.com/slickflow/p/8250317.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com
Slickflow.NET 开源工作流引擎基础介绍-.NET Core2.0 版本实现介绍相关推荐
- c# 审批流引擎_C#教程之Slickflow.NET 开源工作流引擎高级开发(二|C#教程
本站最新发布 C#从入门到精通 试听地址https://www.xin3721.com/eschool/CSharpxin3721/ 前言:流程是由若干个任务节点组成,流转过程就是从一个节点转移到 ...
- Slickflow.NET 开源工作流引擎高级开发(四) -- 硬核编码:代码式快速构建流程图...
前言:通过设计器交互来创建流程图是比较常见的方式,这种方式是比较方便业务人员对流程的操作.然而,在需要流程模板,或者技术开发阶段以及一些自动化流程的处理过程中,使用代码快速创建流程图也是一种非常有必要 ...
- 哪个开源工作流引擎更好?Flowable or Camunda ?
哪个开源工作流引擎更好? lecture:波哥 当下在国内大家可以选择的开源的工作流引擎还是比较多的,但是对于具体选择用哪个产品,各自的优缺点有哪些其实并不是太清楚,为此波哥今天专门给大家来整理总 ...
- java开源工作流引擎优势是什么?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.流程引擎的自我介绍 二.java开源工作流引擎优势介绍 总结 前言 IBPSv3.5是流辰信息团队面向Java开发 ...
- 分布式开源工作流引擎有什么特点?
在竞争越来越激烈的社会中,拥有提质增效的办公软件,可以为企业带来更可观的市场价值.分布式开源工作流引擎在企业数字化发展进程中深受欢迎,在帮助企业提升办公效率上发挥了重要的作用.今天,我们就一起里盘点下 ...
- Zeebe:用于微服务编排的开源工作流引擎--Camunda出品
Zeebe是一个用于微服务编排的开源工作流引擎 Zeebe使用可视化工作流满足工作人员对微服务进行编排.Zeebe是水平可伸缩和容错的,因此您可以可靠地处理发生的所有事务. 详细介绍: What i ...
- 几种开源工作流引擎的简单比较(转)
摘要:目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 目前开源工作流引擎用的最多的是jbpm , 各种特性都不错, 文档也比较多, 下面只简单列举一下 ...
- Java三大主流开源工作流引擎技术分析
首先,这个评论是我从网上,书中,搜索和整理出来的,也许有技术点上的错误点,也许理解没那么深入.但是我是秉着学习的态度加以评论,学习,希望对大家有用,进入正题! 三大主流工作流引擎:Shark,oswo ...
- 三大主流开源工作流引擎技术分析与市场预测
1.从<功夫>说起 时下的新新人类看到我,一定会认为在下是个十足的老古董,这不,<功夫>这样的片子我到今年2月底才看.不过看过<功夫>,我想的一定比一般的人多:周星 ...
最新文章
- Service Manger的初始化分析
- pat1049. Counting Ones (30)
- 生成一个随机100内小数,转换为保留两位小数的字符串,不考虑四舍五入的问题。
- var、let 及 const 区别
- ObjectAnimator属性动画应用demo
- css background 充满自适应_剖析一些经典的CSS布局问题,为前端开发+面试保驾护航...
- 迭代器的简单应用实践
- 进行优化处理(WinXP),加快系统运行速度
- 用Math.random()方法生成随机数
- 羊皮卷的实践-第二十章
- 项目难管理?先学会用好甘特图(内附操作方法及实用模板)
- rss feed for testing
- 一些黑苹果四叶草引导常用的kext说明
- 论文排版——Latex正文中参考文献标注方式
- 这么多2B项目管理软件,怎么选?
- 4G网络要升级成5G,换卡还是换手机?
- 北大邹磊:图数据库中的子图匹配算法
- PyFlink 教程(三):PyFlink DataStream API - state timer
- maven管理冲突jar包
- 数学知识——约数(因数)
热门文章
- threeJS 实用
- 《深入实践Spring Boot》下载
- 【No.7 C++对象的构造与析构时间】
- 【数据库中间件】MyCat分表分库规则实现
- PHP截取IE浏览器并缩小原图的方法
- 查看和修改Oracle数据库服务器端的字符集
- Task.Factory.StartNew 和 Task.Run 到底有什么区别?
- Web实时通信,SignalR真香,不用愁了
- .Net Core with 微服务 - Polly 服务降级熔断
- 探索 .NET Core 依赖注入的 IServiceProvider