3.2. intra-mart的应用开发概述¶
项目
intra-mart使用intra-mart Accel Platform进行的应用程序开发中,开发人员创建在浏览器上显示的用户界面以及在Web服务器上运行的业务逻辑 。
在脚本开发模式,创建了两个文件:演示页(HTML文件)和功能容器(服务器端JavaScript文件)。此时,可以利用框架提供的模块组(im-BizAPI)进一步提高生产率。
在JavaEE开发模型中,使用JSP文件和Java组件(例如Servlet)执行开发。在这种情况下, 框架在提供模块组( im-BizAPI )的JavaEE的框架 ( TERASOLUNA Server Framework for Java (5.x)使用起来),进一步Web系统的开发与复杂的JavaEE您可以提高效率并促进业务组件的重用。
3.2.1. 使用Script开发模式应用程序开发¶
业务逻辑用JavaScript编写在“功能容器 ”中,并从“演示页”中调用和执行。 intra-mart实现桥接功能。
3.2.1.2. 功能容器¶
它对应于在多层体系结构中的应用程序运行时上运行的业务逻辑部分。扩展名固定为“ .js”。由于功能容器和演示页是一组,因此使用相同的文件标签名称。开发人员在功能容器编写并创建从演示页调用的JavaScript。具体而言,从intra-mart Accel Platform提供的功能中选择所需的Object 或函数组,并使用这些Object 和函数组在服务器端使用“ e Builder (脚本开发功能)”。使用JavaScript描述和创建有效的业务逻辑 。在功能容器还描述了数据库的SQL语句。与RDB的实际连接和SQL发行是从intra-mart Accel Platform因此开发人员无需了解详细的Session管理和事务管理。创建的业务逻辑从演示页上的<IMART>标记调用并执行。 intra-mart Accel Platform中可用功能的详细内容是“ intra-mart API列表”一览表描述的列表。由于这些脚本可以用JavaScript编写,因此可以通过扩展传统的主页创建而不使用Java(据说这是很难学习的)来开发与数据库链接的完整Web系统。另外,在intra-mart Accel Platform ,为了提高脚本开发模式的生产率和可维护性,进行了以下主要功能增强。
- 通过现代化JavaScript引擎实现高速
- 它变成一个简单的URL,并且很容易从其他系统链接到每个屏幕。
- 异常处理支持
- 添加验证功能
- 流支持文件处理(可以处理大容量文件)
- 提供新的数据库访问API(我实现了SQL语句传出机制)
3.2.2. 使用JavaEE开发模型进行应用程序开发¶
作为独立于OS和Web应用程序服务器的共享平台,使用JavaEE进行Web系统开发已经变得十分普遍。但是,由于JavaEE开发基于Java,因此门槛的高低成为一个问题,例如需要高级知识和经验(例如面向Object 以及需要JavaEE的先决知识。快来了此外,只要您遵守JavaEE开发规则,就可以自由设置其他任何东西对于初学者来说将是一个负担,这将使SE成为一种不同的开发风格。intra-mart Accel Platform ,使用JavaEE 框架 ( TERASOLUNA Server Framework for Java (5.x) )解决了这些问题,并且大大提高了JavaEE开发模型的生产率。
3.2.2.1. JavaEE开发框架¶
使用JavaEE在Web系统开发中有许多结构上通用的部分,利用这一事实可以大大提高开发效率。 intra-mart Accel Platform ,将JavaEE开发所需的所有通用流程都准备为JavaEE 框架 ,委托开发人员的部分是用于创建组件的表单。
3.2.2.1.1. 框架 JavaEE开发模型中使用框架优势¶
通过在JavaEE开发期间使用JavaEE 框架可以获得以下好处。
基于JavaEE的开发平台 隐藏了需要高级知识的部分,开发人员将应用程序逻辑创建为组件。即使没有任何先决条件知识,完整的系统也将是JavaEE模型的推荐类型,从而易于实现MVC模型(统一程序结构并提高可维护性)。 提高生产力 框架提供了所有共同点框架因此组件的可重用性提高了整个团队的生产力(通过组件团队共享和并行分布式开发缩短了时间)。 改善的可维护性 即使添加新组件也完全不会更改原始应用程序的机制。同样,当功能改变时,仅相关组件被校正,并且该机构对其他部件没有影响。 缩短测试过程时间并提高质量 不需要在测试过程中检查框架部分,并且很容易在出现问题时进行隔离。的DI 容器通过,测试模拟(模型,执行临时)和正式部件交换很容易,因此可以轻松使用模拟。但是,有一些规则使用该框架介绍。
确定每个组件的职责和要实现的内容。
通过遵循规则,在设计时无需考虑组件化和通用性的机制尽可能避免在一个组件中实现各种功能
太多的功能会降低程序的可读性,可维护性和可重用性。通过遵守这些规则,可以统一应用程序的结构,并由了解框架任何人维护。
3.2.2.2. Seasar2¶
注意
2016年9月26日,宣布将不再支持Seasar2。随着TERASOLUNA Server Framework for Java (5.x)的支持结束,建议在TERASOLUNA Server Framework for Java (5.x)开发intra-mart Accel Platform新Java开发。[参考]: [常见问题解答]“已经宣布对Seasar2的支持将在2016年9月26日结束。请向我们介绍intra-mart产品的政策。”
Seasar2是一个使用J2EE / JavaEE有效执行大规模开发的框架 ,它通过减少所需的配置文件以及分离和描述依赖关系来实现高效的程序开发。 。用于数据库访问的“ S2Dao”,用于支持与Struts 框架合作的“ S2JDBC” Struts,“ S2Struts”,“ SAStruts”(以DI 容器的 “ S2Container”和提供AOP功能的“ S2AOP”为中心)。已经开发并发布了各种相关软件和工具,例如用于动态Web 页生成的“ S2JSF”。intra-mart Accel Platform ,此Seasar2产品采用以下两个作为JavaEE开发框架 。
- SAStruts(超级敏捷支柱)
表示层(围绕屏幕) 框架 Wraps Struts是Web 框架事实上的标准,以使其易于使用。
- S2JDBC
Seasar2标准数据库访问框架 O / R Mapper的创建目标是将数据库编程的生产率提高10倍以上
3.2.2.2.1. SAStruts和S2JDBC的位置¶
注解
-
关于JavaEE蓝图
“示例”和“教科书”将示例应用程序描述为如何设计系统的示例,而不是在JavaEE应用程序开发指南中描述功能规范。 ”
3.2.2.3. 使用SAStruts和S2JDBC进行应用程序开发¶
在使用SAStruts和S2JDBC进行应用程序开发中,将创建诸如Action,Form,JSP,DTO,Logic,Service和Entity之类的组件,并根据以下流程处理来自客户端的请求请求。
组件名称 职责 动作片
- 接收来自客户的请求(表格)并执行业务逻辑
- 业务逻辑作为服务切出,并从Action中调用(也可以在Action中定义)
形式
- 屏幕输入信息存储
- Action接收请求参数的Object
- 等效于Struts ActionForm类
JSP
- 萤幕
- 生成在Action进行处理后转发并返回到浏览器的HTML
- 与SAStruts标记库,EL表达式,JSTL等结合使用。
EL表达式(表达语言)
可以用$ {〜}形式描述的表达式,简化了Object 访问JSTL(Java服务器页面标准标记库)
通过JSP2.0标准化的标签DTO
- 数据Object
- 存储除Form和Entity之外的数据Object
示例:屏幕显示Object ,搜索条件等逻辑学
- 业务逻辑
- 参考DTO(搜索条件)并致电服务(数据库访问)
服务专区
- 业务逻辑
- 与实体合作
- 定义数据库访问处理
Action在Action定义了它,则数据库访问过程将与该Action的过程混合在一起,并且源代码将被放大数据库共享和访问处理, Action从数据库用于切割访问处理部分的目的而创建实体 映射到数据库表的Object
3.2.2.4. TERASOLUNA Server Framework for Java (5.x)¶
TERASOLUNA Server Framework for Java (5.x)是NTT Data发布的Java开发框架堆栈。 ( http://terasolunaorg.github.io/ )框架栈由“ SpringMVC 4.1 + SpringFramework 4.1,MyBATIS3.2.8 + Common Libraries”组成,如下所示。