Abixen Platform 是一个基于微服务的软件平台,用于构建企业应用程序。该项目的主要目标是通过创建特定的微服务并通过提供的 CMS 进行集成来创建功能。
为了创建一个全新的功能,您所要做的就是实现一个新的、独立的微服务。现在您可以在 Abixen 平台中注册并通过提供的配置向导和 CMS 开始使用。还有一个 Abixen 平台 API,可让您加速新微服务的创建过程。
Abixen 平台的组织划分由页面和模块组成。具有适当权限的用户可以创建任何页面并选择布局。最后,添加Abixen平台上部署的模块的页面实例。每个模块可以有许多实例,由不同的参数配置。
Abixen 平台内置的最重要的机制之一是自己的安全系统,它确保对页面、模块甚至模块显示和使用的数据的完全控制访问。
Abixen 平台提供开箱即用的功能性微服务。
商业智能服务是交付的功能模块之一。
该模块允许制作报告图表和表格。业务管理员可以创建图表并通过以下流程提供图表:
- 创建与受支持的数据库之一(H2、MySQL、PostgreSQL、Oracle、MSSQL)的数据库连接。可以使用 Excel 或 CSV 文件来代替数据库连接
- 使用上述数据库连接或文件创建数据源。
- 在页面上添加新的商业智能实例
- 配置图表系列选择数据源
- 为特定用户角色设置权限
Web内容服务是交付的另一个功能模块。
该模块允许做文章。业务管理员可以通过两种方式创建文章:
- 简单的网页内容(只需使用富文本编辑器填写简单的表格)
- 高级网页内容(使用结构和模板)
开发人员可以创建的模块范围是无限的。例如,可以有以表格方式显示数据的模块、数据输入模块,用户在其中输入数据、编辑和呈现。
主要架构重点放在新模块的快速创建上。因此,基于微服务实现了原始架构,它允许创建功能独立于其他元素的模块。当程序员创建模块时,仅编译他的模块和他的微服务。与单片系统相比,这可以节省大量时间。
最大的优势之一是基于微服务概念的架构。通过松散耦合的组件,它为开发团队之间的有效分工以及简单且廉价的系统维护提供了可能性。创建新模块、新功能时,开发人员不得干扰现有源代码。他可以创建一个新的微服务,作为一个单独的 Spring Boot 应用程序。然后,实现必要的接口就有机会将新创建的微服务与 Abixen 平台结构集成。最后,业务管理员可以通过平台使用它。 Abixen 平台提供了一些开箱即用的功能模块,这些功能模块封闭在商业智能服务和 Web 内容服务中。这是一个很好的例子,说明如何创建自己的微服务。提到的服务主要提供可视化功能,例如图表、微型图表、KPI。以及网页内容管理,例如模板、结构、文章。然而,开发数据输入模块的机会仍然存在!
Abixen平台与AWS云完全兼容,并利用以下服务:
- EC2 - 用作 ECS 集群中运行 docker 的主机的基础
- ALB - 与微服务架构拓扑保持一致的现代版本负载均衡器
- ECS - 作为 docker 容器运行的所有服务的容器编排器和调度程序
- ECR - docker 镜像的私有容器注册表
- Route53 - 允许使用内部 DNS 名称在微服务之间进行通信
- CloudWatch - 用作**监控和日志记录
- Elasticache - 由 Abixen 平台组件内部使用
- RDS - 所有组件的数据库存储
- SES - 用于电子邮件通信
Abixen 平台的所有容器都通过Logstash将日志发送到Elasticsearch。您也可以使用Kibana 的界面。所有指标都通过Jolokia公开在每个组件上,并使用Telegraf从那里获取。它们被发送到InfluxDB并可在Grafana仪表板上 访问
Abixen 平台由 Mariusz Kumor 于 2015 年 3 月启动(参见 LinkedIn 个人资料)。最初的主要想法是了解更多有关微服务、Spring Cloud 的内容并扩展有关 AngularJS 的知识。该项目在空闲时间一直开发到 2015 年 12 月。大部分时间涉及分析和原型。从那天起,他花了一些时间,但现在,2016 年 10 月,他决定在 GitHub 上发布源代码。 Mariusz Kumor 也决定开始进一步开发。最大的动力是他的朋友以及一些公司对这个项目及其想法的奉承之词。
在创建这个产品时,我主要强调最终用户的质量和价值。对我来说也非常重要的是,该软件是基于尖端技术(但同时稳定的技术)和最佳设计模式和实践构建的。正如您可以猜到的,这需要花费大量时间,并且该产品是开源的 - 因此每个人都可以免费使用我和其他贡献者作品的效果。如果您喜欢这个项目,学到了一些东西或者正在使用它,请给它一个星⭐。这是我继续前进的最好动力。谢谢你!
像这种类型的应用程序类似的开源产品并不多。如果您认为这个存储库有所作为并且值得 - 请与您的朋友、伙伴和社交网络上分享。我将非常感激。
有一些已知问题。我们致力于修复和改进。
- 并非所有翻译都已完成
- 多可视化服务需要一些用户界面改进和优化。还需要更多的测试。
- CSS有些地方并不完美
- 存在少量技术债务(非功能问题)
该文档可在https://github.com/abixen/abixen-platform/wiki页面下找到。
您擅长 Java 和/或 AngularJS、CSS、HTML 等前端技术吗?或者您是 UI/UX 专家并且愿意增强 Abixen 平台的设计?你想加入极客行列吗?如果是这样,我们已准备好通过 Abixen 平台为您提供简短但有力的培训。培训结束后,您将能够与我们一起开发令人惊叹的 Abixen 平台。只需发邮件给我们[email protected]。请在留言中告诉我们,您为什么愿意做出贡献以及您能为该项目带来什么。
版权所有 (c) 2010 年至今 Abixen Systems。版权所有。
该库是免费软件;您可以根据自由软件基金会发布的 GNU 较宽通用公共许可证的条款重新分发和/或修改它;许可证版本 2.1 或(由您选择)任何更高版本。
分发此库是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 较宽通用公共许可证。