java cuba

传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力。解决方案的一面,例如架构和通用功能实现。

为了解决以技术为中心的编程与面向问题的编程之间的这种不平衡,出现了许多框架,这些框架旨在提高抽象级别并使开发人员脱离低级例程。 而且,为了提高开发效率,多年来开发工具变得越来越聪明。 Borland Delphi是2000年代初最好的例子之一,它极大地提高了桌面应用程序的开发速度。

在过去的十年中,企业软件得到了很大的发展,从而增加了对新一代高生产率框架和开发工具的需求。 因此,在本文中,我们将介绍CUBA平台 -一种开放源代码框架,该框架结合了坚实的体系结构,任何企业应用程序的“必备”功能和快速的应用程序开发工具,旨在提高开发效率。

CUBA平台与其他框架有何不同?

与大多数其他Java框架的主要区别在于CUBA Platform是一个高级框架 。 这意味着它将开发人员从基础技术(例如Vaadin,Spring和EclipseLink)中抽象出来,从而使他们可以专注于业务任务,并通过一系列丰富的功能和开发工具来实现。 同时,CUBA并不限制对低级代码的访问,从而使人们确信该框架可以适应项目的需求。

CUBA平台在开发企业应用程序时带来最大的价值,企业应用程序通常需要复杂的数据模型,数十个或数百个屏幕,对运行各种业务流程的支持,强大的安全性要求等。

到底是什么东西?

CUBA应用程序具有标准的三层体系结构。 关系是元数据–应用程序数据模型的知识。 首先,它使所有视觉组件都具有数据感知能力。 因此,例如,一个表知道它正在显示驱动程序实体的某些属性,而标签知道它正在显示日期。 同样,元数据可帮助可视化组件通过ORM与数据层进行对话-定义应上载或更新的对象图。 这同样适用于安全子系统,报告生成器和平台的其他部分。

丰富的网络用户界面具有声明性:您可以在视觉编辑器或XML中定义屏幕布局,可以从70多种视觉组件中进行选择,从各种按钮到Google Maps和动态图表。 然后,在Java控制器中添加初始化和事件处理逻辑。 考虑到数据感知组件,您可以非常快速地创建复杂的UI,并且由于代码和布局之间的明确分隔,它仍将易于维护。 如果可用组件的选择还不够,则可以集成外部JavaScript,GWT或Vaadin组件。

通用过滤器是CUBA用户界面的重要组成部分,该组件使用户可以创建自己的搜索条件。 开发人员只需将组件放到浏览器屏幕(显示实体列表的屏幕)上,然后就不必理会它了。 用户或管理员将定义他们要自行搜索的条件。

所有用户动作均由安全子系统控制。 基于角色的模型控制CRUD访问实体属性,甚至可以在代码中使用的某些屏幕组件或自定义令牌。 行级安全性有助于控制对某些数据记录的访问-例如,来自区域部门的用户将仅看到该部门创建的文档。 安全设置是在运行时在应用程序的UI中配置的,因此所有更改都可以由系统管理员即时进行。 最后,所有对数据的更改都将被记录下来,因此您将看到谁更改了内容以及更改的时间–在出现问题时方便进行汇报!

除上述功能外,CUBA还提供了许多现成的功能,包括:

  • 用户管理和管理工具
  • 报告管理
  • 集成可视化设计师进行业务流程管理
  • 多语言界面和多个时区支持
  • 全文搜索
  • 通用REST API

我可以在哪里部署我的应用程序?

关于部署阶段和环境选项,您在这里有很多自由。 CUBA应用程序可以部署为各种配置,从运行所有内容的单个服务器开始,到具有单独的中间件和Web群集的高可用性配置。 该平台开箱即用地支持PostgreSQL,Oracle数据库,Microsoft SQL Server,MySQL和HSQL(通常用于原型设计),并且随着项目的发展,您可以从一个切换到另一个。 同样重要的是,CUBA应用程序可以部署到任何Java EE Web Profile服务器,例如Jetty,Tomcat,Glassfish或Websphere。 当然,您可以将应用程序封装在Docker中和/或在流行的PaaS云中运行,例如CloudFoundry,OpenShift或Jelastic。

听起来不错,那么如何开发CUBA应用程序?

使用CUBA Platform开发应用程序所需的全部是Java SE,XML和JPQL,这使您的应用程序代码更加统一且易于维护。 这也使您的开发团队更加灵活-您实际上不需要Web开发人员或Java EE专家团队。

您可以在自己选择的IDE(例如IntelliJ IDEA或Eclipse)中创建业务逻辑,但是CUBA还具有Studio –一个补充的可视化工具,可自动执行整个CUBA特定任务的范围:

  • 建立项目基础设施
  • 进行UI和数据模型的可视化设计
  • 脚手架CRUD屏幕具有多个布局选项
  • 通过自动生成和运行更新脚本来使数据库保持最新
  • 为处理程序,服务等生成存根。

Studio和IDE之间的所有更改都是同步的,因此您可以自由选择在何处进行更改。 为了进一步提高开发人员的性能,Studio会自动热部署您的所有代码(数据模型除外)。 因此,Studio消除了许多常规工作和样板代码,而不会限制您用来编写代码的工具。

如果您想将旧系统升级到现代堆栈,那么CUBA也可以提供解决方案。 Studio包含一个迁移工具,该工具会将旧版数据库转换为CUBA兼容,并根据数据库架构自动生成屏幕。 因此,您只需要添加自定义屏幕并迁移业务逻辑。

好的,我几乎说服了……许可呢?

