WebSphere Application Server V8.5的新增功能

IBM WebSphere Application Server V8.5中的新功能,新功能和改进解决了开发人员体验应用程序弹性以及操作和控制的关键领域。

可能最著名的新功能是称为Liberty的WebSphere Application Server概要文件,或更准确地说,是Liberty概要文件 。 术语“自由”的使用旨在表示此新概要文件从整体应用程序服务器运行时提供的自由。 毫无疑问,WebSphere Application Server V8.5将于2012年6月15日正式上市,这也是巧合,即Magna Carta签署周年(1215年6月15日),这是一个巧合。 尽管“自由”简介的历史意义可能与《大宪章》不一样,但很难不对这项新功能的所有兴趣和激动都!之以鼻!

当然,除了Liberty概要文件之外,WebSphere Application Server V8.5还有很多其他功能,包括针对管理和操作人员的重要新功能,例如IBM WebSphere Virtual Enterprise的智能管理功能,可以最大程度地减少最终用户的停机次数,并最大程度地提高运营监控和控制生产环境。 WebSphere Application Server V8中提供的Java™Batch功能也进行了增强,并提供了其他功能来改善操作控制和人员效率。

以下各节描述了在最新版本的WebSphere Application Server中可以找到的许多主要的新功能。

开发人员经验

该领域的新功能和增强功能包括:

自由简介

Liberty概要文件排在WebSphere Application Server V8.5的开发人员体验功能列表的首位。 Liberty配置文件是一个新的动态配置文件 。 与传统的WebSphere Application Server静态概要文件运行时功能不同,Liberty以非常细粒度的方式适应应用程序的需求,从而确保仅启动必要的应用程序容器功能。 这样做为您提供了“自由”来部署具有全面要求的Web应用程序,并提供了所有必需的组件,例如安全性,事务管理,连接池以及通过JPA或JDBC的持久性。

由于Liberty是一个动态配置文件,因此此动态运行时的中心是一个新内核,该内核利用OSGi加载应用程序所需的API和运行时功能。 从V6.1开始,WebSphere Application Server就具有基于OSGi的运行时,而V8.5中的Liberty概要文件实际上利用了OSGi。 结果是应用程序服务器进程的内存占用量很小 (通常小于Web应用程序的60MB),启动通常不到5秒。

图1描述了Liberty概要文件运行时和传统WebSphere Application Server概要文件运行时之间的区别。

图1. WebSphere Application Server概要文件运行时和Liberty概要文件运行时比较
图1. WebSphere Application Server概要文件运行时和Liberty概要文件运行时比较

WebSphere Application Server V8.5 Liberty概要文件中的API功能集专注于基于Web的应用程序,并提供以下支持:

  • Java数据库连接(JDBC)4.0
  • Java持久性(JPA)API 2.0
  • JavaServer Faces(JSF)2.0
  • JavaServer页面(JSP)2.2
  • Servlet 3.0
  • JAX-RS 1.1(和JSON4J)。

除了API功能外,其他运行时功能还包括:

  • OSGi Blueprint 4.2容器
  • Java管理扩展(JMX)
  • Java Transaction API(JTA)1.1
  • Java命名和目录接口(JNDI)
  • 通过数据库持久性进行会话分配
  • 安全套接字层(SSL)。
  • 使用基于文件的用户注册表或(LDAP)用户注册表的安全性
  • 网络安全
  • z /OS®安全性,由z / OS系统授权工具(SAF)支持。

如果您正在寻找更多的Web和企业应用程序API,可以合理地期望Liberty概要文件可用的API和运行时功能会随着时间的推移而发展。

Liberty配置文件还提供了从根本上简化的服务器运行时配置 。 这使得可以使用单个XML文件轻松地(在Eclipse环境内部或外部)配置服务器实例,该XML文件涵盖服务器,应用程序和应用程序所需资源的所有方面。 这使得在开发团队和环境之间共享配置变得容易。 Liberty概要文件的简化的单个XML配置如图2所示。

图2. Liberty XML配置文件
图2. Liberty XML配置文件

Liberty配置文件还提供了几种安装选项 。 您可以使用简单的解压缩,IBM Installation Manager或WebSphere Application Server Network Deployment V8.5作业管理器来分发和安装Liberty二进制文件。

虽然关于职位经理和Liberty的讨论更多是关于操作的讨论,而不是关于开发的讨论,但是为了保持关于Liberty的连续性,我们现在进行讨论。

