1、2012年6月15日,Liberty就随着WAS8.5的发布而诞生了。WebSphere Liberty Profile Server(简称 Liberty)是 WAS V8.5 中最主要的新特性,它是一个基于 OSGi 内核,高模块化,高动态性的轻量级 WebSphere 应用服务器,其安装极为简单(解压即可)、启动非常快、占用很少的磁盘和内存空间,支持 Web、mobile 和 OSGi 应用的开发,旨在提高开发人员的生产效率。
2、模块化的实现,这一点和当年的Resin服务器非常相似。该功能允许用户根据自己应用程序的需求启用或者禁用相关的 feature(所谓 feature,在这里指的是运行应用程序所需要的各种资源的支持。比如,应用程序用到了 JSP,我们就需要启动 JSP 这个 feature,如果不在需要此 feature,就可以将其禁用。通过这种模块化的控制,我们可以按需启动不同的 feature,包括 JSP, Servlet, JPA 等等,这种控制是实现轻量级应用服务器的基础)
3、轻量级,呵呵,这一点几乎是自黑,相对庞大的WAS来说的,其实WASCE就是轻量级的啊,而Liberty的轻量级很显然是为了顺应开发者的敏捷方式而定的。Liberty 采用了多种技术进行瘦身和优化(主要是 OSGi 的应用),与传统的 WAS 相比,极大的减少了运行时的内存消耗。
4、由于采用了 OSGi 的架构,程序员在开发的时候,可以动态修改配置文件,应用程序以及服务器的运行时信息,这些修改都是实时生效的,不需要重启服务器。把这个特性标榜为动态性,其实大家都是这样的啊,你看看现在新版本的Tomcat等,都是这样的。
5、在整个开发过程中,用户只需要和一个配置文件(server.xml)打交道,而且配置的使用也非常灵活。这一点是最赞的,给你32个赞。
6、无缝移植到WAS上,这对于IBM系的J2EE程序员,Liberty成为了最佳的首选,当然WASCE也不错,我个人认为,WASCE由于有Apache的开源版本,因此对于通用性会更好,在WASCE上能够很好的通用在其他Weblogic、JBOSS,Tomcat等服务中,Liberty的IBM血统更强烈,而且配置更简单,这个路线很像Netbeans发展中的Glassfish服务器。
7、IBM的Rational产品原生支持,支持在 Rational Application Developer 中使用 Liberty,推荐在企业级应用开发中使用这种方式,因为这种方式支持最大范围的编程模型以及 Cloud。这一点是很赞的。毕竟使用Rational来进行开发有很多附加值收益,比如Rational PureCoverge等工具来保证质量,也有ClearCase等工具来满足配置管理需求。还可以发布为支持Eclipse的Plugin开发,很不错。这能够吸引大部分企业用户的J2EE选型。
8、支持在 Eclipse 3.6(Helios) 或者 3.7(Indigo) 中使用 Liberty, 需要从 Eclipse Marketplace 安装 WebSphere Application Server V8.5 Developer Tools for Eclipse 或者 WebSphere Application Server V8.5 Liberty Profile Developer Tools for Eclipse。在 Eclipse 中使用 Liberty 是完全免费的,当然,如果你需要得到 IBM 工程师的支持,则需要支付额外的费用。很多兄弟都是使用的Ecipse的帮助选项install software方式来支持的各式软件,拜托,这很OUT,有明显的缺点:包括1、无法获取不同JVM的适配版本,虽然我们可以自定义JVM版本,但无法适配正确的版本,能run不代表就一定OK,2、没有对profile进行好的debug,这个功能的缺失太稀烂了。所以要用这个XXxfor Ecilpse哦。
9、Liberty 服务器也支持多种主流的操作系统平台,包括 Windows、Linux、Unix、z/OS 以及 Mac OS 等。Liberty 既可以用在开发环境中,也可以用于产品环境(Mac OS 除外)。Liberty 同时支持 Oracle 和 IBM JDK,支持的最低版本分别是:Oracle Java™ 6 update 26 和 IBM Java 6.0 (J9 2.6) SR 1,注意这个说明是准确的,IBM DW网站上的部分文章说明有误,低于了这个版本。、
10、个人比较了一下Tomcat和Liberty如下:
对比项 | Tomcat | Liberty |
---|---|---|
大小 | <30M | <50M |
启动速度 | <5s | <5s |
Java EE 标准支持 | JSP 2.2, Servlet 3.0, JSTL 1.2 用户需要添加相关的 jar 包来实现对其它标准的支持 | JSP 2.2, Servlet 3.0, JSF 2.0, JSTL 1.2, JPA 2.0, JDBC 4.0, JAX-RS 1.0, JNDI 1.0, Bean Validation 1.0, SSL 1.0, Security 1.0, Web Security 1.0, JMX 1.0 可动态加载或卸载对应的 feature |
OSGi 编程模型 | 否 | 是,支持 Blue Print 1.0, WAB 1.0 |
开发工具 | 支持 Eclipse | 支持 eclipse, IBM Rational Application Developer |
支持的操作系统 | Linux, Windows | Linux, Windows, AIX, Mac, HP-UX, Solaris, iSeries, zSeries |
性能 | 一般 | 与传统 WAS 具有相同的核心代码,性能好 |
应用程序热部署 | 支持 | 支持 |
配置文件 | 多个配置文件,更新后需重启服务器 | 一个配置文件,更新后及时生效,无需重启 |
可移植性 | 您可以利用 IBM Application Migration Toolkit 将 Tomcat 上开发的应用快速移植到 WebSphere 应用服务器。反之,则不然。 | Liberty 和传统 WAS 对编程模型和标准的支持一致。在 Liberty 上开发的应用可以直接运行在传统 WAS 之上 |
文档 | 官方文档涵盖内容有限,但网络上相关内容(包括:blog,技术文章等)广泛。 | http://wasdev.net 上提供下载地址、文档、视频、音频、样本引用等。还有 WAS 的信息中心也有大量文档可供参考阅读。 |
社区 | http://tomcat.apache.org 有 dev 和 user mailing list,没有官方支持,有时回复不够及时。 | http://wasdev.net,可以与开发人员直接交流 |
长期战略优势 | 一般用于开发环境,生产环产能用的比较少。支持的并发度不高,可扩展性不强。 | Liberty 与传统 WAS 共享同一代码,天生具有其高效稳定的特点。开发 - 测试 - 生产切换零代价。可扩展性高,支持多个 server 间的负载均衡和故障恢复。 |