eterna框架-介绍

eterna介绍

eterna框架可以让你在不用写任何java代码的情况下,仅通过一些xml的配置来开发你的Java应用。eterna框架包括了数据库层、控制层、视图层的配置功能,对于90%以上的开发场景,您可以不用书写任何Java代码。

eterna整合

eterna框架可用以多种方式整合到现有的系统中,提供了针对servlet及portlet的接口,还可通过thread local的方式传递其它的参数。在功能的选择方面,可以只选择使用数据库访问模块、业务逻辑模块、视图模块中的某一个,不必将所有的模块捆绑在一起使用。

访问数据库

eterna框架采用sql语句配置的方式来处理数据库的操作,该模式与ibatis类似。不同之处在于你无需定义bean,只需定义传入的参数类型及读取结果的类型就行了。在sql语句配置中,能够定义动态参数及子语句来实现固定的sql语句无法实现的功能,如:动态的查询条件等;还可以使用一些定义好的常量,这样能减少数据库迁移过程中修改的工作量。对于框架尚未实现的类型,可以自己定义parameter或reader的实现类,并配置进去,而无需绕开框架采用其他的实现方式。

业务逻辑的执行

eterna框架中,将一个业务逻辑分解成多个执行单元,可以通过不同的执行单元的组合方式来实现不同的业务逻辑。框架提供了数据转移单元,数据库访问单元,逻辑判断单元等一些常用的执行单元。如果这些基本的执行单元不能满足业务的需要,还可以自己定义execute的实现类,并配置进去。数据库访问单元通过参数绑定的配置方式来与数据库访问模块交互,绑定的数据来源可以是request、session或另一个查询的结果等,也可以是以上任意情况的组合。

查询

eterna框架提供了一个查询模块,他需要数据库访问模块中的query来执行,他通过设置子句的方式来实现动态条件。可选的动态条件可通过配置来改变,某个特殊的条件可以通过自己定义builder的实现类来处理。对于需要分布在sql不同部分的动态查询条件,可以通过配置other-search-manager节点来实现。如果还需要在查询执行前对query进行些特殊的处理,可以通过配置parameter-setting节点来实现。

视图的定义

eterna框架中,视图代表页面中的一个显示片段,一般为一个独立的div。视图通过compenet、replacement、table-form、table-list等节点的定来构造。视图中的每个节点相当于一个对象,可以配置脚本来控制本对象是否显示,及显示后要执行的操作。框架提供了typical-compenet及typical-replacement这两种节点来提高视图对像重用率。table-form、table-list可以通过数据库访问模块中的query或reader-manager及查询模块中的search来自动生成展现内容。

结构

eterna框架-介绍_第1张图片

  • Query和Update为后端与数据库交互的组件。
  • Search为执行查询及分页管理的组件,需要通过Query来运行。
  • Model为业务执行组件Execute集合。
  • Execute可调用Query、Update及Search,也可以自己定义执行方式。
  • View为视图表现层,辅助JSP来显示页面,最终客户端展现是通过jQuery来处理。
  • Export为转向的控制,可以控制转向另一个Model或转向某个JSP。
  • AppData为数据的载体,贯穿整个过程。

执行的流程

首先http请求被分发到一个Model来处理相关的业务流程。Model会顺序执行其下面的每个Execute,执行完后会返回一个Export。Export指向一个JSP,这个JSP可使用Export中指定的View来构成客户端的显示页面(另外Export还可指向另一个Model来继续处理业务流程)。

eterna首页

你可能感兴趣的:(eternal)