一、前景

abp vNext是ABP 开源 Web应用程序框架,是abp的新一代开源web框架。框架完美的集成.net core、identity server4等开源框架,适用于构建web应用程序和微服务,相比上一代abp框架,abp vNext更灵活更轻便更适用于微服务。

主要特性:

1. 模块化架构:模块化设计,可从底到顶进行延伸.

2. 聚焦微服务:支持微服务架构有助于构建自主微服务.

3. 领域驱动设计:根据DDD模式和原则设计和开发.为应用程序提供分层模型.

4. 授权:具有用户,角色和细粒度权限系统的高级授权系统. 构建在Microsoft Identity框架.

5. 多租户:SaaS应用程序开发变得简单!从数据库到UI的集成多租户.

6. 横切关注点:完整的基础架构,用于授权,验证,异常处理,缓存,审计日志记录,事务管理等.

项目状态:

ABP是开源ASP.NET Boilerplate框架的下一代框架, 它目前处于早期预览阶段,尚未准备好在生产中使用. 文档仍在进行中,远未完成。对于短期和生产级应用程序, 建议使用ASP.NET Boilerplate框架,该框架具有丰富的功能集,成熟,积极维护和最新。

abp vNext推出半年GitHub上已有2k多star,项目经历5千多次提交,基础框架功能已经十分完善。特别值得关注的是abp vNext中的微服务最佳实践。abp vNext微服务实践中已经搭建好一个微服务架构,并且提供了基础的后台管理UI(MVC风格),但是对于企业级的后台管理还无法满足。

开始前:

本篇将介绍abp vNext微服务实践中的前后端分离指南,前端框架会使用VUE,不过各大前端框架的集成其实大同小异,因此对于angular、react框架的替换也是十分轻松的。

二、开始分离

step1:启动并发布后台服务

在替换前端框架前必须先发布后台服务,启动和发布过程在前几篇中已经介绍,abp vNext官方文档也有启动教程。

step2:启动vue-element-admin框架

vue后台框架中vue-element-admin热度最高,使用量也最大,个人或者中小型团队最为适合。启动文档:https://panjiachen.gitee.io/vue-element-admin-site/zh/

step3:修改vue-element-admin登录

vue-element-admin登录权限官方示例:https://juejin.im/post/591aa14f570c35006961acac

我的实践教程:https://www.cnblogs.com/william-xu/p/11249800.html

step4:vue-element-admin接入abp vNext权限

vue-element-admin登录权限官方示例:https://juejin.im/post/591aa14f570c35006961acac

我的实践教程:https://www.cnblogs.com/william-xu/p/11274431.html

三、体验

登录示例

微服务示例

三、总结

abp vNext微服务的前后端分离比较容易,目前许多优质的前端UI框架都是开箱即用的,重点在于对abp vNext微服务的深入了解。abp vNext的文档还不够完善,想要灵活的驾驭abp vNext微服务需要对abp框架和ddd架构有很深入的了解,因此不建议没有经验的团队使用abp vNext微服务。

文章目录:https://www.cnblogs.com/william-xu/p/12047529.html

