企业级开源软件大盘点由于开源软件特殊的开发方式,使得这个领域真可谓百花齐放,以至于究竟有多少种开源软件,恐怕没有多少人能说清楚。
本报评析实验室在开源专家的意见的基础上对其中颇有影响力的企业级开源软件进行了整理,以供读者参考。
Linux 操作系统Red HatRed Hat Enterprise Linux(RHEL)作为红帽家族的服务器成员,提供了功能较为强大的操作系统和企业架构方案。
它使用开放源码的Linux 2.6 内核,使得平台稳定性和成熟性较以往有所增强。
RHEL采用了大量成熟的开放源代码技术,如SELinux和Firefox等,同时特别针对桌面应用进行了改善,能较好地满足企业安全性和兼容性的要求。
系统在新文件系统、即插即用硬件设备的支持以及用户和服务管理方面较以前版本有了显著的提高。
RHEL的缺点是带有一些不标准的内核补丁,使得它难以按照用户的需求进行定制。
Red FlagRed Flag Linux Desktop 5.0(产品代号为Apatite)是一个稳定、易用的个人桌面系统,系统安装过程简单直观,提供了较完善的系统管理工具和图形图像、多媒体应用以及网络应用方面的多种应用软件。
系统采用Linux 2.6内核,为用户提供了一个比较稳定而且高效的使用环境。
系统能够较好地支持主流PC硬件设备和目前发展迅速的蓝牙通信技术,能较好地支持蓝牙设备和系统之间多种数据的无线互传。
不足之处在于系统在桌面的美观程度、常用工具的易用性以及联机帮助和用户手册汉化等方面还需进一步加强。
拓林思拓林思(Turbolinux)对产品的稳定性、高效性以及安全性方面进行了特殊加强,Turbolinux 10一直严格遵循该领域的相应标准CGL(carrier_grade_linux),通过了LSB 1.3 标准的完整测试,可以很方便地移植符合LSB 1.3 标准的软件。
集成了完善的系统级开发环境和高效、稳定的开发工具,开发型用户不需额外购买即可实现二次开发。
同时该产品的易用性显著增强,可以为企业级数据库和大型商业软件提供高效的系统平台,支持24×7 不间断的全天候工作方式。
基于对Samba、NFS 等各种技术的完全支持,可以与现有的各种操作系统实现互联互通,协同工作,不但保护了用户的前期投资,同时也降低了系统整体部署的成本。
共创共创桌面Linux(Co-Create Desktop Linux)2005是一个适合普通用户使用的桌面操作系统,它为用户提供了较稳定、高效的计算机使用环境。
系统采用开放源码的Linux 2.6内核,提升了Linux作为桌面应用的性能。
采用类Windows 的界面风格和鼠标与快捷键操作方式,桌面与菜单简洁实用,方便了用户操作。
系统还提供了较为丰富易用的系统管理工具以及浏览器、电子邮件、网络聊天工具、多媒体软件等多种应用软件,采用了具备中英文混合输入及智能联想输入能力的“共创中文输入法”,形成了较完整的办公应用环境。
不足之处是系统在硬件设备的支持能力、常用大型软件的支持能力和X窗口的稳定性等方面还需进一步加强。
Java版应用服务器JBossJBoss是目前最有影响力的开源应用服务器,它几乎成了开源软件的旗舰产品。
和出色的同类商业软件BEA的Weblogic、IBM的Websphere相比,JBoss的优势在于具有良好的性价比。
从出现至今,它已经从一个EJB容器发展成为一个基于J2EE的Web 操作系统(Operating System for Web),它体现了J2EE规范中最新的技术。
不仅如此,它的技术创新能力还有影响和引领规范的趋势。
它具有良好的运行效率和可靠性,已经得到越来越多的J2EE应用开发者的青睐。
JBoss 是当前最流行的开源J2EE应用服务器之一, 它遵循LGPL协议进行发布。
JBoss安全符合J2EE 1.4的标准规范, 提供EJB、JMS、Servlet、JSP、JMX、JNDI等规范的支持。
JBoss以其优秀的基于JMX微内核在J2EE应用服务器领域独树一帜,其体系结构分为:微内核层微内核层采用基于JMX的体系架构,它提供对轻量级组件模型的热部署和高级类装载和全生命周期管理的特性。
服务层在微内核层之上采用了面向服务的体系结构。
它由一系列服务组成,包括事务、消息、邮件、安全、连接池等。
服务可以采用热插拔的方式进行部署,而无需停止整个服务器。
同时也可以定制自己的服务并将服务打包成SAR,进行独立的部署,通过这种机制,使得JBoss更易于灵活地进行扩展。
应用层JBoss 通过提供统一容器服务,为应用中的对象提供各种互通的行为能力。
同时JBoss还支持AOP的方式,以透明化的方式简化应用开发的过程。
JBoss应用服务器(AS)4.0 通过了J2EE 1.4的认证。
JBoss AS 4.0极大地简化了Java中间件开发,使用更加简单的、更加易于管理的POJO,这种新的模式转变为推动整个Java 应用服务器的发展起到了重要的作用。
新版本的JBoss 5.0也正在研发之中,全新的JavaEE 5.0体系架构将为JavaEE 应用软件开发人员带来更多优秀的特性。
JOnASJOnAS由欧洲的ObjectWeb协会开发,也是比较有影响力的一个开放源代码的J2EE实现。
JOnAS主要是J2EE容器的实现,J2EE服务等都由ObjectWeb其他项目实现,它们之间接口定义良好,可以很方便地共同组合为一个应用服务器。
JOnAS本身的技术特点不是很明显,但它目前在着力推倡OSGi技术,这应该是它未来一段时间的卖点。
目前ObjectWeb也在积极寻求跟中国的合作,JOnAS4.8就已经有来自中国团队的贡献。
随着欧盟和中国的合作深入,开源应用服务器在未来的合作应该会走得更远。
PKUASPKUAS(Peking University Application Server)由北京大学信息科学技术学院软件研究所自行设计开发。
分为遵循J2EE1.3、J2EE1.4和J2EE5等三种版本。
PKUAS积极倡导采用微内核和构件化思想来构造,也就是自己构造微内核和集成框架,而其他则选择优秀的开源软件。
2005年12月PKUAS 2005在ObjectWeb的源码库中开放,2006年7月PKUAS的动态集群内容也被JOnAS团队采纳,被集成到了JOnAS4.8中。
Plug-in体系架构PKUAS借鉴操作系统的微内核思想,通过抽取一组基本功能形成一个内核,将平台内部的其他功能封装在各个相对独立的模块内,允许用户根据需要定制与扩展这些功能模块,在系统启动阶段由内核装配成构件运行支撑平台。
丰富的服务和工具集合PKUAS不仅提供J2EE定义的标准服务,包括名字服务、通信服务、事务服务、数据服务、消息服务、安全服务、Java Mail服务等,还提供扩展的功能服务,包括日志服务、集群服务和用户自定义服务等。
●PKUAS集群服务实现了可灵活定制的负载平衡框架,支持常见的负载平衡策略。
PKUAS支持客户端对服务器群组变化的感知和适应,这部分实现已被JOnAS采纳。
●PKUAS提供了可插拔的基于集成开发环境(Eclipse 和JBuilder)中的开发部署插件,帮助用户简化J2EE应用和EJB开发及部署的过程。
●PKUAS提供从其他应用服务器到PKUAS的应用移植工具,包括WL4PKUAS和JBOSS4PKUAS。
此外,PKUAS还附带有需求建模和体系结构建模工具,支持全生命周期的应用开发,这些工具目前也在积极实用化过程之中。
Apache GeronimoApache 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.省略开源软件社区推出的JavaEE应用服务器。
为了简化EJB的开发,提高开发和部署的效率,在表达形式上做了一些改进,其目标是在规范和开发效率之间找到一个平衡,既尽可能遵循规范,又尽可能改变EJB开发缓慢、部署麻烦的现状,切实提供一个快速的J2EE平台。
它遵循LGPL协议进行发布。
JFox应用服务器通过与国际知名开源组织,如ObjectWeb、Apache 等合作,充分发挥全球开源开发人员的资源和优势,使JFox逐步走向成熟和完善。
并逐步进入商业应用领域。
JFox应用服务器在保证对J2EE规范兼容的前提下,提供了更多高级的特性:●采用增强型IoC 内核,并结合JMX的优势,支持基于Web组件管理;●采用动态代理调用框架,无需EJB预编译;●采用协议后决的调用方式在调用过程中可以动态改变调用EJB协议;●采用优化的调用链模型,提高服务端执行速度;●支持远程和本地调用自动切换,同一个应用服务器上的EJB之间的调用自动使用本地调用,无需实现本地接口;●高性能事务处理,JFox采用了先进的事务处理模型,提高了事务处理的调用性能。
Java版Web框架StrutsStruts是一个基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现的。