揭开Java2的面纱
Java2企业版有两个主要部分:一个是应用表示功能,诸如生成或格式化HTML文档,另外一个是后端商业逻辑部件的设计和数据连接功能(请看图)。
在表示层,Java2企业版规定了两种同网络服务器进行交互的方式: JSP (Java Server Pages)和Java servlets。
对于网络应用开发者来说,JSP代表了一个重要的方向,因为JSP很容易使用,JSP是包含Java代码的HTML页面,它类似于微软的Active Server Page。这个方式比传统方式更为简单,传统的方式是使用Java输出函数把HTML文档发送给网络客户。
Servlets在Java世界中早已存在, Java2企业版只是在Java网络开发策略中,维持了它们原先的作用和地位。
Servlet是个单独的Java程序,当网络客户请求一个特定的HTML页时,应用服务器或者网络服务器就会运行该程序。构造servlet比构造JSP需要更多的Java技巧。但是, servlets更具有灵活性,对于中等规模的应用程序来说,更为适合。不少应用服务器已经支持servlets。
在后端,Java2 企业版提供了EJB(企业级的JavaBeans)来实现更为复杂的任务。EJB是可重用的Java 商业逻辑部件,诸如保险计算和客户帐号更新例程。
Java2企业版需要得到即将公布的EJB 1.1标准的支持,该标准包括一个称为entity beans的新类型。同EJB 1.0中的 session beans相比, entity beans在Java对象和关系数据库之间提供了更为紧密的结合。
要得到EJB 1.1的支持,尤其是支持entity beans,如果这个问题不能解决,Java2企业版将不能被人们广泛地接纳。尽管entity beans可以用在一些应用服务器上,诸如Sun公司的NetDynamics, BEA系统公司的WebLogic和 Bluestone公司的Sapphire/Web,但从总体上来看,对entity beans的支持是不完善的。
在这个问题上,Sun没有作好它应该做的工作,这是个失误。Sun公司在去年发布了EJB 1.0标准的同时,并没有对该技术的实现进行验证,没有对该技术的可行性或者兼容性进行测试,以保证同类产品具有互换性。结果是,应用服务器厂商不得不自行进行复杂的编程,以便让EJB工作,于是就使得客户对不同厂商系统之间的互换性问题感到头疼。
Sun 公司官员称:EJB 1.1标准修补了1.0标准中的缺欠之处,关于EJB服务器产品和EJB兼容性测试的套件将在Java2企业版最终标准出台后推出。
我们建议:目前开发EJB的公司应做好重新编程的准备,一旦最终标准确定下来之后,就可以进行重新编程。重新做的工作至少是重新编译EJB,以及根据最新标准重新配置EJB。
据Sun公司称:完整的EJB 标准将体现在EJB 2.0 的版本中,预计它将在明年后半年推出。