Git Product home page Git Product logo

ofbiz-mini-saas's Introduction

ofbiz-mini-saas

基于Ofbiz15.02改造的支持SaaS、企业分应用的基础技术框架 只支持PostgreSql数据库,Mysql5.7以上才支持,现在已实现5.6版的JSON字段(字符串),性能较差,使用起来也不方便比如排序,正在整理 https://github.com/zhengxyit/ofbiz-mini-saas-frontend 本应用的前端,但只对登录做了处理

2018-11-14 但由于项目太紧没时间更新,项目中完成的一些模块要明年春节的时候更新上去了(- -!) 1 元数据管理(当事人、权限、分类、状态工作流) 2 管理功能:定时任务管理、API接口管理(包括用例测试,集成用例测试)

关于项目

  1. 坚持技术是为业务服务的原则,但业务的问题只能用业务去解决;
  2. 本项目仅适用于传统企业,中小微规模;
  3. 开发难度低,可一个项目经理轻松调度16人以下的技术支持团队(需要API与任务管理工具);
  4. 适用于业务变更频繁的场景(比如App接口开发,修改Groovy不需要重启Web服务);

运行项目

把idea的配置也发上去了~参考

ant build
ant load-demo
ant start

启动后,使用postman测试一下http://localhost:8080/sso/login 使用Basic Auth 18612345678/123456

修改内容

  1. 本项目只作为中间件使用,只保留了后端代码;(考虑到现在前后端分离)
  2. 去掉了所有业务模块;(现在追求短平快,基本上用到原模块1/5-1/3的功能基本就能满足需求,需要哪些自己去找吧)
  3. 实体引擎方面基本全保留了下来(只支持Mysql,别的数据库的话自己拷贝相关的文件吧),并增加了support-modules(支持到字段级)、is-tenant两件配置
  4. 服务引擎只保留了Groovy和Java两个类型、并且只支持Http协议(需要其它去掉注释即可)
  5. 安全方面使用权限编码,自己定义编码直接在代码中进行业务代码开发即可,使用时需要在services.xml中配在接口上

SaaS支持

common中general配置的最后

Y 启用多租户 N 不启用 多租户使用SaaS同库同表方式

multitenant=N
saas.home=localhost

默认是N,就是单应用项目

关于开发

实例见application/example

  • 定义实体
  • 写Groovy文件
  • 定义服务接口 OK~ 测试
  1. 先将multitenant=Y
  2. ant clean/ant build/ant load-demo/ant start顺序执行
  3. 在host中加 127.0.0.1 abc.aaa.com/127.0.0.1 xyz.aaa.com 这两条
  4. http://abc.aaa.com:8080/sso/login和http://abc.aaa.com:8080/sso/login分别登录(Ticket不同) 使用Basic Auth
  5. 在Header中设置X-TICKET=登录中的Ticket http://abc.aaa.com:8080/example/j/queryEmployeeList/http://xyz.aaa.com:8080/example/j/queryEmployeeList
  6. 返回的数据不同,并且有一个有groupId

不足之处

  • 开发文档,跟Ofbiz差不多,要是会Ofbiz直接上手试试吧,不足就给我留信息
  • 测试做的不够全面,未来的日子我会继续用这个框架做业务应用开发,所以会不断的修改BUG
  • 本着技术开源业务不开源的原则(通用业务模型设计部分不会开放出来)

下一步计划

  • 建基本服务引擎的API和自动化测试
  • 通过服务引擎暴露出的接口,直接生成Vue页面或组件,减少前端的开发工作量(这个功能可能会是双向的)

ofbiz-mini-saas's People

Contributors

zhengxyit avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.