特定于Liberty配置和应用程序管理的作业已添加到WebSphere Application Server Network Deployment V8.5作业管理器,包括Liberty概要文件安装以及应用程序安装,更新和卸载。 与模块化Liberty体系结构一致,Liberty运行时(和配置)或Java SDK或运行在Liberty概要文件上的应用程序可以最初或作为更新一起或单独分发,以提供非常精细的管理。 图3给出了一个示例。

图3.使用工作管理器安装和更新Liberty
图3.使用工作管理器安装和更新Liberty

其他Job Manager作业可用于启动和停止Liberty服务器,以及从Liberty服务器生成和合并HTTP服务器插件配置文件。 此外,还可以从WebSphere Application Server Network Deployment部署管理器中获得Liberty管理作业(除了非特定于Liberty的作业类型之外)。

最后,关于Liberty配置文件,选择在Windows®,Linux®和Mac OS上使用的JDK还具有很大的灵活性(仅支持Mac OS用于开发)。

OSGi蓝图规范

除了Liberty概要文件之外,WebSphere Application Server V8.5中的另一个核心增强功能是在WebSphere Application Server V8.0中的OSGi Blueprint规范中增加了对EJB捆绑软件支持 。 这使OSGi应用程序捆绑包可以包含Enterprise JavaBean(EJB)组件。 OSGi捆绑包中的企业bean可以是有状态,无状态和单例企业bean以及消息驱动的bean(MDB)。 包含企业bean的OSGi应用程序捆绑包的部署和配置与使用管理控制台或wsadmin脚本接口的现有WebSphere Application Server V8.0功能相似。

Java SE 7

WebSphere Application Server V8.5还包括使用Java 7 SE的选项,该选项提供了通过OpenJDK项目Project Coin添加的许多Java SE API附加功能:

  • 开关中字符串文字的比较; 例如:
    case “one”: <do something>; break;
  • 二进制整数文字(例如,0b10011010)和数字文字中的下划线,以帮助视觉阻止(例如,34_409_066)。
  • 简化的Varargs方法警告(例如,@SafeVarargs批注可删除有关安全varargs方法声明和调用的警告)。
  • 多个特定于处理的try catch块; 例如:

    try { } catch(Exception|Error a) { handle(a); } try { } catch(Exception|Error a) { handle(a); }

  • 改进了用于通用实例创建的类型推断。 例如:

    Map<String,MyType> foo = new HashMap<String,MyType>();

    变成

    Map<String,MyType> foo = new HashMap<>();

Java 7 SE的其他改进包括:

  • 无阻塞I / O 2 (NIO.2)对如何处理I / O操作提供了附加的应用程序控制,从而实现了更好的扩展。
  • 自动资源管理 (ARM),其中Java编译器将自动关闭语句和与外部资源的连接,这可以减轻错误处理和资源控制方面的问题,从而避免资源泄漏。

IDE选项

用于Eclipse的WebSphere Application Server 开发人员工具开始,还有用于WebSphere Application Server V8.5的新集成开发环境(IDE)选项,这是一个Eclipse插件,提供了用于开发,组装和部署Java的轻量级工具集。 EE,OSGi,Web 2.0和WebSphere Application Server的移动应用程序,包括Liberty概要文件。 可从Eclipse Marketplace免费获得Eclipse开发人员工具,并可以选择购买支持。

另外, IBMRational®Application Developer V8.5为Java,Java EE,Web,Web服务,SOA,OSGi和WebSphere Portal设计人员和开发人员的企业开发提供了完整的环境。 Rational Application Developer V8.5通过增加对Portlet和门户应用程序,SCA应用程序,应用程序静态分析,应用程序性能分析以及团队调试和支持的支持,扩展了Eclipse Developer Tools的Java EE,OSGi和Web 2.0功能。代码控制。

Web 2.0和移动

在WebSphere Application Server V8.5中,使用Web 2.0和Mobile Toolkit启用了移动Web应用程序开发,该工具包集成了先前在Web 2.0和Mobile的WebSphere Application Server Feature Pack中提供的功能。 尽管此关键开发功能的交付方式发生了变化,但不变的是基于HTML5,CSS3和JavaScript等标准网络技术创建和交付移动应用程序的能力,这些技术使应用程序可以在具有以下功能的移动设备浏览器中运行:本机设备的外观。

应用程序迁移

WebSphere Application Server V8.5还改进了在WebSphere Application Server V7服务周期期间提供的应用程序迁移工具 (AMT)。 AMT V3.5作为Eclipse和Rational Application Developer的免费插件提供。 AMT的3.0版增加了将Apache Tomcat应用程序迁移到WebSphere Application Server的支持,并且还分析了源代码以发现潜在的WebSphere版本到版本迁移问题,例如:

  • 删除的功能
  • 不推荐使用的功能
  • 行为改变
  • JRE 5,JRE 6和JRE 7的区别
  • Java EE规范更改或强制实施。

