什么时候在EJB系统中使用XML
XML是一个非常流行的词,我们现在来讨论XML在EJB开发中的适用性。
XML适用于以下几种情况:
1.作为对legacy系统的接口。如果你有数目巨大的legacy系统,或者你有一个很大的恐怖的的legacy系统,然后你将需要查看你从legacy系统收发的数据,这时候XML可以帮助你。不是去收发那个legacy系统能够懂的合适结构的数据,而是你能够为那个legacy系统发明一种XML facade。那个facade从EJB组件得到XML输入,然后把XML映射成那个legacy系统支持的合适结构。当那个legacy系统对你的EJB应用系统返回数据时,那个XML facade转换legacy数据成能被你的EJB应用程序懂得的XML数据。这对处理J2EE应用的商业分析员也很有用。他们能用XML来帮助操作数据映射,而XML是一种很容易懂的技术。
2.作为一种文档持久性机制。当你将大量的文档(如新闻报道,文章,书本,等等)持久化,把他们用XML表示是合适的。
3.作为一种web service的接口。EJB组件能被封装成一种web service。XML成为在web服务之间传输的在线数据格式。我们有一个怎么去构建基于web service的J2EE的白皮书,也有怎么从另外一个J2EE系统调用web service的资料,在www.theserverside.com。
有一个重要情况XML不是很有用,那就是EJB组件之间通信的在线格式。这个想法不仅仅是应用程序组件互相发送合适的数据而是组件之间能通过把XML作为参数互相传递来互操作。因为数据使用XML格式,每个组件能检查XML文档来决定什么数据被收到。虽然有些基于J2EE的流程解决方案使用这个方法,XML并不适用于EJB组件之间的通信,原因是性能问题。解析XML文档需要时间,通过在线传输XML文档需要更长的时间。为了高性能的企业级应用,在运行时或常规操作中使用XML代价太高。当XML解析器变得更高效,当人们开始使用文本压缩去在线传送XML文档时,性能负担慢慢的变得不那么重要。然而这仍然是许多系统的瓶颈。
另一个重要的不去使用XML的原因是因为他通常不需要被应用。假设
一个 单独的机构写出了所有你的EJB组件,XML可能不会被怎么使用,
因为很少需要在不同系统之间进行数据映射,既然你控制对象模型。