我们可以从普元EOS学习到什么
(考察的是程序员的sql 功底,基本上复杂一点的业务都是用存储过程,函数处理的,eos无非就是页面流,逻辑流,负责调用命名sql,查询实体,所有的业务,只要你的sql出来了,业务就出来了)
一、普元EOS架构
一个WEB页面可以分解成输入数据,页面导航、操作动作,输出数据,页面展示,后台的数据传递几个部分。
输入数据:由页面输入,待操作的数据
页面导航:由哪个页面输入,操作完后显示哪个页面
操作动作:具体要操作的动作,对数据的处理
输出数据:输入数据处理完后返回的数据
页面展示:各种页面风格的展示
普元EOS系统将WEB应用的开发抽象成6类构件,它们分别是:数据构件、展现构件、业务构件、运算构件、页面构件、流程构件,构件间的数据传递通过数据总线。
输入数据、输出数据:封装成数据构件,数据实体层的封装
服务端展现:封装成展现构件,servlet层的封装。
服务端业务:封装成业务构件,EJB层的封装。
数据库操作服务:封装成运算构件,具体运算逻辑层的封装
页面展现:封装成页面构件,jsp页面层的封装。
业务流程数据传递:封装成数据总线
普元EOS构件化的程序架构如下图:
普元EOS引擎服务使得构件串连起来,如下图:
展现构件的开发
展现构件将业务逻辑构件和页面构件串连起来,EOS引擎将对它们解释执行。
展现构件的元素有:
业务构件的开发
业务构件将运算逻辑构件串连起来,EOS引擎将对它们解释执行。业务逻辑构件的元素有:
运算逻辑构件的开发
运算逻辑构件是EOS中最底层的构件,其实就是普通的java类,是真正需要编码的构件。普元提供了大量可复用的与业务无关的运算逻辑构件,具体应用系统只需要专注于业务逻辑的开发,可以见得编写运算逻辑构件将是具体应用的主要开发工作。
运算逻辑构件的元素其实就是类的方法,普元约定它是类的静态方法,约定的参数有Document doc, BizContext param,前者封装了总线数据,后者封装了方法需要的参数数据。
数据构件的开发
数据构件就是数据实体,它封装了不同数据库的差异,具体应用可以不必关心具体数据库是什么,在EOS中它以对象的形式存在。数据构件的开发只需要导入即可,如下图。
页面构件的开发
就是普通的JSP页面开发,关键是要设定JSP页面与数据总线、展现构件的绑定。
基于普元EOS应用的目录结构
三、普元EOS核心之关键
1.构件化
系统即构件,系统由不同的构件组合而成,不同层次的构件分工明确、职责分明,小的构件可以组合成一个大的构件,以利于系统最大程度的复用。
2.数据总线
数据总线将构件间的数据传递变得清晰而简单,数据总线可以看作是他们的中介系统,构件只需要关心我需要给什么数据给总线和从总线上获得什么数据,而不必要关心数据到底是传递给谁,数据总线将构件间的耦合降为了最小。
3.平台和引擎服务
普元EOS开发平台基于Eclipse搭建,并支持构件化的开发与调试。EOS构件需要引擎服务的支持,没有引擎服务的构件将只是个驱壳,引擎服务好比作普元EOS的发动机。引擎服务将6类构件灵活组合起来,并给予构件可运行的条件。
4.数据实体
普元EOS数据构件基于hibernate技术实现,以面象对象的方式表示数据,并能够做到应用与具体数据库无关,隔离了数据库的差异,使得数据库应用的开发和维护更加容易。
5.构件的灵活组装
构件间的组装是需要引擎服务支持的。在普元EOS中, 业务构件可以组装多个子业务构件和多个运算构件。展现构件可以组装多个子展现构件、多个业务构件、多个页面构件等等。构件的动态组装技术给程序带来了足够 灵活性和可维护性,具体应用的开发更多地只需要关心与业务相关的底层构件编写,它们是搭建更大粒度构件的基础元素,只要底层构件没有变化,系统就不需要编 写代码来适应变化,只需要重新组装现有构件适应变化就行。
6.基于J2EE技术
页面构件基于JSP技术,展现构件基于Servlet,业务构件基于EJB,运算构件就是普通的Java类,数据构件基于Hibernate技术。
7.基于中间件的开发模式
http://ygguojian.popo.blog.163.com/blog/static/415840812007112595959969/