转载

Java EE,下一个开端: 面向 Java EE 开发人员的 WebSphere Liberty 入门

简介

您是否遇到这种情况:您熟悉一些传统的内部部署的 Java EE 应用服务器(比如经典的 IBM WebSphere Application Server、WebLogic、JBoss 等),现在您的组织正在向云过渡。但您的平台即服务版本与您所习惯的版本类似但不完全相同,而且云模型是动态的,以至于您完全无法肯定要使用哪些构建版本,或者哪些特性将是有效的,甚至不知道如何称呼一些东西(它是否是配置文件?它是否是服务器?)。

如果发现这种向云过渡的学习曲线令人感到沮丧,您可以在此处获得帮助。您正在阅读本文。

这是 3 篇教程中的 第一篇 ,它们帮助扁平化该学习曲线,让您在从传统 WebSphere Application Server 过渡到 WebSphere Liberty,最终过渡到 IBM Bluemix 的过程中能快速获得很难找到的一些必要信息。您已经了解了一些信息(请跳过这些部分)。您可以通过剩余教程熟悉 WebSphere Liberty,安装一个开发环境来创建 Liberty 应用程序,并将这些应用程序部署到 Bluemix。

什么是 Liberty ? IBM WebSphere Liberty 是 IBM WebSphere Application Server 的下一代架构。使用 Liberty 配置文件,您可以为 Java EE 应用程序创建更高效的运行时,但为此,您必须配置这个新的运行时,并针对您的需求来优化它。本文将介绍 Liberty 架构,解释它的概念、它的优势,以及它与旧应用服务器架构有何不同。文中还将介绍针对您的需求来自定义 Liberty 需要执行的新任务种类。此信息将帮助您理解 Liberty 配置文件的好处,以及如何使用 Liberty 进行开发。

这些教程包括:

  1. 面向 Java EE 开发人员的 WebSphere Liberty 入门(本文)
  2. 为 WebSphere Liberty 安装一个本地 Java EE 开发环境
  3. 为 Bluemix 安装一个本地 Java EE 开发环境

前两篇教程适用于所有 Liberty 开发人员,第三篇教程特别适用于使用 Bluemix 的开发人员。

WebSphere Liberty:下一代应用服务器

简单地讲,WebSphere Liberty 有一种重新构想的架构,该架构与其他旧 Java EE 应用服务器相比提供了许多重要的优势。简言之,这些优势包括:

  • 内核架构 – 内核架构意味着运行时能非常快地启动且最初非常小,然后根据需要进行增长。通常,一个 Liberty 服务器需要约 50 MB 内存并在 3 秒内即可启动。
  • 特性管理器 – 应用服务器功能被实现为由管理器仅在需要时加载的特性,保持服务器大小尽可能小。
  • WebSphere Liberty 存储库 – 根据需要直接从 IBM 下载特性。
  • 动态更新 – 安装新特性后无需重新启动服务器。
  • Java EE 7 支持 – Liberty 支持所有 Java EE 7 应用程序。
  • 安装简单 – 要安装一个运行时,只需解压存档文件。完整的 Java EE 7 下载只有 94 MB(不包括 JRE)。
  • 部署简单 – 放入一个应用程序,服务器就可以运行它。
  • 配置简单 – 每个服务器主要通过一个简单的 XML 文件进行配置。
  • 高度可扩展 – 管理模型可扩展到数千个服务器。一个集群可包含数百个成员。
  • 服务器打包 – 创建紧凑的应用程序存档文件,其中包含用于部署到生产中的服务器配置。

Liberty 的优势目前使得生产就绪 (production-ready) 的 Java 适用于许多新用途,比如:

  • 持续更新 – IBM 单独提供了特性的新版本。
  • 开发环境 – 安装、配置和更新很简单,多个 Liberty 测试服务器很容易与其他应用程序一起在一台笔记本电脑上运行。
  • 单板计算机 – Liberty 应用程序现在可在新一代微型计算机上运行,比如 Raspberry Pi。
  • 物联网 – Liberty 应用程序可以在很小的分布式设备上运行(比如单板计算机)。
  • 每个应用程序一个服务器 – 将每个应用程序部署到自己的服务器,以便实现更好的隔离和可管理性,而不会产生重大的开销。
  • 微型服务 – 在自己的服务器中运行每个微型服务的每个实例。
  • 容器 – 在一个小型、轻量型容器中运行一个完整的应用服务器。
  • – 快速、轻松、高效地在虚拟化的硬件资源上运行大量服务器。
  • 弹性 – 自动扩展的集群能够根据负载而进行增长和精减。
  • 大规模吞吐量 – 拓扑结构可以每天处理数十亿个 API 调用。

