EOS兑现原理分析

EOS实现原理分析

     EOS6.x的可视化环境下开发的结果是得到了一堆实质为xml的各种文件,包括页面流和逻辑流等,这些文件时怎样被执行的呢?

     当发布我们开发的应用并启动应用的时候(也许不是很恰当,大家可以结合自己的理解),这些扩展名不同的xml文件会被编译为java文件。以Eos6.x培训教程中的helloWorld为例,主要得到2个文件helloworld_flow.java文件和helloworld_biz.java文件,这两个文件推测应为servlet。
    
     系统运行时,EOS6的InterceptorFilter会拦截http请求,将对页面流的调用会转为对helloworld.java的调用;对逻辑流的调用会转为对helloworld_biz.java的调用。此两个文件中,把页面流和逻辑流的各个节点都转变为了类里的方法,并形成了一个基于Class的简单有限状态机模型(姑且这么称呼吧,也许不是状态机),并能自动推动页面流和逻辑流从一个节点到一个节点的执行。当然,过程远远比这些复杂的多。