AMT进行应用程序更改或提供有关如何进行所需更改的指导的能力导致应用程序迁移比无助迁移快2到3倍。 AMT V3.5可用于将应用程序从WebSphere Application Server V5.1,V6,V6.1以及应用程序从Apache Tomcat,JBoss,Oracle®Application Server和Oracle WebLogic Server迁移到WebSphere Application Server V8。 5,V8和V7。

应用弹性

该领域的新功能和增强功能包括:

智能管理

在“应用程序弹性”主题下,最大的新闻可能是将WebSphere Virtual Enterprise中的功能集成到WebSphere Application Server Network Deployment V8.5中。 这种合并允许单个WebSphere Application Server网络部署安装提供传统的网络部署功能以及WebSphere Virtual Enterprise功能。 现在,Network Deployment V8.5中的以前的WebSphere Virtual Enterprise功能具有智能管理功能的特征,包括:

  • 智能路由
  • 应用程序版本管理
  • 动态聚类
  • 健康管理

智能路由

通过参考最可见的组件,即随需应变路由器 (ODR),这是最容易开始的讨论,该组件是基于Java的专用代理服务器,对传入的请求进行分类,然后在应用程序服务器环境中分派请求。 ODR及其功能如图4所示,为简单起见,它没有描述用于向ODR发送请求的HTTP服务器或反向代理服务器。

图4.按需路由器功能
图4.按需路由器功能

ODR对传入的HTTP和SIP请求进行分类,然后与其他“智能管理”决策者一起工作以路由工作负荷,以确保将最高优先级给予关键业务应用程序。 根据管理员定义的规则( 服务策略)对请求进行优先级排序和路由,这些规则用于指定应用程序响应时间目标。

然后,这些目标用于使用智能管理的动态集群功能来分发请求,以及控制与应用程序关联的应用程序服务器的数量。 使用动态集群,WebSphere Application Server决策者可以根据需要自动扩展和缩小正在运行的集群成员的数量,从而满足用户的响应时间目标。 您可以利用过载保护来限制按需路由器将流量转发到应用程序服务器的速率,以防止发生堆耗尽,CPU耗尽或两种类型的耗尽。 ODR可以暂时将不太重要的应用程序的请求排队,以便更快地处理来自更重要的应用程序的请求。

关于ODR功能和体系结构的最后说明,与图4中省略了HTTP服务器一样,为简单起见,仅描述了一个ODR,而不是普通的ODR集群

应用程序版本管理

应用程序版本管理可实现无中断生产应用程序部署的管理 。 使用此功能,您可以在生产环境中验证新版本的应用程序而不会影响用户,并可以在不导致用户中断的情况下升级应用程序。 您也可以同时运行单个应用程序的多个版本,将不同的用户定向到不同的版本,因为ODR不仅保持传统的应用程序状态(例如HTTP会话)亲和性,而且还保持应用程序版本的亲和性。 如果“原子”应用程序更新允许预先配置新的应用程序版本,并且所有用户从旧应用程序版本到“新”的“原子”更新,则还可以将请求排队的功能与Intelligent Management应用程序版本功能一起使用。所需的应用程序版本。

健康管理

智能管理提供了一种运行状况管理功能,可以监视应用程序服务器的状态,并在发生中断之前感知并响应问题区域。 您可以使用策略驱动的方法来管理应用程序服务环境的运行状况,该方法可以在满足监视的条件时执行特定的操作。 例如,当内存使用率在指定时间内超过堆大小的百分比时,可以运行运行状况操作来纠正这种情况。

除了预定义的健康状况和健康措施外,还可以针对特定于您环境的状况和操作要求对它们进行自定义。 例如,如果检测到内存泄漏,则可以启动替换应用程序服务器实例,可以将工作负载定向到替换应用程序服务器,可以将应用程序服务器置于维护模式 (这意味着不向其发送请求),所有这些功能都可以手动或自动(作为运行状况操作的一部分)执行脱机诊断(例如,线程转储,堆转储)。 是的,当Intelligent Management运行时检测到问题时,可以通过电子邮件自动通知管理人员或操作人员。

讯息传递

WebSphere Application Server V8.5中应用程序弹性的另一个重要方面是对WebSphere Application Server 消息传递引擎的改进,该引擎是每个应用程序服务器实例中的嵌入式JMS提供程序。

首先是SIBOWNER表上的活动消息传递引擎从使用长时间运行的数据库锁或持久数据库锁变为短锁 。 周期性地重新验证表所有权,而不是永久锁,这又使数据库管理员可以访问消息传递引擎使用的表,同时确保仅单个消息传递引擎正在使用消息队列中的消息,确保消息传递顺序。