您的应用服务器能否这么做? Liberty 能!

以下各节将介绍一些基本的概念和术语,以便您能更好地解释 Liberty 配置文件的工作原理,以及它与其他应用服务器产品有何不同。

Liberty 与 WebSphere Application Server 之间的区别

WebSphere Application Server 由两个称为配置文件的应用服务器运行时环境组成:

  • 完整配置文件 (有时称为 “经典” WebSphere Application Server) – 1998 年启动的包含 Servlet Express v1.0 的 WebSphere Application Server 的原始架构,后来演变为了一个工业级 Java EE 容器。
  • Liberty 配置文件 – 下一代 Java EE 容器架构,2013 年在 WebSphere Application Server v8.5.0 中引入,旨在实现高度可组合、更快的启动、内存使用更少,以及更有效的扩展。

配置文件的更多信息

Java EE 7 编程模型支持 详细介绍了每种配置文件中的特性。(对于本讨论,请忽略标记为 “Liberty Core” 的列。)

如果自由意味着选择自由,那么我能否自由地选择 Liberty 配置文件? 这篇文章比较了每个 WebSphere Application Server 版本中的两种配置文件,并介绍了每个版本中的 Liberty 特性。

您熟悉哪个 WebSphere Application Server:当您使用 WebSphere Application Server Network Deployment 单元时,每个集群成员都在一个完整配置文件安装中运行。尽管 Liberty 包含在 WebSphere Application Server 产品中,但您可能还没有使用过它。

您会看到,Liberty 的运行时非常紧凑和轻量型,这使它特别适合虚拟化的基础架构和云计算、轻量型容器,以及物联网中的设备。

可以对 Liberty 进行打包并将它用在多个不同的平台中。在编写本文时,它们是:

  • Liberty 配置文件 – WebSphere Application Server 中的一部分并可单独使用,用于安装在内部部署的计算机上,包括为了实现开发目的而安装在您的笔记本电脑本地。
  • Liberty Docker 镜像 – 在 Docker 容器中运行 Liberty 的 websphere-liberty 镜像。
  • Bluemix 即时运行时 – Bluemix 中的 Liberty for Java 运行时,它是使用 IBM WebSphere Application Server Liberty Buildpack for Cloud Foundry 构建的。
  • Bluemix 容器 – IBM Liberty Image ( ibmliberty ),为了在 Bluemix 中运行而优化的 websphere-liberty 镜像。

对于一个给定的 Liberty 版本(比如 v8.5.5.6),这些安装提供了等效、几乎等同的功能。主要区别在于,buildpack 不包含云环境中未使用的 Liberty 特性。

Liberty 配置文件与 Liberty 服务器之间的区别

在 Liberty 服务器中运行的微型服务

Liberty 服务器能够快速启动,并且使用相对较少的内存。因此,计算机可以在每个 Java EE 应用程序自己的服务器中高效地运行它们。此外,应用程序可以分解为 微型服务 ;Liberty 可以在一个单独的服务器中高效地运行每个微型服务的每个实例。

使用 Liberty 和 NetflixOSS 的微型服务 讨论了如何在 Liberty 中托管 Netflix 的微型服务架构。 使用 WebSphere Liberty 配置文件和 Netflix 开源软件构建 Web 级应用程序 是一篇来自 InterConnect 2015 大会的演示,该演示详细解释了此架构。

Liberty 服务器 是一个应用服务器,它能够运行 Java 应用程序(通常是为 Java Enterprise Edition 规范编写的应用程序)。Liberty 中的一个服务器通常被配置为一种符合 Java EE 的容器实现,比如 Java EE 7。

Liberty 配置文件 是一个安装在计算机的本地文件系统上的应用服务器运行时环境。配置文件不会运行,但它能够运行一个或多个服务器。

Liberty 配置文件有一个版本号,比如 v8.5.5.6,这是 Liberty 内核的版本。所有在一个配置文件内运行的服务器都具有相同的版本。因为一个配置文件可运行多个服务器,而且每个服务器可以单独配置,所以没有理由将多个相同版本的配置文件安装在同一个计算机上。但是,要运行两个分别具有不同版本的不同服务器,需要安装两个不同的配置文件(一个配置文件对应一个版本),并在每个配置文件中创建一个服务器。

