经过Adobe的苦心经营,flash已经从一个制作动画的“小工具”,发展成为一个技术平台,从而足以支撑Adobe RIA 的构想。从下图可以看出,整个flash平台中包含了服务器应用、客户端技术、与其他技术体系的整合以及多种开发工具,成为一个独立的技术体系。
如何恰当地运用flash技术?需要考虑flash出现的技术背景以及Adobe针对flash的定位。Flash platform并不是“重复发明轮子”。下图是典型的J2EE多层架构。J2EE是一个全面的企业级应用架构解决方案,在客户端包括Applet、Webstart、JavaFX技术并能开发独立的应用;在web层提供了jsp和servlet技术;在应用层使用EJB存储业务对象或处理业务逻辑。
尽管J2EE取得了辉煌的成绩,但是Java在客户端方面没有太大的建树。而且人们对界面的过分要求成了html难以承受之重,甚至导致了对http的大量误用。界面开发者苦不堪言。在这种背景下,micromedia提出了一种即可以象web应用那样轻松部署、又具有良好的用户体验的应用,即RIA(Rich Internet Application)。
RIA模糊了C/S和B/S之间的界限,使得应用程序能够快速部署、充分利用互联网资源,同时具有强大的功能、良好的交互性、丰富的界面和快速的响应。Flash就是这样一种技术。使用flash player 或 AIR作为前端界面,并连接专用的或集成的web层来构建应用。
从adobe的flash platform “Big Picture”中,我们很容易得出flash构建应用的方式,如下图:
与j2ee多层架构进行对比不难看出,flash platform在企业级应用中的定位是构建应用的前端界面,为企业级应用提供更好的用户体验。