用Javascript搭建企业级web应用
——从intra-mart说开去
2011-7-27@南京
By 蒋彪
前段时间,因为一个项目,被责成调查日本主流的一个企业级应用开发框架:intra-mart
这个框架,集成了开发工具,resine/jboss的服务器,日本本土化的类spring开发框架和针对常用业务系统封装的开发组件.
并且,在开发架构层面,intra-mart还提供了两种开发模式,一种是常见的JavaEE开发模式,还有一种灰常诡异,是javascript开发模式。
一开始,我以为这是日本人独特的变态技术,后来我才发现,原来JS的应用级开发居然遍地开花,并且有着悠久的历史。。。
图:intra-mart的技术架构图
在谈及JS企业级开发之前,我想先提提到底什么是企业级Web应用。
我对企业级Web应用的定义是:
以网络通讯和网络协议为主干(不局限于http)的,分布式的,实时性的大型应用 |
比如,我们抛开技术框架,抛开技术语言,一个以http协议为骨干的web应用是不是就应该是这样的:
如果这一切是用java来搭建,免不了充满了架构分层,配置文件,前台无论你用jsp,jsf,有几个问题都是重要的,难以解决的:
1. 华丽的网站,一般都是由专门的美工人员用html制作。难道有直接可以使用纯html直接挂上后台代码的?
2. 如果用java完成,那必须选用合适的技术框架,一般的技术框架都牵涉到大量的分层,配置,对于大型展开,快速开发不啻为和一个噩梦。
用javascipt做后台开发语言,那么效果如下:
比如,我们拿intra-mart Sample里面的一个发邮件的程序举例:
整个邮件的发送只有两块,一个是前台的静态html,一个是后台js文件
很多人也许会跟我一样好奇,为什么javascript可以做后台开发语言,这一切都是怎么做到的呢。
其实,这一切都是基于一个名为<Rhino>的开源框架。
所有在后台编写的javascript,最后会被该框架编译成java程序。最终还是以java的方式运行。
但是,js的简单性和便捷性是绝对的优势。
因为篇幅就不展开,具体可以参考以下资料:
http://www.ibm.com/developerworks/cn/web/wa-aj-javaee/index.html
还没有完,intra-mart虽然是个收费产品。但是intra-mart把自己关于js开发技术的东西开源了。
按照这个框架开发的war包,可以轻松部署到resine服务器上。
有兴趣的可以访问以下资料:
http://oss.intra-mart.org/projects/im-jssp/wiki
#以上#