5 Star 39 Fork 1

Orginone / Orginone

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Orginone

Org-in-one 英文发音[ˈɔːdʒɪnʌn],中文:奥集能

什么是 Orginone

**Orginone**利用云原生技术,专注用户价值,秉持“精一”理念,集成各种能力,面向组织用户提供统一应用界面。 

组织用户可以获取应用也可以上架应用。

上架应用应以组织为颗粒度设计多租户,用户从属于组织,组织有内设机构和岗位,用户可以加入多组织,组织之间可以组成集团。

传统SaaS应用提供服务,组织或用户需要登陆服务地址,注册账号,提供相关用户认证信息。Orginone要求面向组织和用户聚合服务。SaaS应用必须注册到平台,组织用户登陆平台,即可获取、分配和使用SaaS服务。

Orginone 的理念

精一

精一语出《尚书·大禹谟》:“人心惟危,道心惟微,惟精惟一,允执厥中” 。

核心关键词

精益、专注、中立

Orginone以组织用户为中心,利用云原生技术提升应用和数据的管理能力,让组织更专注核心业务的代码和数据,以All-in-one方式降低组织中用户对工作的心智负担。

保持平台开放和中立,通过更细颗粒度的划分服务边界,明晰权责利关系,激发市场创新活力。聚焦能力集成,快速迭代,精益求精,为组织用户业务数字化改革和价值创造提供持续的推动力。

Orginone 的目标

成为面向组织用户的云原生操作系统。

为组织提供一体化操作界面,集中管理组织架构和用户体系,满足组织用户统一管理软件、业务数据和云资源等核心数字资产的需求,面向用户聚合各类云服务。利用云原生技术架构原则和设计模式,发挥平台优势,解开组织、应用、数据和资源的耦合关系,以应用市场上架和获取云服务方式,转变传统软件交付和分发模式,聚焦组织用户的核心价值,培育云服务市场生态,改进组织间大规模协作机制,优化资源配置,推动数字化改革,提高社会整体运转效率。

专注能力集成

Orginone 聚焦组织核心业务,围绕用户做聚合服务。

基于云原生技术架构原则和设计模式,充分利用以Kubernetes为核心的开源生态优势,通过OAM等开放标准,向下封装基础设施资源,屏蔽底层架构的差异性,向上支撑多种工作负载和分布式架构。提供应用全生命周期管理、运维管理、配置范围和扩展和管理、以及语言无关的编程框架,一起构成崭新的应用与云之间的操作界面。

将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的优势。满足大数据、人工智能、物联网、区块链等各种类型场景应用需求。

Orginone主要聚焦以下四个方面能力的集成:

  1. 应用管理能力

提供应用开发、部署、迭代、运维、运营能力。利用各类公共组件,敏捷开发环境,快速搭建应用。提供从代码到镜像到部署的流水线支持,通过持续集成和持续部署,进行快速迭代。提供的组件、接口、服务和应用的各种颗粒度运维和运营能力。利用市场机制,提供应用上架、发布、下架、工单等运营工具满足基本商业化运营需求。

  1. 组织管理能力

提供灵活的组织管理。根据业务场景自由创建组织树。能够实现组织树继承、复制、迁移、拆分、合并等操作,满足各类跨地区、跨层级、跨部门的针对组织树的应用分发、流程设计。能够对接各类基于组织树的用户验证和鉴权,消息分发,数据操作等复杂组织管理需求。

  1. 数据管理能力

提供数据分析、建模能力,专注业务层数据服务能力。利用消息机制,实现元数据、字典等数据标准的维护、发布等管理,在应用设计和建模阶段介入对数据的管理,实现数据规范的前对齐。拥有完善的数据治理能力,能够平滑对接各类开放域或私有域的基础数据平台,公共数据服务平台。实现对数据资产细颗粒度的保护,输出各类场景数据服务,支持应用迭代和创新需求。

  1. 资源管理能力

利用云原生技术,屏蔽基础资源的差异,实现平台和底层资源解藕,对接虚拟计算资源、容器平台、云存储资源、区块链、物联网等各类基础云服务平台,实现跨云资源适配和管理能力,统一向应用层输出基础能力。

如何参与项目

Orginone采用开放、开源共建模式,避免重复造轮子,以持续迭代,不断演进的模式,完善公共平台的建设。引入开放社区治理模式,保障平台的开放和中心,建设成果以开放或开源模式输出,鼓励在公共平台基础上开展商业服务,以市场化竞争方式提高资源效率,降低社会运行成本。

Orginone对kubernetes能力封装基于kubevela,应用层开发基于go-zero

正式进入实际开发之前,需要做一些准备工作,比如:熟悉kubernetes和kubevela,Go环境的安装,grpc代码生成使用的工具安装, 必备工具Goctl的安装,Golang环境配置等,熟悉go-zero中的编码规范

前端利用现有云原生应用管理平台前端

https://www.orginone.cn

前端项目后期开源。

开发流程

goctl环境准备[1]
数据库设计 参考assetcloud平台项目数据库设计 (/geneOS/service/geneOS.sql)
业务开发
创建服务类型(api/rpc/rmq/job/script)
编写api、proto文件 参考现有assetx后台api文档
代码生成
生成数据库访问层代码model 以现有数据表生成对应文件
配置config,yaml变更
资源依赖填(ServiceContext)
添加中间件
业务代码填充
错误处理

工程介绍

一、服务介绍

ms为服务主要逻辑需求
apigw 路由入口此处配有负载均衡,降级,熔断,鉴权等
user-ms 用户相关服务
user-apigw 用户相关服务网关
company-ms 单位相关
company-apigw 用户相关服务网关
common 封装工具类

二、分支说明

master 主分支具有权限设置,想往此分支合并修改请联系管理,tag对应prod环境所运行的代码
staging 测试环境分支,对应云服务器测试环境,建议不要直接在次分支编写代码而是merge develop分支,合并之前确定develop能run 
develop 代码编写分支, 次分支解决冲突日常代码编写提交,本地自测相对稳定想发布测试请merge 到staging 分支

项目进展随时同步在本文档。 问题交流。

示例代码

利用goctl工具,根据assetcloud平台user表生成crudAPI服务。

示例代码启动服务

etc/user-api.yaml文件中配置好数据库,在user目录下面执行

go run cmd/api/user.go -f cmd/api/etc/user-api.yaml
MIT License Copyright (c) 2021 潘朝晖 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

奥集能平台后端项目,面向组织的云操作系统。 展开 收起
Go 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Go
1
https://gitee.com/orginone/orginone.git
git@gitee.com:orginone/orginone.git
orginone
orginone
Orginone
main

搜索帮助