目前,随着软件产业的蓬勃发展,软件项目及产品取得新进步、新成绩的同时,也遇到新的问题及挑战。
从业务角度来说,开发维护需要编写的业务代码日益庞大复杂,程序员需要编写的代码越来越多、越来越长;项目及产品需要集成的第三方语言情况也日益常见,集成的工作难度非常大。
从底层存储来说,不同数据库细节差异大,迁移维护不容易;SQL语法标准难以实现传统编程语言的特性;业务逻辑集中数据库,导致后期难以扩展。
从语言角度来说,Java等编程语言虽然功能强大,但是缺少关系运算支持,对过滤、分组、排序和关联等实现难度大;Python等虽然计算优异,但是语法结构和Java差异很大,Java程序员上手不易;一般脚本语言语法虽然简单方便,但是往往限于特定场景,对多元化场景支持不够充分,扩展能力弱。
JavaPlusScript以Java语言为基石,兼有脚本语言的灵活方便,设计初衷就是为Java程序员服务,给他们减负,提高工作效率。
【使用场景】
JavaPlusScript本身是对Java语言的增强,因此可以使用Java语言的场合,都是可以使用JavaPlusScript语言。当然,JavaPlusScript本身还是有一些推荐场景,在这些业务场景,用户可以快速方便开发业务,下面这张图列举了这些场景:
▪ EL表达式:
获取数据,执行表达式计算
引用上下文对象
调用Java方法
▪数据服务:
支持多种数据源
支持异构数据源混合运算,屏蔽底层差异
简化数据源读写操作
▪ETL编排:
支持ETL组件化
支持脚本定义组件
支持脚本流程编排,定义ETL流程
JavaPlusScript语言优势在于灵活可扩展,用户可以根据自己的需要进行集成、扩展甚至二次开发,定制适合自身的业务场景,真正做到“看菜吃饭,量体裁衣”。
【架构层次】
JavaPlusScript采用Maven管理工程,通过定义核心工程、扩展工程以及聚合工程,实现语言解析、语言特性与具体业务实现分离,既保证语言自身的稳定,又保证良好的扩展能力,工程层次图如下:
【功能特性】
JavaPlusScript语言在设计上遵循大部分Java语法规范,但是在简化程序员操作这一大前提下,还是做了很多改进,比如:变量弱类型,不用强制声明类型。
JavaPlusScript作为一门语言,当然支持各种语法、指令、函数,碍于篇幅,下面重点为大家介绍常用的功能特性:
■支持集合运算
脚本语言支持集合的差、并、交、异或运算;集合运算同时支持操作符和函数调用两种方式;支持集合的聚合运算;支持通过集合对象操作元素API方法,省略循环。
■支持脚本类
JavaPlusScript支持脚本类,类似Java的类,但是脚本类使用更方便。比如说,脚本类的构造函数,如果参数名和属性名相同,自动赋值;属性免写get/set方法,自动支持;与集合运算、过滤等操作无缝集成。
■支持字符串模板
在Java语言中,字符串拼接无论采用加号连接,还是采用StringBuffer,都不是优雅的做法,在JavaPlusScript语言中,可以采用更优雅的做法,通过占位符实现字符串和表达式的连接。
■支持Lambda
所有的Java资源都可以被JavaPlusScript使用;同时,JavaPlusScript的结果也可以转化为一般Java对象,非常人性化。
本文介绍了JavaPlusScript的使用场景、架构层次和功能特性,下文我们将以实战的形式为大家证明为什么从业务、底层技术和语言上,目前JavaPlusScript是最适合的。请继续关注!