美文网首页
如易云揭秘1-框架

如易云揭秘1-框架

作者: starteasy | 来源:发表于2016-11-08 16:11 被阅读215次

           如易云是什么 如易云的框架是业务系统开发和技术中间件之前的桥梁,是对业务领域深入理解后的精巧封装,可以大大提升开发效率。

    全景图

    我对每块,做下简单说明。

            se-context,业务上下文(主要是用户信息),大家都懂的。因为集成了springsecurity,基本上是对SecurityContext的包装,通过上下文可以方便的拿到用户信息,不过这里会支持 web入口(http请求)和 远程方法调用入口(dubbo)。对于具体的业务系统,肯定上下文信息会有所扩展,例如 如易云,会增加用户所属公司,创建的应用及应用的相关信息等。

            se-domain-common,模型的基础包。 主要分为域模型(BaseDomain、CreateBaseDomain)BaseDomain 只有一个id属性;CreateBaseDomain
    包括创建人、创建时间、修改人、修改时间、状态(可用、不可用、逻辑删除)。持久化,主要是 条件查询,排序等。view(展示),主要是分页展示,查询部分的模型抽象;wrapper(包装),主要是移动开发中便于ios处理,返回的一切皆对象(“{}”),对基本类型,数组做了包装。

            se-biz-common,是对业务逻辑层的封装。关于数据库层细节,请看:创易-数据层设计 基于这样的理论基础,我们基于此对DAO,Service(包含业务异常、分页、数据权限)层做了通用实现。

             se-protocol-common,是协议的封装。这是建立在我们多年web开发、移动开发的基础上的,不可否认人和人的沟通是低效的。我们希望这种协议约定深深的植入脑子深入,成为一种标准。结合wrapper、converter、ExceptionHandler我们的返回格式将是完全统一的(不管是web系统还是移动应用),如下:


    {

    "rtnCode":"返回的响应码 为空,说明是正常返回",

    "msg":"错误信息",

    "developMsg":"错误堆栈信息",

    "uri":"错误说明url",

    "ts":"服务端响应时的时间",

    "style":"plain/gzip/encrypt",

    "bizData":"返回的业务数据"

    }


             se-web-common 是api层的封装,基于protocol,依赖springmvc的机制,实现。它依赖了springboot web相关的jar包。

              se-admin-ser-common 是运营管理系统业务逻辑层的实现,包括模型、DAO、service。关于 admin的 模型,后面会有专门文章介绍。

              se-admin-common是运营管理系统web层,主要是基于freemarker模型引擎渲染,列表/编辑页面 有赖jqgrid强大功能和很好的抽象能力。我们对其抽象做了数据库映射,保证运行期可动态变更。另外就是其他它可实现面向列的数据权限。

    最后,如易云 代码生成工具 无缝集成了这套框架!


    相关文章

      网友评论

          本文标题:如易云揭秘1-框架

          本文链接:https://www.haomeiwen.com/subject/ixvauttx.html