IBM 开源动态的应用服务器运行时环境 Open Liberty

      

        日前,IBM 开源了一个名为 Open Liberty 项目,Open Liberty 是一个高模块化、快速和高动态性的应用服务器运行时环境。

         2012 年,IBM 发布了 WebSphere
Liberty,这是一个专为“云”而设计的应用服务器。但它没有包含许多人们想要的功能,所以,IBM 扩展了 Liberty,使其完全符合
Java EE 7 认证,并将其部署到了每个主要的开发平台,包括 Docker,Kubernetes,以及 Cloud Foundry。

        Open Liberty 项目是一个完全兼容 Java EE 7 的应用服务器,当然,也兼容最新的 Eclipse
MicroProfile API。它是商业产品 WebSphere Liberty 的核心,因此在 Open Liberty
上运行的应用可以不需要更改就能在 WebSphere Liberty 上运行。如果需要支持,可通过 WebSphere Liberty
获得支持。

        Open Liberty 作为 WebSphere Liberty 核心,现已在 EPL-1.0 的许可证下正式开源,并已托管至 GitHub:https://github.com/OpenLiberty/open-liberty

        2012 年 6 月 15 日,IBM 正式发布了 WebSphere Application Server V8.5
版本(简称 WAS V8.5)。WebSphere Liberty Profile Server(简称 Liberty)是 WAS V8.5
中最主要的新特性,它是一个基于 OSGi 内核,高模块化,高动态性的轻量级 WebSphere
应用服务器,其安装极为简单(解压即可)、启动非常快、占用很少的磁盘和内存空间,支持 Web、mobile 和 OSGi
应用的开发,旨在提高开发人员的生产效率。

         什么是 WebSphere Liberty Profile Server ?

        Liberty 是一款全新的轻量级应用服务器,它将用户的良好开发体验作为最主要的出发点。其主要特点和内容包括:

  • 高模块化——该功能允许用户根据自己应用程序的需求启用或者禁用相关的 feature(所谓
    feature,在这里指的是运行应用程序所需要的各种资源的支持。比如,应用程序用到了 JSP,我们就需要启动 JSP 这个
    feature,如果不在需要此 feature,就可以将其禁用。通过这种模块化的控制,我们可以按需启动不同的 feature,包括 JSP,
    Servlet, JPA 等等,这种控制是实现轻量级应用服务器的基础)。
  • 轻量级—— Liberty 采用了多种技术进行瘦身和优化(主要是 OSGi 的应用),与传统的 WAS 相比,极大的减少了运行时的内存消耗。
  • 高动态性——由于采用了 OSGi 的架构,程序员在开发的时候,可以动态修改配置文件,应用程序以及服务器的运行时信息,这些修改都是实时生效的,不需要重启服务器。
  • 快速——由于采用了高模块化的设计,Liberty 应用服务器会“按需启动”,自身消耗的系统资源很少,对执行任务的反应时间也非常短,例如,一般来说 Liberty 的启动时间小于 5 秒。
  • 配置简单——在整个开发过程中,用户只需要和一个配置文件(server.xml)打交道,而且配置的使用也非常灵活。

       尽管 Liberty 与传统 WAS 相比只是一个“小块头”,但是在 Web 和 OSGi 应用程序的开发上,Liberty
与传统 WAS 完全保持一致,在 Liberty 上开发的程序,可以直接移植到传统 WAS 上,不需要做任何的改变。相比传统 WAS
的庞大,Liberty 在为用户提供良好的开发体验上遥遥领先。

本文作者:佚名

来源:51CTO

时间: 2025-01-26 19:13:07

IBM 开源动态的应用服务器运行时环境 Open Liberty的相关文章

介绍WAS V8.5中Liberty运行时环境相关的安全特性

本文主要介绍 WAS V8.5 中 Liberty 运行时环境相关的一些安全特性,并与传统的 WAS 进行一些简单的对比介绍.本文的目的旨在便于客户使用 Liberty. 安全性是指利用多种技术来防止对资源的非法访问,是企业http://www.aliyun.com/zixun/aggregation/14223.html">应用系统的一个关键因素.IBM WebSphere Application Server(以下简称 WAS)提供了一系列的设施和机制来保护敏感的 Java 2 平台.

Spring XD:大数据应用的运行时环境

