在当今快速变化的技术环境中,企业对于应用服务器的需求也在不断演变。为了满足不同规模和需求的企业应用,IBM推出了WebSphere Application Server的轻量级版本——Liberty Profile。这个版本以其灵活性和动态性,允许开发者根据业务需求部署仅需要的定制功能,而不是部署一整套可用的JEE组件。本文将深入探讨Liberty Profile的架构、工作方式、安装方法、配置示例以及面临的挑战。
Liberty Profile是IBM WebSphere Application Server的一个轻量级、灵活且动态的版本,它允许服务器仅部署所需的自定义功能,而不是部署大量的JEE组件。对于开发关键任务型企业应用的开发者来说,Liberty Profile非常适合,甚至可以用于生产部署。当前版本的Liberty Profile符合Java EE6标准,并且适用于使用此Java EE 6认证Web Profile的应用。
Liberty Profile的高层架构包括以下几个组件:
如果Web应用只需要一个Servlet引擎,Liberty Profile将仅启动WAS内核、HTTP传输和Web容器,以便开发者可以快速启动和部署应用。如果应用需要持久性功能,并希望使用JPA提供者组件访问关系数据(RDBMS),开发者只需在XML中添加JPA配置,Liberty Profile就会使持久性在应用中可用。
有两种方式可以下载和安装Liberty Profile运行时:
有关下载的详细信息,请参考以下URL:
Liberty Profile运行时提供了一些关键优势,包括:
<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的配置代码片段,可以根据需要在应用开发中使用:
<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在开发环境中免费使用,但在生产环境中需要支付IBM WAS的常规许可费用。市场上还有其他轻量级服务器,即使在生产环境中也是免费的,因此选择Liberty Profile需要评估。
Liberty Profile没有提供像Tomcat和Glassfish那样的UI管理控制台,因此不得不依赖Eclipse/RAD/netbeans编辑器来更新server.xml文件,或者手动修改它,这对于开发者来说不是一个可行的选择。
应用开发者将这个服务器与已经存在多年的Tomcat和Glassfish进行比较,因此转向Liberty Profile可能是一个巨大的挑战。
最新版本的Liberty Profile带来了许多新功能,将看到Liberty Profile如何处理增加的功能负载以及其占用空间和大小(大约60MB)。