尽管一个 Liberty 服务器可运行多个应用程序,但 Liberty 也可以在一个单独的服务器中高效地运行每个应用程序或微型服务。对于许多 Java EE 应用服务器(比如 WebSphere Application Server 完整配置文件)的一种不错的实践是,将多个应用程序部署到单个服务器来共享它的资源。但是,因为一个 Liberty 服务器很小且很高效,所以将多个应用程序部署到单个服务器所实现的资源节省很少。因此,每个应用程序通常被部署到单独的服务器,以便实现更好的隔离和可管理性。在微型服务架构中,每个微型服务(一个应用程序的一部分)的每个实例都被部署到单独的服务器。

Liberty 资产与 Liberty 特性之间的区别

Liberty 配置文件将其功能实现为 OSGi 包,一组相关的包实现一个特性。Liberty 中的 特性 是一组供应用程序和其他特性使用的功能。每个包都包含一组添加到服务器的类路径的 JAR 文件。

关于特性的更多信息

要获得所有 Liberty 特性的列表,请参阅Liberty 特性。

要获得 Java 技术及其相应的 Liberty 特性的列表,请参阅 Java EE 7 编程模型支持 。

大多数特性都实现了让这些技术可供应用程序使用的规范。许多特性实现了包含 Java EE 平台的 JSR(Java 规范请求)。例如,有针对 Enterprise JavaBeans (EJB)、Java API for RESTful Web Services (JAX-RS)、Java Database Connectivity (JDBC) 等应用程序的 Liberty 特性。Liberty 还提供了针对 Java EE 以外的规范的特性,比如 JavaScript 对象表示法 (JSON4J) 库、安全套接字层 (SSL)、开放身份验证 (OAuth),等等。

Liberty 中的 特性管理器 控制目前在服务器中运行的特性集,在应用程序需要时加载和卸载它们。它仅加载为服务器启用的特性。已启用特性的列表在 Liberty 服务器的配置的特性管理器节中配置。一种不错的实践是仅为服务器配置它的应用程序使用的特性,这使得服务器能够更快地启动并使用更少的内存。

资产和存储库

服务器要能够加载特性,不仅必须在服务器的配置中启用该特性,用于该特性的相应资产也必须安装在该服务器的配置文件中。Liberty 资产 是一组可添加到某个配置文件的代码工件,比如实现服务器功能的 Java 库。 Liberty 存储库 是一种包含可下载到 Liberty 配置文件的资产的在线资源。

关于存储库的更多信息

要了解主要存储库包含的内容,Web GUI IBM WebSphere Liberty 存储库 中给出了所有 Liberty 下载。您可以过滤该列表;例如 IBM WebSphere Liberty 存储库:特性 显示了该存储库中的特性列表。

IBM WebSphere Liberty 存储库是 IBM 的主要的 Liberty 资产存储库。默认情况下,会配置一个新配置文件,在该存储库中搜索要下载的资产。配置文件中的资产管理实用程序将会通过编程方式访问一个存储库。

每个特性还包含它所依赖的必要前提特性的列表。当配置文件下载用于一个特性的资产时,它还会下载用于配置文件中尚未安装的所有前提特性的资产。同样地,当特性管理器将一个特性加载到一个服务器中时,它还会加载尚未加载到服务器中的所有依赖特性。

便捷性特性

Raspberry Pi 上的 Liberty 服务器

Java EE 7 下载只有 94 MB。IBM 拥有在一个 Raspberry Pi(一个非常小的计算机(700 MHz CPU、256 MB RAM))上的 Liberty 服务器中运行的演示 Java 应用程序 - 所以 Liberty 服务器确实非常紧凑。

Liberty Pi - 在 Raspberry Pi 上运行 WebSphere 展示了如何做。Liberty 控制的汽车展示了 WebSphere 团队在大会上演示的一辆远程控制汽车。因为 Liberty 可以在这些小型计算机上运行,所以它可以在 物联网 中的设备上运行。请参阅 WebSphere Liberty 配置文件:功能完备的小应用服务器 。

一些 Liberty 特性属于便捷性特性。 便捷性特性 是用作多个细粒度特性的代理的单个特性。

例如,一个 Java EE 特性为 Java EE 平台中包含的所有特性提供支持。同样地,EJB 特性加载多个与 EJB 相关的特性:EJB Lite、EJB Home、EJB Remote 等。

对于应用程序开发,通常只需启用一个便捷性特性。当您准备好部署应用程序时,可以将这个便捷性特性替换为应用程序实际使用的一组细粒度特性,以节省内存和磁盘空间。