已经进行了许多更改,以使消息引擎实例与应用程序服务器隔离。 结果,如果应用服务器中的消息传递引擎挂起,则可以将消息传递引擎切换到另一个应用程序服务器,并且带有“挂起”消息传递引擎的应用程序服务器中运行的应用程序可以继续运行。 与隔离有关的另一项改进是消息引擎在遇到数据库连接错误时停止并重新启动的能力,而不是要求重新启动应用程序服务器JVM的能力。

如果消息传递引擎进入禁用状态,它也可以自动重新启动 (或重新启用)。 这使得在大型网络部署群集中的管理变得更加容易,因为在大型环境中,从管理上确定禁用的消息传递引擎可能很麻烦。

另一个令人烦恼的问题是,在WebSphere Application Server V8.5中还处理了应用程序服务器重新启动后重新发送有毒消息的问题。 这是通过保留JMS消息的重新传递计数来完成的,从而防止有害消息挂起消息传递引擎(和应用程序服务器),而仅在尝试重新处理相同的毒素时使消息传递引擎(和应用程序服务器)在重新启动时挂起。信息。

V8.5中添加了新的管理命令restoreMEConfig ,以使消息传递引擎能够从孤立的持久消息存储中恢复消息。 结果,如果物理服务器(或数据中心!)发生灾难性的丢失,如果持久消息数据可用,那么现在很容易从持久消息存储中恢复数据。 运行此新命令时,新的消息传递引擎将从消息存储中读取旧消息传递引擎的UUID,并承担与该UUID关联的记录的所有权。

消息传递引擎代码库也进行了改进,可以在存在大量消息和目标时更好地利用多个核心CPU来加快消息传递引擎的启动速度。

在性能方面,如果我没有提到WebSphere Application Server V8.5的总体性能改进 ,我将不知所措。 根据我们在2012年4月提交的SPECjEnterprise 2010基准测试(3),在同一硬件上,WebSphere Application Server V.8.5比WebSphere Application Server V8.0快70%,如图5所示,该图还描绘了SPECjEnterprise 2010在WebSphere上的性能。应用服务器V7也是如此。

图5. WebSphere Application Server SPECjEnterprise性能
图5. WebSphere Application Server SPECjEnterprise性能

性能的提高是对许多应用程序服务器组件进行全面改进的结果。 在V8.5中,在以下方面实现了性能改进:

  • JDK(Java 7 SE与Java 6 SE)
  • JPA 2.0持久层
  • Web容器
  • JSP引擎
  • EJB容器
  • J2C / RRA的连接管理
  • JMS消息传递优化。

WebSphere Application Server V8.5中的另一个新的应用程序弹性功能是检测内存泄漏的新功能,以及在停止应用程序服务器时减轻内存泄漏影响的功能 ,在某些情况下,该功能实际上可以通过清除应用程序内存来​​防止泄漏在某些情况下引用,以及在发生泄漏时接收泄漏警告并获取堆/系统转储。

操作与控制

该领域的新功能和增强功能包括:

可选的JDK

WebSphere Application Server V8.5引入了可选JDK ,可以使用managesdk命令对其进行管理,以指定WebSphere Application Server概要文件使用的JDK。 这样可以管理由Java 6 SE和Java 7 SE组成的环境,因此拓扑的某些部分可以在Java 7 SE上运行,而其余部分可以在Java 6 SE上运行。 可以根据需要使用managesdk命令切换到Java 7 SE或切换回Java 6 SE。 Java 7 SE是WebSphere Application Server V8.5中的可选安装,可以与Liberty概要文件或功能齐全的WebSphere Application Server概要文件一起使用。

安全

WebSphere Application Server V8.5包含一些OSGi蓝图安全性改进,这些改进是作为OSGi捆绑软件中EJB支持的一部分提供的。 这些安全性改进包括:

  • 在Blueprint XML文件中配置bean安全性。
  • OSGI应用程序中的bean级安全性规范。
  • 在OSGI应用程序中设置方法级别的安全性。

跟踪管理员更改

另一个新的管理功能是能够跟踪管理配置更改 。 该功能利用了WebSphere Virtual Enterprise的扩展存储库检查点功能,该功能在每次将配置更改保存到WebSphere Application Server配置存储库时写出一个增量存储库。 增量存储库列出了“之前”和“之后”配置元素,这些元素随后可用于跟踪配置更改。

Java批处理

