我不了解您,当我听到“自由”一词时,我也会想到“选择自由”。 我怀疑我彼此之间是有联系的,因为很久以前,我是经济学的本科生,我所讨论的古典经济学家之一是约翰·斯图尔特·米尔,他是自由市场的拥护者,经常提到“自由”。显然,米尔斯先生的著作给人留下了深刻的印象,因为我回顾了这么多年,这正是我背景的这一方面促使本文标题提出了这个问题。(此外,为了保持纪录,很多年前我不是米尔先生的当代人,而是经济学史课,而不是当代经济学课。这只是需要说的。
无论如何,IBM WebSphere Application Server Liberty概要文件在2012年中期推出时受到好评,并且Liberty概要文件中功能不断扩展的清单导致我一再被问到关于确定Liberty是否有效的建议。配置文件是正确的选择。 在研究做出选择时应该考虑的因素之前,有必要为IBM WebSphere Application Server的“完整”概要文件和Liberty概要文件提供简短的“级别集”。
资料:重载?
概要文件是在IBM WebSphere Application Server V6.0中引入的,用于将WebSphere Application Server二进制文件与WebSphere Application Server运行时配置分开。 进行配置文件的动机是消除了对部署管理器,节点代理和应用程序服务器特定的多个单独安装的需求,这导致在单个物理服务器上产生多组二进制文件。 通过配置文件,您可以执行二进制文件的单个安装,然后使用配置文件管理工具或manageProfiles(.bat / sh)脚本创建一个或多个“配置文件”,所有配置文件都使用同一组二进制文件。 这消除了在每台服务器上安装和修补多组二进制文件的需要,同时还节省了磁盘空间。 WebSphere Application Server V6.0上最初有三个概要文件:Deployment Manager,Application Server,Custom(没有预先构建的应用程序服务器的Node代理)。 在WebSphere Application Server V6.1和V7.0中为企业代理服务器,作业管理器,管理代理,安全(DMZ)代理服务器添加了其他概要文件。
按照时间顺序,Java EE 6引入了术语“ Web配置文件”,该术语在规范中定义为“专门针对Web应用程序的Java Platform Enterprise Edition的配置文件” (至少在我看来,这是一个循环定义;个人而言,我一直使用“用于Web应用程序的Java EE平台API的子集”来更精确地定义Java EE Web概要文件,而无需使用“概要文件”一词来描述概要文件。
至少在我看来,再次有点奇怪的事实是,尽管Web Profile规范确实提到了“”,但Java EE Web服务API(JAX-WS,JAXB等)不属于Java EE Web Profile的一部分。 Servlet规范中的新可插入性功能,允许应用程序使用扩展Servlet容器的库,而配置开销最小,”然后继续引用JAX-RS作为Java EE API,但不在Web配置文件中,“可以将其插入到Web容器”,因此应该以类似的方式处理Web服务。
无论如何,Java EE Web Profile也是Java EE 7规范的一部分(或子集),因此似乎可以保留,至少在可预见的将来。 还要指出的是,Java EE 7 Web Profile需要JAX-WS。 它不再像Java EE 6 Web Profile中那样是“可插入”选项。
最后,在WebSphere Application Server V8.5.0中,引入了Liberty概要文件,而Liberty概要文件提供了二进制文件和配置的分离,而Liberty概要文件基于一组不同的二进制文件并采用了不同的配置模型。 但是与以前的配置文件不同,术语“自由配置文件”既包含配置又包含二进制文件。 结果,又向概要文件词典添加了另一个术语,短语“完整概要文件”用于表示Liberty之前的概要文件WebSphere Application Server运行时。
当然,由于Liberty概要文件使用了与先前版本的WebSphere Application Server不同的二进制文件集和不同的配置模型,因此可以说Liberty概要文件根本不是概要文件,至少在习惯的WebSphere Application中不是。服务器定义。 遗憾的是,这个名称已经停滞了,我们只能希望WebSphere和Java Community进程会在将来需要时找到另一个名词来使用。
实际上,当在WebSphere Application Server V8.5.5.0中为Liberty概要文件添加第二个配置选项时,没有提到“概要文件”; 相反,此基于Liberty配置文件的管理过程被称为集合控制器,其原始Liberty配置选项简称为“服务器”。
最后,在概要文件的主题上,针对Liberty概要文件的不同且简化的配置模型仅通过向Liberty概要文件server.xml文件添加一行即可允许“概要文件创建”,而无需概要文件管理工具或脚本,这是WebSphere Application Server完整概要文件所必需的。
还可以了解Liberty个人资料吗?
自从引入以来,Liberty概要文件通常被视为开发运行时,这归因于轻量级的内存占用和快速启动,这两者都受到在开发过程中需要频繁部署新应用程序版本的应用程序开发人员的高度评价。 。 另外,在介绍时可用的容器服务和功能在大多数情况下更适合于开发使用。 结果,一个普遍的误解是,Liberty概要仅适用于开发,而事实上Liberty概要适用于(并且适用于)生产用途。 实际上,一个客户在推出Liberty简介后的几个月就将其介绍到了生产环境中。
尽管这可能会让许多人感到惊讶,但事实并非如此。 投资Liberty概要文件的决定是系统管理和运营部门(不仅是开发人员)的客户请求的结果,该请求要追溯到十几年前的WebSphere Application Server V4.0,以便针对组件化的应用程序服务器运行时进行配置。仅从应用程序和操作的角度来看需要的特征和功能。
这些年来,这些请求的频率和紧迫性都在增加。 WebSphere开发在WebSphere Application Server版本6.0、6.1、7.0和8.0中进行了大量工作,通过消除各种容器服务之间的依赖关系,仅在需要时才启动容器服务以及进行其他优化来使完整的概要文件“轻巧”。 尽管取得了进展,但完整概要文件的Java EE体系结构阻止了这方面的进一步改进。 WebSphere Application Server Liberty概要文件采用了一种基于OSGi的新体系结构,其中每个容器服务和运行时功能部件均作为OSGi捆绑软件实现,从而为开发和生产提供了“适合目的”的运行时环境。 OSGi体系结构和功能作为OSGi捆绑包的交付还可以实现新功能和新功能的增量发布(通常称为连续交付),而无需等待主要版本发布,这仍然是WebSphere Application Server完整概要文件所必需的。
Liberty配置文件中当前的投资重点反映了我们提供新功能而无需等待新的主要版本的能力,以及对当前仅在完整配置文件中可用的更多功能(例如,SAML,VMM /联合存储库)的需求,证书分发,运行状况管理,应用程序版本管理等)。 这种需求来自我们内部和外部的客户群。 最终,有150多种IBM产品嵌入了Liberty配置文件。
需要完整的个人资料吗?
IBM WebSphere Application Server完整概要文件仍然是IBM Systems Middleware产品组合的核心。 IBM继续在完整配置文件上进行投资,以反映基于传统WebSphere Application Server版本的客户采用程度和基础架构投资。 此外,即使完整配置文件体系结构中的新功能交付必须与主要(集成)版本绑定,我们仍将继续对RFE(增强功能请求)提交文件进行优先处理,以请求完整配置文件的更新和新功能。
我们对WebSphere Application Server完整概要文件进行投资的证据是,今年早些时候的以下发展方向声明(请参阅参考资料 ):
IBM打算对WebSphere Application Server进行Java EE 7完全平台合规性认证。 WebSphere Application Server通过使用WebSphere Application Server Liberty概要文件功能在此方面取得了良好的进展,该功能在WebSphere Liberty存储库中通过连续交付模型提供。 WebSphere Application Server Liberty概要旨在通过使用这种方法来完成Java EE 7的完整平台兼容性。 此外,IBM仍然打算将WebSphere Application Server完整概要文件认证为符合Java EE 7完整平台。 ”
简而言之,请放心,没有计划停止在WebSphere Application Server完整概要文件中进行交付或投资。
自由核心与自由概况
Liberty Core产品提供了与Liberty配置文件有关的困惑。 许多人错误地将Liberty个人资料仅与Liberty Core相关联。 尽管可以准确地说出Liberty概要文件随Liberty Core一起提供,但重要的是要了解,Liberty概要文件还包含在WebSphere Application Server – Express,WebSphere Application Server,WebSphere Application Server for Developers(以及完整概要文件)中, WebSphere Application Server网络部署和WebSphere Application Server for z / OS。
这种包装如图1所示。
图1.按产品分类的WebSphere Application Server V8.5.5概要文件
如图所示,现有的WebSphere Application Server用户在“框中”同时收到Liberty概要文件和完整概要文件。 只有购买Liberty Core的用户才能使用Liberty配置文件安装映像。
关于上述每个产品的Liberty配置文件的差异:
- Liberty Core中的Liberty概要文件提供了Java EE Web概要文件API,OSGi应用程序功能以及一些其他用于管理和安全性的“核心”功能。
- WebSphere Application Server中的Liberty概要文件添加了其他应用程序API。 在最新版本中,提供了Java 7 EE完整平台。 其他功能包括JCA连接性和某些对象(如果需要,还可以使用NoSQL)数据库选项。
- WebSphere Application Server网络部署中的Liberty配置文件为WebSphere Application Server所包含的功能,集合控制器以及Network Deployment完整配置文件中可用的智能管理功能的子集增加了额外的管理功能。
- WebSphere Application Server for z / OS的Liberty概要文件包含一些特性,以利用z / OS平台功能。
与每种产品产品相关的功能如图2所示。
图2. Liberty配置文件按产品列出的Java EE 7功能
何时选择自由
那些熟悉我以前的文章的人已经知道我对这个问题的回答:这取决于。 我将推迟一天讨论有关不同部署和操作选项的更详细的讨论,但是我将借此机会提供一些建议的起点。
- 将Liberty配置文件用作您的桌面开发环境,完整的配置文件中保留正式的测试和生产。
由于Liberty概要文件的占用空间小且启动时间短,因此这可能是“灌篮”动作,这将使您的开发人员感到满意-并提高工作效率。 在这种情况下,在Liberty配置文件容器和完整配置文件容器之间提供的容器保真度保证意味着从应用程序角度来看,两个配置文件上的容器将发挥相同的作用。 开发人员可以开始在本地开发环境中使用Liberty概要文件,而正式的集成,测试和生产环境继续利用现有的WebSphere Application Server完整概要文件技能和基础结构。
由于Liberty配置文件提供了完整配置文件中可用的API的子集,因此您需要回答以下问题:“此应用程序可以在Liberty配置文件中运行吗?” 幸运的是,有一些工具可以帮助您进行评估:
- WebSphere Application Server Migration Toolkit是一个免费的Eclipse插件(请参阅参考资料 ),它扫描应用程序源以提供高级评估报告,该报告显示您的应用程序使用了哪种Java EE技术以及WebSphere Application Server产品(完整或Liberty概要文件) ),提供所需的集装箱服务。 此外,还提供了所需代码更改的逐行分析以及进行更改的详细信息,并在可能的情况下提供了快速修复代码更改的信息。
- 用于应用程序二进制文件的迁移工具包 (请参阅参考资料 )从命令行运行,而不是从Eclipse中运行,这意味着可能不熟悉Eclipse IDE的系统管理员可以轻松地评估应用程序的Liberty概要文件适用性,而无需访问应用程序源代码。
Liberty概要文件中Java EE 7的最新可用性还意味着开发人员可以开始开发使用Java EE 7 API的应用程序,然后在完整概要文件中可以使用Java EE 7时,可以将新的Java EE 7应用程序部署到生产中查看完整档案。
- 利用生产环境中的Liberty配置文件的辅助生命周期管理。
辅助生命周期管理是WebSphere Application Server Network Deployment V8.5中引入的智能管理功能之一,它可以对Network Deployment单元中的中间件服务器(意味着非WebSphere Application Server完整概要文件服务器)进行操作控制和监视。 使用此功能,您可以在使用现有Network Deployment完整配置文件技能和基础结构的同时开始获得Liberty配置文件服务器的操作经验。 Liberty概要文件服务器已添加到Network Deployment 完整概要文件单元 ,该单元允许从Network Deployment Deployment Manager启动/停止,路由请求和监视。
- 其他选择
还存在多种其他选项,可以分别管理每个Liberty服务器,也可以将Liberty集合控制器用作单个管理点,但是由于这些其他选项需要详细讨论Liberty概要文件配置和管理体系结构,因此我们将将这些内容的发布推迟到另一个时间。 但是,作为一个预告片,您应该知道Liberty概要文件不仅为开发人员提供了自由,而且还为管理员提供了自由。
结论
本文的目的是消除有关Liberty概要文件的一些常见误解,以便您可以开始合理地评估它可能如何适合您的企业。 希望我在这方面取得了成功。 当然,还有更多需要考虑的地方,我打算很快返回这些页面以讨论其他选项(用于生产),以进一步帮助您根据应用程序和操作要求确定Liberty配置文件是否是您所需要的。
翻译自: https://www.ibm.com/developerworks/websphere/techjournal/1506_webcon/1506_webcon-trs.html