作者:杜玄
1.引言
在以因特网为基础的企业应用中,穿越防火墙是企业应用系统必须面对的问题。而Http协议是唯一一个可以在因特网中自由来往的协议,防火墙只有对Http访问是透明的,其它协议都会被挡在防火墙之外。Web Service正是基于这个原因,采用Http完成异构企业应用在因特网上的整合。本文提出一个方案,可以使基于Java平台的企业应用不必等待Web Service的渐渐成熟,而利用Java隧道技术实现在因特网上的企业应用部署。
Java隧道技术不是一个新的技术,它是Java对象序列化和Web技术的结合。2001年笔者就曾经做过基于Java隧道的试验。关于Java Servlet的书籍也有对Java隧道技术的相关论述(参考文献[2])。本文首先回顾一下Java隧道技术的基本原理,再通过一个实例来实现它。以此为后面的Java隧道回调技术和基于Java隧道技术的因特网通讯打下基础。
本文的内容可以用于Java Web Start客户端在因特网上的部署,可以用于利用因特网互连的Java应用服务。
2.Java隧道通讯
Web Service技术中的SOAP协议(Simple Object Application Protocol),简单的说是把对象用XML来序列化和反序列化的协议。XML表述的好处就是平台的独立性,不管对象在不同的平台中表现的形式是什么样的,最终都可以用XML来实现对象的互换。并且,基于Http协议的Web Service可以穿越防火墙。 Web Service技术整合因特网上的应用是它的强项。Web Service技术是一个很好的创意,包括IBM,Microsoft,Sun等公司都极力推出自己的相关产品。我们可以说,在未来的异构平台的集成,B2B应用中,Web Service将发挥重要的作用。
然而,对于Java平台的企业应用,你可以用W