[Abp vNext微服务实践] - 前后端分类的更多相关文章

  1. [Abp vNext微服务实践] - vue-element-admin管理Identity

    一.简介 abp vNext微服务框架中已经提供通用权限和用户角色管理模块,管理UI使用的是MVC模式,不适用于国内主打的MVVM开发模式.在前端框架选型后笔者决定改造abp vNext微服务框架中原 ...

  2. [Abp vNext微服务实践] - 业务开发

    前几篇分别介绍了abp vNext微服务框架.开发环境搭建和vue element admin前端框架接入,在vue element admin中实现用户角色管理基本功能后就可以开始进行业务开发了,本 ...

  3. [Abp vNext微服务实践] - 文章目录

    简介 ABP vNext是volosoft的新一代框架,ABP(vNext)完全使用.NET CORE和DDD(领域驱动)打造,目前GitHub已有6K+次提交,发布版本超过40次,Nuget包下载量 ...

  4. [Abp vNext微服务实践] - 框架分析

    一.简介 abp vNext新框架的热度一直都很高,于是最近上手将vNext的微服务Demo做了一番研究.我的体验是,vNext的微服务架构确实比较成熟,但是十分难以上手,对于没有微服务开发经验的.n ...

  5. [Abp vNext微服务实践] - 启动流程

    前几篇分别介绍了abp vNext微服务框架和微服务CI/CD环境搭建,本篇开始介绍vNext微服务框架的开发环境搭建. 环境准备 官方介绍的系统架构图如下: 上图中身份服务和网关服务已经集成在系统中 ...

  6. [Abp vNext微服务实践] - 租户登录

    简介 Abp vNext微服务授权验证基于ids4,实现租户登录需要在授权服务中获取token,和之前的介绍的登录方式一样,只是多了tenant参数.本篇将介绍在Abp vNext授权服务中启用多租户 ...

  7. [Abp vNext微服务实践] - 服务通讯

    简介 服务通讯是微服务架构中必不可少的功能,服务通讯的效率决定了微服务架构的优略.常用的微服务通讯策略有两种,分别是rpc.http,其中rpc以gRpc框架为代表使用者最多.abp vNext微服务 ...

  8. [Abp vNext微服务实践] - 添加中文语言

    简介 abp vNext中提供了多语言功能,默认语言是英文,没有提供中文语言包.在业务开发中,定义权限后需要用中文的备注提供角色选择,本篇将介绍如何在abp vNext中加入中文语言. step1:添 ...

  9. [Abp vNext微服务实践] - vue-element-admin登录二

    简介: Vue Element Admin是基于vue.element ui开发的后台管理ui,abp vNext是abp新一代微服务框架.本篇将会介绍如何改造Vue Element Admin权限验 ...

随机推荐

  1. Futter基础组件之二

    一.线性布局之Row布局组件(以水平阵列显示其子级的小部件) 属性:Row({ TextDirection textDirection, 表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为 ...

  2. python字典中添加项

    body_daily_close = { "mappings": { "properties": { "trade_date": { &qu ...

  3. oracle 的安装 及环境的配置...

    前言 最近这段时间和香港同事一起做项目  负责给日本客户做一个产品  使用的是Oracle 数据库   在一开始项目启动时一直报和oracle数据库有关    本机在这之前就已经安装好了    由于使 ...

  4. poj2826(细节,计算几何)

    题目链接:https://vjudge.net/problem/POJ-2826 题意:平面中摆两根木棍,雨水从上垂直下落,问木棍中能乘多少水. 思路: 细节很多,坑QAQ.. 首先不相交时肯定为0. ...

  5. oracle数据库用户之间授权

    今天遇到一个数据库的问题: 系统数据库用户下创建了几个视图用于外部系统开发报表使用,当外部系统提取视图数据时,需要通过一个只能访问需要视图权限的用户,于是想到给他创建一个新的用户,并给这个用户分配只能 ...

  6. JS实现级联菜单

    是首先应该添加两个下拉列表并设置id属性来方便操作: <select id="country"> <option>国家</option> < ...

  7. CF1032B Personalized Cup

    一个多月前写的题,既然没人写题解,那蒟蒻就写一篇吧 基本思路 既然是输出任意一个解,那么号的位置在那里是没有关系的.我的思路是默认*号在最后面,然后对输入的字符串输出的行数进行分类. 代码 #incl ...

  8. 计算机网络(TCP/IP)

    概述:网络协议通常分不同的层次进行开发,每一层分别不同的通信功能.TCP/IP通常分为4层协议系统. 1.链路层,有时也称为数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网 ...

  9. Api文档生成工具与Api文档的传播(pdf)

    点击查看apidoc生成文档demo 1 环境和工具 win10 apidoc:注释生成api文档 wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将h ...

  10. 我是如何将一个加载90s的接口优化到不足2s的

    一.提出问题 由于公司是做医疗级智能可穿戴设备的,所以数据(二进制数据)的存储方面有点特殊,数据没有存储于数据库里面,而是存储于磁盘上.可能有同学质疑,mysql的Blob类型也可以存储二进制数据啊, ...