主权项 |
1、一种应用服务器平台的实现方法,其特征在于:1)服务器对请求的处理:a、首先当一个应用即一个jar文件部署到服务器上之后,服务器通过应用的部署描述信息确定应用的种类为实体、会话或消息驱动bean;b、服务器通过部署描述符和反射机制获取输入的jar文件的元信息;c、服务器通过xml解析器分析元信息,将元信息添加到服务器已经定义的不会随应用类型变化而改变处理过程的模版文件中生成EJB实现类;d、服务器通过操作系统调用java开发工具中的javac过程编译生成的EJB实现类得到类文件;e、服务器通过操作系统调用java开发工具中的rmic对得到的类文件生成相应的stub和skeleton文件,并保留生成的stub和skeleton的源文件,将这些文件保存在一个临时文件夹中;f、服务器在stub和skeleton源文件中每个方法调用的前、后根据元信息当中描述的事务类型加入相应的事务代码,并根据元信息当中描述的安全信息加入安全处理代码;g、服务器通过操作系统调用java开发工具中的javac过程编译事务代码及安全处理代码,得到新的类文件;h、将生成的新的类文件加入到应用的jar文件当中;i、服务器根据应用的元信息中描述的类型用工厂方法建立容器;j、使用工厂方法为新建立的容器生成一个实例池,同时根据jar文件中的EJBObject类生成应用的实例EJBObject对象,将这些实例存放在实例池当中;k、服务器根据jar文件中的EJBHome代码生成EJBHome对象,等待客户调用;2)当网络客户访问服务器的时候,经过以下步骤实现请求a、客户从互联网上通过网页提交请求;b、在web容器接收到请求之后,提取需要处理的信息,将这些信息交给应用服务器;c、应用服务器在收到请求调用之后,将请求通过容器交给EJBHome对象;d、容器从实例池中取出EJBObject对象,并将控制权交给EJBObject;e、EJBObject对象执行安全和事务的处理代码,处理过程结束之后,由容器将控制权交给ejb实例,由ejb实例进行实际的运算过程,并得到最终的结果;f、将EIBObject放回实例池;g、通过EJBObject将结果发送给客户。 |