简介 Spring XD(eXtreme Data,极限数据)是Pivotal的大数据产品.它结合了Spring Boot和Grails,组成Spring IO平台的执行部分.尽管Spring XD利用了大量现存的Spring项目,但它是一种运行时环境,而不是一个类库或者框架,它包含带有服务器的bin目录,你可以通过命令行启动并与之交互.运行时可以运行在开发机上.客户端自己的服务器上.AWS EC2上或者Cloud Foundry上. Spring XD中的关键组件是管理和容器服务器(Admin

什么是Java ?Java详解之Java运行时环境

Java运行时环境,即Java Runtime Environment,简称为JRE,是在任何平台上运行Java编写的程序都需要用到的软件.终端用户可以以软件或者插件方式得到和使用JRE.Sun公司还发布了一个JRE的更复杂的版本,叫做JDK,即Java 2 开发包,里面包含了Java需要的编译器.参考文档和调试器等. JRE的成分: Java的类库,包含了编译Java程序所需要的最核心文件. 核心库文件,其中有 数据结构的库,包括列表.字典和树等 XML分析库 安全方面应用库 国际化和本地化应

《Docker容器:利用Kubernetes、Flannel、Cockpit和Atomic构建和部署》——第2章 搭建容器运行时环境 2.1标准Linux系统的Docker配置

第2章 搭建容器运行时环境 自构建之初,Docker就运行在Linux之上.但与虚拟机不同,虚拟机包含了整个操作系统,而容器本身只是依靠单独的操作系统为其提供运行环境.这就是说,我们有诸多可选的方式来创建Docker的工作环境.具体方式包括以下这些. 标准Linux:多个主要的Linux发行版已将Docker打包在其中.如需最新的Docker特性,只要安装相应Linux发行版的最新版本即可.切记,Docker与操作系统有着密切的联系,因此,Linux的早期版本可能并不包含Docker运行所需的全

使用 ARChon 运行时环境在 Ubuntu 上运行 Android 应用

在此之前,我们尝试过在多款安卓应用模拟器工具上运行安卓应用,比如Genymotion.VirtualBox和Android SDK等.但是,有了这套全新的Chrome安卓运行环境,就可以在Chrome浏览器中运行安卓应用了.所以,下面是一些步骤来指导你如何使用ARChon运行时环境在Ubuntu上安装安卓应用. 谷歌已经公布了首批支持原生运行在Chrome OS的安卓应用,而这个全新的"安卓运行时环境"扩展程序使其成为可能.如今,一位名为Vlad Filippov的开发者已经找到了一种

《Android程序设计》一3.6 Android应用的运行时环境

3.6 Android应用的运行时环境 Android独特的应用组件架构在某种程度上是Android多处理并发的产物.为了使该环境能够适应多个供应商的多种应用,信任每个供应商只需要很少的工作,Android执行Dalvik VM的多个实例,每个任务执行一个实例.在3.7节及后续的章节中,我们将探讨组件生命周期如何促进Android提高应用堆内的垃圾收集工作,以及如何促进多个堆之间的内存回收策略.由于这种简单而又可靠的多处理方式,Android必须高效地把内存划分成多个堆.每个堆相对较小,这样内存

Go 语言将使用 Go 代替 C 重写运行时环境

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到12月份发布 Go 1.4 之前将只接受 bug 修复和小调整. Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发.这也是为什么 Go 的发行版中包含一个 C 编译器的原因. 使用 Go 重写的好处是: 当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法.如果使用 Go 来重写 runtime,那么堆栈拷贝的方法就会更加高效 目

微软进一步开源 .NET CoreCLR 运行时实现

数月前微软宣布 .NET Core 开源的消息,今天公司宣布开源 .NET Core 的运行时实现 -- CoreCLR.下一步微软将完全通过开放 .NET 核心通用语言运行环境 CLR 来开源整个 .NET 核心服务器端堆栈. 此次开源的是 CoreCLR,是 .NET Core 的执行引擎,包括 RynJIT..NET GC.原生 interop 和其他 .NET 运行时组件.当你在 .NET Core 上运行 ASP.NET 5 应用时,CoreCLR 用来执行你的代码,这还需要依赖于 C

详解利用 JDK6 动态编译组件搭建 OSGi 运行时编译环境

但是我们知道,在开发 OSGi 环境下的 Bundle 时最麻烦的步骤之一就是搭建编译环境.即便利用 Eclipse 这样高效的 开发工具,由于 Bundle 个数的庞大以及同一 Bundle 的版本多样性,维护一个编译环境变得非常繁琐.常常我们需要对一 个 OSGi 的 Bundle 进行二次开发时,仅仅一个很小的改动都需要花大量的时间去搭建专为这套程序的编译环境.我们迫切 希望可以有一个运行时的编译环境来简化这些步骤,利用环境既有的依赖项来对代码进行编译. 本篇文章介绍 OSGi 的运行特性