您所在的位置: 首页 > 操作系统 > 开源技术 >

不可不知:企业级开源软件大盘点(2)

  • 摘要:由于开源软件特殊的开发方式,使得这个领域真可谓百花齐放,以至于究竟有多少种开源软件,恐怕没有多少人能说清楚。本报评析实验室在开源专家的意见的基础上对其中颇有影响力的企业级开源软件进行了整理,以供读者参考。
  • 标签:开源  软件  盘点

Apache Geronimo
Apache Geronimo 是Apache 软件基金会的开放源码J2EE服务器,它集成了众多先进技术和设计理念。这些技术和理念大多源自独立的项目,其配置和部署模型也各不相同。Apache Geronimo能将这些项目和方法的配置及部署完全整合到一个统一、易用的模型中。

Apache Geronimo是由Apache Software Foundation(负责流行的Apache HTTP 服务器开发的团队)创建的一个开源的、认证的J2EE 服务器,它遵循ASF 2.0协议进行发布。作为 J2EE 服务器,Geronimo 可以部署和运行 Web 应用程序和企业应用程序。可以使用Java ServerPage(JSP)、Servlet、Filter 和Enterprise JavaBean(EJB)来构建应用程序。这个应用程序可以通过 Java Data Access API(JDBC)连接器访问外部RDBMS、通过Java Naming and Directory Interface(JNDI)访问目录服务,通过Java Message Service(JMS)访问事务性消息队列,通过JavaMail 访问电子邮件等。

在Geronimo中,考虑到JMX对大规模应用服务的性能和开发复杂度带来的影响,在后期使用了以控制反转(Inversion of Control)为基础的全新内核架构,这种架构有益于服务的插入,因为代码可以以服务逻辑为中心。要获得JMX 可管理性,只需要根据IoC 依赖性添加一些编码规范即可。这种设计也使得从Geronimo中的服务管理变得更简单。

Geronimo现在已逐步成为服务器端产品开发最有吸引力的容器之一。它丰富的功能集、无责任要求的Apache许可和随时可部署的、认证的J2EE 1.4容器等优势,使得它将成为JavaEE应用服务器市场的又一有力竞争者。

JFox
JFox 是由Huihoo.org开源软件社区推出的JavaEE应用服务器。为了简化EJB的开发,提高开发和部署的效率,在表达形式上做了一些改进,其目标是在规范和开发效率之间找到一个平衡,既尽可能遵循规范,又尽可能改变EJB开发缓慢、部署麻烦的现状,切实提供一个快速的J2EE平台。

它遵循LGPL协议进行发布。JFox应用服务器通过与国际知名开源组织,如ObjectWeb、Apache 等合作,充分发挥全球开源开发人员的资源和优势,使JFox逐步走向成熟和完善。并逐步进入商业应用领域。

JFox应用服务器在保证对J2EE规范兼容的前提下,提供了更多高级的特性:

◆采用增强型IoC 内核,并结合JMX的优势,支持基于Web组件管理;
◆采用动态代理调用框架,无需EJB预编译;
◆采用协议后决的调用方式在调用过程中可以动态改变调用EJB协议;
◆采用优化的调用链模型,提高服务端执行速度;
◆支持远程和本地调用自动切换,同一个应用服务器上的EJB之间的调用自动使用本地调用,无需实现本地接口;
◆高性能事务处理,JFox采用了先进的事务处理模型,提高了事务处理的调用性能。

Java版Web框架

Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现的。它已成为用Java创建Web应用的一个最流行的框架工具,Struts所实现的MVC模式给Web 应用带来了良好的层次划分,同时也提供了一系列的工具来简化Web应用的开发。

Struts通过提供一个中心化的Servlet来实现MVC中的控制器模式。Struts中的控制器提供集中请求转发功能,就好似一个路由器系统,解析来自客户端发起的请求,并将请求定向到对应的业务逻辑上,最后将业务逻辑处理得到的结果展现到对应的视图上。通过这种模式,它将控制器与视图逻辑进行了较好的分离,使得应用系统能更快适应业务逻辑的变化。在视图技术上,Struts不仅限于JSP,同时可以与XML/XSLT、Velocity等技术进行结合。这些丰富的标签库为加速应用开发提供了更为快捷的途径。