表 1 显示了 Liberty 配置文件 v8.5.5.6 中的便捷性特性列表。

表 1. Liberty 便捷性特性

Java 技术 Liberty 便捷性特性
Java Platform, Enterprise Edition 7 (Java EE 7) javaee-7.0javaeeClient-7.0
Java Platform, Enterprise Edition 7 Web 配置文件 webProfile-7.0
Java Platform, Enterprise Edition 6 Web 配置文件 webProfile-6.0
Enterprise JavaBeans (EJB) 3.2 完整配置文件 ejb-3.2

特性不兼容性

一个特性管理器的配置中启用的所有特性都必须相互兼容。两个不兼容的特性不能加载到同一个服务器中,所以不应该启用它们。它们仍能安装在同一个配置文件中并加载到不同的服务器中。

例如,一个服务器无法启用同某个特性的两个不同版本(比如 jaxrs-1.1 和 jaxrs-2.0)。同样地,一个服务器不能启用具有 webProfile-7.0 或 javaee-7.0 的 webProfile-6.0。启动一个启用了不兼容特性的服务器时,该服务器会记录一个 CWWKF0033E 错误。请参阅 支持的 Java EE 6 和 7 特性组合 。

Liberty 和 JRE

Liberty 内核和 Java

Liberty 内核可在 Java SE 6 中运行。但是,Java EE 7 特性(Web 配置文件和完整配置文件平台)需要 Java SE 7 或 Java SE 8。请参阅 Liberty 配置文件:运行时环境已知问题和限制 中的 “支持的最低 Java 级别” 来了解细节。

要知道 Liberty 需要来自 IBM 的 JRE;它也支持来自 Oracle 的 JRE。

Liberty 服务器是一个 Java 程序,所以它需要一个 JRE(Java 运行时环境)才能运行。您将会看到,大部分 Liberty 开发人员构建版本都不包含 JRE;它们假设 JRE 是一个前提软件安装。这使得 Liberty 下载变得更小,而且使多个 Java 程序可以共享同一个已安装的 JRE。

JRE 可以运行 Java 程序,但不能编译 Java 代码。JDK 或 SDK(Java 开发工具包或 Java 软件开发工具包)不仅包含 java 运行时,还包含 javac 编译器。所以尽管 Liberty 只需一个 JRE,但它也可以在 JDK 或 SDK 中运行。

同一个 Liberty 版本的多个构建版本

每个 Liberty 版本(比如 v8.5.5.6)有多个下载版本,它们已在 IBM WebSphere Liberty 存储库:产品 中列出,比如:

  • WAS Liberty with Java EE 7 Full Platform
  • WAS Liberty with Java EE 7 Web Profile
  • WAS Liberty with Java EE 7 Web Profile with Java 8
  • WAS Liberty Kernel

这些下载是什么,它们是不同的 Liberty 吗?

这些下载是同一个 Liberty 版本的不同开发构建版本。图 1 显示了它们的关系。(构建版本也称为 “安装 ZIP”,请参阅 Liberty 配置文件:安装 ZIP 存档文件列表 。)

图 1. Liberty 开发人员构建版本

Java EE,下一个开端: 面向 Java EE 开发人员的 WebSphere Liberty 入门

这些构建版本包含同一个 Liberty 内核的相同版本。区别在于内核中包含的特性集。例如,名为 WebSphere Application Server Liberty Kernel 的构建版本不包含任何特性,存档文件只有 11 MB。相对而言,完整平台 (94 MB) 比 Web 配置文件 (63 MB) 更大,因为完整平台包含更多特性。完整平台是 Web 配置文件的超集,完整配置文件的 Web 配置文件部分与单独的 Web 配置文件下载完全相同。因此,下载选择取决于您想要包含哪些特性。

另请注意,有两个构建版本与便捷性特性相对应,如表 2 所示。

表 2. 便捷性特性和构建版本

Liberty 便捷性特性 Liberty 开发人员构建版本
webProfile-7.0 WebSphere Application Server Liberty with Java EE 7 Web Profile
javaee-7.0 WebSphere Application Server Liberty with Java EE 7 Full Platform

表 2 告诉我们,如果想要一个服务器运行为某个特定的 Java EE 平台而构建的应用程序,可以安装与用于该平台的便捷性特性对应的构建版本。在该配置文件中运行的服务器将拥有这些应用程序所需的 Java EE 特性。

