`

Uncode系列开源组件简介

阅读更多

概述

Uncode 是基于Java 语言的一系列企业级开源组件,作者冶卫军 (开源作者花费大量时间维护开源项目,期望正确使用)。主要包括:移动后端开发框架Uncode-BaaS ,通用数据库访问组件Uncode-DAL和分布式任务调度组件Uncode-Schedule,集群session共享组件Uncode-Session  ,两级缓存组件Uncode-Cache,轻量级信消中间件Uncode-MQ。其核心设计目标是使中小企业开发更加简单、易于维护,同时组件大部分基础操作进行了封装,提供认证、安全控制等基础功能模块,可以大大提高开发速度,降低开发成本。

 

发展概况

Uncode 项目开发始于2014年末,作者冶卫军在移动互联网领域带领技术团队创业多年。深刻体会到中小公司在发展过程中所遇到的各种技术问题,所以发起 Uncode 系列开源项目,希望可以为中小公司快速发展提供参考和方向。Uncode 采用GPL-2.0协议。欢迎有志者一起交流。

Uncode 系列项目秉承以下设计目:快速开发、代码简单、易于学习、功能强大、轻量级、易扩展,在坚持以上设计目标的同时,本着不重复制造轮子的原则,很好的应用和整合现有流行框架,打创功能全面的移动应用后端系列组件,彻底解放中小公司开发者的生产力,让中小公司开发者将更多的精力投入到具体业务实现,降低公司产品研发的时间和人力成本,使产品快速投向市场。

Uncode 通过实践将逐步形成了一系列移动互联网公司后端开发组件,并将在 Uncode 开发社区展示出来。

 

Uncode-BaaS 移动后端开发框架

 

功能概述

 

Uncode-BaaS移动后端开发框架,注于移动应用后端服务开发,旨在让移动后端开发变得更简单。任何企业或个人,通过Uncode-BaaS都可以给移动应用快速定制个性化的后端业务逻辑,可以大大降低后端开发时间和成本。Uncode-BaaS框架提供了这种灵活性,可以让您的代码实现非常简单,并直接在各种云服务上运行。一旦你更新了代码,所有的移动应用都会立即自动更新,新功能的发布将会变得更加简单可控。

 

主要特色

1、简单易用

Uncode-BaaS移动后端开发框架,简单易用,易于开发。开发者可以自已制定或者直接使用第三方插件实现移动应用后端业务逻辑,让开发者可以快速完成业务逻辑制定,并直接运行,完全省掉后端开发的时间和人力成本。使开发者可以投入更多精力到移动应用本身,研发出更具竞争力的移动产品。

2、易于维护

Uncode-BaaS移动后端开发框架,为开发者提供集成测试功能,可以随时进行测试,直接运行,无需发布。具有良好的可扩展性,无需对原有业务进行修改,即可实现扩展,同时多个服务之间可以互相调用。可以根据业务量自动扩容,不会对现有业务产生任何影响,具有完美的可伸缩性。

3、个性化定制

Uncode-BaaS移动后端开发框架,可以帮助开发者为自已的移动应用定制个性化的业务逻辑,可以满足所有业务场景的需求。开发者可以用最小的成本快速定制出所需要的业务逻辑,在众多移动应用中脱颖而出,占领先机。同时当应用需要调整时,开发者也可以快速重试。

4、低成本快速开发

Uncode-BaaS移动后端开发框架,对移动后端业务逻辑进行了高度封装,提供非常简单的方法,可以使任何开发者根据自已的业务需要定制业务逻辑,同时我们提供非常完善的帮助文档、示例应用和在线问答,帮助您完成业务定制。您可以完全不需要后端开发人员,将大量精力投入到移动应用本身,极大的降低人工及时间成本。

5、多终端

Uncode-BaaS移动后端开发框架,基于标准rest协议,可以适用所有终端,包括IOS、Android、Windows Phone、Html5等。不用在移动应用中作任何代码嵌入,就可以对开发者的应用进行全方位的统计和分析,大大降低了移动应用开发的难度和成本,同时可以保证数据的及时性和准确性。

6、安全可靠

Uncode-BaaS移动后端开发框架,为了保障数据安全,可以同时对服务和数据进行权限控制,对于服务可以设置服务的访问对象和操作权限。对于数据本身,可以分别按照用户、角色和用户组,对表或字段级使用权限进行严格控制,可以保障最小粒度的权限控制,完美解决移动应用数据安全问题。另外利用云特性保障存储安全。

 

Uncode-DAL 通用数据访问组件

 

功能概述

Uncode-DAL通用数据访问组件,本着不重复制造轮子的原则,基于Mybatis、Spring JDBC、Hibernate、MongoDB等ORM框架开发,同时支持基于多数据源的读写分离、主备切换、故障转移,自动恢复、负载均衡、缓存等。可以大大提高开发速度。

 

主要特色

1、基于Mybatis、Spring JDBC、HibernateORM框架实现通用DAL层功能,并可以与已有项目完全兼容。同时支持在ORM框架之间任意切换,不需要对代码作任何改动。

2、实现统一的DAL层Cache,可以自由设置过期时间。

3、实现基于多数据源(DataSource)的读写分离、主备切换、故障转移、恢复检测和负载均衡。

4、使用该组件建议遵循以下规则:

  • 在使用DTO时,字段名称与数据库表字段一致,不区分大小写,也可以不使用任何DTO类,直接使用MAP。

  • 不支持连表查询,主要是单表操作,如果需要连表请与原生orm框架配合使用。

  • SQL默认主键字段为id,NoSql默认主键字段为_id。

Uncode-Schedule 分布式任务调度组件

 

功能概述

Uncode-Schedule基于ZookeeperQuartz/Spring Task的分布式任务调度组件,非常小巧,无需任何修改就可以使Quartz和Spring Task具备分布式特性,并确保所有任务在集群中不重复,不遗漏的被执行。

 

主要特色

1、基于流行的ZookeeperQuartz/Spring Task的分布任务调度组件。

2、集群任务节点以单个JVM为单位,确保每个任务在集群中不同节点上不重复的执行。

3、单个任务节点故障时自动转移到其他任务节点继续执行。

4、弱依赖于Zookeeper,任务节点启动时需要保证Zookeeper可用,任务节点运行期Zookeeper集群不可用时任务节点保持可用前状态运行,Zookeeper可用后自动注册任务并恢复正常。

5、支持已有任务动态停止和运行。

6、使用注意事项:

  • 单节点故障时需要应用自已保障数据完整性或幂等性。

  • 具体使用方式和Quartz和Spring Task相同,只需要添加ZKScheduleManager配置即可。

 

Uncode-Session集群session共享组件

 

功能概述

非常小巧的集群session共享组件,代码千行以内,避免使用应用容器插件的多种烦恼。

 

主要特色

1、非常小巧的集群session公享组件,类似于spring-session。

2、总代码不超过1000行。

3、易于使用和扩展。

 

Uncode-Cache 两级缓存组件

 

功能概述

基于redis和ehcache的两级缓存组件,支持spring-boot,使用方便,有管理页面。

 

主要特色

1、统一注解支持

2、可以设置缓存定时自动更新时间

3、可以缓存预热

4、可以设置缓存依赖消除

5、可以添加监听,使用实现命中率、读/写耗时等

 

Uncode-MQ 轻量级java消息中间件

功能概述

基于netty的轻量级java消息中间件。

主要特色

1、消息存储速度非常快速。

2、使用简单方便,目前只支持topic方式。

3、依赖java环境。

 

用户博客推荐

spring+mybatis+uncode-dal实现数据库读写分离

分布式定时任务框架---Uncode Schedule

分布式调度之uncode-schedule

实现spring+mybatis+uncode dal,应用自动切换连接数据库

uncode-schedule-manage定制化管理系统

Uncode-Schedule框架源码分析

Java通过redis管理你的集群定时任务

 

感谢以上博客的作者,谢谢!!!

分享到:
评论

相关推荐

    Open Layer for Unicode-开源

    压缩包中的"opencow"可能是指"Open Compatibility on Windows"的缩写,这是Open Layer for Unicode项目的组件或工具之一,可能包含了构建、测试和调试所需的资源。用户可以通过解压文件,按照提供的文档指导,配置和...

    IOS应用源码——一些iPhone开源项目代码Unicode.zip

    - UILabel、UIButton、UITextField等UI组件能够显示Unicode字符,使应用界面更加国际化。 - NSString和String类提供了处理Unicode字符串的方法,如`contains`, `replacingOccurrences(of:)`等。 3. **Unicode与...

    qt-open-icon-开源嵌入式QT组件

    为了利用这个开源组件,开发者需要将字体文件添加到QT项目中,并在QSS样式表中引入,然后就可以通过CSS选择器和字符代码来控制图标的显示。例如,如果一个图标对应的Unicode码点是"\f001",那么在QSS中可以写成`...

    程序员输入法unicode版

    开源或有活跃社区支持的输入法往往能得到持续的优化和更新,程序员输入法Unicode版可能也会提供类似的服务,让开发者能够及时获取新功能和修复,提升使用体验。 总结而言,"程序员输入法Unicode版"是专为程序员...

    zawgyi-unicode-converter-native:Zawgyi Unicode转换器(Angular Ionic Native-Android iOS)是一个免费的开源Zawgyi-One和标准的缅甸Unicode转换器,适用于Android和iOS,使用Angular,Typescript,Ionic Native,Ionic UI组件编写

    Zawgyi Unicode转换器Ionic本机应用程序(Android)是免费的开源Zawgyi-One和标准的缅甸Unicode转换器,适用于Android和iOS,使用Angular,Typescript,SCSS编写,并带有Ionic Native,Ionic UI组件等。 行动应用程...

    CLDR:Unicode CLDR 的实验镜像-开源

    - `apache-license.txt`可能表示CLDR部分组件遵循Apache许可证,这是一种非常宽松的开源许可,允许商业使用并鼓励源码共享。 - `unicode-license.txt`则可能包含Unicode联盟为CLDR设定的许可条件,这可能类似于...

    VirtuaWin_portable_unicode_4.3

    VirtuaWin是一个开源的虚拟桌面管理工具,其版本号为4.3,该软件具有便携性并支持Unicode字符集。这个压缩包包含了多个文件,每个文件在VirtuaWin的运行和管理中扮演着特定的角色。 1. **VirtuaWin.chm**:这是一个...

    CRC校验工具(RapidCRC Unicode) v0.3.15.zip

    快速的汇编核心代码:RapidCRC实现的CRC32的使用和MD5算法的速度最快的开源组件。 纯c语言Win32/WinAPI代码:程序的其余部分的使用纯C语言的Win32/WinAPI调用,所以没有中间库的开销。 Intel编译器: 发布的主程序...

    一款开源多文档选项卡控件(jcMDITabs Ver 1.3),支持UNICODE编码,支持多种选项卡风格。

    jcMDITabs是一款优秀的开源软件开发组件,特别适用于Windows平台上的应用程序设计。这个控件提供了多文档界面(MDI)中选项卡功能,使得用户可以在同一窗口内轻松地管理和切换多个文档或工作区。jcMDITabs的版本1.3...

    wxPython2.8-win64-unicode-2.8.12.1-py27

    **wxPython** 是一个开源的Python绑定库,它提供了丰富的图形用户界面(GUI)工具包,用于创建桌面应用程序。wxPython是基于C++的wxWidgets库,将其功能转换为Python语言,使得Python开发者可以利用其构建跨平台的...

    易语言类组件_拖放对象W模块源码及例程

    10. **社区协作**:认识到开源社区的力量,学习如何参与其中,提出问题,分享解决方案,或者为项目做出贡献。 通过深入研究这些知识点,并结合提供的源码和例程,你将能够熟练地在易语言项目中实现拖放功能,同时也...

    wxPython2.8-win64-unicode-2.8.12.1-py27安装文件

    Python 2.7是Python 2.x系列的最后一个主要版本,它在许多项目中仍然被广泛使用。wxPython2.8-win64-unicode-2.8.12.1-py27表明这个版本是专门为Python 2.7设计的,如果你的项目或环境基于Python 2.7,这个版本的...

    linux-ansiweather在你的终端展示天气包含ANSI着色和Unicode符号

    关于安装和使用`ansiweather`,首先,你需要确保你的系统已经安装了`git`和`make`,这两个工具是大多数开源项目构建和安装的必备组件。然后,你可以通过以下步骤获取并安装`ansiweather`: 1. 使用`git clone`命令...

    UniCode编码、简繁体互转在Delphi中的应用

    另一方面,`OpenCC4Delphi`是基于OpenCC开源项目的Delphi封装,OpenCC是一个强大的简繁体转换工具,提供了多种转换规则,如“常用简体字->繁体字”、“香港增补字符集”等。在Delphi中使用`OpenCC4Delphi`,你需要先...

    C#开源资源大汇总.txt

    - **BpmTool**:这个工具包提供了一系列的组件和服务,可以帮助开发者更容易地实现业务流程管理功能。BpmTool支持多种类型的业务流程模型,如BPMN等,并且能够与其他系统集成。 #### 四、编辑器类库 - **FCKeditor...

    NSIS-Unicode.7z NSIS

    这个压缩包可能包含了用于创建Unicode兼容安装程序的所有必要组件。 描述中的信息简洁,没有提供额外的具体细节,但我们可以推断该压缩包可能包含以下内容: 1. NSIS编译器:如`makensis.exe`,用于将脚本转换为可...

    wxPython2.8-win64-unicode-2.8.12.1-py27.exe

    4. **Robot Framework**:Robot Framework是一个开源自动化框架,主要用于系统集成和验收测试。它采用关键字驱动的方法,使得测试用例易于编写和理解。它支持多种库,包括Selenium WebDriver用于Web测试,以及...

    skintk_release_unicode_mdd_dev.rar

    总的来说,"skintk_release_unicode_mdd_dev.rar" 是一个为开发者提供的开源皮肤框架,支持Unicode编码,具有MDI功能,并提供了一系列工具和示例,帮助开发者轻松地为他们的应用程序添加换肤能力。它不仅提供了核心...

    NppExec_041_dll_Unicode notepad++插件

    Notepad++是流行的开源文本编辑器,主要面向程序员和高级用户,支持多种编程语言。NppExec的引入,使得用户可以直接在Notepad++内部运行批处理命令、编译代码、调试程序等,极大地提高了开发效率。 NppExec的核心...

    icu库(VS2010编译的64位版本)

    ICU(International Component for Unicode/Unicode国际化组件) 是 Unicode 支持、软件国际化、全球化的一个成熟的、广泛应用的库,是一个由 IBM 赞助、支持和使用的,基于"IBM公共许可证",用于支持软件国际化的开源...

Global site tag (gtag.js) - Google Analytics