Struts框架也为用户提供了极为丰富的开发文档,同时Struts相关的书籍也大量上市,这为开发人员学习和使用Struts提供了可靠的保障和支持。Struts经过多年的发展,已经拥有大量的开发者群体,这些开发群体使得Struts的开发和改进工作得到不断的支持,Struts框架因此具备更为长期和稳定的发展潜力。

WebWork
WebWork是由OpenSymphony组织开发的、致力于构件化和代码重用的拉出式MVC模式J2EE Web框架,它以其精巧、灵活、功能强大而闻名。WebWork 2.x早期是由著名的开源专家Rickard Oberg开发完成, 随着技术的演化,WebWork项目现在被拆分成两个单独的项目Xwork1和WebWork2两个项目。 Xwork是一个标准的Command模式实现,完全从Web层脱离出来。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。在WebWork 2.2中添加了对AJAX的支持,这支持构建在DWR与Dojo这两个框架的基础之上。

WebWork与Struts的不同表现在以下一些方面:

◆线程模型
Struts 的请求只有一个实例去处理,这使得所有资源都必须保持同步,会产生线程安全的问题。在WebWork的实现中,每一个请求对应一个Action, 每一个处理都是相对隔离,不会产生线程安全的问题。
◆容器外测试
Struts的Action依赖ServletRequest和ServletResponse,因此进行单元测试时必须依赖容器本身。WebWork2中的Action不依赖任何容器,可以较好地进行容器外测试。
◆Action的控制
WebWork提供Action拦截器处理机制,允许在每一个Action前后进行其他操作。

WebWork用户群体较小,相关的文档资料和支持工具也较少,比较适合技术能力较强的开发人员使用。

EasyJWeb
EasyJWeb是基于Java技术、应用于Web应用程序快速开发的MVC框架,框架设计构思来源于国内众多项目实践,框架充分借鉴了当前主要流行的开源Web框架 (Struts、Webwork等),吸取了其优点及精华,利用Velocity作为模板页面引擎,是一个实现了页面及代码完全分离的MVC开发框架。EasyJWeb具有以下几个特点:

1.零配置文件支持
EasyJWeb实现零配置支持,可以不写一句配置文件就在框架基础上构建运用(适合小型网站系统)。
2.简易的模板页面设计支持
放弃使用JSP,使用简单Velocity脚本语言作为页面模板。
3.页面程序完全分离
实现显示与程序逻辑的完全分离,克服了传统JSP页面难于维护的问题。
4.基于页面组件的框架
灵活的页面组件配置可以直接通过配置文件设置字段级的事件组件。
5.快速开发支持
通过EasyJWeb Tools,可以自动生成应用软件模板代码,定制并管理自己的J2EE代码模板。

EasyJWeb是本次Web框架中推荐的惟一来自中国开源社区的一个,是一个能实现中小型Web应用系统快速开发的简易Web框架。尽管没有能够同Eclipse结合的插件,而是使用自己的一套开发工具,但在国内有一定影响力。


共4页: 上一页 [1] 2 [3] [4] 下一页
【内容导航】
2008年第6届OpenOffice.org世界开源大会
2008年上半年IT技术图书阅读排行大盘点
开源虚拟化技术Xen
Sun以10亿美元并购开源数据库厂商MySQL
2007盘点专题:有多少盘点值得回味?
 
 验证码: (点击刷新验证码)   匿名发表
  • .NET程序员面试指南

  • 作者:朱毅
  • 本书着重针对.NET技术职位的应聘者,在.NET框架各个技术类别中,选取最常出现在.NET面试中的问题,进行分析和解答,同时解释和..
Copyright©2005-2008 51CTO.COM 版权所有