WebSphere Application Server V8.0的Java Batch功能在V8.5中进行了增强,以包括一个Parallel Job Manager ,它控制并行作业的执行,包括作业的拆分和合并。 这是一种容器管理的并行化,为处理大量记录提供了一种“分而治之”的方法,从而大大减少了批处理的时间。

WebSphere Application Server V8.5中Java Batch的另一个新增功能是与外部企业调度程序 (例如IBMTivoli®Workload Scheduler) 集成,用于调度和监视(例如IBM Tivoli Composite Application Manager(ITCAM))批量工作负荷。改进Java Batch中已经可用的批处理编程,批处理容器和批处理作业管理功能,例如作业调度和作业状态检查点重新启动。

跨组件跟踪(XCT)

WebSphere Application Server V8.5中一个全新的管理功能是跨组件跟踪(XCT)。 XCT启用了由多个线程或进程代表同一请求创建的日志和跟踪条目的关联,并且XCT可以使用requestID扩充日志和跟踪条目,您可以使用HPEL查看和过滤该请求ID(清单1)。

清单1.添加请求ID的XCT
[3/18/11 14:50:17:391 EDT] 00000018  W UOW= source=com.ibm.somelogger.QuickLogTest 
org= prod= component= thread=[WebContainer : 1] requestID=AAP+k9s6JZ9-AAAAAAAAAAA
	hello world

XCT可以将记录添加到您的日志和跟踪文件中,因此您可以看到与每个请求相关的工作如何在所有涉及的线程和进程之间分支(清单2)。

清单2. XCT请求和响应标签
[3/23/12 14:01:40:615 CDT] 00000032 XCT           I   BEGIN AAP+k9s6JZ9-AAAAAAAAAAA 
00000000000-cccccccccc2 HTTPCF(InboundRequest /HelloWorld/ RequestContext(828937987))
[3/23/12 14:01:40:678 CDT] 00000032 XCT           I   END   AAP+k9s6JZ9-AAAAAAAAAAA 
00000000000-cccccccccc2 HTTPCF(InboundRequest RC=200 RequestContext(828937987))
[3/23/12 14:01:50:381 CDT] 00000032 XCT           I   BEGIN AAP+k9s6JZ9-AAAAAAAAAAB 
00000000000-cccccccccc2 HTTPCF(InboundRequest /HelloWorld/ RequestContext(435283455))
[3/23/12 14:01:50:443 CDT] 00000032 XCT           I   END   AAP+k9s6JZ9-AAAAAAAAAAB 
00000000000-cccccccccc2 HTTPCF(InboundRequest RC=200 RequestContext(435283455))

XCT还可以用于查看有关HTTP和JMS请求和响应的详细信息,以轻松调试复杂的应用程序问题。 XCT提高了您诊断和调试软件问题的能力,以最大程度地减少和消除应用程序停机时间。 XCT日志查看器(可用于IBM Support Assistant)可以根据请求将多个日志和跟踪文件中的日志和跟踪内容呈现出来(图6)。

图6. XCT日志查看器
图6. XCT日志查看器

记录中

高性能可扩展日志记录(HPEL)在V8.5中进行了改进,现在具有日志和跟踪条目扩展 ,使您可以按应用程序名称,请求ID或其他自定义字段过滤条目。 现在可以使用名称值对“扩展名”扩展HPEL日志和跟踪条目。 作为清单3中的示例,已将Java EE应用程序名称作为扩展名(称为appName)添加到在与应用程序相关联的线程上创建的所有日志和跟踪条目。

清单3. HPEL应用程序名称扩展示例
logViewer.sh -includeExtensions appName=ACMEShovels –format advanced
...
[12/10/11 10:52:01:500 EST] 000001c6  1 UOW= source=com.acme.SomeLogger 
thread=[WebContainer : 6] org= prod= component= appName=[ACMEShovels]
          This is a trace entry from the MyShovels application

查看HPEL日志和跟踪时,可以通过HPEL logViewer命令按appName,requestID或任何其他扩展名过滤条目。

资料收集器

最新版本的IBM Support Assistant提供了一个数据收集器,它可以快速收集诊断文件或运行为WebSphere Application Server组件预定义的跟踪 。 这允许在本地查看诊断文件,或者可以选择将文件快速发送给IBM产品支持,从而缩短了解决问题所需的时间。

结论

IBM WebSphere Application Server V8.5是一个主要版本,提供了显着的运行时改进,以及开发和部署应用程序的简便方法。 本文简要介绍了一些新功能和增强功能,以期鼓励您探索此新版本还提供的功能。


翻译自: https://www.ibm.com/developerworks/websphere/techjournal/1206_alcott/1206_alcott.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值