这些构建版本都要求您单独安装一个 JRE。WebSphere Application Server Liberty with Java EE 7 Web Profile with Java 8 是一个例外,它不仅包含 Web 配置文件,还包含一个 JRE(具体地讲,是为 IBM Java SDK 而包含)。因为该存档文件包含 SDK,所以它要大得多:198 MB,而没有 SDK 的 Web 配置文件为 63 MB。如果将一个最新的 JRE(或 JDK/SDK)安装在您的计算机上,则不需要此存档文件。因为 JRE 特定于平台,所以这是唯一具有特定于平台的选项的 Liberty 构建版本。

这些 Liberty 开发人员构建版本不是完整的 WebSphere Application Server 产品。完整产品同时包括完整配置文件和 Liberty 配置文件,是一系列产品版本,包括 Express、Base、Network Deployment 和 z/OS。Liberty 开发人员构建版本等效于 WebSphere Application Server for Developers 版的 Liberty 配置文件部分。

打包一个服务器

要将在 Liberty 服务器中运行的应用程序部署到一台新计算机(比如一个生产环境),不必安装一个完整的 Liberty 配置文件和所有可选资产。Liberty 可将服务器打包到一个存档文件中,该存档文件仅包含应用程序、服务器配置和(可选的)部分或所有运行时。打包的服务器仅为需要转移的工件使用磁盘空间和带宽。

在打包服务器之前,可以首先从特性管理器的已启用特性列表中移除所有未用的特性。如果为特性管理器配置了任何便捷性特性,可以将每个这类特性替换为该应用程序实际使用的特性的显式列表。极少的特性使得存档文件、最终的运行时和它们运行的服务器变得尽可能的紧凑。

打包一个服务器时,可包含在存档文件中的功能具有多个级别。所有级别都包含应用程序和它们的服务器配置。这些级别是:

  • all – 完整运行时
  • minify – 最小的运行时
  • usr – 没有运行时

最小的运行时不包含安装在运行时中的所有资产,仅包含用于服务器中启用的特性的资产。因此,一个最小的存档文件的内容取决于服务器的配置。

您也可以仅打包运行时,而不包含应用程序:

  • wlp – 仅包含运行时

有关打包的更多信息

请参阅 从命令行打包 Liberty 配置文件服务器 ,了解打包级别和其他选项的更多细节。

您是否应将运行时包含在打包的服务器中?这取决于用来存放您的解压存档文件的目标计算机是否已安装了适当的运行时。例如,如果想要包含运行应用程序所需的所有资源,可以包含运行时( all 级别或者最好是 minify 级别)。但是,如果将多个应用程序安装在目标上的多个服务器中,它们的所有包都包含运行时并将运行时多次安装在目标上的效率比较低。相反,应该让一个软件包包含非最小化的运行时,因为它需要支持多个服务器。或者为运行时创建一个 wlp 包,为每个服务器创建 usr 包。

将打包的服务器或运行时解压到目标计算机上时,请记住运行时不包含 JRE,所以目标计算机需要安装 JRE。

您稍后会看到,一个打包的服务器( usr 级别)也是一种将 Java 应用程序连同其服务器配置一起部署到 Bluemix 的便捷方式。

Liberty 集群

Liberty 配置文件支持集群。Liberty 中的 集群 提供了与完整配置文件中的集群相同的行为:用户负载分散在多个服务器上,用户会话从一个服务器故障转移到另一个服务器。但是,Liberty 的实现更加轻量化,具有更高的可伸缩性。与完整配置文件一样,Liberty 配置文件中的集群特性包含在 WebSphere Application Server Network Deployment (WAS ND) 中。在Liberty 特性中,您可以注意到,特性 collectiveControllerclusterMember 仅包含在 WebSphere Application Server Network Deployment 和 z/OS 中,未包含在 WebSphere Application Server Base 中。

在 Liberty 配置文件中,一个管理域称为一个 集合体 。一个集合体的用途与完整配置文件中的一个单元的用途完全相同,但实现方式迥然不同。 集合体控制器 的用途与部署管理器相同;它提供 集合体成员 的集中管理,这些成员是集合体中的 Liberty 服务器。

已经进行了一些改进:

极大的集群

Liberty 配置文件中的集合体架构非常高效,这使得它能够支持非常大的集合体和集群。它们可以有多大? IBM 构建过一些拓扑结构,其中的一个集合体包含数千个成员,一个集群包含数百个成员。有关的更多信息,请参阅 构建一个大规模的 WebSphere Application Server Liberty 集合体拓扑 和来自 Impact 2014 大会的演示 配置和管理大型 WebSphere 拓扑的最佳实践 。

  • 成员与控制器松散地耦合。
  • 一个服务器可以既是控制器也是成员。
  • 一个集合体可以有多个活动的控制器,以实现管理功能的高可用性。

