




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 EOS原理1.1 EOS与J2EE1.1.1 EOS与J2EE的关系J2EE:是提供了一套多层分布式计算体系规范EOS:EOS可以看做是一个构件化的虚拟层,是对J2EE的每个层次做一个构件化的解析,EOS不是取代J2EE,而是对J2EE的各个层次进行翻译。如下图所示:1.1.2 EOS与J2EE Application ModelJ2EE Programming Tasks页面展现端的工作编写JSP页面FORM请求的servlet或者action修改web.xml或者其他xml配置文件业务逻辑的编制工作Session BeanEntity BeanSQL语句EJB配置文件J2EE Application Model如下图所示:EOS Application Model如下图所示:1.1.3 EOS与MVC的关系EOS构件运行管理环境是基于MVC结构实现的,并在Model层做了扩展,把Moble层次封装成业务层(业务引擎)和数据层(数据引擎),实现业务与数据的分离,大大提高总体架构的复用性和可扩展性,EOS集成开发环境对EOS的MVC结构各层次构件提供了可视化构件开发和组装环境。具体如下图所示:1.1.4 EOS与Struts的关系EOS 在展现层参考了Struts的结构,下图是标准的struts结构。下图为EOS的结构1.1.5 实现过程的对比传统互联网应用的实现过程普元EOS的互联网应用实现1.1.6 构件技术对比传统构件技术:传统的构件技术都是基于方法(函数)接口的构件技术,构件提供的接口方式都是基于对象的接口,这样各构件之间不具备任意相互连接的功能。构件之间的接口定义变的异常复杂,很难维护,复用度较低。如下图所示:EOS构件:EOS的构件的接口是数据式接口,每个构件与数据总线相连接,进行数据交换,这些就避免了构件间复杂的数据交换,使得构件接口变得非常简单。如下图所示:1.2 EOS总体结构图1.3 EOS产品构成1.4 EOS运行机制1.4.1 EOS基本运行流程1、页面的表单(Form)通过提交(Submit)后,通过HTTP通讯协议传到WEB服务器上,WEB容器将获得的表单数据以及调用对象传递给展现引擎2、展现引擎将表单(Form)数据转换为数据总线上的RequestContext数据区的内容,其中表单输入域(Input)的Name以xpath的形式映射成RequestContext数据区的节点路径,输入域的值(Value)则成为节点的值。同时,展现引擎将根据表单(Form)的Action获得对应的展现逻辑调用路径,根据展现逻辑的逻辑调用顺序找到第一个处理节点进行处理,如果处理的节点是调用一个业务逻辑,则将业务逻辑路径以及业务逻辑需要的数据传递给业务引擎3、业务引擎将展现引擎传递的信息产生BizContext数据区,通过是根据对应的业务逻辑的运算逻辑进行依次的调用,调用过程中,只能对BizContext的数据进行操作,每个运算逻辑实际就是一个java方法,例如取当前日期时间、设置数据区中节点的值等4、当业务逻辑中执行某些进行数据库处理的运算逻辑时,将由数据引擎根据指定的数据区某个位置(通过Xpath指定)的数据和指定的操作动作(如分页查询)结合对应的数据实体的定义实现对数据的存取。5、运算逻辑完成数据库的处理或者计算处理后,相关的信息将在BizContext数据区中得到体现,执行权将交回给业务引擎,业务引擎将根据业务逻辑的调用关系执行接下来的其他运算逻辑,直到最后执行完成,在整个业务逻辑运行过程中,是共享一个BizContext的数据区的,也就是前一个操作对数据发生改变后,后一个操作就可以直接使用。业务逻辑调用完后,如果要将某些信息输出到展现逻辑的数据区,必须对业务逻辑进行输出的接口设置。6、业务逻辑执行完成后,又将执行权交回给展现引擎,由展现引擎判断展现逻辑接下来的执行动作,直到最后定位到一个页面。同样,在整个展现逻辑执行过程中,共享一个RequestContext的数据区,前一个业务逻辑调用后如果存在返回,将改变RequestContext的数据区内容,后一个操作就可以直接使用,最后,RequestContext的数据区内容都将输出到页面7、JSP页面通过Tag的方式将数据呈现到浏览器客户端的用户界面上。 1.4.2 EOS构件引擎的运行原理1、从浏览器发起HTTP请求,提交到展现引擎。2、展现引擎将请求转换为XML,并根据HTTP请求(构件包.构件.构件逻辑.do)确定被调用的展现逻辑,转到处理展现构件描述的展现逻辑。3、根据展现逻辑流程中定义的业务逻辑,传入业务引擎,并且送入相关的XML数据。4、业务引擎根据调用的业务逻辑中的流程调用相关的运算逻辑。5、对于需要访问数据库的操作通过数据引擎(Data Service)根据数据映射调用相关的数据库,在调用过程中根据流程中定义的Transaction进行相关事务处理。6、业务引擎处理完业务逻辑流程后返回相关数据给展现层。7、展现引擎根据展现逻辑定义的视图,将HTTP请求转发到指定的视图(JSP),并且送入处理完的XML数据。8、视图(JSP)中有EOS的TAG库来获取相关的XML形成HTML返回给浏览器。1.5 基于XML总线实现EOS应用的数据流在EOS应用中,结合J2EE WEB应用的特点,将运行时的数据根据不同层次和作用范围以XML格式被独立封装到3个不同的内存数据区中。分别为会话数据区(SessionContext)、请求数据区(RequestContext)和业务处理数据区(BizContext),这几个数据区就构成了EOS的数据总线。如下图所示:通过以下表格对各个数据区的特点进行总结:数据区类型作用范围数据来源数据流向生命周期RequestContextJSP页面、展现逻辑1)页面表单提交数据2)SessionContext传入3)从业务逻辑数据区BizContext返回1)输出到页面2)传入到SessionContext3)传入到业务逻辑BizContext基于HTTP的请求建立,在Respone后生命周期结束BizContext业务逻辑1)展现逻辑的RequestContext传入1)返回到调用的展现逻辑RequestContext在业务逻辑被调用时建立,在调用结束后生命周期结束SesssionContextJSP页面、展现逻辑1)展现逻辑中设置2)页面通过API接口设置1)输出到展现逻辑RequestContext2)输出到页面在一次WEB会话建立时创建,在会话结束或超时时生命周期结束1.6 数据单位数据单位(Data Unit)是EOS系统的基本数据元素,应用可以操作这些数据单位来完成相应的业务逻辑运算。数据单位包括:Element、Entity(EOSEntity)、Field(EOSField)、list(EOSEntityList)几种。其中Element是XML的数据结构,它是通用的数据单位,能够被业务逻辑自由处理。而EOSEntity、EOSField与EOSEntityList均是EOS系统中定义的数据结构,他们在XML数据中都以Element的形式存在。1、EOSEntity表示有意义的数据实体,它在一定程度上相当于Java语言中的对象(Object)。每一个EOSEntity在XML数据总线中可以通过唯一的XPath标识出来;同时它包含有EOSField来代表一定的数据,相当于对象中有一些状态(state);但是EOSEntity仅仅含有数据的实体,它并没有任何动作行为。2、EOSField是EOS系统中数据最基本的组成单位,它包括名称与相应的值。如果EOSField所在的EOSEntity可以与数据库实体进行映射,那么EOSField就可以与数据库实体中的字段(column)进行映射。当然由于EOSField在XML中也是以Element的形式出现,因此它允许有不同的属性(Attribute)。3、EOSEntityList是EOSEnt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业灌溉智能化升级2025年农业现代化进程研究报告
- 分项工程方案编制(3篇)
- 农业温室建设项目2025:技术创新与产业布局研究报告
- 地铁工程检测方案(3篇)
- 农业无人机租赁行业创新技术应用与2025年市场前景展望
- 放心餐饮工程建设方案(3篇)
- 2025年度医护人员针对性普法知识考试题库及答案(共九套)
- 牧场安全生产培训会简报课件
- 聊城教资面试题库及答案
- 安全教育培训销售课件
- 网络传播概论(彭兰第5版) 课件全套 第1-8章 网络媒介的演变-网络传播中的“数字鸿沟”
- 蚂蚁搬家游戏活动方案设计
- 配电终端功能构造
- 融资风险评估报告
- 画法几何及土木工程制图课件
- 第2课 树立科学的世界观《哲学与人生》(高教版2023基础模块)
- 2023免拆底模钢筋桁架楼承板图集
- 云计算技术基础应用教程(HCIA-Cloud)PPT完整全套教学课件
- 成人学士学位英语1000个高频必考词汇汇总
- 全屋定制家居橱柜衣柜整装安装服务规范
- 沥青及沥青混合料试验作业指导书
评论
0/150
提交评论