如标题所述,核心框架是开源的,在Apache 2.0下获得许可,其源代码可在GitHub上获得。 这意味着您在CUBA上开发的软件没有许可证限制。 CUBA Studio提供免费和商业版本。 免费版CUBA Studio具有完整功能,但限制了应用程序数据模型的大小。 引导项目并探索平台功能是理想的选择。 可以完全免费使用Java IDE继续免费进行进一步开发,也可以购买商业许可订阅,其中还包括访问Premium Add-on的能力 :报告,图表和地图,全文本搜索和BPM。 每年每位开发人员订阅的价格仅为311美元起

希望本概述使您对CUBA平台是个好主意,并且很容易尝试。 如果是这样,只需访问网站, 下载免费的Studio ,通过快速入门 ,即可在几分钟之内运行您的第一个CUBA应用程序!

翻译自: https://www.javacodegeeks.com/2016/06/cuba-platform-open-source-java-framework-rapid-application-development.html

java cuba

java cuba_CUBA平台–用于快速应用程序开发的开源Java框架相关推荐

  1. CUBA平台–用于快速应用程序开发的开源Java框架

    传统上,自计算时代开始以来,企业软件开发自然面临着一个挑战,当时自然而然地,企业软件开发本应专注于解决实际的业务问题,但与此同时,开发人员必须在技术上花费大量时间和精力.解决方案的一面,例如架构和通用 ...

  2. IBM 发布企业级社交协作平台 Domino V10,开启快速应用程序开发的新时代

    北京时间 2018 年 10 月 10 日,IBM 正式全球发布企业级社交协作平台 Domino V10.全新版本 Domino V10 坚持安全可控,在保留传统开发模式的同时拥抱现代化设计,创造更快 ...

  3. 移动应用程序开发_7种用于移动应用程序开发的终极编程语言

    移动应用程序开发 " " 您是否知道21%的人每天打开一个应用50次以上? (Do you know that 21% of people open an app 50+ time ...

  4. 华为云物联网平台的微信小程序开发

    第0章 简介 上上期出了一个华为云物联网平台的Android APP应用开发教程, 根据后台的私信,包括华为云物联网IOT论坛里和公众号里,发现大家对物联网平台的移动端的开发需求还是很大的,接下来,带 ...

  5. java cuba_CUBA平台–新的Java企业应用程序框架

    java cuba 所以..你好,世界! 我们的英语网站终于可以正常使用了,现在每个人都可以下载该平台,并可以以前所未有的速度更快地创建业务应用程序. 在我们决定与国际Java社区共享足够好之前,我们 ...

  6. Java后台微信点餐小程序开发最新版笔记,Springboot+Mysql+Freemarker+Bootstrap+微信小程序实现扫码点餐小程序,包含语音提示,微信消息推送,网页管理后台

    由于之前的Java后台微信点餐小程序有些知识点过时了,所以今天重新出一版,把里面过时的知识点更新下 前五章是部署笔记,后面是知识点的详细讲解,大家可以先看部署笔记,部署起来后,再跟着详细知识学习. 第 ...

  7. 微信小程序开发(后端Java)

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  8. 在微信公众平台注册一个小程序开发账号

    我们先访问地址 https://mp.weixin.qq.com/ 进入微信公众平台 如果您是第一个进入 直接点右上角的 立即注册即可 然后 他会让我们选择账号类型 我们要做的是小程序开发 所以 一定 ...

  9. 小程序嵌套h5页面_快速小程序开发之微信小程序内嵌 H5

    简介:微信小程序中可以直接运行 web 页面,这一新组件 web-view 的产生,可能直接导致小程序数量迎来一波高峰.本篇博文将从业务选型,微信小程序后台配置,使用 web-view 完成登录业务以 ...

最新文章

  1. 使用标准模板find函数来对结构体容器进行查找
  2. 汇编语言OFFSET运算符:返回数据标号的偏移量
  3. 世界上最奇特的国界线,万万没想到...
  4. Java中的注解是如何工作的
  5. html中article、section、aside的区别与联系
  6. hashmap remove 没释放内存_java从零开始手写 redis(13)HashMap 源码原理详解
  7. inputstream示例_Java InputStream close()方法与示例
  8. TcxButtonEditProperties取得TcxGridDBTableView
  9. 海量数据挖掘MMDS week1: Link Analysis - PageRank
  10. 数据仓库与数据挖掘复习题目
  11. pgAdmin3 连接GreenPlum数据库假死解决
  12. 使用python将豆瓣妹子的图片批量搬运到百度网盘
  13. 应该被记住的天才,写在图灵诞辰100周年
  14. Geronimo入门与进阶
  15. hdu 3954 Level up(成段更新)
  16. 3812 机器人走迷宫(枚举 + 全排列)
  17. MapReduce打包jar包并运行的步骤操作以及重要的注意事项
  18. Android 监听Home键按键事件
  19. 算法训练营学习笔记2
  20. 一个优秀IT专家的成长历程---献给所有的颓废或即将颓废的人们

热门文章

  1. Loj#2880-「JOISC 2014 Day3」稻草人【CDQ分治,单调栈,二分】
  2. jzoj1758-过河【dp】
  3. AIsing Programming Contest 2020 总结
  4. 【AC自动机】前缀匹配(ybtoj AC自动机-3)
  5. 【KMP】子串拆分(ybtoj KMP-4)
  6. 【DP】划分数列(ybtoj DP-2-1)
  7. 【SPFA】桐人的约会
  8. hdu4609 3idiots 三角形计数 FFT
  9. Spring 自动装配 ‘byName’
  10. Java IO: InputStreamReader和OutputStreamWriter