EOS是一个涵盖从Web应用的设计、开发、部署到系统上线后管理与监控的一体化面向构件的中间件平台。
EOS产品的使用场景主要包括系统设计、开发、部署、系统管理与监控。在这些场景中,设计和开发场景在EOS Studio中提供,部署和管理监控场景在EOS Governor中提供。针对本教程的案例,推荐的开发过程如下:
1. 创建项目
作为一个应用系统运行的功能模块放在同一个项目中进行开发。项目开始是要创建一个空的EOS项目,然后再进行构件包设计。EOS Studio也提供了示例项目,可以作为开发过程中的学习参考。
2. 构件包设计
构件包设计主要是针对整个系统的子模块进行划分。在系统设计视图中,设计人员可以将一个系统划分成若干构件包,并且可以设计构件包间的依赖关系。在构件包设计过程中,业务人员可以抽取出一些可以重用的构件包。比如将系统的所有数据实体放置到一个构件包中,将一些通用的服务放置到一个构件包中,将以前项目的构件和服务的复用进行设计与规划,提供复用构件包等等。
3. 数据建模
数据模型是构建一个业务系统的基础,在进行具体的构件设计前,需要首先设计系统的数据模型。设计人员可以直接在EOS中进行数据实体设计,然后通过EOS创建数据库表的功能生成数据库表;另外一方面,设计人员也可以先通过其它数据建模工具创建数据库表后导入到EOS6系统中。
在EOS6中数据模型由三种类型的数据实体组成:非持久化实体、持久化实体和查询实体。在数据建模的视图中,可以设置实体间的关联关系、设置实体和数据库表的映射关系、将一个查询SQL语句映射成一个数据实体、根据数据库的Schema生成数据实体。
另外,还可以通过在数据实体中定义每一个实体属性的录入方式和显示方式,来定义数据在页面上的展现方式,如:采用哪种控件类型,取值范围的要求,以及数据校验的规则等。
4. 页面流开发
页面流由一系列页面、从这些页面发出的用户请求,以及系统为响应用户请求而执行的逻辑处理所构成。它不仅描述了页面之间的流转关系,同时也定义了从一个页面可能发出的用户请求,以及对这些请求的响应行为。依据自顶向下的设计思想,可以通过页面流将所要实现的业务功能描述出来,帮助理清思路。
5. 页面开发
EOS提供了一系列富客户端控件,并提供了常用的组合控件向导,开发人员可以基于这些控件非常快速的构建页面。通过页面流生成jsp页面的功能可以快速生成所需的页面。
6. 逻辑流开发
EOS6在逻辑层的开发包括两种形式,一种是逻辑构件开发,一种是普通的Java开发。EOS6提倡采用逻辑构件来开发应用。一个逻辑构件相当于一个Java类,逻辑构件是由多个逻辑流组成的,一个逻辑流相当于一个Java类里面的方法。逻辑流开发是利用EOS6提供的基础构件库,通过图形化的构件组装来实现应用的后台处理逻辑。
7.部署调试
EOS6的部署调试提供了开发期的开发资源部署和调试功能。开发人员能够通过部署功能将整个项目、构件包和所需的开发资源文件部署到服务器上,并通过逻辑流和页面流的调试功能调试跟踪每一个业务功能的执行过程,开发人员可以借助调试功能完成每个逻辑流和页面流的单元测试,保证逻辑运行和页面流转的正确性。
8. 功能打包
系统开发完毕后,可以通过EOS6提供的导出部署包的功能将开发的构件包导出成部署包,供上线实施时使用。对于已上线的系统,可以将修改和增加的内容导出生成补丁包,在EOS Governor中对系统打补丁或进行升级。
9. 部署实施
项目实施和管理人员可以通过EOS Governor进行服务器、应用系统的配置管理,部署应用和构件包,完成系统的上线实施。在实际开发过程中,其中的步骤不一定是严格按顺序进行的,很多情况下是交互进行的。在开发模式上,EOS6支持自顶向下、自底向上、迭代开发等开发模式,开发和实施人员可以根据项目的实际情况灵活执行这几个步骤,完成应用系统的开发和实施。