有关的更多信息,请参阅Liberty 集合体简介。

同一个集合体中的服务器可以加入到一个集群中。在集群内运行的应用程序具有比单个服务器中的应用程序更高的可用性和可伸缩性。一个集合体可以定义多个集群。一个服务器只能是一个集群的成员。有关的更多信息,请参阅Liberty 集群简介。

一个集群可以是 自动扩展集群 ,根据需要添加和移除集群成员来实现可伸缩性。可以向可添加和移除的控制器和集群成员添加扩展功能。您可以对每个集群使用 扩展策略 来配置 扩展控制器扩展成员 监视它的工作负载并向扩展控制器报告它的性能。

自动扩展在启用了动态路由特性时效果最佳。用于 HTTP 服务器的 WebSphere 插件处理一组静态的服务器,而 动态路由 处理一个添加和移除服务器而不需要重新生成插件配置的环境。它是一种添加到控制器的特性。动态路由是 智能管理 的一个方面,后者是一套按需路由器 (ODR) 功能,用于优化 HTTP 请求的负载分布。

结束语

本教程介绍了 IBM WebSphere Application Server Liberty 配置文件的工作原理的基本概念。在理解这些概念之后,您就可以针对您的开发需求来设置 Liberty 服务器。

本系列中的下一篇文章是 为 WebSphere Liberty 安装一个本地 Java EE 开发环境 。

致谢

感谢以下 IBM 人员帮助完成本文:David Currie、Ross Pavitt、Rick Osowski、Pam Geiger、Budi Darmawan、Heather Nelson、Dave Thiessen 和 Ruth Willenborg。

参考资料

WASdev – WebSphere Application Server 开发人员社区

  • Liberty 配置文件简介
  • IBM WebSphere Liberty 存储库
  • IBM WebSphere Liberty 存储库:特性
  • 下载 WAS Liberty 运行时
  • Liberty 集合体简介
  • Liberty 集群简介
  • 实验:构建和管理您自己的 Liberty 应用程序集群
  • 用于 Java EE 7 的新 Docker 镜像
  • 共享给 Cloud Foundry 的 IBM WebSphere Liberty Buildpack

WebSphere Application Server(分布式和 IBM i 操作系统),8.5.5 版文档

  • 完整配置文件概述
  • Liberty 配置文件概述
    • Liberty 配置文件中的 Java EE 7
    • Liberty 配置文件:架构
    • Java EE 7 编程模型支持
    • Liberty 配置文件:服务器配置
    • Liberty 配置文件:特性管理
    • Liberty 特性
    • Liberty 配置文件:Liberty 存储库
    • 支持的 Java EE 6 和 7 特性组合
  • Liberty 配置文件的端到端路径
    • 从命令行打包 Liberty 配置文件服务器
    • Liberty 配置文件:集合体架构
    • 配置一个 Liberty 集合体
    • 设置 Liberty 服务器集群
    • 设置 Liberty 集合体的自动扩展
    • 设置 Liberty 集合体的动态路由
  • Web 服务器智能管理概述
  • Liberty 配置文件:运行时环境已知问题和限制
  • 如果自由意味着选择自由,我能否自由地选择 Liberty 配置文件?
  • 构建一个大规模 WebSphere Application Server Liberty 集合体拓扑结构
  • 配置和管理大型 WebSphere 拓扑结构的最佳实践
  • Java Platform, Enterprise Edition (Java EE) 7
  • WebSphere Liberty 配置文件:功能完备的小应用服务器
  • Liberty Pi - 在 Raspberry Pi 上运行 WebSphere
  • Liberty 控制的汽车
  • 微型服务
  • 使用 Liberty 和 NetflixOSS 的微型服务
  • 使用 WebSphere Liberty 配置文件和 Netflix 开源软件构建 Web 级应用程序
  • IBM developerWorks 中国 WebSphere 专区 :为使用 WebSphere 产品的开发人员准备的技术信息和资料。这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含 2000 多份技术文章、教程、最佳实践、IBM Redbook 和在线产品手册。
  • 加入 developerWorks 中文社区 ,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
原文  http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1602_woolf-trs/1602_woolf1.html?ca=drs-
正文到此结束
Loading...