一、前景

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. Spring 工程分层

  2. [转帖]yaml语言格式

    yaml语言格式 YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言),强调这种语言以数据做为中心,而不是以置标语言为重点. 转载2篇 ...

  3. 图片水印工具类java

    关于jar包的导入我就不多说了,我会把引入的jar包显示出来,大家自行Google package com.net.util; import java.awt.AlphaComposite; impo ...

  4. (六)springMvc 和 mybatis 整合

    目录 文章目录 @[toc] 整合 dao 层 整合 springMvc #整合思路 整合是将spring 看做是一个大的容器,将其他东西整合进来,是以 spring 为大环境的: 整合 spring ...

  5. LG P2285 [模板]负环(spfa判负环)

    题目描述 寻找一个从顶点1所能到达的负环,负环定义为:一个边权之和为负的环. 输入格式 第一行一个正整数T表示数据组数,对于每组数据: 第一行两个正整数N M,表示图有N个顶点,M条边 接下来M行,每 ...

  6. HTML基础之三(form表单)

    .表单form 单是一个包含表单元素的区域. 表单能够包含 input 元素,textarea.select.fieldset.legend 和 label 元素. 表单使用标签(<form&g ...

  7. 简单使用setup.py来安装Python项目

    最近做个一个项目需要用到setup.py 这个构建工具来进行项目的便捷安装,把搜集到的一些资料加上个人理解整理成文章,如有错误的地方请各位大佬及时指出,小弟马上修改,下面正式进入setup.py的描述 ...

  8. pb菜单详解和MDI

    菜单条-MenuBar.菜单项-MenuItem.级联菜单(子菜单)-SubMenu 菜单项(MenuItem)是菜单中最基本的元素,只要有文字内容的就是菜单项.菜单条(MenuBar)是菜单中级别最 ...

  9. 实例详解jQuery的无new构建

    jQuery的无new构建 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 回想一下使用 jQuery 的时候,实例化一个 jQuery 对象的方法: // 无 new 构造 $( ...

  10. OkHttp3 + retrofit2 封装

    0.下载文件 1.gradle 添加 compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:co ...