IBM WebSphere Application Server的Liberty Profile解析

在当今快速变化的技术环境中,企业对于应用服务器的需求也在不断演变。为了满足不同规模和需求的企业应用,IBM推出了WebSphere Application Server的轻量级版本——Liberty Profile。这个版本以其灵活性和动态性,允许开发者根据业务需求部署仅需要的定制功能,而不是部署一整套可用的JEE组件。本文将深入探讨Liberty Profile的架构、工作方式、安装方法、配置示例以及面临的挑战。

Liberty Profile概述

Liberty Profile是IBM WebSphere Application Server的一个轻量级、灵活且动态的版本,它允许服务器仅部署所需的自定义功能,而不是部署大量的JEE组件。对于开发关键任务型企业应用的开发者来说,Liberty Profile非常适合,甚至可以用于生产部署。当前版本的Liberty Profile符合Java EE6标准,并且适用于使用此Java EE 6认证Web Profile的应用。

Liberty Profile架构

Liberty Profile的高层架构包括以下几个组件:

  • Liberty Kernel:核心服务器配置组件。
  • Java EE 6+:标准的Java EE 6 API。
  • Features:如JSP、JSF、Web应用安全、Servlet、JMS等。
  • Applications:Web应用、企业应用。
  • OSGi Framework Runtime:内置的运行时捆绑包。

Liberty Profile的工作方式

如果Web应用只需要一个Servlet引擎,Liberty Profile将仅启动WAS内核、HTTP传输和Web容器,以便开发者可以快速启动和部署应用。如果应用需要持久性功能,并希望使用JPA提供者组件访问关系数据(RDBMS),开发者只需在XML中添加JPA配置,Liberty Profile就会使持久性在应用中可用。

安装Liberty Profile

有两种方式可以下载和安装Liberty Profile运行时:

  • 通过Eclipse IDE内部。
  • 作为独立的JAR文件,通过命令行安装。

有关下载的详细信息,请参考以下URL:

使用Liberty Profile的理由

Liberty Profile运行时提供了一些关键优势,包括:

  • 简单的配置:Liberty Profile使用XML文件以非常简单和高效的方式配置服务器。例如,默认的server.xml配置文件可能如下所示:
<server description="test server"> <featureManager> <feature>jsp-2.2</feature> </featureManager> <httpEndpoint id="appHttpEndpoint" host="localhost" httpPort="9080" httpsPort="9443"/> </server>

上述默认server.xml配置基本上启用了JSP 2.2特性,它依赖于Servlet 3.0特性;因此Servlet特性会自动启用。不需要在WAS server.xml配置文件中显式调用和定义它。

Liberty Profile配置示例

以下是一些Liberty Profile的配置代码片段,可以根据需要在应用开发中使用:

<server> <featureManager> <feature>servlet-3.0</feature> <feature>mylocalConnector-1.x</feature> </featureManager> </server>

上述代码将为IBM WebSphere Server中配置的应用启用servlet-3.0 API和myLocalConnector-1.x。

Liberty Profile面临的挑战

尽管Liberty Profile在开发环境中免费使用,但在生产环境中需要支付IBM WAS的常规许可费用。市场上还有其他轻量级服务器,即使在生产环境中也是免费的,因此选择Liberty Profile需要评估。

Liberty Profile没有提供像Tomcat和Glassfish那样的UI管理控制台,因此不得不依赖Eclipse/RAD/netbeans编辑器来更新server.xml文件,或者手动修改它,这对于开发者来说不是一个可行的选择。

应用开发者将这个服务器与已经存在多年的Tomcat和Glassfish进行比较,因此转向Liberty Profile可能是一个巨大的挑战。

最新版本的Liberty Profile带来了许多新功能,将看到Liberty Profile如何处理增加的功能负载以及其占用空间和大小(大约60MB)。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485